From fc04509c89eb6392025f0e6ec3c1d7031a17a1b7 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Tue, 10 Oct 2023 16:25:33 +0200 Subject: [PATCH 001/125] add new templates --- .gitlab-ci.yml | 2 +- bin/09_Setting/CI_setting.toml | 1 - bin/09_Setting/CI_setting_template.txt | 63 - bin/09_Setting/README.md | 2 - bin/CITests/01_CleanUp/README.md | 15 - bin/CITests/01_CleanUp/__init__.py | 6 - bin/CITests/01_CleanUp/cleanmodelica.py | 47 - bin/CITests/01_CleanUp/setting_check.py | 82 - .../02_UnitTests/CheckPackages/__init__.py | 4 - .../CheckPackages/validatetest.py | 604 ----- .../How_to_wirte_a_new_UnitTest.md | 282 --- bin/CITests/02_UnitTests/README.md | 362 --- bin/CITests/02_UnitTests/reference_check.py | 637 ----- bin/CITests/03_SyntaxTests/README.md | 112 - bin/CITests/03_SyntaxTests/StyleChecking.py | 211 -- bin/CITests/03_SyntaxTests/__init__.py | 6 - .../03_SyntaxTests/html_tidy_errors.py | 628 ----- .../tidy-5.6.0-vc10-64b/bin/tidy.dll | Bin 793600 -> 0 bytes .../tidy-5.6.0-vc10-64b/bin/tidy.exe | Bin 763392 -> 0 bytes .../tidy-5.6.0-vc10-64b/include/tidy.h | 2207 ----------------- .../tidy-5.6.0-vc10-64b/include/tidybuffio.h | 125 - .../tidy-5.6.0-vc10-64b/include/tidyenum.h | 1445 ----------- .../include/tidyplatform.h | 677 ----- .../tidy-5.6.0-vc10-64b/lib/pkgconfig/tidy.pc | 11 - .../tidy-5.6.0-vc10-64b/lib/tidy.lib | Bin 40716 -> 0 bytes .../tidy-5.6.0-vc10-64b/lib/tidys.lib | Bin 2693466 -> 0 bytes bin/CITests/04_api_script/README.md | 2 - bin/CITests/04_api_script/api_github.py | 209 -- bin/CITests/05_Converter/README.md | 6 - bin/CITests/05_Converter/google_charts.py | 629 ----- bin/CITests/05_Converter/lock_model.py | 160 -- .../IBPSA_Merge/copy_conversion_script.py | 239 -- .../IBPSA_Merge/correct_userguide.py | 36 - .../06_deploy/IBPSA_Merge/diff_reference.py | 176 -- bin/CITests/06_deploy/README.md | 3 - bin/CITests/06_deploy/deploy_artifacts.py | 89 - bin/CITests/07_ci_templates/README.md | 11 - bin/CITests/07_ci_templates/ci_templates.py | 546 ---- .../08_archiv/01_templates/google_chart.txt | 47 - bin/CITests/08_archiv/01_templates/index.txt | 16 - .../08_archiv/01_templates/layout_index.txt | 86 - bin/CITests/08_archiv/PR_IPBSA_Merge.py | 116 - .../08_archiv/PR_plot_regression_models.py | 106 - bin/CITests/08_archiv/_sort_models.py | 46 - bin/CITests/08_archiv/autoMergeRequest.sh | 48 - bin/CITests/08_archiv/autoPullRequest.sh | 26 - bin/CITests/08_archiv/checkVariables.sh | 43 - .../08_archiv/delete_merged_branches.sh | 13 - bin/CITests/08_archiv/git_commands.py | 38 - bin/CITests/08_archiv/list_extended_models.py | 469 ---- bin/CITests/08_archiv/list_remote_mirror.sh | 2 - bin/CITests/08_archiv/runUnitTests.py | 509 ---- bin/CITests/08_archiv/showMergeRequest.sh | 47 - bin/CITests/08_archiv/sort_models.py | 38 - bin/CITests/08_archiv/sort_models_check.py | 118 - bin/CITests/08_archiv/time.py | 21 - bin/CITests/README.md | 135 - bin/CITests/_config.py | 56 - bin/Configfiles/EOF.sh | 119 - bin/Configfiles/README.md | 11 - bin/Configfiles/ci_changed_model_list.txt | 8 - bin/Configfiles/ci_difference_result.txt | 0 bin/Configfiles/ci_new_created_reference.txt | 5 - bin/Configfiles/ci_reference_list.txt | 1152 --------- bin/Configfiles/exit.sh | 3 - .../How_to_integrate_new_tests.md | 485 ---- bin/Documentation/Images/Aixliblib.png | Bin 29114 -> 0 bytes bin/Documentation/Images/CreateNewBranch.png | Bin 133033 -> 0 bytes bin/Documentation/Images/DockerRegistry.png | Bin 49139 -> 0 bytes bin/Documentation/Images/GITLABCI.png | Bin 84134 -> 0 bytes bin/Documentation/Images/GitLabCIWorkflow.png | Bin 73058 -> 0 bytes bin/Documentation/Images/HTMLProcess.png | Bin 17020 -> 0 bytes bin/Documentation/Images/Keywords.png | Bin 42971 -> 0 bytes bin/Documentation/Images/MergeProcess.PNG | Bin 21452 -> 0 bytes bin/Documentation/Images/Mirroring_ssh.PNG | Bin 49309 -> 0 bytes .../Images/ModelManagement_StyleChecking.PNG | Bin 23099 -> 0 bytes bin/Documentation/Images/Pipeline.PNG | Bin 53562 -> 0 bytes bin/Documentation/Images/PipelineProcess.png | Bin 25148 -> 0 bytes bin/Documentation/Images/RWTH_AixLib.png | Bin 468403 -> 0 bytes bin/Documentation/Images/Register_Runner.PNG | Bin 47452 -> 0 bytes bin/Documentation/Images/Registry.png | Bin 25827 -> 0 bytes .../Images/RegistryIntegrate.png | Bin 23281 -> 0 bytes bin/Documentation/Images/Stages.png | Bin 14825 -> 0 bytes bin/Documentation/Images/Thumbs.db | Bin 41984 -> 0 bytes bin/Documentation/Images/Webhook_trigger.PNG | Bin 31536 -> 0 bytes bin/Documentation/Images/Workflow.png | Bin 61506 -> 0 bytes bin/Documentation/Images/extends.png | Bin 8572 -> 0 bytes bin/Documentation/Images/only.png | Bin 24107 -> 0 bytes bin/Documentation/Images/public_key.PNG | Bin 5091 -> 0 bytes bin/Documentation/README.md | 12 - bin/README.md | 102 - bin/ci_whitelist/README.md | 26 - bin/ci_whitelist/html_whitelist.txt | 2 - bin/ci_whitelist/model_whitelist.txt | 76 - .../reference_check_whitelist.txt | 7 - bin/interact_CI/README.md | 29 - bin/interact_CI/show_ref.txt | 3 - bin/interact_CI/update_ref.txt | 1 - .../01_google_templates/google_chart.txt | 47 - bin/templates/01_google_templates/index.txt | 16 - .../01_google_templates/layout_index.txt | 86 - bin/templates/03_ci_templates/.gitlab-ci.yml | 1 - .../03_ci_templates/01_deploy/IBPSA_Merge.txt | 115 - .../01_deploy/gitlab_pages.gitlab-ci.yml | 1 - .../01_deploy/gitlab_pages.txt | 19 - .../02_UnitTests/check_model.gitlab-ci.yml | 1 - .../02_UnitTests/check_model.txt | 165 -- .../02_UnitTests/regression_test.txt | 457 ---- .../02_UnitTests/simulate_model.gitlab-ci.yml | 164 -- .../02_UnitTests/simulate_model.txt | 110 - .../03_SyntaxTest/html_check.txt | 211 -- .../03_SyntaxTest/style_check.txt | 61 - .../04_CleanUpScript/ci_setting.gitlab-ci.yml | 1 - .../04_CleanUpScript/ci_setting.txt | 54 - bin/templates/03_ci_templates/README.md | 12 - bin/templates/03_ci_templates/gitlab-ci.txt | 18 - bin/templates/README.md | 2 - .../ci_templates/UnitTests/check_model.yml | 1 + .../UnitTests/regression_test.yml | 1 + .../ci_templates/UnitTests/simulate_model.yml | 1 + .../cleanupscript/ci_build_whitelist.yml | 1 + .../cleanupscript/ci_setting.gitlab-ci.yml | 1 + .../ci_templates/deploy/create_CI_path.yml | 1 + .../ci_templates/deploy/gitlab_pages.yml | 1 + .../ci_templates/syntaxtest/html_check.yml | 1 + .../ci_templates/syntaxtest/style_check.yml | 1 + startup_om.mos | 6 + 127 files changed, 16 insertions(+), 15196 deletions(-) delete mode 100644 bin/09_Setting/CI_setting.toml delete mode 100644 bin/09_Setting/CI_setting_template.txt delete mode 100644 bin/09_Setting/README.md delete mode 100644 bin/CITests/01_CleanUp/README.md delete mode 100644 bin/CITests/01_CleanUp/__init__.py delete mode 100644 bin/CITests/01_CleanUp/cleanmodelica.py delete mode 100644 bin/CITests/01_CleanUp/setting_check.py delete mode 100644 bin/CITests/02_UnitTests/CheckPackages/__init__.py delete mode 100644 bin/CITests/02_UnitTests/CheckPackages/validatetest.py delete mode 100644 bin/CITests/02_UnitTests/How_to_wirte_a_new_UnitTest.md delete mode 100644 bin/CITests/02_UnitTests/README.md delete mode 100644 bin/CITests/02_UnitTests/reference_check.py delete mode 100644 bin/CITests/03_SyntaxTests/README.md delete mode 100644 bin/CITests/03_SyntaxTests/StyleChecking.py delete mode 100644 bin/CITests/03_SyntaxTests/__init__.py delete mode 100644 bin/CITests/03_SyntaxTests/html_tidy_errors.py delete mode 100644 bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/bin/tidy.dll delete mode 100644 bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/bin/tidy.exe delete mode 100644 bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidy.h delete mode 100644 bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidybuffio.h delete mode 100644 bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidyenum.h delete mode 100644 bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidyplatform.h delete mode 100644 bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/lib/pkgconfig/tidy.pc delete mode 100644 bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/lib/tidy.lib delete mode 100644 bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/lib/tidys.lib delete mode 100644 bin/CITests/04_api_script/README.md delete mode 100644 bin/CITests/04_api_script/api_github.py delete mode 100644 bin/CITests/05_Converter/README.md delete mode 100644 bin/CITests/05_Converter/google_charts.py delete mode 100644 bin/CITests/05_Converter/lock_model.py delete mode 100644 bin/CITests/06_deploy/IBPSA_Merge/copy_conversion_script.py delete mode 100644 bin/CITests/06_deploy/IBPSA_Merge/correct_userguide.py delete mode 100644 bin/CITests/06_deploy/IBPSA_Merge/diff_reference.py delete mode 100644 bin/CITests/06_deploy/README.md delete mode 100644 bin/CITests/06_deploy/deploy_artifacts.py delete mode 100644 bin/CITests/07_ci_templates/README.md delete mode 100644 bin/CITests/07_ci_templates/ci_templates.py delete mode 100644 bin/CITests/08_archiv/01_templates/google_chart.txt delete mode 100644 bin/CITests/08_archiv/01_templates/index.txt delete mode 100644 bin/CITests/08_archiv/01_templates/layout_index.txt delete mode 100644 bin/CITests/08_archiv/PR_IPBSA_Merge.py delete mode 100644 bin/CITests/08_archiv/PR_plot_regression_models.py delete mode 100644 bin/CITests/08_archiv/_sort_models.py delete mode 100644 bin/CITests/08_archiv/autoMergeRequest.sh delete mode 100644 bin/CITests/08_archiv/autoPullRequest.sh delete mode 100644 bin/CITests/08_archiv/checkVariables.sh delete mode 100644 bin/CITests/08_archiv/delete_merged_branches.sh delete mode 100644 bin/CITests/08_archiv/git_commands.py delete mode 100644 bin/CITests/08_archiv/list_extended_models.py delete mode 100644 bin/CITests/08_archiv/list_remote_mirror.sh delete mode 100644 bin/CITests/08_archiv/runUnitTests.py delete mode 100644 bin/CITests/08_archiv/showMergeRequest.sh delete mode 100644 bin/CITests/08_archiv/sort_models.py delete mode 100644 bin/CITests/08_archiv/sort_models_check.py delete mode 100644 bin/CITests/08_archiv/time.py delete mode 100644 bin/CITests/README.md delete mode 100644 bin/CITests/_config.py delete mode 100644 bin/Configfiles/EOF.sh delete mode 100644 bin/Configfiles/README.md delete mode 100644 bin/Configfiles/ci_changed_model_list.txt delete mode 100644 bin/Configfiles/ci_difference_result.txt delete mode 100644 bin/Configfiles/ci_new_created_reference.txt delete mode 100644 bin/Configfiles/ci_reference_list.txt delete mode 100644 bin/Configfiles/exit.sh delete mode 100644 bin/Documentation/How_to_integrate_new_tests.md delete mode 100644 bin/Documentation/Images/Aixliblib.png delete mode 100644 bin/Documentation/Images/CreateNewBranch.png delete mode 100644 bin/Documentation/Images/DockerRegistry.png delete mode 100644 bin/Documentation/Images/GITLABCI.png delete mode 100644 bin/Documentation/Images/GitLabCIWorkflow.png delete mode 100644 bin/Documentation/Images/HTMLProcess.png delete mode 100644 bin/Documentation/Images/Keywords.png delete mode 100644 bin/Documentation/Images/MergeProcess.PNG delete mode 100644 bin/Documentation/Images/Mirroring_ssh.PNG delete mode 100644 bin/Documentation/Images/ModelManagement_StyleChecking.PNG delete mode 100644 bin/Documentation/Images/Pipeline.PNG delete mode 100644 bin/Documentation/Images/PipelineProcess.png delete mode 100644 bin/Documentation/Images/RWTH_AixLib.png delete mode 100644 bin/Documentation/Images/Register_Runner.PNG delete mode 100644 bin/Documentation/Images/Registry.png delete mode 100644 bin/Documentation/Images/RegistryIntegrate.png delete mode 100644 bin/Documentation/Images/Stages.png delete mode 100644 bin/Documentation/Images/Thumbs.db delete mode 100644 bin/Documentation/Images/Webhook_trigger.PNG delete mode 100644 bin/Documentation/Images/Workflow.png delete mode 100644 bin/Documentation/Images/extends.png delete mode 100644 bin/Documentation/Images/only.png delete mode 100644 bin/Documentation/Images/public_key.PNG delete mode 100644 bin/Documentation/README.md delete mode 100644 bin/README.md delete mode 100644 bin/ci_whitelist/README.md delete mode 100644 bin/ci_whitelist/html_whitelist.txt delete mode 100644 bin/ci_whitelist/model_whitelist.txt delete mode 100644 bin/ci_whitelist/reference_check_whitelist.txt delete mode 100644 bin/interact_CI/README.md delete mode 100644 bin/interact_CI/show_ref.txt delete mode 100644 bin/interact_CI/update_ref.txt delete mode 100644 bin/templates/01_google_templates/google_chart.txt delete mode 100644 bin/templates/01_google_templates/index.txt delete mode 100644 bin/templates/01_google_templates/layout_index.txt delete mode 100644 bin/templates/03_ci_templates/.gitlab-ci.yml delete mode 100644 bin/templates/03_ci_templates/01_deploy/IBPSA_Merge.txt delete mode 100644 bin/templates/03_ci_templates/01_deploy/gitlab_pages.gitlab-ci.yml delete mode 100644 bin/templates/03_ci_templates/01_deploy/gitlab_pages.txt delete mode 100644 bin/templates/03_ci_templates/02_UnitTests/check_model.gitlab-ci.yml delete mode 100644 bin/templates/03_ci_templates/02_UnitTests/check_model.txt delete mode 100644 bin/templates/03_ci_templates/02_UnitTests/regression_test.txt delete mode 100644 bin/templates/03_ci_templates/02_UnitTests/simulate_model.gitlab-ci.yml delete mode 100644 bin/templates/03_ci_templates/02_UnitTests/simulate_model.txt delete mode 100644 bin/templates/03_ci_templates/03_SyntaxTest/html_check.txt delete mode 100644 bin/templates/03_ci_templates/03_SyntaxTest/style_check.txt delete mode 100644 bin/templates/03_ci_templates/04_CleanUpScript/ci_setting.gitlab-ci.yml delete mode 100644 bin/templates/03_ci_templates/04_CleanUpScript/ci_setting.txt delete mode 100644 bin/templates/03_ci_templates/README.md delete mode 100644 bin/templates/03_ci_templates/gitlab-ci.txt delete mode 100644 bin/templates/README.md create mode 100644 dymola-ci-tests/ci_templates/UnitTests/check_model.yml create mode 100644 dymola-ci-tests/ci_templates/UnitTests/regression_test.yml create mode 100644 dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml create mode 100644 dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml create mode 100644 dymola-ci-tests/ci_templates/cleanupscript/ci_setting.gitlab-ci.yml create mode 100644 dymola-ci-tests/ci_templates/deploy/create_CI_path.yml create mode 100644 dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml create mode 100644 dymola-ci-tests/ci_templates/syntaxtest/html_check.yml create mode 100644 dymola-ci-tests/ci_templates/syntaxtest/style_check.yml create mode 100644 startup_om.mos diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2cb1959a..6ca2a408 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1 +1 @@ - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - check_setting - build_templates - check - create_whitelist - simulate - deploy variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'bin/templates/03_ci_templates/02_UnitTests/check_model.gitlab-ci.yml' - 'bin/templates/03_ci_templates/02_UnitTests/simulate_model.gitlab-ci.yml' - 'bin/templates/03_ci_templates/04_CleanUpScript/ci_setting.gitlab-ci.yml' \ No newline at end of file +image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2023-miniconda stages: - check_setting - build_templates - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist - HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/cleanupscript/ci_setting.gitlab-ci.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file diff --git a/bin/09_Setting/CI_setting.toml b/bin/09_Setting/CI_setting.toml deleted file mode 100644 index 9e8f60b1..00000000 --- a/bin/09_Setting/CI_setting.toml +++ /dev/null @@ -1 +0,0 @@ -[library] library_name = "BESMod" [whitelist_library] wh_library_name = "None" [dymola_version] dymolaversion = "2022" [Package] packagelist = [ "Examples", ] [stages] stagelist = [ "check_setting", "build_templates", "check", "create_whitelist", "simulate", "deploy", ] [git_url] giturl = "None" [wh_library_path] wh_path = "None" [Merge_Branch] merge_branch = "None" [image_name] image = "registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:miniconda-latest" [variable_list] variablelist = [ "Github_Repository: RWTH-EBC/BESMod", "GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod", ] [ci_commit_commands] commitlist = [ "ci_update_ref", "ci_dif_ref", "ci_correct_html", "ci_create_whitelist", "Update WhiteList_CheckModel.txt and HTML_IBPSA_WhiteList.txt", "Automatic push of CI with new regression reference files. Please pull the new files before push again.", "New reference files were pushed to this branch. The job was successfully and the newly added files are tested in another commit.", "ci_show_ref", "ci_regression_test", "ci_check", "ci_simulate", "ci_create_html_whitelist", "ci_html", "ci_setting", ] [File_list] filelist = [ "bin/templates/03_ci_templates/01_deploy/gitlab_pages.gitlab-ci.yml", "bin/templates/03_ci_templates/02_UnitTests/check_model.gitlab-ci.yml", "bin/templates/03_ci_templates/02_UnitTests/simulate_model.gitlab-ci.yml", "bin/templates/03_ci_templates/04_CleanUpScript/ci_setting.gitlab-ci.yml", ] [config_list] configlist = [ "check", "simulate", ] \ No newline at end of file diff --git a/bin/09_Setting/CI_setting_template.txt b/bin/09_Setting/CI_setting_template.txt deleted file mode 100644 index d242d9c7..00000000 --- a/bin/09_Setting/CI_setting_template.txt +++ /dev/null @@ -1,63 +0,0 @@ -[library] -library_name = "${library}" - -[whitelist_library] -wh_library_name = "${wh_library}" - -[dymola_version] -dymolaversion = "${dymolaversion}" - -[Package] - packagelist = [ - %for package in package_list: - "${package}", - %endfor - ] - -[stages] - stagelist = [ - %for stage in stage_list: - "${stage}", - %endfor - ] - -[git_url] -giturl = "${git_url}" - -[wh_library_path] -wh_path = "${wh_path}" - -[Merge_Branch] -merge_branch = "${merge_branch}" - -[image_name] -image = "${image_name}" - - -[variable_list] - variablelist = [ - %for variable in variable_main_list: - "${variable}", - %endfor - ] - -[ci_commit_commands] - commitlist = [ - %for commit in except_commit_list: - "${commit}", - %endfor - ] - -[File_list] - filelist = [ - %for file in file_list: - "${file}", - %endfor - ] - -[config_list] - configlist = [ - %for config in config_list: - "${config}", - %endfor - ] diff --git a/bin/09_Setting/README.md b/bin/09_Setting/README.md deleted file mode 100644 index 728f0173..00000000 --- a/bin/09_Setting/README.md +++ /dev/null @@ -1,2 +0,0 @@ -### [CI_setting.toml](CI_setting.toml) -This folder contains settings for the CI. The CI_setting.toml file contains the variables for the CI. Changes can be made in the toml file. The templates are then updated with the command `python bin/CITests/07_ci_templates/ci_templates.py --setting`. diff --git a/bin/CITests/01_CleanUp/README.md b/bin/CITests/01_CleanUp/README.md deleted file mode 100644 index 5f9f2ac8..00000000 --- a/bin/CITests/01_CleanUp/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# What is it? -### setting_check - -Checks if all necessary variables and files are set or exist. -The test is performed by the commit `git commit -m "ci_setting"`. -# How to implement? - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:miniconda-latest - stages: - - check_setting - include: - - 'bin/templates/03_ci_templates/04_CleanUpScript/ci_setting.gitlab-ci.yml' - - - - diff --git a/bin/CITests/01_CleanUp/__init__.py b/bin/CITests/01_CleanUp/__init__.py deleted file mode 100644 index d65b4740..00000000 --- a/bin/CITests/01_CleanUp/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -""" -CleanUpScripts -======== -This module provides examples that illustrate the -use of the python post-processing. -""" \ No newline at end of file diff --git a/bin/CITests/01_CleanUp/cleanmodelica.py b/bin/CITests/01_CleanUp/cleanmodelica.py deleted file mode 100644 index 3ccc9433..00000000 --- a/bin/CITests/01_CleanUp/cleanmodelica.py +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python -"""Deletes all temporary files created by Dymola, starting - at the current working directory and recursively searching the - subdirectories for files. - In the current directory, the subdirectory 'binaries' will also be - deleted as Dymola 2013 creates this directory when exporting an FMU. -""" -if __name__ == "__main__": - import os, sys - import shutil - import fnmatch - - # List of files that should be deleted - DELETEFILES=['buildlog.txt', 'dsfinal.txt', 'dsin.txt', 'dslog.txt', - 'dsmodel*', 'dymosim', 'dymosim.lib', 'dymosim.exp', - 'dymosim.dll', 'dymola.log', 'dymosim.exe', '*.mat', '*.mof', - '*.bak-mo', 'request.', 'status.', 'status', 'failure', - 'success.', - 'stop', 'stop.', - 'fmiModelIdentifier.h', 'modelDescription.xml', - 'fmiFunctions.o', - 'CSVWriter.csvWriter.csv', 'test.csv',] - # Directories to be deleted. This will be non-recursive - DELETEDIRS=['binaries'] - - # Array in which the names of the files that will be deleted are stored - matches = [] - for root, dirnames, filenames in os.walk('.'): - for fil in DELETEFILES: - for filename in fnmatch.filter(filenames, fil): - matches.append(os.path.join(root, filename)) - # Exclude .svn directories - if '.svn' in dirnames: - dirnames.remove('.svn') - - # Removed duplicate entries which may be due to wildcards - matches = list(set(matches)) - # Delete the files - for f in matches: - sys.stdout.write("Deleting file '" + f + "'.\n") - os.remove(f) - # Delete directories - for d in DELETEDIRS: - if os.path.exists(d): - sys.stdout.write("Deleting directory '" + d + "'.\n") - shutil.rmtree(d) - diff --git a/bin/CITests/01_CleanUp/setting_check.py b/bin/CITests/01_CleanUp/setting_check.py deleted file mode 100644 index 32d9c003..00000000 --- a/bin/CITests/01_CleanUp/setting_check.py +++ /dev/null @@ -1,82 +0,0 @@ -import sys -import configparser -import os -import argparse - -class Check_Settings(object): - - def __init__(self, setting): - self.setting = setting - - def _get_setting(self): - set_file_list = [] - set_dir_list = [] - var_list = [] - for set in self.setting: - if set.find("__") > -1: - continue - if set.find("file") > -1 : - set_file_list.append(set) - if set.find("dir") > -1: - set_dir_list.append(set) - return set_file_list, set_dir_list - - - -def _check_dir(path_list): - for path in path_list: - if os.path.exists(path) is False: - print(f'Path {path} does not exist and will be created') - os.makedirs(path) - else: - continue - -def _check_file(file_list): - for file in file_list: - if os.path.isfile(file) is False: - print(f'File {file} does not exist.') - file_in = open(file, "w") - file_in.close() - else: - continue - - -def _check_variables(variable_main_list, github_token, github_private_key): - for var in variable_main_list: - if var is None: - print(f'Please set variable {var}.') - else: - print(f'variable {var} is set in file .gitlab-ci.yml.') - if github_token is None: - print(f'Please set variable GITHUB_API_TOKEN in your gitlab ci repo under CI/Variables.') - else: - print(f'Variable GITHUB_API_TOKEN is set.') - if github_private_key is None: - print(f'Please set variable GITHUB_PRIVATE_KEY in your gitlab ci repo under CI/Variables.') - else: - print(f'Variable GITHUB_PRIVATE_KEY is set.') - - - - - -if __name__ == '__main__': - - parser = argparse.ArgumentParser(description="Set Github Environment Variables") # Configure the argument parser - check_test_group = parser.add_argument_group("Arguments to set Environment Variables") - check_test_group.add_argument('-GT', "--github-token", help="Your Set GITHUB Token") - check_test_group.add_argument("-GR", "--github-private-key", - help="Environment Variable owner/RepositoryName") - check_test_group.add_argument('-GP', "--GL-Token", help="Set your gitlab page url") - args = parser.parse_args() - sys.path.append('bin/CITests') - - from setting_check import Check_Settings - from _config import * - file_list = [ch_file, exit_file, eof_file, new_ref_file, ref_file, wh_file, ref_whitelist_file, html_wh_file, show_ref_file, update_ref_file, reg_temp_file, write_temp_file, sim_temp_file, page_temp_file, ibpsa_temp_file, - style_check_temp_file, html_temp_file, main_temp_file, main_yml_file, chart_temp_file, index_temp_file, layout_temp_file, setting_file] - path_list = [artifacts_dir, temp_dir, chart_dir, ref_file_dir, resource_dir] - #_check_dir(path_list) - _check_file(file_list) - _check_variables(variable_main_list, github_token=args.github_token, github_private_key=args.github_private_key) - diff --git a/bin/CITests/02_UnitTests/CheckPackages/__init__.py b/bin/CITests/02_UnitTests/CheckPackages/__init__.py deleted file mode 100644 index f05e5397..00000000 --- a/bin/CITests/02_UnitTests/CheckPackages/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -import os - -ch_file = f'bin{os.sep}03_Whitelists{os.sep}changedmodels.txt' -wh_file = f'bin{os.sep}03_WhiteLists{os.sep}Whitelist_checkmodel.txt' diff --git a/bin/CITests/02_UnitTests/CheckPackages/validatetest.py b/bin/CITests/02_UnitTests/CheckPackages/validatetest.py deleted file mode 100644 index a96db3d0..00000000 --- a/bin/CITests/02_UnitTests/CheckPackages/validatetest.py +++ /dev/null @@ -1,604 +0,0 @@ -import multiprocessing -import argparse -import os -import sys -import platform -from git import Repo -import time -import glob - -class Git_Repository_Clone(object): - def __init__(self, repo_dir, git_url): - self.repo_dir = repo_dir - self.git_url = git_url - - def _clone_repository(self): # pull git repo - if os.path.exists(self.repo_dir): - print(f'IBPSA folder exists already!') - else: - print(f'Clone IBPSA Repo') - Repo.clone_from(self.git_url, self.repo_dir) - -class ValidateTest(object): - """Class to Check Packages and run CheckModel Tests""" - """Import Python Libraries""" - - def __init__(self, package, n_pro, show_gui, simulate_examples, ch_models, mo_library, wh_library, - filter_wh): - self.package = package - self.mo_library = mo_library - self.lib_path = self.mo_library + os.sep + "package.mo" - self.startup_script_path = "startup.mos" - self.root_package = self.mo_library + os.sep + self.package - self.n_pro = n_pro - self.show_gui = show_gui - self.simulate_ex = simulate_examples - self.ch_models = ch_models - self.wh_library = wh_library - self.filter_wh = filter_wh - - sys.path.append('bin/CITests') - from _config import ch_file, wh_file - self.ch_file = ch_file - self.wh_file = wh_file - self.err_log = f'{self.mo_library}{os.sep}{self.mo_library}.{self.package}-errorlog.txt' - - self.CRED = '\033[91m' # Colors - self.CEND = '\033[0m' - self.green = "\033[0;32m" - - from dymola.dymola_interface import DymolaInterface # Load modelica python interface - from dymola.dymola_exception import DymolaException - print(f'1: Starting Dymola instance') - if platform.system() == "Windows": - dymola = DymolaInterface() - else: - dymola = DymolaInterface(dymolapath="/usr/local/bin/dymola") - self.dymola = dymola - self.dymola_exception = DymolaException() - self.dymola.ExecuteCommand( - "Advanced.TranslationInCommandLog:=true;") # Writes all information in the log file, not only the - - def _dym_check_lic(self): # check the license - dym_sta_lic_available = self.dymola.ExecuteCommand('RequestOption("Standard");') - lic_counter = 0 - while dym_sta_lic_available is False: - print(f'{self.CRED} No Dymola License is available {self.CEND} \n Check Dymola license after 180.0 seconds') - self.dymola.close() - time.sleep(180.0) - dym_sta_lic_available = self.dymola.ExecuteCommand('RequestOption("Standard");') - lic_counter += 1 - if lic_counter > 10: - if dym_sta_lic_available is False: - print(f'There are currently no available Dymola licenses available. Please try again later.') - self.dymola.close() - exit(1) - print(f'2: Using Dymola port {str(self.dymola._portnumber)} \n {self.green} Dymola License is available {self.CEND}') - - - def _checkmodel(self, model_list): # Check models and return a Error Log, if the check failed - pack_check = self.dymola.RunScript(self.startup_script_path) - if pack_check is True: - print(f'Found {self.mo_library} Library and start Checkmodel Tests \n Check Package {self.package} \n') - elif pack_check is False: - print(f'Library Path is wrong. Please Check Path of {self.mo_library} Library Path') - exit(1) - error_model = [] - error_message = [] - for model in model_list: - result = self.dymola.checkModel(model) - if result is True: - print(f'\n {self.green} Successful: {self.CEND} {model} \n') - continue - if result is False: - print(f'Check for Model {model}{self.CRED} failed!{self.CEND}\n\n{self.CRED}Error:{self.CEND} {model}\nSecond Check Test for model {model}') - sec_result = self.dymola.checkModel(model) - if sec_result is True: - print(f'\n {self.green} Successful: {self.CEND} {model} \n') - continue - if sec_result is False: - print(f'\n {self.CRED} Error: {self.CEND} {model} \n') - log = self.dymola.getLastError() - error_model.append(model) - error_message.append(log) - print(f'{log}') - continue - self.dymola.savelog(self.mo_library + "." + self.package + "-log.txt") - self.dymola.close() - return error_model, error_message - - - def _sim_examples(self, example_list): # Simulate examples or validations - pack_check = self.dymola.RunScript(self.startup_script_path) - if pack_check is True: - print(f'Found {self.mo_library} Library and start check model test. \n Check Package {self.package} \n') - elif pack_check is False: - print(f'Library path is wrong. Please check the path of {self.mo_library} library path') - exit(1) - error_model = [] - error_message = [] - if len(example_list) == 0: - print(f'{self.CRED}Error:{self.CEND} Found no examples') - exit(0) - for example in example_list: - print(f'Simulate model: {example}') - result = self.dymola.checkModel(example, simulate=True) - if result is True: - print(f'\n {self.green}Successful:{self.CEND} {example}\n') - if result is False: - print(f'Simulate model {example} {self.CRED} failed! {self.CEND} \n Second check test for model {example}') - sec_result = self.dymola.checkModel(example, simulate=True) - if sec_result is True: - print(f'\n {self.green} Successful: {self.CEND} {example} \n') - if sec_result is False: - print(f'\n {self.CRED} Error: {self.CEND} {example}\n') - log = self.dymola.getLastError() - print(f'{log}') - error_model.append(example) - error_message.append(log) - self.dymola.savelog(self.mo_library + "." + self.package + "-log.txt") - self.dymola.close() - return error_model, error_message - - - def _write_errorlog(self, error_model, - error_message): # Write a Error log with all models, that don´t pass the check - error_log = open(self.err_log, "w") - for model, message in zip(error_model, error_message): - error_log.write(f'\n \n Error in model: {model} \n') - error_log.write(str(message)) - error_log.close() - - def _get_model(self): # list all models in package - model_list = [] - for subdir, dirs, files in os.walk(self.root_package): - for file in files: - filepath = subdir + os.sep + file - if filepath.endswith(".mo") and file != "package.mo": - model = filepath.replace(os.sep, ".") - model = model[model.find(self.mo_library+'.'):model.rfind(".mo")] - model_list.append(model) - return model_list - - def _get_ch_models(self): - changed_models = open(self.ch_file, "r", encoding='utf8') - modelica_models = [] - lines = changed_models.readlines() - for line in lines: - if line.rfind(".mo") > -1 and line.find("package") == -1: - if line.find(f'{self.mo_library}{os.sep}{self.package}') > -1 and line.find("ReferenceResults") == -1: - model = line.lstrip() - model = model.strip() - model = model.replace("\n", "") - model_name = model[model.rfind(self.mo_library):model.rfind('.mo')] - model_name = model_name.replace(os.sep, ".") - model_name = model_name.replace('/', ".") - model_name = model_name.replace('.mo', "") - modelica_models.append(model_name) - continue - changed_models.close() - return modelica_models - - def _get_examples(self): # list all examples in package - example_list = [] - for subdir, dirs, files in os.walk(self.root_package): - for file in files: - filepath = subdir + os.sep + file - if filepath.endswith(".mo") and file != "package.mo": - ex_file = open(filepath, "r", encoding='utf8', errors='ignore') - lines = ex_file.readlines() - for line in lines: - if line.find("extends") > -1 and line.find("Modelica.Icons.Example") > -1: - example = filepath.replace(os.sep, ".") - example = example[example.rfind(self.mo_library):example.rfind(".mo")] - example_list.append(example) - break - ex_file.close() - return example_list - - def _get_ch_examples(self): # list all changed examples in package - changed_models = open(self.ch_file, "r", encoding='utf8', - errors='ignore') - example_list = [] - lines = changed_models.readlines() - for line in lines: - if line.rfind(".mo") > -1 and line.find("package") == -1: - if line.find(f'{self.mo_library}{os.sep}{self.package}') > -1 and line.find("ReferenceResults") == -1: - model = line.lstrip() - model = model.strip() - model = model.replace("\n", "") - model_name = model[model.rfind(self.mo_library):] - ex_file = open(model_name, "r", encoding='utf8', errors='ignore') - ex_lines = ex_file.readlines() - for ex_line in ex_lines: - if ex_line.find("extends") > -1 and ex_line.find("Modelica.Icons.Example") > -1: - example = model_name.replace(os.sep, ".") - example = example.replace('/', ".") - example = example.replace('.mo', "") - example_list.append(example) - break - ex_file.close() - changed_models.close() - return example_list - - def _filter_wh_models(self, models, wh_list): - wh_list_mo = [] - for element in models: - for subelement in wh_list: - if element == subelement: - wh_list_mo.append(element) - wh_list_mo = list(set(wh_list_mo)) - for example in wh_list_mo: - print(f'Dont test model {example}') - models.remove(example) - return models - - def _get_wh_models(self): # Return a List with all models from the Whitelist - wh_file = open(self.wh_file, "r") - lines = wh_file.readlines() - wh_list_models = [] - for line in lines: - if line.find(self.package) > -1: - model = line.lstrip() - model = model.strip() - model = model.replace("\n", "") - wh_list_models.append(model.replace(self.wh_library, self.mo_library)) - wh_file.close() - return wh_list_models - - def _check_result(self, error_model): - if len(error_model) == 0: - print(f'Test was {self.green}Successful!{self.CEND}') - exit(0) - if len(error_model) > 0: - print(f'Test {self.CRED}failed!{self.CEND}') - for model in error_model: - print(f'{self.CRED}Error:{self.CEND} Check Model {model}') - exit(1) - if error_model is None: - exit(1) - - -class Create_whitelist(object): - - def __init__(self, library, wh_lib): - self.library = library - self.wh_lib = wh_lib - self.wh_lib_path = self.wh_lib + os.sep + self.wh_lib + os.sep + "package.mo" - - sys.path.append('bin/CITests') - from _config import ch_file, wh_file, exit_file - self.ch_file = ch_file - self.wh_file = wh_file - self.exit_file = exit_file - - self.CRED = '\033[91m' # Colors - self.CEND = '\033[0m' - self.green = '\033[0;32m' - from dymola.dymola_interface import DymolaInterface # Load modelica python interface - from dymola.dymola_exception import DymolaException - print(f'1: Starting Dymola instance') - if platform.system() == "Windows": - dymola = DymolaInterface() - else: - dymola = DymolaInterface(dymolapath="/usr/local/bin/dymola") - self.dymola = dymola - self.dymola_exception = DymolaException() - self.dymola.ExecuteCommand( - "Advanced.TranslationInCommandLog:=true;") # ## Writes all information in the log file, not only the - - def read_script_version(self): - aixlib_dir = self.library + os.sep + "Resources" + os.sep + "Scripts" - filelist = (glob.glob(aixlib_dir + os.sep + "*.mos")) - list = [] - for file in filelist: - list.append(file.replace(".mos", "")) - data = sorted(list, key=lambda x: float(x[x.find("_to_0") + 6:])) - data = data[len(data) - 1] - d = data[data.find("_to_0") + 6:data.rfind(".")] - last_conv_list = [] - for i in list: - num = i[i.find("_to_0") + 6:i.rfind(".")] - if num == str(d): - last_conv_list.append(i) - continue - data = (sorted(last_conv_list, key=lambda x: int(x[x.rfind(".") + 1:]))) - data = (data[len(data) - 1]) - data = data.split(os.sep) - version = (data[len(data) - 1]) - return version - - def _check_fileexist(self): - if os.path.exists(self.wh_file): - print(f'Whitelist does exist. Update the whitelist under {self.wh_file}') - - else: - print(f' Whitelist does not exist. Create a new one under {self.wh_file}') - file = open(self.wh_file, "w+") - file.close() - - def _check_whitelist(self, - version): # Write a new Whitelist with all models in IBPSA Library of those models who have not passed the Check Test - vfile = open(self.wh_file, "r") # Read the last version of whitelist - lines = vfile.readlines() - version_check = False - for line in lines: - line = line.strip() - if line.strip("\n") == version.strip("\n"): - print(f'Whitelist is on version {version}. The Whitelist is already up to date') - version_check = True - - vfile.close() - return version_check - - def _get_wh_model(self, wh_path): - model_list = [] - for subdir, dirs, files in os.walk(wh_path): - for file in files: - filepath = subdir + os.sep + file - if filepath.endswith(".mo") and file != "package.mo": - model = filepath.replace(os.sep, ".") - model = model[model.rfind(self.wh_lib):model.rfind(".mo")] - model_list.append(model) - if len(model_list) == 0: - print(f'No Models') - exit(1) - return model_list - - def _dym_check_lic(self): # check dymola license - dym_sta_lic_available = self.dymola.ExecuteCommand('RequestOption("Standard");') - lic_counter = 0 - while dym_sta_lic_available is False: - print(f'{self.CRED} No Dymola License is available {self.CEND} \n Check Dymola license after 180.0 seconds') - self.dymola.close() - time.sleep(180.0) - dym_sta_lic_available = self.dymola.ExecuteCommand('RequestOption("Standard");') - lic_counter += 1 - if lic_counter > 10: - if dym_sta_lic_available is False: - print(f'There are currently no available Dymola licenses available. Please try again later.') - self.dymola.close() - exit(1) - print(f'2: Using Dymola port {str(self.dymola._portnumber)}\n{self.green}Dymola License is available{self.CEND}') - - - def _check_wh_model(self, model_list): # check models for creating whitelist - package_check = self.dymola.openModel(self.wh_lib_path) - if package_check is True: - print(f'Found {self.wh_lib} Library and check models in library {self.wh_lib} \n') - elif package_check is False: - print(f'Library Path is wrong. Please Check Path of {self.wh_lib} Library Path') - exit(1) - error_model = [] - error_message = [] - for model in model_list: - result = self.dymola.checkModel(model) - if result is True: - print(f'\n{self.green}Successful:{self.CEND} {model}\n') - continue - if result is False: - print(f'\n{self.CRED}Error:{self.CEND} {model}\n') - log = self.dymola.getLastError() - print(f'{log}') - error_model.append(model) - error_message.append(log) - continue - self.dymola.savelog(f'{self.wh_lib}-log.txt') - self.dymola.close() - return error_model, error_message - - def _write_exit_log(self, version_check): # write entry in exit file - exit = open(self.exit_file, "w") - if version_check is False: - exit.write(f'FAIL') - else: - exit.write(f'successful') - exit.close() - - - def _write_whitelist(self, error_model_list, version): # write a new whitelist - wh_file = open(self.wh_file, "w") - wh_file.write(f'\n{version} \n \n') - for model in error_model_list: - wh_file.write(f'\n{model} \n \n') - print(f'New whitelist was created with the version {version}') - wh_file.close() - - -def _setEnvironmentVariables(var, value): # Add to the environment variable 'var' the value 'value' - import os - import platform - if var in os.environ: - if platform.system() == "Windows": - os.environ[var] = value + ";" + os.environ[var] - else: - os.environ[var] = value + ":" + os.environ[var] - else: - os.environ[var] = value - - -def check_model_workflow(): - if args.single_package is None: - print(f'{CRED}Error:{CEND} Package is missing!') - exit(1) - if args.library is None: - print(f'{CRED}Error:{CEND} Library is missing!') - exit(1) - print(f'Setting: Package {args.single_package}') - print(f'Setting: library {args.library}') - CheckModelTest._dym_check_lic() - if args.changedmodels is True: # Test only changed or new models - print(f'Test only changed or new models') - model_list = CheckModelTest._get_ch_models() - if len(model_list) == 0: - print(f'No changed models in Package: {args.single_package}') - exit(0) - elif args.filterwhitelist is True: # Filter model on whitelist - if args.wh_library is None: - print(f'{CRED}Error:{CEND} WhiteList Library is missing!') - exit(1) - print(f'Setting: Whitelist library {args.wh_library}') - wh_list = CheckModelTest._get_wh_models() - models = CheckModelTest._get_model() - model_list = CheckModelTest._filter_wh_models(models, wh_list) - else: # Check all models in package - model_list = CheckModelTest._get_model() - if len(model_list) == 0: - print(f'No models in package {args.single_package}') - exit(1) - result = CheckModelTest._checkmodel(model_list) - error_model = result[0] - error_message = result[1] - CheckModelTest._write_errorlog(error_model, error_message) - CheckModelTest._check_result(error_model) - - -def sim_example_workflow(): - if args.single_package is None: - print(f'{CRED}Error:{CEND} Package is missing!') - exit(1) - if args.library is None: - print(f'{CRED}Error:{CEND} Library is missing!') - exit(1) - print(f'Setting: Package {args.single_package}') - print(f'Setting: library {args.library}') - CheckModelTest._dym_check_lic() - print(f'Simulate examples and validations') - if args.changedmodels is True: - print(f'Test only changed or new models') - example_list = CheckModelTest._get_ch_examples() - if len(example_list) == 0: - print(f'No changed models in Package: {args.single_package}') - exit(0) - elif args.filterwhitelist is True: - if args.wh_library is None: - print(f'{CRED}Error:{CEND} Library is missing!') - exit(1) - print(f'Setting: Whitelist library {args.wh_library}') - wh_list = CheckModelTest._get_wh_models() - models = CheckModelTest._get_examples() - example_list = CheckModelTest._filter_wh_models(models, wh_list) - else: - example_list = CheckModelTest._get_examples() - if len(example_list) == 0: - print(f'No models in package {args.single_package}') - exit(1) - result = CheckModelTest._sim_examples(example_list) - error_model = result[0] - error_message = result[1] - CheckModelTest._write_errorlog(error_model, error_message) - CheckModelTest._check_result(error_model) - - -def create_wh_workflow(): - if args.wh_library is None: - print(f'{CRED}Error:{CEND} Whitelist library is missing!') - exit(1) - if args.library is None: - print(f'{CRED}Error{CEND}: Library is missing!') - exit(1) - print(f'Setting: WhiteList library {args.wh_library}') - print(f'Setting: library {args.library}') - Whitelist_class = Create_whitelist(library=args.library, - wh_lib=args.wh_library) - Whitelist_class._check_fileexist() - version = Whitelist_class.read_script_version() - version_check = Whitelist_class._check_whitelist(version) - if version_check is False: - Whitelist_class._write_exit_log(version_check) - model_list = [] - if args.repo_dir is None: - print(f'{CRED}Error:{CEND} Repository directory is missing!') - exit(1) - print(f'Setting: Package {args.repo_dir}') - if args.git_url is None and args.wh_path is None: - print(f'{CRED}Error:{CEND} git url or whitelist path is missing!') - exit(1) - if args.git_url is not None: - print(f'Setting: library {args.git_url}') - Git_Class = Git_Repository_Clone(repo_dir=args.repo_dir, - git_url=args.git_url) - Git_Class._clone_repository() - model_list = Whitelist_class._get_wh_model(args.repo_dir) - elif args.wh_path is not None: - print(f'Setting: library {args.wh_path}') - model_list = Whitelist_class._get_wh_model(args.wh_path) - print(f'Write new writelist from {args.wh_library} library') - Whitelist_class._dym_check_lic() - result = Whitelist_class._check_wh_model(model_list) - error_model_list = result[0] - Whitelist_class._write_whitelist(error_model_list, version) - exit(0) - else: - Whitelist_class._write_exit_log(version_check) - exit(0) - - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description="Check and Validate single Packages") # Configure the argument parser - check_test_group = parser.add_argument_group("arguments to run check tests") - check_test_group.add_argument('-s', "--single-package", metavar="AixLib.Package", - help="Test only the Modelica package AixLib.Package") - check_test_group.add_argument("-n", "--number-of-processors", type=int, default=multiprocessing.cpu_count(), - help="Maximum number of processors to be used") - check_test_group.add_argument("--show-gui", help="show the GUI of the simulator", action="store_true") - check_test_group.add_argument("-WL", "--whitelist", - help="Create a WhiteList of IBPSA Library: y: Create WhiteList, n: Don´t create WhiteList", - action="store_true") - check_test_group.add_argument("-SE", "--simulateexamples", help="Check and Simulate Examples in the Package", - action="store_true") - check_test_group.add_argument("-DS", "--dymolaversion", default="2020", - help="Version of Dymola(Give the number e.g. 2020") - check_test_group.add_argument("-V", "--check-version", default=False, action="store_true") - check_test_group.add_argument("-CM", "--changedmodels", default=False, action="store_true") - check_test_group.add_argument("-FW", "--filterwhitelist", default=False, action="store_true") - check_test_group.add_argument("-L", "--library", default="AixLib", help="Library to test") - check_test_group.add_argument("-wh-l", "--wh-library", help="Library to test") - check_test_group.add_argument("--repo-dir", help="Library to test") - check_test_group.add_argument("--git-url", default="https://github.com/ibpsa/modelica-ibpsa.git", help="url repository") - check_test_group.add_argument("--wh-path", help="path of white library") - args = parser.parse_args() # Parse the arguments - CRED = '\033[91m' - CEND = '\033[0m' - green = "\033[0;32m" - - if platform.system() == "Windows": # Checks the Operating System, Important for the Python-Dymola Interface - _setEnvironmentVariables("PATH", os.path.join(os.path.abspath('.'), "Resources", "Library", "win32")) - sys.path.insert(0, os.path.join('C:\\', - 'Program Files', - 'Dymola ' + args.dymolaversion, - 'Modelica', - 'Library', - 'python_interface', - 'dymola.egg')) - else: - _setEnvironmentVariables("LD_LIBRARY_PATH", - os.path.join(os.path.abspath('.'), "Resources", "Library", "linux32") + ":" + - os.path.join(os.path.abspath('.'), "Resources", "Library", "linux64")) - sys.path.insert(0, os.path.join('opt', - 'dymola-' + args.dymolaversion + '-x86_64', - 'Modelica', - 'Library', - 'python_interface', - 'dymola.egg')) - print(f'operating system {platform.system()}') - sys.path.append(os.path.join(os.path.abspath('.'), "..", "..", "BuildingsPy")) - - from validatetest import ValidateTest - - - if args.whitelist is True: # Write a new WhiteList - create_wh_workflow() - - CheckModelTest = ValidateTest(package=args.single_package, - n_pro=args.number_of_processors, - show_gui=args.show_gui, - simulate_examples=args.simulateexamples, - ch_models=args.changedmodels, - mo_library=args.library, - wh_library=args.wh_library, - filter_wh=args.filterwhitelist) - if args.simulateexamples is True: # Simulate Models - sim_example_workflow() - else: # Check all Models in a Package - check_model_workflow() diff --git a/bin/CITests/02_UnitTests/How_to_wirte_a_new_UnitTest.md b/bin/CITests/02_UnitTests/How_to_wirte_a_new_UnitTest.md deleted file mode 100644 index 329a79d0..00000000 --- a/bin/CITests/02_UnitTests/How_to_wirte_a_new_UnitTest.md +++ /dev/null @@ -1,282 +0,0 @@ -This documentation briefly describes how to apply and use the unit tests and how to create reference files that will later be compared for a unit test. - -The documentation already explains how to use a UnitTest and what to consider. A concrete example is given here. - -This example uses the AixLib.Airflow.FacadeVentilationUnit.Examples.FacadeVentilationUnit.mo model. - - - within AixLib.Airflow.FacadeVentilationUnit.Examples; - model FacadeVentilationUnit - "Example showing the use of facade ventilation unit and controller" - extends Modelica.Icons.Example; - - package Medium1 = AixLib.Media.Air; - package Medium2 = AixLib.Media.Water; - - AixLib.Controls.AirHandling.FVUController FVUController( - maxSupFanPower=0.6, - maxExFanPower=0.6) - "Comprehensive rule-based controller for the facade ventilation unit" - annotation (Placement(transformation(extent={{-46,-30},{-6,10}}))); - AixLib.Airflow.FacadeVentilationUnit.FacadeVentilationUnit FVU(redeclare - package Air = Medium1, redeclare package Water = Medium2) - "The facade ventilation unit to be tested in this example" - annotation (Placement(transformation(extent={{70,-56},{106,-36}}))); - AixLib.Fluid.Sources.Boundary_pT freshAirSource( - nPorts=1, - redeclare package Medium = Medium1, - use_T_in=true, - p(displayUnit="Pa") = 101300) "Sink of the exhaust air" - annotation (Placement(transformation(extent={{6,-84},{26,-64}}))); - AixLib.Fluid.Sources.Boundary_pT exhaustAirSink( - nPorts=1, - redeclare package Medium = Medium1, - p(displayUnit="Pa") = 101300) "Source of freah air" - annotation (Placement(transformation(extent={{4,-47},{24,-27}}))); - AixLib.Fluid.Sources.Boundary_pT heatingSnk( - redeclare package Medium = Medium2, - nPorts=1, - p=100000) "Sink of the heating water" annotation (Placement(transformation( - extent={{-10,-10},{10,10}}, - rotation=270, - origin={26,30}))); - AixLib.Fluid.Sources.Boundary_pT coolingSink( - redeclare package Medium = Medium2, - nPorts=1, - p=100000) "Sink of the cooling water" annotation (Placement(transformation( - extent={{-10,-10},{10,10}}, - rotation=270, - origin={102,32}))); - AixLib.Fluid.Sources.Boundary_pT coolingSource( - redeclare package Medium = Medium2, - use_T_in=true, - nPorts=1, - p=101000) "Source of the cooling water" annotation (Placement( - transformation( - extent={{-10,-10},{10,10}}, - rotation=270, - origin={126,31}))); - AixLib.Fluid.Sources.Boundary_pT heatingSource( - redeclare package Medium = Medium2, - use_T_in=true, - nPorts=1, - p=101000) "Source of the heating water" annotation (Placement( - transformation( - extent={{-9,-10},{9,10}}, - rotation=270, - origin={54,31}))); - AixLib.Fluid.Sources.Boundary_pT supplyAirSink( - redeclare package Medium = Medium1, - use_T_in=false, - nPorts=1, - p(displayUnit="Pa") = 101300) "Sink of the supply air" annotation ( - Placement(transformation( - extent={{-10,-10},{10,10}}, - rotation=180, - origin={170,-27}))); - AixLib.Fluid.Sources.Boundary_pT extractAirSource( - nPorts=1, - redeclare package Medium = Medium1, - use_T_in=true, - p(displayUnit="Pa") = 101300) "Source of the extract air" annotation ( - Placement(transformation( - extent={{-10,-10},{10,10}}, - rotation=180, - origin={168,-66}))); - Modelica.Blocks.Sources.Constant heatingWaterTemperature(k=273.15 + 30) - "Provides a test value of the heating water temperatrure" - annotation (Placement(transformation(extent={{24,74},{44,94}}))); - Modelica.Blocks.Sources.Constant coolingWaterTemperature(k=273.15 + 17) - "Provides a test value of the cooling water temperatiure" - annotation (Placement(transformation(extent={{84,74},{104,94}}))); - AixLib.Fluid.Sensors.TemperatureTwoPort supplyAirTemperature(redeclare - package Medium = Medium1, m_flow_nominal=0.1) - "Measures the supply air temperature" - annotation (Placement(transformation(extent={{120,-54},{140,-34}}))); - Modelica.Blocks.Sources.Sine roomTemperature( - amplitude=5, - freqHz=1/86400, - phase=3.1415926535898, - offset=273.15 + 20) - "Provides a test value of the room temperature" - annotation (Placement(transformation(extent={{-100,40},{-80,60}}))); - Modelica.Blocks.Sources.Sine roomSetTemperature( - amplitude=5, - freqHz=1/86400, - phase=1.5707963267949, - offset=273.15 + 20) - "Provides a test value of the room set temperature" - annotation (Placement(transformation(extent={{-100,-36},{-80,-16}}))); - Modelica.Blocks.Sources.Constant co2Concentration(k=1000) - "Provides a test value of the CO2 concnetration" - annotation (Placement(transformation(extent={{-100,-80},{-80,-60}}))); - Modelica.Blocks.Sources.Sine outdoorTemperature( - amplitude=5, - freqHz=1/86400, - offset=273.15 + 10) "Provides a test value of the outdoor temperature" - annotation (Placement(transformation(extent={{-100,6},{-80,26}}))); - AixLib.Controls.Interfaces.FVUControlBus fVUControlBus - "Bus with controller sginals" - annotation (Placement( - transformation( - extent={{-10,-10},{10,10}}, - rotation=270, - origin={-26,28}))); - equation - connect(FVU.extractAirConnector, extractAirSource.ports[1]) annotation ( - Line(points={{106.2,-52.8},{148,-52.8},{148,-66},{158,-66}}, - color={0,127,255}, - smooth=Smooth.None)); - connect(heatingSnk.ports[1], FVU.heaterReturnConnector) annotation (Line( - points={{26,20},{26,-6},{95.2,-6},{95.2,-36}}, color={0,127,255})); - connect(coolingSource.ports[1], FVU.coolerFlowConnector) annotation (Line( - points={{126,21},{126,-26},{105.2,-26},{105.2,-36}}, - color={0,127,255})); - connect(heatingWaterTemperature.y, heatingSource.T_in) - annotation (Line(points={{45,84},{58,84},{58,41.8}}, color={0,0,127})); - connect(coolingWaterTemperature.y, coolingSource.T_in) annotation (Line( - points={{105,84},{105,84},{130,84},{130,43}}, color={0,0,127})); - connect(FVU.coolerReturnConnector, coolingSink.ports[1]) annotation (Line( - points={{102.2,-36},{102,-36},{102,22}}, color={0,127,255})); - connect(heatingSource.ports[1], FVU.heaterFlowConnector) annotation (Line( - points={{54,22},{54,22},{54,10},{98.2,10},{98.2,-36}}, - color={0,127,255})); - connect(exhaustAirSink.ports[1], FVU.exhaustAirConnector) annotation (Line( - points={{24,-37},{42,-37},{42,-43.4},{70,-43.4}}, color={0,127,255})); - connect(freshAirSource.ports[1], FVU.freshAirConnector) annotation (Line( - points={{26,-74},{26,-70},{42,-70},{42,-52.8},{70.2,-52.8}}, - color={0,127, - 255})); - connect(FVU.supplyAirConnector, supplyAirTemperature.port_a) annotation ( - Line(points={{106.2,-43.4},{106.2,-44},{120,-44}}, color={0,127,255})); - connect(supplyAirTemperature.port_b, supplyAirSink.ports[1]) annotation ( - Line(points={{140,-44},{148,-44},{148,-27},{160,-27}}, color={0,127,255})); - connect(FVU.fVUControlBus, FVUController.fVUControlBus) annotation (Line( - points={{86,-35.9},{86,-35.9},{86,-12},{86,-10},{86,-8.76923},{-6, - -8.76923}},color={255,204,51},thickness=0.5)); - connect(FVUController.fVUControlBus, fVUControlBus) annotation (Line( - points={{-6,-8.76923},{2,-8.76923},{2,28},{-26,28}}, - color={255,204,51}, - thickness=0.5), Text( - string="%second", - index=1, - extent={{6,3},{6,3}})); - connect(roomTemperature.y, extractAirSource.T_in) annotation ( - Line(points={{-79,50},{46,50},{192,50},{192,-70},{180,-70}}, - color={0,0,127})); - connect(outdoorTemperature.y,freshAirSource. T_in) annotation ( - Line(points={{-79,16},{-64,16},{-64,-70},{4,-70}}, color={0,0,127})); - connect(roomTemperature.y, fVUControlBus.roomTemperature) annotation (Line( - points={{-79,50},{-62,50},{-46,50},{-46,27.95},{-25.95,27.95}}, color={0, - 0,127}), Text( - string="%second", - index=1, - extent={{6,3},{6,3}})); - connect(outdoorTemperature.y, fVUControlBus.outdoorTemperature) annotation ( - Line(points={{-79,16},{-64,16},{-64,27.95},{-25.95,27.95}}, color={0,0,127}), - Text( - string="%second", - index=1, - extent={{6,3},{6,3}})); - connect(roomSetTemperature.y, fVUControlBus.roomSetTemperature) annotation ( - Line(points={{-79,-26},{-74,-26},{-74,27.95},{-25.95,27.95}}, color={0,0,127}), - Text( - string="%second", - index=1, - extent={{6,3},{6,3}})); - connect(co2Concentration.y, fVUControlBus.co2Concentration) annotation (Line( - points={{-79,-70},{-79,-70},{-74,-70},{-74,27.95},{-25.95,27.95}}, - color={0,0,127}), Text( - string="%second", - index=1, - extent={{6,3},{6,3}})); - annotation ( - Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100, - 100}})), - Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{ - 200,100}})),"AixLib.Airflow.FacadeVentilationUnit.Examples.FacadeVentilationUnit - experiment(Tolerance=1e-6, StopTime=86400), - __Dymola_Commands(file="modelica://AixLib/Resources/Scripts/Dymola/Airflow/FacadeVentilationUnit/Examples/FacadeVentilationUnit.mos" - "Simulate and plot"), - Documentation(revisions=" - - ", info=" -

This model demonstrates the usage of the facade ventilation unit connected - to the standard controller. The inputs are the room and the outdoor temperaure. - Those temperatures and the room temperature set point are sine waves with a - period of one day, which all have a different phase. The simulation result - depicted in the following figure shows the behavior of the two-point controller - that opens the heating valve fully for heating. For cooling, it closes the - heating valve and bypasses the heat recovery unit so that the supply air - temperature is equal to the outdoor temperature.

-

\"Example

- ")); - end FacadeVentilationUnit; - - -It is important that the path is given to the model in the annotation, in which the .mos files are later located. -The important section for this can be seen below - - annotation ( - Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100, - 100}})), - Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{ - 200,100}})),"AixLib.Airflow.FacadeVentilationUnit.Examples.FacadeVentilationUnit - experiment(Tolerance=1e-6, StopTime=86400), - __Dymola_Commands(file="modelica://AixLib/Resources/Scripts/Dymola/Airflow/FacadeVentilationUnit/Examples/FacadeVentilationUnit.mos" - "Simulate and plot"), - - - -A mos file must then be created for this model. -This can be found under AixLib/Resources/Scripts/Dymola/Airflow/FacadeVentilationUnit/Examples/FacadeVentilationUnit.mos - -It must be considered beforehand which variables are to be compared later, and is therefore especially important for the modelers of their own model. - -This mos file looks like the following - - simulateModel("AixLib.Airflow.FacadeVentilationUnit.Examples.FacadeVentilationUnit", stopTime=3600,outputInterval=60, - method="lsodar", tolerance=1e-06, resultFile="FacadeVentilationUnit"); - createPlot(id = 1, - position = {35, 30, 825, 625}, - y = {"FVUController.roomToBeCooled.reference","FVUController.roomToBeHeated.reference"}, - range = {0, 3600.0, 3.5, (-1.5)}, - grid=true, - filename = "FacadeVentilationUnit.mat", - colors={{28,108,200},{238,46,47}}); - - - -Then the unit test is executed with the following command - -```shell - python ../bin/runUnitTests.py -n 2 --single-package AixLib.Airflow --tool dymola -``` - -You will be asked if the user wants to have a reference file created and saved. -The reference file then looks like the one below and can be compared and used in future UnitTests. The reference file is saved as text file under the path AixLib/Resources/ReferenceResults/Dymola/AixLib_Airflow_FacadeVentilationUnit_Examples_FacadeVentilationUnit.txt - -```shell - last-generated=2019-03-28 - statistics-initialization= - { - "nonlinear": "2, 1, 1, 1, 0", - "numerical Jacobians": "0" - } - statistics-simulation= - { - "linear": "0, 0", - "nonlinear": "2, 0, 1, 1, 0", - "number of continuous time states": "25", - "numerical Jacobians": "0" - } - FVUController.roomToBeHeated.reference=[2.981499938964844e+02, 2.9814013671875e+02, 2.981105651855469e+02, 2.980614318847656e+02, 2.97992919921875e+02, 2.979052734375e+02, 2.977988891601562e+02, 2.976741333007812e+02, 2.975315246582031e+02, 2.973716430664062e+02, 2.971950988769531e+02, 2.970025634765625e+02, 2.967948303222656e+02, 2.965727233886719e+02, 2.963371276855469e+02, 2.960889282226562e+02, 2.958291320800781e+02, 2.955587768554688e+02, 2.952789001464844e+02, 2.949906311035156e+02, 2.946950988769531e+02, 2.943934631347656e+02, 2.940869140625e+02, 2.937766723632812e+02, 2.934639587402344e+02, 2.931499938964844e+02, 2.928360595703125e+02, 2.925233459472656e+02, 2.922131042480469e+02, 2.919065551757812e+02, 2.916049194335938e+02, 2.913093872070312e+02, 2.910211181640625e+02, 2.907412414550781e+02, 2.904708557128906e+02, 2.902110595703125e+02, 2.89962890625e+02, 2.897272644042969e+02, 2.895051574707031e+02, 2.892974243164062e+02, 2.891049194335938e+02, 2.889283752441406e+02, 2.887684631347656e+02, 2.886258544921875e+02, 2.885011291503906e+02, 2.883947143554688e+02, 2.883070983886719e+02, 2.882385559082031e+02, 2.881894226074219e+02, 2.881598815917969e+02, 2.881499938964844e+02, 2.881598815917969e+02, 2.881894226074219e+02, 2.882385559082031e+02, 2.883070983886719e+02, 2.883947143554688e+02, 2.885011291503906e+02, 2.886258544921875e+02, 2.887684631347656e+02, 2.889283752441406e+02, 2.891049194335938e+02, 2.892974243164062e+02, 2.895051574707031e+02, 2.897272644042969e+02, 2.89962890625e+02, 2.902110595703125e+02, 2.904708557128906e+02, 2.907412414550781e+02, 2.910211181640625e+02, 2.913093872070312e+02, 2.916049194335938e+02, 2.919065551757812e+02, 2.922131042480469e+02, 2.925233459472656e+02, 2.928360595703125e+02, 2.931499938964844e+02, 2.934639587402344e+02, 2.937766723632812e+02, 2.940869140625e+02, 2.943934631347656e+02, 2.946950988769531e+02, 2.949906311035156e+02, 2.952789001464844e+02, 2.955587768554688e+02, 2.958291320800781e+02, 2.960889282226562e+02, 2.963371276855469e+02, 2.965727233886719e+02, 2.967948303222656e+02, 2.970025634765625e+02, 2.971950988769531e+02, 2.973716430664062e+02, 2.975315246582031e+02, 2.976741333007812e+02, 2.977988891601562e+02, 2.979052734375e+02, 2.97992919921875e+02, 2.980614318847656e+02, 2.981105651855469e+02, 2.9814013671875e+02, 2.981499938964844e+02] - FVUController.roomToBeCooled.reference=[2.931499938964844e+02, 2.928360595703125e+02, 2.925233459472656e+02, 2.922131042480469e+02, 2.919065551757812e+02, 2.916049194335938e+02, 2.913093872070312e+02, 2.910211181640625e+02, 2.907412414550781e+02, 2.904708557128906e+02, 2.902110595703125e+02, 2.89962890625e+02, 2.897272644042969e+02, 2.895051574707031e+02, 2.892974243164062e+02, 2.891049194335938e+02, 2.889283752441406e+02, 2.887684631347656e+02, 2.886258544921875e+02, 2.885011291503906e+02, 2.883947143554688e+02, 2.883070983886719e+02, 2.882385559082031e+02, 2.881894226074219e+02, 2.881598815917969e+02, 2.881499938964844e+02, 2.881598815917969e+02, 2.881894226074219e+02, 2.882385559082031e+02, 2.883070983886719e+02, 2.883947143554688e+02, 2.885011291503906e+02, 2.886258544921875e+02, 2.887684631347656e+02, 2.889283752441406e+02, 2.891049194335938e+02, 2.892974243164062e+02, 2.895051574707031e+02, 2.897272644042969e+02, 2.89962890625e+02, 2.902110595703125e+02, 2.904708557128906e+02, 2.907412414550781e+02, 2.910211181640625e+02, 2.913093872070312e+02, 2.916049194335938e+02, 2.919065551757812e+02, 2.922131042480469e+02, 2.925233459472656e+02, 2.928360595703125e+02, 2.931499938964844e+02, 2.934639587402344e+02, 2.937766723632812e+02, 2.940869140625e+02, 2.943934631347656e+02, 2.946950988769531e+02, 2.949906311035156e+02, 2.952789001464844e+02, 2.955587768554688e+02, 2.958291320800781e+02, 2.960889282226562e+02, 2.963371276855469e+02, 2.965727233886719e+02, 2.967948303222656e+02, 2.970025634765625e+02, 2.971950988769531e+02, 2.973716430664062e+02, 2.975315246582031e+02, 2.976741333007812e+02, 2.977988891601562e+02, 2.979052734375e+02, 2.97992919921875e+02, 2.980614318847656e+02, 2.981105651855469e+02, 2.9814013671875e+02, 2.981499938964844e+02, 2.9814013671875e+02, 2.981105651855469e+02, 2.980614318847656e+02, 2.97992919921875e+02, 2.979052734375e+02, 2.977988891601562e+02, 2.976741333007812e+02, 2.975315246582031e+02, 2.973716430664062e+02, 2.971950988769531e+02, 2.970025634765625e+02, 2.967948303222656e+02, 2.965727233886719e+02, 2.963371276855469e+02, 2.960889282226562e+02, 2.958291320800781e+02, 2.955587768554688e+02, 2.952789001464844e+02, 2.949906311035156e+02, 2.946950988769531e+02, 2.943934631347656e+02, 2.940869140625e+02, 2.937766723632812e+02, 2.934639587402344e+02, 2.931499938964844e+02] - time=[0e+00, 8.64e+04] -``` \ No newline at end of file diff --git a/bin/CITests/02_UnitTests/README.md b/bin/CITests/02_UnitTests/README.md deleted file mode 100644 index 0f7eee77..00000000 --- a/bin/CITests/02_UnitTests/README.md +++ /dev/null @@ -1,362 +0,0 @@ -# What is it? -This templates check, simulate or perform a regression test of AixLib models. - -# How to implement? -Add the following lines to your .gitlab-ci.yml: - - stages: - - Ref_Check - - Update_WhiteList - - check - - post - - create_whitelist - - simulate - - RegressionTest - - Update_Ref - - plot_ref - - prepare - - deploy - - include: - - 'bin/templates/03_ci_templates/02_UnitTests/check_model.gitlab-ci.yml' - - 'bin/templates/03_ci_templates/02_UnitTests/regression_test.gitlab-ci.yml' - - 'bin/templates/03_ci_templates/02_UnitTests/simulate_model.gitlab-ci.yml' - - - -### runUnitTests - - -For further information on how to use theUnitTest, please refer to the following [link](https://github.com/ibpsa/modelica-ibpsa/wiki/Unit-Tests) - -#### To Write a new Unit Test: - -This documentation briefly describes how to apply and use the unit tests and how to create reference files that will later be compared for a unit test. - -The documentation already explains how to use a UnitTest and what to consider. A concrete example is given here. - -This example uses the AixLib.Airflow.FacadeVentilationUnit.Examples.FacadeVentilationUnit.mo model. - - - within AixLib.Airflow.FacadeVentilationUnit.Examples; - model FacadeVentilationUnit - "Example showing the use of facade ventilation unit and controller" - extends Modelica.Icons.Example; - - package Medium1 = AixLib.Media.Air; - package Medium2 = AixLib.Media.Water; - - AixLib.Controls.AirHandling.FVUController FVUController( - maxSupFanPower=0.6, - maxExFanPower=0.6) - "Comprehensive rule-based controller for the facade ventilation unit" - annotation (Placement(transformation(extent={{-46,-30},{-6,10}}))); - AixLib.Airflow.FacadeVentilationUnit.FacadeVentilationUnit FVU(redeclare - package Air = Medium1, redeclare package Water = Medium2) - "The facade ventilation unit to be tested in this example" - annotation (Placement(transformation(extent={{70,-56},{106,-36}}))); - AixLib.Fluid.Sources.Boundary_pT freshAirSource( - nPorts=1, - redeclare package Medium = Medium1, - use_T_in=true, - p(displayUnit="Pa") = 101300) "Sink of the exhaust air" - annotation (Placement(transformation(extent={{6,-84},{26,-64}}))); - AixLib.Fluid.Sources.Boundary_pT exhaustAirSink( - nPorts=1, - redeclare package Medium = Medium1, - p(displayUnit="Pa") = 101300) "Source of freah air" - annotation (Placement(transformation(extent={{4,-47},{24,-27}}))); - AixLib.Fluid.Sources.Boundary_pT heatingSnk( - redeclare package Medium = Medium2, - nPorts=1, - p=100000) "Sink of the heating water" annotation (Placement(transformation( - extent={{-10,-10},{10,10}}, - rotation=270, - origin={26,30}))); - AixLib.Fluid.Sources.Boundary_pT coolingSink( - redeclare package Medium = Medium2, - nPorts=1, - p=100000) "Sink of the cooling water" annotation (Placement(transformation( - extent={{-10,-10},{10,10}}, - rotation=270, - origin={102,32}))); - AixLib.Fluid.Sources.Boundary_pT coolingSource( - redeclare package Medium = Medium2, - use_T_in=true, - nPorts=1, - p=101000) "Source of the cooling water" annotation (Placement( - transformation( - extent={{-10,-10},{10,10}}, - rotation=270, - origin={126,31}))); - AixLib.Fluid.Sources.Boundary_pT heatingSource( - redeclare package Medium = Medium2, - use_T_in=true, - nPorts=1, - p=101000) "Source of the heating water" annotation (Placement( - transformation( - extent={{-9,-10},{9,10}}, - rotation=270, - origin={54,31}))); - AixLib.Fluid.Sources.Boundary_pT supplyAirSink( - redeclare package Medium = Medium1, - use_T_in=false, - nPorts=1, - p(displayUnit="Pa") = 101300) "Sink of the supply air" annotation ( - Placement(transformation( - extent={{-10,-10},{10,10}}, - rotation=180, - origin={170,-27}))); - AixLib.Fluid.Sources.Boundary_pT extractAirSource( - nPorts=1, - redeclare package Medium = Medium1, - use_T_in=true, - p(displayUnit="Pa") = 101300) "Source of the extract air" annotation ( - Placement(transformation( - extent={{-10,-10},{10,10}}, - rotation=180, - origin={168,-66}))); - Modelica.Blocks.Sources.Constant heatingWaterTemperature(k=273.15 + 30) - "Provides a test value of the heating water temperatrure" - annotation (Placement(transformation(extent={{24,74},{44,94}}))); - Modelica.Blocks.Sources.Constant coolingWaterTemperature(k=273.15 + 17) - "Provides a test value of the cooling water temperatiure" - annotation (Placement(transformation(extent={{84,74},{104,94}}))); - AixLib.Fluid.Sensors.TemperatureTwoPort supplyAirTemperature(redeclare - package Medium = Medium1, m_flow_nominal=0.1) - "Measures the supply air temperature" - annotation (Placement(transformation(extent={{120,-54},{140,-34}}))); - Modelica.Blocks.Sources.Sine roomTemperature( - amplitude=5, - freqHz=1/86400, - phase=3.1415926535898, - offset=273.15 + 20) - "Provides a test value of the room temperature" - annotation (Placement(transformation(extent={{-100,40},{-80,60}}))); - Modelica.Blocks.Sources.Sine roomSetTemperature( - amplitude=5, - freqHz=1/86400, - phase=1.5707963267949, - offset=273.15 + 20) - "Provides a test value of the room set temperature" - annotation (Placement(transformation(extent={{-100,-36},{-80,-16}}))); - Modelica.Blocks.Sources.Constant co2Concentration(k=1000) - "Provides a test value of the CO2 concnetration" - annotation (Placement(transformation(extent={{-100,-80},{-80,-60}}))); - Modelica.Blocks.Sources.Sine outdoorTemperature( - amplitude=5, - freqHz=1/86400, - offset=273.15 + 10) "Provides a test value of the outdoor temperature" - annotation (Placement(transformation(extent={{-100,6},{-80,26}}))); - AixLib.Controls.Interfaces.FVUControlBus fVUControlBus - "Bus with controller sginals" - annotation (Placement( - transformation( - extent={{-10,-10},{10,10}}, - rotation=270, - origin={-26,28}))); - equation - connect(FVU.extractAirConnector, extractAirSource.ports[1]) annotation ( - Line(points={{106.2,-52.8},{148,-52.8},{148,-66},{158,-66}}, - color={0,127,255}, - smooth=Smooth.None)); - connect(heatingSnk.ports[1], FVU.heaterReturnConnector) annotation (Line( - points={{26,20},{26,-6},{95.2,-6},{95.2,-36}}, color={0,127,255})); - connect(coolingSource.ports[1], FVU.coolerFlowConnector) annotation (Line( - points={{126,21},{126,-26},{105.2,-26},{105.2,-36}}, - color={0,127,255})); - connect(heatingWaterTemperature.y, heatingSource.T_in) - annotation (Line(points={{45,84},{58,84},{58,41.8}}, color={0,0,127})); - connect(coolingWaterTemperature.y, coolingSource.T_in) annotation (Line( - points={{105,84},{105,84},{130,84},{130,43}}, color={0,0,127})); - connect(FVU.coolerReturnConnector, coolingSink.ports[1]) annotation (Line( - points={{102.2,-36},{102,-36},{102,22}}, color={0,127,255})); - connect(heatingSource.ports[1], FVU.heaterFlowConnector) annotation (Line( - points={{54,22},{54,22},{54,10},{98.2,10},{98.2,-36}}, - color={0,127,255})); - connect(exhaustAirSink.ports[1], FVU.exhaustAirConnector) annotation (Line( - points={{24,-37},{42,-37},{42,-43.4},{70,-43.4}}, color={0,127,255})); - connect(freshAirSource.ports[1], FVU.freshAirConnector) annotation (Line( - points={{26,-74},{26,-70},{42,-70},{42,-52.8},{70.2,-52.8}}, - color={0,127, - 255})); - connect(FVU.supplyAirConnector, supplyAirTemperature.port_a) annotation ( - Line(points={{106.2,-43.4},{106.2,-44},{120,-44}}, color={0,127,255})); - connect(supplyAirTemperature.port_b, supplyAirSink.ports[1]) annotation ( - Line(points={{140,-44},{148,-44},{148,-27},{160,-27}}, color={0,127,255})); - connect(FVU.fVUControlBus, FVUController.fVUControlBus) annotation (Line( - points={{86,-35.9},{86,-35.9},{86,-12},{86,-10},{86,-8.76923},{-6, - -8.76923}},color={255,204,51},thickness=0.5)); - connect(FVUController.fVUControlBus, fVUControlBus) annotation (Line( - points={{-6,-8.76923},{2,-8.76923},{2,28},{-26,28}}, - color={255,204,51}, - thickness=0.5), Text( - string="%second", - index=1, - extent={{6,3},{6,3}})); - connect(roomTemperature.y, extractAirSource.T_in) annotation ( - Line(points={{-79,50},{46,50},{192,50},{192,-70},{180,-70}}, - color={0,0,127})); - connect(outdoorTemperature.y,freshAirSource. T_in) annotation ( - Line(points={{-79,16},{-64,16},{-64,-70},{4,-70}}, color={0,0,127})); - connect(roomTemperature.y, fVUControlBus.roomTemperature) annotation (Line( - points={{-79,50},{-62,50},{-46,50},{-46,27.95},{-25.95,27.95}}, color={0, - 0,127}), Text( - string="%second", - index=1, - extent={{6,3},{6,3}})); - connect(outdoorTemperature.y, fVUControlBus.outdoorTemperature) annotation ( - Line(points={{-79,16},{-64,16},{-64,27.95},{-25.95,27.95}}, color={0,0,127}), - Text( - string="%second", - index=1, - extent={{6,3},{6,3}})); - connect(roomSetTemperature.y, fVUControlBus.roomSetTemperature) annotation ( - Line(points={{-79,-26},{-74,-26},{-74,27.95},{-25.95,27.95}}, color={0,0,127}), - Text( - string="%second", - index=1, - extent={{6,3},{6,3}})); - connect(co2Concentration.y, fVUControlBus.co2Concentration) annotation (Line( - points={{-79,-70},{-79,-70},{-74,-70},{-74,27.95},{-25.95,27.95}}, - color={0,0,127}), Text( - string="%second", - index=1, - extent={{6,3},{6,3}})); - annotation ( - Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100, - 100}})), - Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{ - 200,100}})),"AixLib.Airflow.FacadeVentilationUnit.Examples.FacadeVentilationUnit - experiment(Tolerance=1e-6, StopTime=86400), - __Dymola_Commands(file="modelica://AixLib/Resources/Scripts/Dymola/Airflow/FacadeVentilationUnit/Examples/FacadeVentilationUnit.mos" - "Simulate and plot"), - Documentation(revisions=" - - ", info=" -

This model demonstrates the usage of the facade ventilation unit connected - to the standard controller. The inputs are the room and the outdoor temperaure. - Those temperatures and the room temperature set point are sine waves with a - period of one day, which all have a different phase. The simulation result - depicted in the following figure shows the behavior of the two-point controller - that opens the heating valve fully for heating. For cooling, it closes the - heating valve and bypasses the heat recovery unit so that the supply air - temperature is equal to the outdoor temperature.

-

\"Example

- ")); - end FacadeVentilationUnit; - - -It is important that the path is given to the model in the annotation, in which the .mos files are later located. -The important section for this can be seen below - - annotation ( - Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100, - 100}})), - Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{ - 200,100}})),"AixLib.Airflow.FacadeVentilationUnit.Examples.FacadeVentilationUnit - experiment(Tolerance=1e-6, StopTime=86400), - __Dymola_Commands(file="modelica://AixLib/Resources/Scripts/Dymola/Airflow/FacadeVentilationUnit/Examples/FacadeVentilationUnit.mos" - "Simulate and plot"), - - - -A mos file must then be created for this model. -This can be found under AixLib/Resources/Scripts/Dymola/Airflow/FacadeVentilationUnit/Examples/FacadeVentilationUnit.mos - -It must be considered beforehand which variables are to be compared later, and is therefore especially important for the modelers of their own model. - -This mos file looks like the following - - simulateModel("AixLib.Airflow.FacadeVentilationUnit.Examples.FacadeVentilationUnit", stopTime=3600,outputInterval=60, - method="lsodar", tolerance=1e-06, resultFile="FacadeVentilationUnit"); - createPlot(id = 1, - position = {35, 30, 825, 625}, - y = {"FVUController.roomToBeCooled.reference","FVUController.roomToBeHeated.reference"}, - range = {0, 3600.0, 3.5, (-1.5)}, - grid=true, - filename = "FacadeVentilationUnit.mat", - colors={{28,108,200},{238,46,47}}); - - - -Then the unit test is executed with the following command - -```shell - python ../bin/runUnitTests.py -n 2 --single-package AixLib.Airflow --tool dymola -``` - -You will be asked if the user wants to have a reference file created and saved. -The reference file then looks like the one below and can be compared and used in future UnitTests. The reference file is saved as text file under the path AixLib/Resources/ReferenceResults/Dymola/AixLib_Airflow_FacadeVentilationUnit_Examples_FacadeVentilationUnit.txt - -```shell - last-generated=2019-03-28 - statistics-initialization= - { - "nonlinear": "2, 1, 1, 1, 0", - "numerical Jacobians": "0" - } - statistics-simulation= - { - "linear": "0, 0", - "nonlinear": "2, 0, 1, 1, 0", - "number of continuous time states": "25", - "numerical Jacobians": "0" - } - FVUController.roomToBeHeated.reference=[2.981499938964844e+02, 2.9814013671875e+02, 2.981105651855469e+02, 2.980614318847656e+02, 2.97992919921875e+02, 2.979052734375e+02, 2.977988891601562e+02, 2.976741333007812e+02, 2.975315246582031e+02, 2.973716430664062e+02, 2.971950988769531e+02, 2.970025634765625e+02, 2.967948303222656e+02, 2.965727233886719e+02, 2.963371276855469e+02, 2.960889282226562e+02, 2.958291320800781e+02, 2.955587768554688e+02, 2.952789001464844e+02, 2.949906311035156e+02, 2.946950988769531e+02, 2.943934631347656e+02, 2.940869140625e+02, 2.937766723632812e+02, 2.934639587402344e+02, 2.931499938964844e+02, 2.928360595703125e+02, 2.925233459472656e+02, 2.922131042480469e+02, 2.919065551757812e+02, 2.916049194335938e+02, 2.913093872070312e+02, 2.910211181640625e+02, 2.907412414550781e+02, 2.904708557128906e+02, 2.902110595703125e+02, 2.89962890625e+02, 2.897272644042969e+02, 2.895051574707031e+02, 2.892974243164062e+02, 2.891049194335938e+02, 2.889283752441406e+02, 2.887684631347656e+02, 2.886258544921875e+02, 2.885011291503906e+02, 2.883947143554688e+02, 2.883070983886719e+02, 2.882385559082031e+02, 2.881894226074219e+02, 2.881598815917969e+02, 2.881499938964844e+02, 2.881598815917969e+02, 2.881894226074219e+02, 2.882385559082031e+02, 2.883070983886719e+02, 2.883947143554688e+02, 2.885011291503906e+02, 2.886258544921875e+02, 2.887684631347656e+02, 2.889283752441406e+02, 2.891049194335938e+02, 2.892974243164062e+02, 2.895051574707031e+02, 2.897272644042969e+02, 2.89962890625e+02, 2.902110595703125e+02, 2.904708557128906e+02, 2.907412414550781e+02, 2.910211181640625e+02, 2.913093872070312e+02, 2.916049194335938e+02, 2.919065551757812e+02, 2.922131042480469e+02, 2.925233459472656e+02, 2.928360595703125e+02, 2.931499938964844e+02, 2.934639587402344e+02, 2.937766723632812e+02, 2.940869140625e+02, 2.943934631347656e+02, 2.946950988769531e+02, 2.949906311035156e+02, 2.952789001464844e+02, 2.955587768554688e+02, 2.958291320800781e+02, 2.960889282226562e+02, 2.963371276855469e+02, 2.965727233886719e+02, 2.967948303222656e+02, 2.970025634765625e+02, 2.971950988769531e+02, 2.973716430664062e+02, 2.975315246582031e+02, 2.976741333007812e+02, 2.977988891601562e+02, 2.979052734375e+02, 2.97992919921875e+02, 2.980614318847656e+02, 2.981105651855469e+02, 2.9814013671875e+02, 2.981499938964844e+02] - FVUController.roomToBeCooled.reference=[2.931499938964844e+02, 2.928360595703125e+02, 2.925233459472656e+02, 2.922131042480469e+02, 2.919065551757812e+02, 2.916049194335938e+02, 2.913093872070312e+02, 2.910211181640625e+02, 2.907412414550781e+02, 2.904708557128906e+02, 2.902110595703125e+02, 2.89962890625e+02, 2.897272644042969e+02, 2.895051574707031e+02, 2.892974243164062e+02, 2.891049194335938e+02, 2.889283752441406e+02, 2.887684631347656e+02, 2.886258544921875e+02, 2.885011291503906e+02, 2.883947143554688e+02, 2.883070983886719e+02, 2.882385559082031e+02, 2.881894226074219e+02, 2.881598815917969e+02, 2.881499938964844e+02, 2.881598815917969e+02, 2.881894226074219e+02, 2.882385559082031e+02, 2.883070983886719e+02, 2.883947143554688e+02, 2.885011291503906e+02, 2.886258544921875e+02, 2.887684631347656e+02, 2.889283752441406e+02, 2.891049194335938e+02, 2.892974243164062e+02, 2.895051574707031e+02, 2.897272644042969e+02, 2.89962890625e+02, 2.902110595703125e+02, 2.904708557128906e+02, 2.907412414550781e+02, 2.910211181640625e+02, 2.913093872070312e+02, 2.916049194335938e+02, 2.919065551757812e+02, 2.922131042480469e+02, 2.925233459472656e+02, 2.928360595703125e+02, 2.931499938964844e+02, 2.934639587402344e+02, 2.937766723632812e+02, 2.940869140625e+02, 2.943934631347656e+02, 2.946950988769531e+02, 2.949906311035156e+02, 2.952789001464844e+02, 2.955587768554688e+02, 2.958291320800781e+02, 2.960889282226562e+02, 2.963371276855469e+02, 2.965727233886719e+02, 2.967948303222656e+02, 2.970025634765625e+02, 2.971950988769531e+02, 2.973716430664062e+02, 2.975315246582031e+02, 2.976741333007812e+02, 2.977988891601562e+02, 2.979052734375e+02, 2.97992919921875e+02, 2.980614318847656e+02, 2.981105651855469e+02, 2.9814013671875e+02, 2.981499938964844e+02, 2.9814013671875e+02, 2.981105651855469e+02, 2.980614318847656e+02, 2.97992919921875e+02, 2.979052734375e+02, 2.977988891601562e+02, 2.976741333007812e+02, 2.975315246582031e+02, 2.973716430664062e+02, 2.971950988769531e+02, 2.970025634765625e+02, 2.967948303222656e+02, 2.965727233886719e+02, 2.963371276855469e+02, 2.960889282226562e+02, 2.958291320800781e+02, 2.955587768554688e+02, 2.952789001464844e+02, 2.949906311035156e+02, 2.946950988769531e+02, 2.943934631347656e+02, 2.940869140625e+02, 2.937766723632812e+02, 2.934639587402344e+02, 2.931499938964844e+02] - time=[0e+00, 8.64e+04] -``` -### validatetest - -This test check and simulate the models. You have following options: - - parser = argparse.ArgumentParser(description="Check and Validate single Packages") # Configure the argument parser - check_test_group = parser.add_argument_group("arguments to run check tests") - check_test_group.add_argument('-s', "--single-package", metavar="AixLib.Package", - help="Test only the Modelica package AixLib.Package") - check_test_group.add_argument("-n", "--number-of-processors", type=int, default=multiprocessing.cpu_count(), - help="Maximum number of processors to be used") - check_test_group.add_argument("--show-gui", help="show the GUI of the simulator", action="store_true") - check_test_group.add_argument("-WL", "--whitelist", - help="Create a WhiteList of IBPSA Library: y: Create WhiteList, n: Don´t create WhiteList", - action="store_true") - check_test_group.add_argument("-SE", "--simulateexamples", help="Check and Simulate Examples in the Package", - action="store_true") - check_test_group.add_argument("-DS", "--dymolaversion", default="2020", - help="Version of Dymola(Give the number e.g. 2020") - check_test_group.add_argument("-V", "--check-version", default=False, action="store_true") - check_test_group.add_argument("-CM", "--changedmodels", default=False, action="store_true") - check_test_group.add_argument("-FW", "--filterwhitelist", default=False, action="store_true") - check_test_group.add_argument("-L", "--library", default="AixLib", help="Library to test") - check_test_group.add_argument("-wh-l", "--wh-library", help="Library to test") - check_test_group.add_argument("--repo-dir", help="Library to test") - check_test_group.add_argument("--git-url", default="https://github.com/ibpsa/modelica-ibpsa.git", help="url repository") - check_test_group.add_argument("--wh-path", help="path of white library") - - 1. --whitelist - -Clone the repository of IBPSA and check the models. Models that failed will append to the Whitelist. These models will not checked. - - 2. --simulateexamples - -Example: - -`python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package "Airflow" --library AixLib -DS 2020 --wh-library IBPSA --filterwhitelist --simulateexamples` - -`python bin/CITests/02_UnitTests/CheckPackages/validatetest.py -DS 2020 --repo-dir IBPSA --git-url https://github.com/ibpsa/modelica-ibpsa.git --library AixLib --wh-library IBPSA --whitelist` - - -The Test will check and simulate all examples and validation in AixLib. - -# What is done? -- Simulate models -- check models -- Write a Whitelist of failing IBPSA models -- regression test of models \ No newline at end of file diff --git a/bin/CITests/02_UnitTests/reference_check.py b/bin/CITests/02_UnitTests/reference_check.py deleted file mode 100644 index 494c82f5..00000000 --- a/bin/CITests/02_UnitTests/reference_check.py +++ /dev/null @@ -1,637 +0,0 @@ -import os -import sys -import platform -import multiprocessing -import argparse -import time - - -class Reg_Reference(object): - - def __init__(self, package, library, n_pro, tool, batch, show_gui, path): - self.package = package - self.library = library - self.n_pro = n_pro - self.tool = tool - self.batch = batch - self.show_gui = show_gui - self.path = path - - sys.path.append('../bin/CITests') - from _config import ref_file_dir, resource_dir, exit_file, ref_file, ref_whitelist_file, update_ref_file - self.ref_file_path = ref_file_dir - self.resource_file_path = resource_dir - self.ref_whitelist = f'..{os.sep}{ref_whitelist_file}' - self.update_ref_file = update_ref_file - self.exit_file = f'..{os.sep}{exit_file}' - self.ref_file = f'..{os.sep}{ref_file}' - - self.CRED = '\033[91m' # Color - self.CEND = '\033[0m' - self.green = "\033[0;32m" - - import buildingspy.development.regressiontest as u # Buildingspy - self.ut = u.Tester(tool=self.tool) - - def _get_mos_scripts(self): # obtain mos scripts that are feasible for regression testing - mos_list = [] - for subdir, dirs, files in os.walk(self.resource_file_path): - for file in files: - filepath = subdir + os.sep + file - if filepath.endswith(".mos"): - infile = open(filepath, "r") - lines = infile.read() - if lines.find("simulateModel") > -1: - mos_script = filepath[filepath.find("Dymola"):filepath.find(".mos")].replace("Dymola", - self.library) - mos_script = mos_script.replace(os.sep, ".") - mos_list.append(mos_script) - if lines.find("simulateModel") == -1: - print( - f'{self.CRED}This mos script is not suitable for regression testing:{self.CEND} {filepath} ') - infile.close() - continue - return mos_list - - def _write_reg_list(self): # writes a list for feasible regression tests - mos_list = Reg_Reference._get_mos_scripts(self) - wh_file = open(self.ref_file, "w") - for mos in mos_list: - wh_file.write(f'\n{mos}\n') - wh_file.close() - - def _get_check_ref(self): # give a reference list - ref_list = [] - for subdir, dirs, files in os.walk(self.ref_file_path): - for file in files: - filepath = subdir + os.sep + file - if filepath.endswith(".txt"): - ref_file = filepath[filepath.rfind(self.library):filepath.find(".txt")] - ref_list.append(ref_file) - return ref_list - - def _delte_ref_file(self, ref_list): - ref_dir = f'{self.library}{os.sep}{self.ref_file_path}' - for ref in ref_list: - print(f'Update reference file {ref_dir}{os.sep}{ref}\n') - if os.path.exists(f'..{os.sep}{ref_dir}{os.sep}{ref}'): - os.remove(f'..{os.sep}{ref_dir}{os.sep}{ref}') - else: - print(f'File ..{os.sep}{ref_dir}{os.sep}{ref} does not exist\n') - - def _get_ref_package(self): # reproduces packages in which reference results are missing - mos_list = Reg_Reference._compare_ref_mos(self) - package_list = [] - if mos_list is not None: - for mos in mos_list: - package_name = mos - package_list.append(package_name) - for package in package_list: - print(f'{self.CRED}No Reference result for Model:{self.CRED} {package}') - return package_list - - def _get_whitelist_package(self): # get and filter package from reference whitelist - ref_wh = open(self.ref_whitelist, "r") - lines = ref_wh.readlines() - wh_list = [] - for line in lines: - if len(line.strip()) == 0: - continue - else: - wh_list.append(line.strip()) - ref_wh.close() - for wh_package in wh_list: - print( - f'{self.CRED} Don´t create reference results for package{self.CEND} {wh_package}: This Package is on the whitelist') - return wh_list - - def _compare_ref_mos(self): # compares if both files existed - mos_list = Reg_Reference._get_mos_scripts(self) # Mos Scripts - ref_list = Reg_Reference._get_check_ref(self) # Reference files - err_list = [] - for mos in mos_list: - for ref in ref_list: - if mos.replace(".", "_") == ref: # mos_script == reference results - err_list.append(mos) - break - for err in err_list: - mos_list.remove(err) # remove all mos script for that a ref file exists - return mos_list - - def _compare_wh_mos(self): # filter model from whitelist - package_list = Reg_Reference._get_ref_package(self) - wh_list = Reg_Reference._get_whitelist_package(self) - err_list = [] - for package in package_list: - for wh_package in wh_list: - if package[:package.rfind(".")].find(wh_package) > -1: - print( - f'{self.green}Don´t Create reference results for model{self.CEND} {package} This package is on the whitelist') - err_list.append(package) - else: - continue - for err in err_list: - package_list.remove(err) - return package_list - - def _create_reference_results(self): # creates reference files that do not yet exist - self.ut.batchMode(False) - self.ut.setLibraryRoot(self.path) - model_list = Reg_Reference._compare_wh_mos(self) - package_list = [] - print(f'\n \n') - model_list = list(set(model_list)) - for model in model_list: - print(f'{self.green}Generate new reference results for model: {self.CEND} {model}') - package_list.append(model[:model.rfind(".")]) - package_list = list(set(package_list)) - print(f'\n \n') - if len(package_list) > 0: - for package in package_list: - print(f'{self.green}Generate new reference results for package: {self.CEND} {package}') - self.ut.setSinglePackage(package) - self.ut.setNumberOfThreads(self.n_pro) - self.ut.pedanticModelica(False) - self.ut.showGUI(False) - response = self.ut.run() - if response == 1: - print(f'{self.CRED}Error in package: {self.CEND} {package}') - continue - else: - print(f'{self.green}New reference results in package: {self.CEND} {package}\n') - continue - else: - ex_file = open(self.exit_file, "w") - ex_file.write("#!/bin/bash" + "\n" + "\n" + "exit 0") - ex_file.close() - print(f'{self.green}All Reference files exists, except the Models on WhiteList.{self.CEND}') - exit(0) - - def _get_update_package(self, ref_list): - ref_package_list = [] - for ref in ref_list: - ref_package_list.append(ref[:ref.rfind("_")].replace("_",".")) - return ref_package_list - - def _get_update_ref(self): # get a model to update - file = open(".."+os.sep+self.update_ref_file, "r") - lines = file.readlines() - ref_list = [] - for line in lines: - if len(line) == 0: - continue - else: - ref_list.append(line.strip()) - file.close() - if len(ref_list) == 0: - print(f'No reference files in file {self.update_ref_file}. Please add here your reference files you want to update') - exit(0) - return ref_list - - def _update_ref(self, package): # Update reference results - self.ut.batchMode(False) - self.ut.setLibraryRoot(self.path) - if package is not None: - self.ut.setSinglePackage(package) - print(f'{self.green}Update reference results for the packages: {self.CEND} {package}') - self.ut.setNumberOfThreads(self.n_pro) - self.ut.pedanticModelica(False) - self.ut.showGUI(self.show_gui) - retVal = self.ut.run() - return retVal - - def _get_ref_model(self): - mo_list = [] - ref_file = open(self.ref_file, "r") - lines = ref_file.readlines() - for line in lines: - if line.find(self.package) > -1: - mo_list.append(line.strip()) - ref_file.close() - return mo_list - - def _compare_reg_model(self, modelica_list, mo_list): - reg_list = [] - for model in modelica_list: - for mo in mo_list: - if model == mo: - reg_list.append(model) - return reg_list - - def _check_regression_test(self, package): # start regression test for a package - if package is None: - print(f'{self.CRED}Error:{self.CEND} Package is missing! (e.g. Airflow)') - exit(1) - if self.library is None: - print(f'{self.CRED}Error:{self.CEND} Library is missing! (e.g. AixLib)') - exit(1) - self.ut.batchMode(self.batch) - self.ut.setLibraryRoot(self.path) - if package is not None: - self.ut.setSinglePackage(package) - self.ut.setNumberOfThreads(self.n_pro) - self.ut.pedanticModelica(False) - self.ut.showGUI(self.show_gui) - retVal = self.ut.run() - return retVal - -class Extended_model(object): - - def __init__(self, package, library, dymolaversion, path): - self.package = package - self.library = library - self.dymolaversion = dymolaversion - self.path = path - sys.path.append('../bin/CITests') - from _config import ch_file, resource_dir - self.changed_file = f'..{os.sep}{ch_file}' - self.resource_file_path = f'{resource_dir}{os.sep}{self.package.replace(self.library + ".", "")}' - self.package_path = f'{self.package}' - - self.CRED = '\033[91m' # Color - self.CEND = '\033[0m' - self.green = "\033[0;32m" - - if self.package is None: - print(f'{self.CRED}Error:{self.CEND} Package is missing! (e.g. Airflow)') - exit(1) - if self.library is None: - print(f'{self.CRED}Error:{self.CEND} Library is missing! (e.g. AixLib)') - exit(1) - - from dymola.dymola_interface import DymolaInterface - from dymola.dymola_exception import DymolaException - print(f'1: Starting Dymola instance') - if platform.system() == "Windows": - dymola = DymolaInterface() - else: - dymola = DymolaInterface(dymolapath="/usr/local/bin/dymola") - self.dymola = dymola - self.dymola_exception = DymolaException() - self.dymola.ExecuteCommand("Advanced.TranslationInCommandLog:=true;") - librarycheck = self.dymola.openModel(self.path) - if librarycheck == True: - print(f'Found {self.library} Library. Start regression test.') - elif librarycheck == False: - print(f'Library Path is wrong. Please Check Path of {self.library} Library Path') - exit(1) - self.dymola.ExecuteCommand("Advanced.TranslationInCommandLog:=true;") - - def _dym_check_lic(self): # check dymola license - dym_sta_lic_available = self.dymola.ExecuteCommand('RequestOption("Standard");') - lic_counter = 0 - while dym_sta_lic_available is False: - print(f'{self.CRED} No Dymola License is available {self.CEND} \n Check Dymola license after 180.0 seconds') - self.dymola.close() - time.sleep(180.0) - dym_sta_lic_available = self.dymola.ExecuteCommand('RequestOption("Standard");') - lic_counter += 1 - if lic_counter > 30: - if dym_sta_lic_available is False: - print(f'There are currently no available Dymola licenses available. Please try again later.') - self.dymola.close() - exit(1) - print( - f'2: Using Dymola port {str(self.dymola._portnumber)} \n {self.green} Dymola License is available {self.CEND}') - - def _get_lines(self): # get lines from reference whitelist - changed_models = open(self.changed_file, "r", encoding='utf8') - lines = changed_models.readlines() - changed_models.close() - return lines - - def _get_usedmodel(self, mo_list): # get a list with all used models of regression models - model_list = [] - lines = Extended_model._get_lines(self) - if len(mo_list) > 0: - if platform.system() == "Windows": # Load ModelManagement - self.dymola.ExecuteCommand( - 'cd("C:\Program Files\Dymola ' + self.dymolaversion + '\Modelica\Library\ModelManagement 1.1.8\package.moe");') - else: - self.dymola.ExecuteCommand( - 'cd("/opt/dymola-' + self.dymolaversion + '-x86_64/Modelica/Library/ModelManagement 1.1.8/package.moe");') - for model in mo_list: - use_model_list = [] - usedmodel_list = self.dymola.ExecuteCommand( - f'ModelManagement.Structure.Instantiated.UsedModels("{model}");') - if usedmodel_list is None: - continue - else: - for usemodel in usedmodel_list: - if usemodel.find("Modelica") > -1: - continue - if usemodel.find("Real") > -1: - continue - if usemodel.find("Integer") > -1: - continue - if usemodel.find("Boolean") > -1: - continue - if usemodel.find("String") > -1: - continue - use_model_list.append(usemodel) - extendedmodel_list = self.dymola.ExecuteCommand( - f'ModelManagement.Structure.AST.ExtendsInClass("{model}");') - if extendedmodel_list is None: - continue - else: - for extendedmodel in extendedmodel_list: - if extendedmodel.find("Modelica") > -1: - continue - if extendedmodel.find("Real") > -1: - continue - if extendedmodel.find("Integer") > -1: - continue - if extendedmodel.find("Boolean") > -1: - continue - if extendedmodel.find("String") > -1: - continue - use_model_list.append(extendedmodel) - ch_model_list = Extended_model.get_changed_used_model(self, lines, use_model_list) - if len(ch_model_list) > 0: - model_list.append(model) - self.dymola.close() - model_list = list(set(model_list)) - return model_list - - def get_changed_used_model(self, lines, model_list): # return all used models, that changed - ch_model_list = [] - for line in lines: - for model in model_list: - if line[line.find(self.library):line.rfind(".mo")].strip() == model: - ch_model_list.append(model) - return ch_model_list - - def _insert_list(self, ref_list, mos_list, modelica_list, - ch_model_list): # return models, scripts, reference results and used models, that changed - changed_list = [] - if ref_list is not None: - for ref in ref_list: - print(f'Changed reference files: {ref}') - changed_list.append(ref[:ref.rfind("_")].replace("_", ".")) - if mos_list is not None: - for mos in mos_list: - print(f'Changed mos script files: {mos}') - changed_list.append(mos[:mos.rfind(".")]) - if modelica_list is not None: - for model in modelica_list: - print(f'Changed model files: {model}') - changed_list.append(model[:model.rfind(".")]) - if ch_model_list is not None: - for usedmodel in ch_model_list: - print(f'Changed used model files: {usedmodel}') - changed_list.append(usedmodel[:usedmodel.rfind(".")]) - changed_list = list(set(changed_list)) - return changed_list - - def _get_ref(self, lines): # return all reference results, that changed - ref_list = [] - for line in lines: - if line.rfind(".txt") > -1 and line.rfind("ReferenceResults") > -1 and line.find( - ".package") == -1 and line.rfind(self.package) > -1: - line = line.replace("/", ".") - line = line.replace(os.sep, ".") - line = line.replace("..", ".") - ref_list.append(line[line.rfind(self.library):line.rfind(".txt")]) - continue - return ref_list - - def _get_mos(self, lines): # return all mos script, that changed - mos_list = [] - for line in lines: - if line.rfind(".mos") > -1 and line.rfind("Scripts") > -1 and line.find(".package") == -1 and line.rfind( - self.package) > -1: - line = line.replace("/", ".") - line = line.replace(os.sep, ".") - line = line.replace("Dymola", self.library) - mos_list.append(line[line.rfind(self.library):line.rfind(".mos")]) - return mos_list - - def _get_mo(self, lines): # return all models, that changed - modelica_list = [] - for line in lines: - if line.rfind(".mo") > -1 and line.find("package.") == -1 and line.rfind(self.package) > -1 and line.rfind( - "Scripts") == -1: - line = line.replace("/", ".") - line = line.replace(os.sep, ".") - if len(line) == 0: - continue - modelica_list.append(line[line.rfind(self.library):line.rfind(".mo")]) - return modelica_list - - -def _setEnvironmentVariables(var, value): # Add to the environment variable `var` the value `value` - if var in os.environ: - if platform.system() == "Windows": - os.environ[var] = value + ";" + os.environ[var] - else: - os.environ[var] = value + ":" + os.environ[var] - else: - os.environ[var] = value - - -def _validate_html(path): # validate the html syntax - import buildingspy.development.validator as v - val = v.Validator() - errMsg = val.validateHTMLInPackage(path) - n_msg = len(errMsg) - for i in range(n_msg): - if i == 0: - print("The following malformed html syntax has been found:\n%s" % errMsg[i]) - else: - print(errMsg[i]) - if n_msg == 0: - return 0 - else: - return 1 - - -def _validate_experiment_setup(path): # validate regression test setup - import buildingspy.development.validator as v - val = v.Validator() - retVal = val.validateExperimentSetup(path) - return retVal - - -def _run_coverage_only(batch, tool, package, path): # Specifies which models are tested - import buildingspy.development.regressiontest as u - ut = u.Tester(tool=tool) - ut.batchMode(batch) - ut.setLibraryRoot(path) - if package is not None: - ut.setSinglePackage(package) - ut.get_test_example_coverage() - return 0 - - -if __name__ == '__main__': - # python bin/02_CITests/UnitTests/reference_check.py --single-package Airflow --library AixLib -DS 2019 - # cd AixLib && python ../bin/02_CITests/UnitTests/reference_check.py --single-package Airflow --library AixLib -DS 2019 - # cd AixLib && python ../bin/02_CITests/UnitTests/reference_check.py --single-package ci_update_ref_Airflow.Multizone --library AixLib -DS 2019 --update-ref - # cd AixLib && python ../bin/02_CITests/UnitTests/reference_check.py --single-package ci_update_ref_AixLib.Airflow.AirHandlingUnit.Examples.AirCurtain --library AixLib -DS 2019 --update-ref - parser = argparse.ArgumentParser(description='Run the unit tests or the html validation only.') - unit_test_group = parser.add_argument_group("arguments to run unit tests") - unit_test_group.add_argument("-b", "--batch", - action="store_true", - help="Run in batch mode without user interaction") - unit_test_group.add_argument("--show-gui", - help='Show the GUI of the simulator', - action="store_true") - unit_test_group.add_argument('-s', "--single-package", - metavar="Modelica.Package", - help="Test only the Modelica package Modelica.Package") - unit_test_group.add_argument("-p", "--path", - default=".", - help="Path where top-level package.mo of the library is located") - unit_test_group.add_argument("-L", "--library", default="AixLib", help="Library to test") - unit_test_group.add_argument("-n", "--number-of-processors", type=int, default=multiprocessing.cpu_count(), - help='Maximum number of processors to be used') - unit_test_group.add_argument('-t', "--tool", metavar="dymola", default="dymola", - help="Tool for the regression tests. Set to dymola or jmodelica") - unit_test_group.add_argument("-DS", "--dymolaversion", default="2020", - help="Version of Dymola(Give the number e.g. 2020") - unit_test_group.add_argument("--coverage-only", - help='Only run the coverage test', - action="store_true") - unit_test_group.add_argument("--create-ref", - help='checks if all reference files exist', - action="store_true") - unit_test_group.add_argument("--ref-list", - help='checks if all reference files exist', - action="store_true") - unit_test_group.add_argument("--update-ref", - help='update all reference files', - action="store_true") - unit_test_group.add_argument("--modified-models", - help='Regression test only for modified models', - default=False, - action="store_true") - unit_test_group.add_argument("--validate-html-only", action="store_true") - unit_test_group.add_argument("--validate-experiment-setup", action="store_true") - CRED = '\033[91m' # Color - CEND = '\033[0m' - green = "\033[0;32m" - - args = parser.parse_args() # Parse the arguments - if platform.system() == "Windows": # Checks the Operating System, Important for the Python-Dymola Interface - _setEnvironmentVariables("PATH", os.path.join(os.path.abspath('.'), "Resources", "Library", "win32")) - sys.path.insert(0, os.path.join('C:\\', - 'Program Files', - 'Dymola ' + args.dymolaversion, - 'Modelica', - 'Library', - 'python_interface', - 'dymola.egg')) - else: - _setEnvironmentVariables("LD_LIBRARY_PATH", - os.path.join(os.path.abspath('.'), "Resources", "Library", "linux32") + ":" + - os.path.join(os.path.abspath('.'), "Resources", "Library", "linux64")) - sys.path.insert(0, os.path.join('opt', - 'dymola-' + args.dymolaversion + '-x86_64', - 'Modelica', - 'Library', - 'python_interface', - 'dymola.egg')) - # The path to buildingspy must be added to sys.path to work on Linux. - # If only added to os.environ, the Python interpreter won't find buildingspy - sys.path.append(os.path.join(os.path.abspath('.'), "..", "..", "BuildingsPy")) - - from reference_check import Reg_Reference - - # cd AixLib && python ../bin/02_CITests/UnitTests/reference_check.py --validate-html-only - if args.validate_html_only: # Validate the html syntax only, and then exit - ret_val = _validate_html(args.path) - if ret_val == 1: - print(f'{CRED}html check failed.{CEND}') - exit(ret_val) - - # cd AixLib && python ../bin/02_CITests/UnitTests/reference_check.py --validate-experiment-setup - elif args.validate_experiment_setup: # Match the mos file parameters with the mo files only, and then exit - ret_val = _validate_experiment_setup(args.path) - exit(ret_val) - - # cd AixLib && python ../bin/02_CITests/UnitTests/reference_check.py --coverage-only - elif args.coverage_only: - if args.single_package: - single_package = args.single_package - else: - single_package = None - ret_val = _run_coverage_only(batch=args.batch, - tool=args.tool, - package=single_package, - path=args.path) - exit(ret_val) - - ref_check = Reg_Reference(package=args.single_package, - library=args.library, - n_pro=args.number_of_processors, - tool=args.tool, - batch=args.batch, - show_gui=args.show_gui, - path=args.path) - if args.ref_list: - ref_check._write_reg_list() - exit(0) - # cd AixLib && python ../bin/02_CITests/UnitTests/reference_check.py --create-ref - elif args.create_ref: - ref_check._create_reference_results() - exit(1) - # cd AixLib && python ../bin/02_CITests/UnitTests/reference_check.py --update-ref --single-package - elif args.update_ref: - ref_list = ref_check._get_update_ref() - ref_check._delte_ref_file(ref_list) - package_list = ref_check._get_update_package(ref_list) - for package in package_list: - ret_val = ref_check._update_ref(package) - exit(0) - else: - # cd AixLib && python ../bin/02_CITests/UnitTests/reference_check.py --single-package Airflow --library AixLib --batch -DS 2019 - if args.modified_models is False: - list_reg_model = Extended_model(package=args.single_package, - library=args.library, - dymolaversion=args.dymolaversion, - path="package.mo") - list_reg_model._dym_check_lic() - ret_val = ref_check._check_regression_test(args.single_package) - exit(ret_val) - # cd AixLib && python ../bin/02_CITests/UnitTests/reference_check.py --single-package Airflow --library AixLib --batch -DS 2019 -n 2 --modified-model - if args.modified_models is True: - ref_check._write_reg_list() - package = args.single_package[args.single_package.rfind(".") + 1:] - list_reg_model = Extended_model(package=package, - library=args.library, - dymolaversion=args.dymolaversion, - path="package.mo") - list_reg_model._dym_check_lic() - lines = list_reg_model._get_lines() # string change ref file - ref_list = list_reg_model._get_ref(lines) # get reference files from ref file - mos_list = list_reg_model._get_mos(lines) # get mos script from ref file - modelica_list = list_reg_model._get_mo(lines) # get modelica files from ref file - mo_list = ref_check._get_ref_model() # get the regression models from reference file list - modelica_list = ref_check._compare_reg_model(modelica_list, mo_list) # filter: get mo_list == modelica_list - model_list = list_reg_model._get_usedmodel( - mo_list) # gives a list of regression models where submodels have been modified - changed_list = list_reg_model._insert_list(ref_list, mos_list, modelica_list, - model_list) # give a list with packages to check - if len(changed_list) == 0: - print(f'No models to check and cannot start a regression test') - retVal = 0 - elif len(changed_list) > 0: - error_list = [] - print(f'Number of checked packages: {str(len(changed_list))}') - for package in changed_list: - print(f'Check package: {package}') - retVal = ref_check._check_regression_test(package) - if retVal != 0: - error_list.append(package) - print(f'{CRED}Regression test for model {package} was not successfull{CEND}') - else: - print(f'{green} Regression test for model {package} was successful {CEND}') - if len(error_list) > 0: - print(f'{CRED} Regression test failed{CEND}') - print(f'The following packages{CRED} failed: {CEND}') - for error in error_list: - print(f'{CRED}Error:{CEND} {error}') - exit(1) - else: - print(f'{green}Regression test was successful {CEND}') - exit(0) diff --git a/bin/CITests/03_SyntaxTests/README.md b/bin/CITests/03_SyntaxTests/README.md deleted file mode 100644 index 6de71b6e..00000000 --- a/bin/CITests/03_SyntaxTests/README.md +++ /dev/null @@ -1,112 +0,0 @@ -# What is it? -This templates check, simulate and make a regression test of the AixLib models. - -# How to implement? -To integrate the tests in the GitLab-CI include the templates. -Add the following lines to your .gitlab-ci.yml: - - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:miniconda-latest - - stages: - - build - - HTML_Check - - create_html_whitelist - - StyleCheck - - deploy - - openMR - - post - - include: - - 'bin/templates/03_ci_templates/03_SyntaxTest/html_check.gitlab-ci.yml' - - 'bin/templates/03_ci_templates/03_SyntaxTest/style_check.gitlab-ci.yml -' - - -### html_tidy_errors - -The Test html_tidy_errors.py validate and correct the HTML code. If the Test failed, it will be -create a new branch and the test repeat. The corrected Version is pushed to the new branch and will create a Merge-Request to -your working-branch. - -You have following options: - - 1. --correct-backup: - -The library will be overwrite and write a Backup of the Library. - - 2. --correct-overwrite: - -The Script will just overwrite the Library without create a Backup. - - 3. --log: - -The Script will write a Log File with all Errors and Warning by validate the library. - - 4. -p (path) - -Chose which Library, Package or Model will be checked. - - 5. --align - -This tag will correct align Warning. By Default this tag is false and will not fail the test. - - 6. --font - -This tag will correct font Warning. By Default this tag is false and will not fail the test. - - 7. --WhiteList - -Create a new WhiteList with all models in Library. These models will not be checked. - - 8. --correct-view - -Reads and validate the html code. Does not change the html code - -Add the following command to your .gitlab-ci.yml. - - - python bin/02_CITests/SyntaxTests/html_tidy_errors.py -p "AixLib" --correct-overwrite --log --align --font - - -For more information look at following [Repository](https://github.com/RWTH-EBC/HTML-Tidy-Modelica) - -![E.ON EBC RWTH Aachen University](../../Documentation/Images/HTMLProcess.png) - - - - -For more help type the command python bin/CITests/SyntaxTests/html_tidy_errors.py --help - - -### StyleChecking - -The test StyleChecking use the ModelManagement library in modelica. The script tests the syntax of models or library. - - - python bin/CITests/SyntaxTests/StyleChecking.py -s "AixLib" -p AixLib/package.mo - - -The following option will be checked: - -![E.ON EBC RWTH Aachen University](../../Documentation/Images/ModelManagement_StyleChecking.PNG) - - -For more help type the command: - - - python bin/CITests/SyntaxTests/StyleChecking.py --help - - -# What is done? -- Check and correct HTML code -- Create a new branch -- Produce a Merge-Request -- Push the corrected code to your branch -- Check the style of models - - - - - - - - - - diff --git a/bin/CITests/03_SyntaxTests/StyleChecking.py b/bin/CITests/03_SyntaxTests/StyleChecking.py deleted file mode 100644 index 0cba3835..00000000 --- a/bin/CITests/03_SyntaxTests/StyleChecking.py +++ /dev/null @@ -1,211 +0,0 @@ -import codecs -import multiprocessing -import argparse -import os -import sys -import platform -import time - -class StyleCheck(object): - """ Class to Check the Style of Packages and Models - Export a HTML-Log File""" - - def __init__(self, package, library, dymolaversion, changed_models): - self.package = package - self.library = library - self.dymolaversion = dymolaversion - self.changed_models = changed_models - sys.path.append('bin/CITests') - from _config import exit_file, html_wh_file - self.exit_file = exit_file - self.html_wh_file = html_wh_file - - self.CRED = '\033[91m' # Colors - self.CEND = '\033[0m' - self.green = "\033[0;32m" - from dymola.dymola_interface import DymolaInterface # Load modelica python interface - from dymola.dymola_exception import DymolaException - print(f'1: Starting Dymola instance') - if platform.system() == "Windows": - dymola = DymolaInterface() - else: - dymola = DymolaInterface(dymolapath="/usr/local/bin/dymola") - self.dymola = dymola - self.dymola_exception = DymolaException() - self.dymola.ExecuteCommand( - "Advanced.TranslationInCommandLog:=true;") # Writes all information in the log file, not only the - - def _dym_check_lic(self): # check the license - dym_sta_lic_available = self.dymola.ExecuteCommand('RequestOption("Standard");') - lic_counter = 0 - while dym_sta_lic_available is False: - print(f'{self.CRED} No Dymola License is available {self.CEND} \n Check Dymola license after 180.0 seconds') - self.dymola.close() - time.sleep(180.0) - dym_sta_lic_available = self.dymola.ExecuteCommand('RequestOption("Standard");') - lic_counter += 1 - if lic_counter > 10: - if dym_sta_lic_available is False: - print(f'There are currently no available Dymola licenses available. Please try again later.') - self.dymola.close() - exit(1) - print(f'2: Using Dymola port {str(self.dymola._portnumber)} \n {self.green} Dymola License is available {self.CEND}') - - def _checkstyle(self): - library_check = self.dymola.openModel(self.library) # Load AixLib - if library_check == True: - print(f'Found {self.library} library and start style check') - elif library_check == False: - print(f'Path of library {self.library} is wrong. Please Check Path.') - exit(1) - if platform.system() == "Windows": # Load ModelManagement - self.dymola.ExecuteCommand( - 'cd("C:\Program Files\Dymola ' + self.dymolaversion + '\Modelica\Library\ModelManagement 1.1.8\package.moe");') - else: - self.dymola.ExecuteCommand( - 'cd("/opt/dymola-' + self.dymolaversion + '-x86_64/Modelica/Library/ModelManagement 1.1.8/package.moe");') - print("Start Style Check") # Start CheckLibrary in ModelManagement - if self.changed_models is False: - print(f'Check package or model: {self.package}') - self.dymola.ExecuteCommand('ModelManagement.Check.checkLibrary(false, false, false, true, "' + self.package +'", translationStructure=false);') - logfile = self.library.replace("package.mo", self.package +"_StyleCheckLog.html") - model_list = [] - else: - changed_model_list = [] - model_list = StyleCheck._sort_mo_models(self) - if len(model_list) > 100: - print("Over 100 changed models. Check all models in AixLib Library") - print(f'Check AixLib Library: {self.package}') - self.dymola.ExecuteCommand('ModelManagement.Check.checkLibrary(false, false, false, true, "' + self.package + '", translationStructure=false);') - logfile = self.library.replace("package.mo", self.package + "_StyleCheckLog.html") - self.changed_models = False - else: - for model in model_list: - print(f'Check package or model {model}') - path = self.library.replace("package.mo", "") - self.dymola.ExecuteCommand('ModelManagement.Check.checkLibrary(false, false, false, true, "' + model + '", translationStructure=false);') - inputfile = path + model + "_StyleCheckLog.html" - log = codecs.open(inputfile, "r", encoding='utf8') - for line in log: - changed_model_list.append(line) - log.close() - os.remove(inputfile) - all_logs = codecs.open(path + "ChangedModels_StyleCheckLog.html", "w", encoding='utf8') - for model in changed_model_list: - all_logs.write(model) - all_logs.close() - logfile = path + "ChangedModels_StyleCheckLog.html" - self.dymola.close() - return logfile, model_list - - def _sort_mo_models(self): - changed_file= codecs.open(self.exit_file, "r", encoding='utf8') - model_list = [] - lines = changed_file.readlines() - for line in lines: - if line.rfind(".mo") > -1: - model = line[line.rfind(self.package):line.rfind(".mo")].replace(os.sep, ".") - model = model.lstrip() - model_list.append(model) - continue - changed_file.close() - if len(model_list) == 0: - print("No Models to check") - exit(0) - return model_list - - def _StyleCheckLog_Check(self): - StyleCheck._dym_check_lic(self) - result = StyleCheck._checkstyle(self) - inputfile = result[0] - model_list = result[1] - outputfile = inputfile.replace("_StyleCheckLog.html", "_StyleErrorLog.html") - log_file = codecs.open(inputfile, "r", encoding='utf8') - error_log = codecs.open(outputfile, "w", encoding='utf8') - ErrorCount = 0 - for line in log_file: - line = line.strip() - if line.find("Check ok") > -1: - continue - if line.find("Library style check log") > -1: - continue - if self.changed_models is False: - if line.find(f'HTML style check log for {self.package}') > -1: - continue - if self.changed_models is True: - correct = 0 - for model in model_list: - if line.find(f'HTML style check log for {model}') > -1: - correct = correct + 1 - break - if correct > 0 : - continue - if len(line) == 0: - continue - else: - print(f'{self.CRED}Error in model:\n{self.CEND}{line.lstrip()}') - ErrorCount = ErrorCount + 1 - error_log.write(line) - log_file.close() - error_log.close() - if self.changed_models is False: - if ErrorCount == 0: - print(f'{self.green}Style check of model or package {self.package} was successful{self.CEND}') - exit(0) - elif ErrorCount > 0 : - print(f'{self.CRED}Test failed. Look in {self.package}_StyleErrorLog.html{self.CEND}') - exit(1) - else: - if ErrorCount == 0: - for model in model_list: - print(f'{green}\n Style check of model or package {model} was successful.{self.CEND}') - continue - exit(0) - elif ErrorCount > 0 : - print(f'{self.CRED}\nTest failed. Look in {outputfile.lstrip()}{self.CEND}') - exit(1) - -def _setEnvironmentVariables(var,value): # Add to the environemtn variable 'var' the value 'value' - if var in os.environ: - if platform.system() == "Windows": - os.environ[var] = value + ";" + os.environ[var] - else: - os.environ[var] = value + ":" + os.environ[var] - else: - os.environ[var] = value - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description = "Check the Style of Packages") # Configure the argument parser - check_test_group = parser.add_argument_group("arguments to run check tests") - check_test_group.add_argument('-s',"--single-package",metavar="AixLib.Package", help="Test only the Modelica package AixLib.Package") - check_test_group.add_argument("-p","--path", default=".", help = "Path where top-level package.mo of the library is located") - check_test_group.add_argument("-DS", "--dymolaversion",default="2020", help="Version of Dymola(Give the number e.g. 2020") - check_test_group.add_argument("-CM", "--changed_models",default=False, action="store_true") - args = parser.parse_args() # Parse the arguments - from StyleChecking import StyleCheck - CheckStyleTest = StyleCheck(package=args.single_package, - library=args.path, - dymolaversion=args.dymolaversion, - changed_models=args.changed_models) - if platform.system() == "Windows": # Set path for python-dymola-interface: Operating System windows and linux - _setEnvironmentVariables("PATH", os.path.join(os.path.abspath('.'), "Resources", "Library", "win32")) - sys.path.insert(0, os.path.join('C:\\', - 'Program Files', - 'Dymola '+ args.dymolaversion, - 'Modelica', - 'Library', - 'python_interface', - 'dymola.egg')) - print("operating system Windows") - else: - print("operating system Linux") - _setEnvironmentVariables("LD_LIBRARY_PATH", os.path.join(os.path.abspath('.'), "Resources", "Library", "linux32") + ":" + - os.path.join(os.path.abspath('.'),"Resources","Library","linux64")) - sys.path.insert(0, os.path.join('opt', - 'dymola-'+args.dymolaversion+'-x86_64', - 'Modelica', - 'Library', - 'python_interface', - 'dymola.egg')) - - CheckStyleTest._StyleCheckLog_Check() diff --git a/bin/CITests/03_SyntaxTests/__init__.py b/bin/CITests/03_SyntaxTests/__init__.py deleted file mode 100644 index 73156313..00000000 --- a/bin/CITests/03_SyntaxTests/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -""" -SyntaxTests -======== -This module provides examples that illustrate the -use of the python post-processing. -""" \ No newline at end of file diff --git a/bin/CITests/03_SyntaxTests/html_tidy_errors.py b/bin/CITests/03_SyntaxTests/html_tidy_errors.py deleted file mode 100644 index d6b3a339..00000000 --- a/bin/CITests/03_SyntaxTests/html_tidy_errors.py +++ /dev/null @@ -1,628 +0,0 @@ -import os -import io -import argparse -import shutil -from git import Repo -import sys -# ! /usr/bin/env python3.6 -# -*- coding: utf-8 -*- -"""View errors in the HTML code of a Modelica .mo file - -The script will -* collect all the HTML code (...) in the Modelica file and -* print out the original code with line numbers as well as -* the tidy version of the code (with line numbers). -* tidylib will look for errors and present the respective line numbers. - -You can then inspect the code and make corrections to your Modelica -file by hand. You might want to use the tidy version as produced by -tidylib. - -Example -------- -You can use this script on the command line and point it -to your Modelica file:: - -$ python html_tidy_errors.py [file [...]] - -Note: ------ -* This script uses Python 3.6 for printing syntax and -function parameter annotations. -* The script assumes that you have installed pytidylib - -`$ pip install pytidylib` - -* You also need to install the necessary dll's and -your python interpreter must be able to find the files. -In case of trouble just put the dll in your working dir. - -[https://binaries.html-tidy.org/](https://binaries.html-tidy.org/) -""" - - -class HTML_Tidy(object): - """Class to Check Packages and run CheckModel Tests""" - - def __init__(self, package, correct_overwrite, correct_backup, log, font, align, correct_view, - library, wh_library): - self.package = package - self.correct_overwrite = correct_overwrite - self.correct_backup = correct_backup - self.log = log - self.font = font - self.align = align - self.correct_view = correct_view - self.library = library - self.wh_library = wh_library - sys.path.append('bin/CITests') - from _config import exit_file, html_wh_file - self.exit_file = exit_file - self.html_wh_file = html_wh_file - self.CRED = '\033[91m' - self.CEND = '\033[0m' - self.green = "\033[0;32m" - - def run_files(self): # Make sure that the parameter rootDir points to a Modelica package. - rootDir = self.package.replace(".", os.sep) - topPackage = os.path.join(rootDir, "package.mo") - errMsg = list() - if not os.path.isfile(topPackage): - raise ValueError("Argument rootDir=%s is not a Modelica package. Expected file '%s'." % ( - rootDir, topPackage)) - file_counter = 0 - model_list = HTML_Tidy._ListAixLibModel(self) - for model in model_list: - model = model.replace(".", os.sep) - model = model.replace(os.sep + "mo", ".mo") - results = HTML_Tidy._CheckFile(self, model) - document_corr = results[0] - err = results[1] - if err is not "": # write error to error message - errMsg.append("[-- %s ]\n%s" % (model, err)) - if self.correct_backup: - HTML_Tidy._backup_old_files( - self, model, document_corr, file_counter) - if self.correct_overwrite: - HTML_Tidy._correct_overwrite(self, model, document_corr) - continue - if self.correct_view: - htmlList = HTML_Tidy.getInfoRevisionsHTML(self, model) - htmlStr = HTML_Tidy.join_body( - self, htmlList=htmlList, substitutions_dict={'\\"': '"'}) - document_corr, errors = HTML_Tidy._htmlCorrection(self, htmlStr) - docCorrStr = HTML_Tidy.number_print_List(self, document_corr.split('\n'), sep='\n') - if len(errors) > 0 and errors.find("Warning: The summary attribute on the element is obsolete in HTML5") == -1: - print('\n' + "----" + model + "----") - print("\n-------- HTML Code --------") - print(f"\n{HTML_Tidy.number_print_List(self, htmlList)}") - print(self.green + "\n-------- Corrected Code --------" + self.CEND) - print(f"\n{docCorrStr}") - print(self.CRED + "\n-------- Errors --------" + self.CEND) - print(f"\n{errors}") - continue - else: - continue - - if self.log: - file = HTML_Tidy._return_logfile(self, errMsg) - print("##########################################################") - print(f'Logfile is saved in {rootDir}{os.sep}HTML-logfile.txt') - var = HTML_Tidy.read_logFile(self, file) - return var - - def number_print_List(self, htmlList: list, sep: str = '') -> None: - """Print a list of strings with line numbers - Should be extended by a feature to highlight a given set of line - numbers. This can help the reader to quickly identify the lines - with errors. - - Parameters - ---------- - htmlList : list of str - The html code - each line a list entry. - sep : str - String that seperates the line number from the line text. - """ - return sep.join(['{0:>5d} {1}'.format(i, line) for i, line in enumerate(htmlList)]) - - def join_body(self, htmlList: list, substitutions_dict: dict = {'\\"': '"'}) -> str: - """Joins a list of strings into a single string and makes replacements - Parameters - ---------- - htmlList : list of str - The html code - each line a list entry. - substitutions_dict : dict - A dictionary with key:value pairs for old and new text. - The html code is escaped in Modelica. To feed it to tidylib - we need to remove the escape characters. - Returns - ------- - str - The html code as one string, cleared from escape characters. - """ - body = ''.join(htmlList) # just glue it together again - body = HTML_Tidy.make_string_replacements( - self, theString=body, substitutions_dict={'\\"': '"'}) - return body - - def make_string_replacements(self, theString: str, - substitutions_dict: dict = {'\\"': '"'}) -> str: - """Takes a string and replaces according to a given dictionary - Parameters - ---------- - theString : str - The string that contains replaceble text. - substitutions_dict : dict - A dictionary with key:value pairs for old and new text. - Returns - ------- - str - The modified string. """ - for k, v in substitutions_dict.items(): - theString = theString.replace(k, v) - return theString - - def getInfoRevisionsHTML(self, moFile): - """Returns a list that contains the html code - This function returns a list that contain the html code of the - info and revision sections. Each element of the list - is a string. - Parameters - ---------- - moFile : str - The name of a Modelica source file. - Returns - ------- - The list of strings of the info and revisions section. """ - - with open(moFile, mode="r", encoding="utf-8-sig") as f: - lines = f.readlines() - nLin = len(lines) - isTagClosed = True - entries = list() - for i in range(nLin): - if isTagClosed: # search for opening tag - idxO = lines[i].find("") - if idxO > -1: # search for closing tag on same line as opening tag - idxC = lines[i].find("") - if idxC > -1: - entries.append(lines[i][idxO + 6:idxC] + '\n') - isTagClosed = True - else: - entries.append(lines[i][idxO + 6:]) - isTagClosed = False - else: # search for closing tag - idxC = lines[i].find("") - if idxC == -1: # closing tag not found, copy full line - entries.append(lines[i]) - else: # search for opening tag on same line as closing tag - entries.append(lines[i][0:idxC] + '\n') # found closing tag, copy beginning of line only - isTagClosed = True - idxO = lines[i].find("") - if idxO > -1: - entries.append(lines[i][idxO + 6:]) - isTagClosed = False - return entries - - def _correct_overwrite(self, moFulNam, - document_corr): # This function overwrites the old modelica files with the corrected files - os.remove(moFulNam) - newfile = open(moFulNam, "w+b") - newfile.write(document_corr.encode("utf-8")) - - def _backup_old_files(self, moFulNam, document_corr, - file_counter): # This function backups the root folder and creates the corrected files - rootDir = self.package.replace(".", os.sep) - if os.path.exists(rootDir + "_backup") is False and file_counter == 1: - shutil.copytree(rootDir, rootDir + "_backup") - print("you can find your backup under " + rootDir + "_backup") - os.remove(moFulNam) - newfile = open(moFulNam, "w+b") - newfile.write(document_corr.encode("utf-8")) - - def _return_logfile(self, err_message): # This function creates the logfile - file = f'{self.package.replace(".", os.sep)}{os.sep}HTML-logfile.txt' - log_file = open(f'{file}', "w") - if len(err_message) >= 0: - for error in err_message: - log_file.write(error + '\n') - log_file.close() - return file - - def read_logFile(self, file): # read logfile for possible errors - log_file = open(file, "r") - lines = log_file.readlines() - err_list = [] - for line in lines: - line = line.replace("\n", "") - if line.find("Warning: The summary attribute on the
element is obsolete in HTML5") > -1: - err_list.append(line) - continue - if self.font is True: - if line.find("Warning: element removed from HTML5") > -1: - err_list.append(line) - continue - if self.align is True: - if line.find('Warning:

attribute "align" not allowed for HTML5') > -1: - err_list.append(line) - continue - if line.find("--") > -1 and line.find(".mo") > -1: - continue - if line.find('Warning: lacks "alt" attribute') > -1: - continue - elif line.find("Warning") > -1: - err_list.append(line) - log_file.close() - exit_file = open(self.exit_file, "w") - if len(err_list) > 0: - print("Syntax Error: Check HTML-logfile") - exit_file.write("#!/bin/bash" + "\n" + "\n" + "exit 1") - exit_file.close() - var = 1 - else: - print("HTML Check was successful!") - exit_file.write("#!/bin/bash" + "\n" + "\n" + "exit 0") - exit_file.close() - var = 0 - return var - - def _CheckFile(self, moFile): - """ - This function returns a list that contain the html code of the - info and revision sections. Each element of the list - is a string. - - :param moFile: The name of a Modelica source file. - :return: list The list of strings of the info and revisions - section. - """ - - with io.open(moFile, mode="r", encoding="utf-8-sig") as f: - lines = f.readlines() - nLin = len(lines) - isTagClosed = True - code = list() - htmlCode = list() - errors = list() - for i in range(nLin): - if isTagClosed: # search for opening tag - idxO = lines[i].find("") - if idxO > -1: # if found opening tag insert everything up to opening tag into the code list - code.append(lines[i][:idxO + 6]) # search for closing tag on same line as opening tag - idxC1 = lines[i].find("") - idxC2 = lines[i].find( - "<\html>") # check for both, correct and incorrect html tags, because dymola except also <\html> - if idxC1 > -1: - idxC = idxC1 - elif idxC2 > -1: - idxC = idxC2 - else: - idxC = -1 - if idxC > -1: - htmlCode.append(lines[i][idxO + 6:idxC] + '\n') - code.append(HTML_Tidy._htmlCorrection(self, htmlCode)[0]) - errors.append(HTML_Tidy._htmlCorrection(self, htmlCode)[1]) - code.append(lines[i][idxC:]) - isTagClosed = True - else: - htmlCode.append(lines[i][idxO + 6:]) - isTagClosed = False - else: - code.append(lines[i]) - isTagClosed = True - else: # check for both, correct and incorrect html tags, because dymola except also <\html> - idxC1 = lines[i].find("") - idxC2 = lines[i].find("<\html>") - if idxC1 > -1: - idxC = idxC1 - elif idxC2 > -1: - idxC = idxC2 - else: - idxC = -1 - if idxC > -1: - htmlCode.append(lines[i][idxO + 6:idxC]) - code.append(HTML_Tidy._htmlCorrection(self, htmlCode)[0]) - errors.append(HTML_Tidy._htmlCorrection(self, htmlCode)[1]) - code.append(lines[i][idxC:]) - htmlCode = list() - idxO = lines[i].find("") - if idxO > -1: - isTagClosed = False - else: - isTagClosed = True - else: - htmlCode.append(lines[i]) - isTagClosed = False - document_corr = "" - if len(code) > 0: - for lines in code: - document_corr += lines - errors_string = "" - if len(errors) > 0: - for lines in errors: - errors_string += lines - document_corr_img = "" - CloseFound = True - for line in document_corr.splitlines(): - line, CloseFound = HTML_Tidy.correct_table_summary(self, line, CloseFound) - if self.font == True: - line, CloseFound = HTML_Tidy.correct_font( - self, line, CloseFound) - if self.align == True: - line, CloseFound = HTML_Tidy.correct_p_align( - self, line, CloseFound) - document_corr_img += line + '\n' - return document_corr_img, errors_string - - def _htmlCorrection(self, htmlCode): - substitutions_dict: dict = {'"': '\\"', '
': '
', '
': '
'} - htmlList = htmlCode - htmlStr = HTML_Tidy.join_body(self, htmlList=htmlList, substitutions_dict={'\\"': '"'}) - from tidylib import tidy_document - htmlCorrect, errors = tidy_document(f"{htmlStr}", - options={'doctype': 'html5', - 'show-body-only': 1, - 'numeric-entities': 1, - 'output-html': 1, - 'wrap': 72, - 'alt-text': '', }) - document_corr = HTML_Tidy.make_string_replacements( - self, theString=htmlCorrect, substitutions_dict=substitutions_dict) - return document_corr, errors - - - - def correct_table_summary(self, line, CloseFound): # delete Summary in table and add

- if CloseFound == True: - tableTag = line.encode("utf-8").find(b"') - if tableTag > -1 and sumTag > -1: - line = line[:sumTag] + "> " + \ - line[sumTag:].replace('summary=', '', 1)) - return line, CloseFound - - def correct_th_align(self, line, CloseFound): # Correct algin with th and replace style="text-align" - if CloseFound == True: - alignTag = line.encode("utf-8").find(b"align") - thTag = line.encode("utf-8").find(b"th") - CloseTagIntex = line.encode("utf-8").rfind(b'">') - if alignTag > -1 and thTag > -1: - line = (line.replace('\\', '')) - return line, CloseFound - - def correct_p_align(self, line, CloseFound): # Correct align in p and replace style="text-align" - # Wrong:

- # Correct:

- # Correct:

k = cp/cv

- # Correct:

- if CloseFound == True: - pTag = line.encode("utf-8").find(b"") - styleTag = line.encode("utf-8").find(b"text-align:") - style = line.encode("utf-8").find(b"style") - rstyle = style = line.encode("utf-8").find(b"style") - StyleCount = line.count("style=") - if styleTag > -1: - return line, CloseFound - elif pTag > -1 and alignTag > -1: - sline = (line[alignTag:closetag + 1].replace('\\', '')) - sline = (sline.replace('align="', 'style=text-align:')) - sline = (sline.replace('style=', 'style="')) - sline = (sline.replace(';', '')) - CloseTag_2 = sline.encode("utf-8").rfind(b">") - if CloseTag_2 > -1: - sline = (sline.replace('">', ';">')) - sline = sline.replace('""', '"') - line = (line[:alignTag] + sline + line[closetag + 1:]) - StyleCount = line.count("style=") - if StyleCount > 1: - line = line.replace('style="', '') - line = line.replace('"', '') - line = line.replace(';>', ';">') - pTag = line.encode("utf-8").find(b"") - line = (line[:pTag + 3] + tline + line[closetag + 1:]) - return line, CloseFound - - def correct_font(self, line, CloseFound): # Replace font to style für html5 - if CloseFound == True: - styleTag_1 = line.encode("utf-8").find(b"style=") - styleTag_2 = line.encode("utf-8").find(b"color") - fontTag = line.encode("utf-8").find(b"") - firstCloseTage = line.encode("utf-8").find(b">") - etag = line.encode("utf-8").find(b"=") - if styleTag_1 > -1 and styleTag_2 > -1: - if fontTag > -1 and rfontTag > -1: - sline = (line[fontTag:rfontTag].replace('\\', '')) - sline = sline.replace('"', '') - sline = sline.replace('', '">') - line = line[:fontTag] + sline + \ - line[rfontTag:].replace('', '') - elif fontTag > -1 and rfontTag > -1: - sline = (line[fontTag:rfontTag].replace('\\', '')) - sline = sline.replace('"', '') - sline = sline.replace('')) - line = line[:fontTag] + sline + \ - line[rfontTag:].replace('', '') - return line, CloseFound - - def correct_img_atr(self, line, CloseFound): # Correct img and check for missing alt attributed - if CloseFound == True: - imgTag = line.encode("utf-8").find(b"img") - if imgTag > -1: - imgCloseTagIndex = line.find(">", imgTag) - imgAltIndex = line.find("alt", imgTag) - if imgCloseTagIndex > -1 and imgAltIndex == -1: # if close tag exists but no alt attribute, insert alt attribute and change > to /> - line = line[:imgTag] + \ - line[imgTag:].replace(">", ' alt="" />', 1) - CloseFound = True - elif imgCloseTagIndex > -1 and imgAltIndex > -1: # if close tag exists and alt attribute exists, only change > to /> - line = line[:imgTag] + line[imgTag:].replace(">", ' />', 1) - CloseFound = True - - elif imgCloseTagIndex == -1: # if close tag is not in the same line - line = line - CloseFound = False - else: # if no close tag was found in previous line, but opening tag found search for close on this line with same - imgCloseTagIndex = line.find(">") - imgAltIndex = line.find("alt") - if imgCloseTagIndex > -1 and imgAltIndex == -1: - line = line[:imgCloseTagIndex] + \ - line[imgCloseTagIndex:].replace(">", ' alt="" />', 1) - CloseFound = True - elif imgCloseTagIndex > -1 and imgAltIndex > -1: - line = line[:imgCloseTagIndex] + \ - line[imgCloseTagIndex:].replace(">", ' />', 1) - CloseFound = True - elif imgCloseTagIndex == -1: - CloseFound = False - line = line - return line, CloseFound - - def delete_html_revision(self, line, CloseFound): # Delete revsion - if CloseFound == True: - htmlTag = line.encode("utf-8").find(b"") - htmlCloseTag = line.encode("utf-8").find(b"") - RevTag = line.encode("utf-8").find(b"revision") - if htmlTag > -1 and RevTag > -1: - if htmlCloseTag > -1: - line = "" - return line, CloseFound - - def _list_all_model(self): # List library and whitelist models - rootdir = self.package.replace(".", os.sep) - library_list = [] - file = open(self.html_wh_file, "r") - lines = file.readlines() - wh_library_list = [] - for line in lines: - if line.find(".mo") > -1: - line = line.replace(self.wh_library, self.library) - line = line.replace("\n", "") - wh_library_list.append(line) - file.close() - for subdir, dirs, files in os.walk(rootdir): # Return library models - for file in files: - filepath = subdir + os.sep + file - if filepath.endswith(".mo"): - model = filepath.replace(os.sep, ".") - model = model[model.rfind(self.library):] - library_list.append(model) - return library_list, wh_library_list - - def _ListAixLibModel(self): # Remove whitelist models and list all library model - library_list, wh_library_list = HTML_Tidy._list_all_model(self) - model_whitelist = [] - for element in library_list: - for subelement in wh_library_list: - if element == subelement: - model_whitelist.append(element) - for model in model_whitelist: - library_list.remove(model) - return library_list - - -class HTML_whitelist(object): - - def __init__(self, wh_library, git_url): - self.wh_library = wh_library - self.git_url = git_url - sys.path.append('bin/CITests') - from _config import html_wh_file - self.html_wh_file = html_wh_file - - def create_whitelist(self): # Create a new whiteList - Repo.clone_from(self.git_url, self.wh_library) - model_list = [] - for subdir, dirs, files in os.walk(self.wh_library): - for file in files: - filepath = subdir + os.sep + file - if filepath.endswith(".mo"): - model = filepath.replace(os.sep, ".") - model = model[model.rfind(self.wh_library):model.rfind(".mo")] - model_list.append(model) - file = open(self.html_wh_file, "w") - for model in model_list: - file.write("\n" + model + ".mo" + "\n") - file.close() - - -if __name__ == '__main__': - parser = argparse.ArgumentParser( - description='Run HTML correction on files, print found errors or backup old files') # Configure the argument parser - parser.add_argument("--correct-overwrite", action="store_true", default=False, - help="correct html code in modelica files and overwrite old files") - parser.add_argument("--correct-backup", action="store_true", default=False, - help="correct html code in modelica " "files and backup old files") - parser.add_argument("--log", action="store_true", - default=False, help="print logfile of errors found") - parser.add_argument('-s', "--single-package", metavar="AixLib.Package", - help="Test only the Modelica package AixLib.Package") - parser.add_argument("-p", "--path", default=".", - help="Path where top-level package.mo of the library is located") - parser.add_argument("--font", action="store_true", default=False, - help="correct html code: Remove font to span") - parser.add_argument("--align", action="store_true", default=False, - help="correct html code: Remove align to style=text-algin:") - parser.add_argument("--WhiteList", action="store_true", default=False, - help="Create a new WhiteList Library IBPSA") - parser.add_argument("--correct-view", action="store_true", default=False, - help="Print the Correct HTML Code") - parser.add_argument("-L", "--library", default="AixLib", help="Library to test") - parser.add_argument("--wh_library", default="IBPSA", help="Library on whitelist") - parser.add_argument("--git-url", default="https://github.com/ibpsa/modelica-ibpsa.git", help="url repository") - - args = parser.parse_args() - from html_tidy_errors import HTML_Tidy - - HTML_Check = HTML_Tidy(package=args.single_package, - correct_overwrite=args.correct_overwrite, - correct_backup=args.correct_backup, - log=args.log, - font=args.font, - align=args.align, - correct_view=args.correct_view, - library=args.library, - wh_library=args.wh_library) - if args.correct_backup is True: - print("Create a Backup") - HTML_Check.run_files() - var = HTML_Check.run_files() - print(var) - elif args.correct_overwrite is True: - print("Overwrite the Library") - var = HTML_Check.run_files() - HTML = HTML_Tidy(package=args.single_package, - correct_overwrite=args.correct_overwrite, - correct_backup=args.correct_backup, - log=False, - font=args.font, - align=args.align, - correct_view=args.correct_view, - library=args.library, - wh_library=args.wh_library) - HTML.run_files() - elif args.correct_view is True: - print("Print the Correct HTML Code") - HTML_Check.run_files() - elif args.WhiteList is True: - from html_tidy_errors import HTML_whitelist - - whitelist = HTML_whitelist(wh_library=args.wh_library, git_url=args.git_url) - print(f'Create a whitelist of {args.wh_library} Library') - whitelist.create_whitelist() - elif args.correct_overwrite is False and args.correct_backup is False and args.log is False and args.correct_view is False: - print("please use -h or --help for help") diff --git a/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/bin/tidy.dll b/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/bin/tidy.dll deleted file mode 100644 index a11a98cb79d310917e0ea60e90f04fe2dce43e02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 793600 zcmeFad3;pW`3F290m6EN5Q(5LO4L{sQ{yrrs53AFH!^`JA}Girib0ej+>3Ex^UfgC z+i9t_)mnd5tF^XOYptarT1`L`0lWNu@8|vN9o(+fM5O#%HMzeXCI3D4sGn~d%VZ?V;l0K+mF4l zZr)=5!bLy0a?$K-{Bve6SnvbGf7uoOMdkwkyaoR7#7X{ZesK8}Bl`5|S?V_Z?Db;` zZZ0`xiuZr-f{!>YqGiBYuAwzh%lD^1F75CBKi# z?*;Sb)UnOZGpLRDe3!54<{MUb%q3pgKHqWvUR`?ne2ravz8O6v`-Kg7E|SL;dHmrs zvbypQ{&~N?+TH@ZlA=CF6rqTB`x;$JEq5WK3xs{r~?R1_F9wdTEiKFiK0N z=+?(U-R}C>#Yx647y8TMj-fX{|ye=;iYce9$>1OL-zHzp_CBDlT zlHP3eNpCifNuHk{TG4)LsvrNFeTh%LRCgpsYT=h6XbA6`&+x^9_%3s?Zf|wYy{wBb zxca72e>gccT|H-mHq@uB?On3sz^TS5D-KLI%2pg0Vf4|{n?mWWdc0}*JEMj2|PSd{O&K`1q#C9yl`?#o(qd}I>2H`M_6bI z7KMaGNDJ@sfU&^?#u5VKwAn5&(wp=-o3x=ZSuJhtfTLC%Jk>aP#lh*ui7O6{Fna6h z&8QOJy!_qNk@}pSoxqWrDd2c*J;4#o!sBy*DHk5y1Rg#0WS_TD)h<|MV18%wS>3Img^n1vIOJ{uPKtGHA z{Qns|(wNHs86J(73Oqh<>PSBu&~`37jyMD!d4D_%Jc5(JM*QFy>nP0TuF>Orj3L_E ze9+54?Ws-9$zAe%dU}JsDc)qh3!3v!+h8}VUqLhX{rG0%9NoUSypgT2jbl|CgV=_X zr`p)bHj<y&9ytv|7=W(`puj-S(5k!?FGtX1e%$f5!t_8muRa`%324baAnp z*-bT)({8q@-0|A4IEw&BtG(-@X=t?n7J4lG}+h0;x-baQojJ!>y|CG>3U zC{{KIit+(TsI) z`BGiC$JIsbW^|+5dR<6cTTr+w3@dQDsf8N;06~P#%i2PPve3pfE6|MvKwni*<`#^$0#O!# z&Q*ct7Mx@SX0QN^Q5Ed(u9_;c0%w@LLJg24KId&_q9e>A`%l(aPh9N^Sv>)1XII+u z3hiqPqV{^b)ozK{MIn1?VZ@$VFt2GiFnHeP@n|o9lf5xwZ;*%=zn-z1ghZ(hXQubk$C-R$)!$ln>R+G4K{ zX%m}6TJ*W$>(72109zKRO4(aO_6BX@b}jn)@U5Y$&$Z~Y!#9Ph4uE(!@2 zs4`_r)fW!Qc{Z0`-*-vCCl@P8q3BWGRjhIK+9*6H>oWga`wVkKM(drTo# zT8pJI7%R|Ii}%8VZjUdAbkt&PNI0)u+{JhHFEG``)huxS`E@!CY8)lClEtS$l}#6) z2ql;--~_31(m$ojQIdFVza)A~&-O=cx4Atyme=r-V?qtTkkP!X+pT{`xzBm2D@5vx zZC84ge}PsoFLO|+;b)nuw&Oga>YeM=n}N}}^?sgPZ*Dj8Svo&#A56_9EzY(A6U||)ezdAS zUVwY)z@6y9!~$$}K0c66OM@sFocKkw0!n3n*6M2oMu)ZV zXQ{4ItlNXZYqYrY4H?fkFrFr33fLA{!DeHERhegE{cC}k?PRlOM=P%im}gnKmoGZ-OjuzBKe?477vl!tjqSoKD(OGDFV&bah&{Ld&Y$|e6j9{F$R zMD27xfPt5Vo&aJK+l&(dQBXOI46CxIS*TY|EstoC4Z1B9`%VN1sd&GA0mRTQqfW29 zBw+U9(%#cfT-c4}!n$MaQF?@01u0(X7DIMbP=KAJRE*=OV#E)i_wlf?khEMjQu3to`}5a66Xk2X`)+6 z2fUnRnTp0)qOh$YAj%XVjwK*&g07I&*E-D*s{%0Gl?B5azV84-Mj*QK&;yEY-+KlTUrX_KDuamQ+5P z(e0UKf)n>4hxQSMCr=F-As606lS`Zkm=%7 zc7eJlT7jF)lSL{R4tKtfzVU)U)p`7L zHf0Q#b_c4GA)$tE*>1N`!#DVqMs)i{>YG=53zNVV0sR0;v<%Grr(mX32&01aG{KfH zbZVAbPjhzpO9zJ^y{MSz%3>p|l9fX7Dx!+_BR4P@G zioMaq{iQ2p%s{A5Bli1|q?sqU^Alnd&^7F?bvLF-Q{PB+R{;ZS0aA_9;vY)xR_Bb* zIAAUIvZQYWTioHCU)#kOUVU|`pAL?lF1^F18A*T7$@KS}NPiFf8(Zk#*mXGn#>-Bx ziDWTAwwnbeWIzvQVRGp|0TcR%oOe;rYVWpqs!G0qB=AYl%^CQQblPr5vP!onLvHUf zhKfP}jic4M3PXn`;GCwAxogD!fRy_l#H-!nf`0$k1bwSBL1F1^K*X5tahORf1Giz? zrsz0i4<%p^g^zN|5#Lb^Dn3{K~=z#v1aD_lw^UasYi5@;+`h{}>1lJNOuOnIW^Z=Q&Bvl2h_sW{)aFzV9{Q*TI`D+hnf3>iX0ilL%K;3HlrD}USDmWAN6Z>bDs}><= z>4$`z-Q?V#+hSF#2{1y=J|gWHXlHwecDhMB=aK=&gP@`sdqPQd^6zA(H5kCzA^Uti zRCRuIaYfW_nah8kKdsu1bl|Ur);G%+_erl$Z>)v`53ekG-QM_Y_-xECo;F~kzS(*1 z2R~MG-v@2rU2xR>G^BSp`53Czt}TJ>_8wW>*35vNsb6x|ggvwa5RNRs)!65tohDXV z7HQ$1aa9A?ttMI(RufBU|D)>JTvtpn1q|5Stf+k%q|AF->{~7ymb#X!JT;0x{zyey zif%?xwT(R_qHVnuSZpq?#z=t9X=5HtGRdDpbiRN(J7;q3E9=$)S`;#eSDm zbo(>t6cPI$(A~B8`-1tdrrsh6SE+ggiIss{@mGugMhdn%uRA1eLsSdb83Fto1)2K9 zA0YyWzl67_%_NQEQ1Ww@+~$@5Q#NBdy8RN7XauI?DIvq1N5|$U;1#N;lUeNiLX`{+ zHEhDmRKQy@ji_Nb?|zmQG?j#P<=hgwMxRE-w#oRTgic3!)5{&l5_oOAa#xAIk&+k4 zy8sxom#&v062l<>U_qj)2CN%tRc&OhJ0R2+hMy1ja4Bp3Yv6(e3jfLN*%%qIM`y zgYJ8Uh}T_p`?-{7jV^|Z0^NNHw^g|EcjU9?Sl#}=Hunp-Dy*l4(Po@A&t?aH<)?WW z@Vel;P`Aelh`#U1*g~svv6&xAKjZqU%n!sH1Q0xvZRr@aWIavs5_JYlT&?VdYhsiz*~(a6E(3h7^7nW(P6m(kF~KS7~v%pKH!Ro^6GW1n&1X zywdiUMAyDq6Rht$c4H1F;61#b9U_go4Bi#&@yK2*-PppGom-a$a(7(~zqV?9- z-IjJm=1o^t+hYqonr|||!s;PI(*_(m%fUX=2JlRzs&NKPF%u@&%<>Ry&`zTCk5C&j z4joa@yXp21%BdhxzL|}LUNB_GN{MdSso#oO(H}Uu+MWR_*keRJon%a9xp^)&dxVFd z=`rc!t-uu1Pow{&_k`BqotlI}ZBG|B+^e{hXk}DQ%`M`qJT27l0M=B*_crI&f8@af z`J@aZ-#ijJ*-|WeAvAfn!nLU2F8bA6bmMS~&h=LNU)H+m#6NMsyb!d##s;1Otw~g{spaC3>%4p)zt?&BdbZrc!78O0ucmJ?khGrW-!5jc zqO%ssL{~oNBbbl`mg~#Rs&?}9Z^k>v9i7N41HwTG?7>zbXdX!zje18G8-pS!)u3dF zU+6F{u3PzG23OO0a5?rDwNC1sR3Q}cGh7P{b}7&tmhg7xhbf{|2Mnj5-BsbT@KN@cx4#y( z;k6dOR1W*X-n(!A%F}^z3d@WmLJhB>C+7t8VLiZtr>n6t;BWBoJS8v{*OC|?%IRzc zbSln zg|{VLeBb{lrf^26VUMDx)Nz!-U>mK@OK&OL=GSj3v5j5kP{XTIt<{RHz_6;?xl~L?)Ry!Qs z7`9;y_0*XotxA)#z}_VaCFo#Q$9iI4)0Q}v_28cO>II}8F+p7H9XQ~>;eVGw2P|<~ z;6%q*CW~Tc?+~7-923sTZxH`>b2)OI5@)=L-a9!ZFsOHAP@;<8_n}$>h{#;teCT)% z3SGPMV>UuMoIqwcvi*}god0?Ku)}%ajejv52(ngZz~P7E`oFQIPfqMI8?ZBw$J_R| zowTL@;c}BH)5|O@WfgLw(Cc+qk8#DvDcnsdqxkq{j}Z9Lo>9V0*n58sw)?^;VGnSe z!KdU}i7scyj>=Z&8F>-K-?%p5eNpgCJ-#0tHBFRm6;K1Ew>g0i6sR#SvQ;8C_AM1d z#k6wbOR_$Fp>CL6${s+Zh=h>rVxx>LdH;Ph36$_6MV|Kxwz&m}6p7LtdI1H_-DhrC$B>nmy@D~>fpp_Qc5@&jvIB9c z;J+Ks`(Eqszo+K!jpqZeV4GV2z{q$Uui!6k0RSW8`Hw&mu}4Zux?4f;*Br&MY+`^x$t!~7V0zO)?OUC| zSzUb3hD-fE75Vw!MtmMP1Ei5Gz6$&KYOkXZ?ZH_Dq<! z0A^DMh%@w6>3=!+?}b)L*a_j;*Mldg$sGol3_fEwB!f5J5j45PL(2G6^+&M7Y4q@yT0I8^49B4Gos)mXdrCXD_e_@h8ar zIGg(vbHA3{e`IqXWG;+O$={pJU!(GCCI6Fbem(Ma`$Ag#$~`_L>u+^c0aNUVocKfW z2Xx%p5qu9L%)LY{Re42Ih><*>A*&Am{rF$&v6(h5RuNPh7>u$vU(Uw3+EZa80xgB% zOp>J&o~^~kB4HtfK7O|3x+1U~3FxPOPl}DV0_W02wAIObQP{#r%DxtKjf!Y>vvCrL z`^(!Q1IsIfu8#^eyz2pDJ1W+(qBG}B0!2y2aio#aZ1dq4q|Gx$o+gVQKr`58Lw&CU zXPRmhF7Nj;jV9~!oc_|@cIQTLLSWDLsnKNYy|KZm8JUM2Ry4`T4p!`H1s2gRnNZ^N-7b@X z?hKC{`jIFjryg?vU(W1j<|=MCy@*D#ircvi{lN;UA)JZW6!ZIyH?bq=O#c3=!$Htd z%Q>iiSh;t9j+Hy|bkSbSu3|#y_6&@f0Y^ijr(;hU+Us^_kwmUdQ@XtQA$c{CR`86K za*~Qw%U>1G>|yCES(frc4hk;la%VHV^n}9|R(;fGEY$6tTsZ4_PI@Z>6P!Dq;rMr; z3S*$xV!-L*0c+HVL&&)cIjN)YaElZj_=zey0XbJ72d}1!-*YoT?|%_I!ko4`t*;R& zF$hcqk=`zUgn#^MH;951Ty5`zC6Bloj+StNp(qBYG0F<$nP)ZfXb)R!>c?M*(01p= z=LD|@!lZ-03)F@C+rQ9HtiH!_%B5V>x_{H4e&HfIj z((SuY!wbq6pCFczhrL`UZFd=-LR#44Vr(sTfr*M7in;1#1(ulI(kpe8c`)w~U;f)ed&f!wOj-REN0vwp5|J~R zoT1k18SJsf?B0MlOJ7Q3$DrdSW~8A}W{faAkZzgh;~xqi|JmkI)(x|K21MVJs8elk zcD{H8D@IKfF$6WDBQL+~9K(`I9XooBVn{5BhZv)Y%Kk4c-2 z%)}s})?SonZB8dg?;O?Rx`Ss$lz;k#*|cl zWbj2dgKsuBzf+LEGclR{=Kn7`E%?85T7XWw{x3T1=62c-Gu?yxYSm&kp~vAQ36RPhlcbsB{aD z8Gz;F#G(-+f|JD**R$LTmN_*WybZL84lsqBG3}Pa}8; zI6mX>{_$;)@Euth*xrP4J$YfNpQH1K@u$rBtHk&t?vwenn#!FET7@yYQC{>D6um^Q zd}iASFdKRkg34OLVgP)A8c0(QP4DOtBXH#?r5`74AUH%Vd|pQEs)gLQvjRnCPbUab z&~`JlF`4uul0U*62{zzd@g)bN#V3DyzG@yl%PknBi?Wk<3JQnT$UujOAz%TY7r z?98??Is15Cwz(bI#}~F{y1srFnj7pjH%^*60TZ|vYF}Hvmw&3{pN9OSUP69~;3eYH z_@&2Sx%0LJ*vJ&dX1m{-eXPxPKN;PJ?Yp^!7J|WJ6ya|d14p;M#!;o8$kL4|B3d8e z`7?W1mE*OTfuc~uZvkW%gg<&7Ydgam43#=sZpBUk5ZJAfcoXBTQdNxkR^UPoJ>N*vM!*#x1R}0wa-k<@?C%;pV|eJOfB^-~C3NYU&rRC-{ zcbi*_&qGdQH6~0Zw6QyzY%)%O{^#s&QN%G0H9`$I!Q%mI<}Lv1`;z@6URzg7TgPc}h8B7ZAXmM+)^#jxr7lqJ{I(l`;1EO?xVovS zVvOkmMc`9kFTnVZaA@i2XQ6^-0*q_QoijEHlZV=;f@x&}MHrH+jG_;BR^w9{g zoQ$Bew!d+)2xCUB!25%cSf=ig)Bt0Gq+}mCa2EDCSr(Hr6LJS5zky->@PRZL3$4I0 zD(HVMd^9Q|e>$8p3bWzw7-RPF#sjKMu`#2Ht`9H!LipHHCo#Je+L&r#P)5ImA7=^A zh{!ZIgV#d&7L&}=ZqMKeo!s+_VkuC+q&}OYe_vb=cYMVzePy%IdV`LIbGk3YxuyeL zOS?7kYZf?<3oK#WwmPo}ACboqU$C22=S;*Lhi$1TjG`ME1$WP-)}~gGOjsNQ5u;7X zT)cyeBae4TD}1Dth=uYt5ZV?X48>K%-5(jh3T4g8C$0%LHURp~ps-}|m56v!ZUSf2 zFfpu(a4@GE>aclHw4?U;LWaIw!pH+ey^WKAnD5otK}3e(tVYO2I1UcQHyKAp>>i=2 zW@AXm4sR;d8R!7y+uPuKi=Ac~#MwkU+*FX0!^0ezVs924;%QN+)a?AE8XRolgFj^F zL2TljEIRC8wH_Orc6c*8gX@gF;e;vNHppx)a2=fO)scCQU{V{wWl&{`D!+ZbaYC8xO3qC=6Y8fo0 ze0yrCQ%@5RCzz0X_(r|S;@8Eu4*I?dC4Ez`Jm!(7yZ8(!H>dm-54yb(=dEopwpOR> zv0OGdY|9$Bd!TKOz#3KdFZ$o$_V4@d{@tKDI#%H` z(36cmKMsOChLwp_yr=Fv7|4}4){DQ??PM*swW01}RC(!IK<9aytRF@bC(s~37N;Fz>%*yS8*pdwvu@3eOy z>a;}dch28D6c&=6UZ1~7TiXRUV*CS6`hg8!z1{p#_j$WGk>Oja?Yp*dUKl4dR9t9* z3E^nM1p?RMLj|sg`k7Y9iM)xsFK)SwuwQ|fG0{oL=0P{CL3)VPEyE2Me)Ijzvdfl! zr(x@Me(Eh3SdDNPprO2UQ4~9wi4wM{t?da3(tpkTG{(P~<3Au--uU6K+K`>X!D{^6JQgGyW}~wg81wnXQSSOfo?VmD*G9Tp!22LJ||`3Of-jI1V&P(Cx3bmZggoQ zy?}rPCv*AN#bpfU0gw=xH(sc)H=Hca?~jpL16mSz@-ET;P)6cnINNjmQQ7zshWFRl z00*`;+t@*riy2h-g`Vsxj=XoZ{em+}bq2BXxy0_K&DY^7gUs!!C(cO~=!vDM{yf5w zoyR^PP|*wrqZ4n`)+2&Bay(F-=q(4|tL;y#ZAXyrfb(T9a{m`wg8t)Vt$w1Ae7AEl z2wzW(0W`4lsoQS;OU?k5U!E$|TgH^*9qbj|PUuE)ECe2?0pfkcK*4dw6gu(VY`-Hx zQl-#?yDF(~TB1yNSyL5?Z~VrEdiG zkb_simTwcsKhM2gj$JKnt%-4L494~w*9TX8I~{%pf-7|yJX;@x5Sdf_M!g{F@i;xv zvtm!W#Y%V6?%DthJU6~~d0{-gyr5!FszMq~os8tM@x9Bsp{Y}hf%5(X^1j&GVd}N%0%R!GNI%S5S1O`3E3p5Uz%Gvv)LHv!==S)rZ5kJlB@LrMa!gyv^Uh5FCC05?Xmsy`I$X zchffnu6XWW4cY&MEOvIS^Z9U$p^ML)5V4;jwV$ZYTljO&Lqz5`DFL_vzD+4NKb9ed zzIqE9+VJ(yIr+G+qQ|@@4l6voDFrostJ4(_f~Qq3Lb+`_`4$o59Oyfhiwa5ppc%M{ zcA1|*>9@O3DFp-W4sMr-sp^VB2rIe(N`N9sVH(13u!%{u?!@u{koI2f>dR7%C}nahOXfeof2F>l!&u>HB3jSdVs=9z`J7T^WUMb zR-`*0RnqOYJKhLt*^n?E8Ep+06j6TFjaV7BDPmr z@MJlx^Bh=JV?(*HQw|gb)`;4_<>=*{&v4gS>!+?&OIsMa)^xB|*lV4gwE&rSACzdC zV5p9bBfaD}{YCxQDiXWx0VEE~4_*3itF|`@Gd$?b?@uJ0SPp!gC6B^mk{9N8;aIW! zyRo4z+m>Kp*uUK5%!5k`Mz=a6yVbdqNgDQBou9}fb~q1Jak7jmfm3rrpn@Wu@H0n$ zUGichzkur6vKZ*f|leOtFxZ|nks4DX;=6B7M$}|5vfMIZG%@&ybc`|NZP0V zi(tCQodmkQs4U`HsIm!j4Kx|z1PC8SEor`%=lv@e6lw7@QHG}yEq*d<+2?=-X)!;Z zbNI2fya@Y7jGNP~_XO7g`4go!f_br*02H ztblWx^zy80eLRjRYcEI@mYoXM{{-{pp>*)`Gda!ppOL|xp;|H+d!?nimy1n6N$C=J${HSTiFV<55e z*t$5Z#kiEzyD!yZH{;Q2pJ6Pu+GpZSXZtK;vDH4?SYWkZX3VqN=NOk;?Ux%ft@bO7 zORV;}#$>DgN~6|luQSG5?eh?u)_#?N7_#{Y>}bE*ILm6k#yHJtUtpYKwg12smesoyW6e!rOdy+Qrnq<+7I`u%mC^n0L>7Q2mL0BYy%i38`s>!#v=yV@ToY%ft7 z=_G2&zrp?_2(OQ}c1#|$WvIw)sgc-Mtg~)B+Gh+3tt$nN0PVn$i0l0u5u}C^vxmhf zHd!rj7H1ELl+33yiy=3LN5iu(U*%3?z^NIC;F_jHJ`cuP?V&~3(Yr)j1vvq@&SvTc zjdy(^RnAnUw(2YN1ye_h;qVb2hG{Xx?Bd~Akexh~YBB5)A?E}wwnZLJ)MDI}u-ePC zm~2Y4pQOe9Bst&1ri?rc*JA%84<`eB@^Fe4lVXJ|qcN6CS+YZY2xPQI#>j~rg2gq#AEQ-GW& zRZdrx(-k=kE=8SgDyJKA?oc`1RZe&0kXxZnp>I)l^j_#&Qjb&*mFnSJaurfNRjQ|N z$#kT8sZ=lDk_kxlR;k{;B|)V6s8k={lGBjtt5SV^OG=T_R7&$LITEQNl`8TrDfHO9 za5N<$G7?HcODCyA+j2-HP_eg$0aUn4@0-L!a+3v4F5+ng<{{KE3HU@x00AH<5s7dz z(hG9(_qZ7mS_TEfLK?#5&ct2-?b=@Uiy*4o)+3D1AD#0K^z)0sZ(aW)u4yrgL+Oo` zk8r009(bHSFMYQAsi~pK(3_(!y{=e$>N!2xCxW)q#kXS*k6aods4d#si6FBUX!K8p zv*Qc~h8rVu?L$3zn~a?5PZM}HC=_pRgigWv==r!b7{WdxN%@qeOy>1A`{L|lK_D?;Z zE`F;{hHds3y?Xj7zVyb_IV-;Qo5%8a)<_sK$>N!)8EWuz0Qo%6i2C_XYKWALK^go8 z8>HmdQWAn>!3fvR6aefo?a|MMPvID4VAb|TU>;OsYZ42}!?v0k4nD5NOJG1)7>PD8 zDy*jnbDwb>f@S?ab8u+gIap0Hp86UFyJ7q1d1wA#^L(j3p>-#sDD|!s0xH-Xdx~H} z?N*~Ov~DCzi=81Lh~JYQaD&{sG16G8H1)hQ4DDDy9t97SpNE2u4y_xFa#e^%a0Yzc zg~)KeejH-QdM2PQfSYk?NB5S*V^PHSuD0qS^1C`!bTq2H6C(9`U#|A$>0ipTVP+^{ zMWqj$m^?45J=M$E^bqDDcO<b!Jc?kyp1e2@@x0}@ z-Db%^@?rpWtMe3;Kb({TH!iQv-vga-JDLW{^<@r)93;+2vsOusk@Wv+Yd0Yhx*S)q z<}`C1n!yE%SiIe6219e+Z1#ixOKNQk*m6kS1cP1dC2})2YY9BT}Jo| zBcvvifgIVqn(;Vl0|qET;gmb0k5Z?GKxa?|`qP4N?gQS2)~&(7fgeDAHCazP`0~%3 ztcpc#V?>CW?8fY5-I|>26igOQ_g3dm+`INB`%DBe1(C+N2WzZi_GQ*-!5)PAixF~6ufu^3TSD?eVt zi6^^Wa6kEcTgB$;#F%@K9*H#89;pYBDwWdDka`rUo-9j@Z$h#G$ zAE`TQir^w~X6B25CwjGbeyl2=`8w@?kurzVP8s} zUaHQ-Y#qeUx$){fz6xU1@`T%G@K?;EGoT*AgHw7BW)Mx@RZ6&4+w&2dz1UxEzdLh7 zquQ?D?o4|ChS9pKxwK7+OiAEhJ_4!pEO4|V|5A}~LWQ3x{$Gsz7AJ=2mG==uEi2Z5K*V50Hh!$wBIY(h7^(E9i*yT#yEf&@M;W^qJ>$B zF+>Uj*ER&9df~*5_Ee$s`fp`uqY0*2vd|qCZ$h5<$%bSXuhTr8A3dywjzzy3!J8np zg`kewnH#*d=#blXDXMpnFdfaLAO<^+Am@`$S)reI?S0JHrUQ`r2FnnEq7FqKo7g(=_!T6PLKxovl%dUgu3KGO=bJV33{ zDfeK=$zzt_N6|f3rihvLNA99rB&kn9lACgtOV((tn%B9`BaB@eG2X`+l7}pEr=|G@qxLb-4L_OTFTd`4s-!`HaN?|BLwy%+5#TFJi9MUScLl zK-fPFTwtGTXwe)YL;JqR(8?G+Im}~vh(&`1|EN@gcDypM0*_kkZe~CXLvHWF^?@!g z#0kApvoAQ@sNqJzs8is7N^hvP7s5@rA2&SFv4_zA&*pdWt?PmJKYu{<2D5NQm8yyt zNo7H}^hc9F7Tzn$DK1#ccs>Y>OgO@&phR-l8f@e75`gWV5O@0i-XmRzZC>}>G58s1 z?D;!haW4BO3Eb!lfDFLKLD*4G zZ@@30DKvTxOAnl>!_%diOt zt9ErkCHzO9ht`#eo&_hO95jFPciH!qDlGdMi5XCezfKLnaLnm?a$=tIEc}Qvf*R(9 zdF{=kXvt?(a(wlOv}U&$;Yr?bvdv|4o_9uoQ}L?V#MpAUDU12?69|N4Kz>tD`}sx~ za>ug=?5R#DcV>Z3Qhj*igCzSQ>Asm&=G~bTV`a4Q0}JL&^BA?H8P2d+gl^r6i7#`b?VhjsV=S9ACws%Pgwd!HCm zA{b&G=keFVm4W+6K>e)i>wP$~t(+AT*j3i~fM%3FA@)Q~Vvc`ub#i_K?1~_`1=j9| zQ2lTqIGXHJP8cL2E0B2Dn2as52npqHSFy>O0FrMZ zsY~gFkjjaOgLFB&fp?+~>3v9-NIDD+F%fA;+9&m+rS(W-23;MT2G&u3D$<2W?{w2_ zzX<6kB^@cj8`xIS!eM+7AhtyHak;0Z8B)hETi8ysahY}r(+1#JrLq74O z9E_)pO6XQ2Zl5-4jXej!hVQBq`PdBZxEEy8_@qV!^#d2IRu1A>Z(Exnc{}=K#9?8#q&^fTM1A7W{tyj;-CX-K1pk6BI9Ec! zfQUuT^EkVFvBWa%j;HI7i8s|3;lQORIH9VqwPT_#K+W!~y^{p^PDk22qF2))+25wkfq1)raxCH-1W=h*vT3!UA#NVtujK|(yK$kS zsvQ7oRjX6;T8wTK(bHtRnm4*lRa>!6Uzxi^R3K<4S&O(GEZ?T6z3*9~_LOqx=uZKi zWbwm4B}Z;e7xz9N{730dV1oz-p)>p3#*ys8#)rPXsAc&+>Q+#fwmJ{teL6Xl;lXLW zY9Fow_8blF#&EA+=lLp{&fzRxTh>}CvJQhTr7D}4Ovt*TSiq(VsRUV=6MT_U#rfWk>t=Pt1Zn=-Efdd=>Q5uf@yaI{H7hL$?wH`xOz4 zTM+8=Mb0z0gDz^%z%dd8eTA&5{>IfrIWV=(4vof7gf+lZ=~@4tzXPX7i~l(X*E`%U zRm^^kD@1m+Iv?0#-(-=;-I#Cvm7?8QoyM8t`luu7D4$N--Kg#X&iw@!(_$}x^MxT) zOJp~YBD`=C-N6w2_=pxRm*Lq{k`3YuqW0a4vyIwg%5d{&l;%$aYbKxUj3$dm;Y(7f zfrNrq4UeMH19=V1!^c#1MX?1)?MjOsgC6C(0t4`Xop4gCQ?VImZt(58#BHVAMvY=b z|pR%!adzowf?4k_GgHg9T?xg>^f#H zLKqz479k1-r(07&Sh(_Wo)I<7LfFFgP0VZaqR@!R(VQg^tbvs1~8V{3Yw{W63zU~r3i=`HerXNn>>EG=rEkIz-!%y-h8qH~(+ zaRTmUz81C53m{5TW|X`zuh7*;qm@0eZ()7puTF2e{xbyai>%7VyyK{!%w(9y>v7|< ze}8k4F-mKEyVs&K?LzConZ~Ksfx*W2LiS4b3-LF!+D@=jgfzk+4Cu}8bk!@vJqr&N zO1S0&<6TYu6|z_G_2JE6B}a0c)rs2r>ipGgs5-HF1%5sUzJ}^>+%vI;NhWku$`04{ zM}Zgnb^ChY@29%;G^_edZ2XO@*IUNbGsT7T=-FCcFX|468VVh+G+Mc-0;|88QF#ea z_bQcS=uBc_LB^;2vUBdA*^<)|>JcxvdCb~@Fbww`f z-in0WPeGv-m-^W8Y;~@{?k(_QNyz>grw|(cGp@LGu*;%3=`H%4E%noDY+FqkbA7Ap zd6ice7Mj86oLAFZs=;+?@?XJcm+Mc}!P!wfAsH?N1|uG!y0QeabW646_)+2deW~8j zIlHQXZ#DVP;f5@Hs(H)xeQz|Nj)b}$f;N7 zZ>Ub(yaG*jqEw}z5Qiat=#(W9@QNEn2sFX8cu!y`IRQqfJ|PvdL;eSgwAiO;P-}dv zmv-}qc*1dBFer7cGnkYX+l5T4z0^3(78H~(NYx*&+qbBB2&0T9!+C`@m4#Z2@snyr zwp{-Y^@jZuk=A77z~km6qwMDR=EiR9HN0N8Z)ZD+TUaN*N&ULg5T{NcKB_VEG`_!= zkPhv;iA1uiDiY~#8HEVLi-MjM{f*qIOF0Yqb5WUd96vV*8I_h992Ow}!k{br4#0AQ z`-4HqmDd+}PV|}JKjR>7@#z6ZQhcOW))$)ZL5!2xABpN_H@)(P5}YGokOCh4CPcBI z-b~11d{jlRbidpAGsu0k1No$`o%%o-30c|bA#JX70li{KM}Y5v+z`oZ2mQx0bS=xZ z1s}6WkQ0vqS&rj7A)HyVKXZ;Z2)`Y65$;8H9>h)4U}G2_B9pF!3Z3eY$ctKRGcQ7d z!4}twBcMsN=pD|~HPl61={Y&*N_Q^<8*(D;x#w+TIp7PACguiO#wsQ`R+wbwbyjsx z7D$6m>O(f3rB-gPB*vl>mtkj*J_^F)+Bq!KE~5}I0p5?sTAwfa5Ho-;2o<;cvBFTj z^1Kp$973u=XX%FwzhtnQAK*@~h%X^dt=W|+w9lYoN5OZ{$O1?~l#7XSiQoZFm`+8X z>cbRhoyBNE-93dq&zC+itV9TX_C$vCDb@Ut$I--jMfhJBP4sjg#XZ8VO6G?|FT)-a zKh53YgT{ISiXNI0{7Rhf=Mh)X1+!X47lJAvT-e+BC29hyzFz?%C%EuS0K%LX5RRQ;xq>BnRkIGltxg2pe!LcRzK`=?xCQ`LsGldD zYSBB^1e2un#skLZwgq6hC7JihPZjH0=g4&AnglI&EjSl1JlT4aXc&qKD?||r5rtHX zpC{GiUN|jwHWH$)6oOu@8_N(q|2<}bmE~a%M&*+l2 zW{ivKPg5UoV+!|TEYMXf=^9Q_#|u=CJ9ZbSf&e~}7hdl5qXnQD<#3EXc?t&`M5v%5gT#Q8mB-Y=Ph zwD_;^a3~KF{^Ih;SHV)8@u-I0&a`gC*HQ;tKM9{M0shOuF<_mF$+E*a;YY6Z0z-kM z%@u3AR}PMmJ9}BcL$nRVk+{_v zbEDegByeuOfzMhD!5=<*Otf;0uHF1g0W1vKR%f*+CvJGXn#PY0GmTbfrp;;4=3<9J z4)qv5&bNUpBNrt?{Joe4@n0;&j~NQ__d zrJF-!GVXl=v$bs1wz|-etd!q8TdH8 zX5AuC9v5(phI)`y&qa%9^}B_EU)UvxHLG3|*ksCAU!!LG$K6z&?l&=bJjNe{pXQL52ddJIN~5U?CO zUQJQp$ML9-1cT9`4lbFb%Nl1xAY*Z%lNP&OdKJEg8{>+*!K34y*HqW(L)f2RW-N9; z2@L=9R_9nXF$@?_?Y*@aKWc8Z_c3P@!7ow!zl=)c4HBDDpNkkms+(0` z+XvUQ{>QSaGy2I_q6y6{&W#E#R}w}O70jl2>=if5`pg>K_2PRA%rdMessJ)b8&W8K zF%pP3i08yi{~Z#kEC zaLUo`UH}(BsVO!$4jc>ngYHLO01q-ksyM{MDj+&sDL-SKxYQb1|gdw|8Y zn`B2;3Kaugg?I}Ij!rcx-U?*{9sWnW6#*AE4pwAY>lr4Yh#3vK%w#I3cnZ(R{UaF@u@^6zrd!lu8hIE6X6FW%=> z=LkW7-5k+UNJUR8hH!#D_rDcV6;08^U?C`&Q80ytxa1ez^d)g2B!tQ;+)sFdmF%V5 zL1y`nk{Q&Z!Q+AJXrRF6S?|putTN7IRzasN#p%l+>x>XB6Lnx@>d3(^hg179cLEUA zm#C6Ev=x#Gasi&Ap!U|QZuFboTCf=b1GzxxDkJ1Lq|W%q$feLlA!;UDmpzJF-l6ks$E9m8uGGo3(i{(!?|?gcNqzz1?lf{2mR?TYHE z*R=SF&@>_mnP%I|oU1SoVJQ5Vr*pZq!nd6sc&+U#jM8ccZx~mG4=rPzj&S9nc))$g zF~86gXF+NK0$>*WMJ*sB7)4^4U$?(%`wM59SO&6E>HC;QrGdHn-M?-R=7nmnZEj9u zZ5Ja^Z4W37t(yvXAdZgXzIP>#v0{6v7Ms@P2(E@Zba4=y*6QSp`$;FB-}gSqsrdM{ zbrIXyAN0d0WMrEb9}llZBbm8)@wtP5g_`9ox|RZ*-qn&lXx0TO+(re;V?ZK4 z6|FK0<+>Dn!VS)=ZDB3)36Z>3z6Kh?aqf%X=1}+HJuP-gS2$&77T}XgnRo=6>2O0< zHJd%HWwkJIp6Uf5zpS>a7T?cFRyAw!y)s*g4fqwVjbux&A}d_EY?c<^DNjrBgiT=d zBzLpJxJXbtd4}LeQm5XbNhpsY&aY~*1Zv@^suo)z5A%#0t@g>r5}s(i zHd6UyX#=v2E2EW5ON^Rm<+3t_TG%yy=ZOWPH;u%HCSgxUOY58i?XnPMp>^d#3^HM)h{E8ebU)j;}H7-`IuGe=?vIIGA9MjaH7; zHS6wtjAl3p*4?QLWLAk1==4A+Q%DuItA|_@CJ_ zy&&p=9KAaalvBt}C5!K0j6L4xUnD#UH@btIFz;MEv=8tDw~vc4baV#hf)074J(JiB z+LhT2M6TV%YCm6#^~R&s-VYlwV{u-(n-<=Xzyrx4jvMx+RzI^aF{8F^mDB`C{IXaI zhJ!p9;uhIjEk+!2;rM}?=U->ZV%ZSH?M~p2th-sc6I24G`covGr zW0o{>l?3Ld-&yeoLa~fw2U`p4ieCt3z?@#4h`;T9RK^2fj>K*xTn2~ly{6LXo(KfagLzRoHozS=q0|Bd zTL8zPEeL6SslIuMm?n=N`y;rE1a*6Nwj-5lQ7LL)$`}MK_Av4hhX7yCeR#r@)vK;r zb_HV5+@5-FKtC29ayYYhd<{#Ns?BMZyrUpF24awnzIz*e2+! zSvM1X=`gw;4_4&>c%_*_{3KFCwD=5JY4~I27T-AY>hjKnRfYYw;>Pc>+d@oq|*+$>B+iSvZXk#BlV7!EO)m9IZQ2 z^xa#AM#}N05YDZ};0+2R#ht~81%(~h|4O;8S}<|!&$*J0o+!tVL0p)dt1yAM>iDX^ zjb17bL~S=RL3n=+z*&{2YVprxsal=!b)Dcn5>;Jz-(9cZZ9*@rA-vHt^%a36#@Gpx zmGiJN{iNG#OWF$g@PC@{8c}Ox!jo@P6ULG<78U>;s8=rZ(1y0@q=zZs~O_rN9HwCiUpwiR~D#3-Qrau(}xD?}|!|;%fGJIP#-T~PL z$fd^u`&VvtVW028{%E~&svqBv71+~gzO+z{b%2bF4$KYaX)h5Cq6CjPNM1U)b=HWau=Kka6k-()kIHS%&eCBdJdeT0qc$@LOfC|ObOa#T)z zp!>;rtudWG0M&k*GwB-WX%cw0LUCJV`FQO9agz+&b(s}FT?Jp--(0B0pTk3zDPIE` zY#SjRwK_#^$LIkc4_`KmN?oKw^%-uf91`xZ?w3*J{>n21|5B0yq5T|?=%{#Ki~SAV zxUPc%;l%YMzCg6Hz6>{mpd{6U{(}M(kd3(oF%$sU-L=>ac+wNsLWGPBM7YsUDF{bG z+iVsp&zl zAzTGt0}3k^0Aq+O4su_(M~HlwEEi}A#zIFB)d1`*;}`$ul{lY|;DT&-Qu0egY>6lX z^?Kgo{tk9$L+cRkpR+jo7At+=M#?mE?tQ;Yo6 zWo++EwAZ=s(^v|(ZB`{16s}x4i;6)~dM&~4ZCE2(B&bNXxv~C0}{9no#gCPOS`9+ScsutW7k{iPy@Xgm~vkV}aa)QyyB_&38 zC-x3lMpx%-{NUCu;Rqa71h5<6TnRi0;WY68G=g&pH$qfy!&Bo>cj~|UH5Idz22|0`g_~uYbU97*YWLbdVw8wcHU>_l3zt(C#3P#~@n93V%wqdIamWGF4jH z?ga0{NFP;NMCwjOMZrnRfh1d`QF~sU_x0+xDejK&JfG0KYeLDHdAOPfTYYecf?dP( z_=qx-=*|$goA?Q99L}yu{Cx$0>--d-;=|;kb3PZm{}t-aT|@rDCMw5ekpD3eyn>Y9 zidCe=FGg0_o>+@e+5%i(P&qTu0hfiD+`K@RfSln(>{z!Qk9Sz#yu_ZOhwUlRP}Q!* z=hR?FF8975dp(Y{_Qp*f&A6v%Ffj(#h4tWdVSRXcOHZ?VdOcoT^fLbxiT`n%)ACoe zzY&y#_F-WY7d@9K_Q;PnPoZb4GwH}6U%w_Z$eY;+1HN4&bBD9H#8th`PcuCWw4$x=V@%u~UPh^u}TDfMfdXj#Uo9aJwj za}fAecbsoXTo09NoZ7qLP@r-tz2x()oRx^A_?2Q@WLS?3Zy1LM)`QnU-()?s{QYn~ z^B6Y|Rm;pCdJK$5DMqQCIgCfzc=IZy5Ve54rXEwJsk?H;H{*A(KTqVTCQie;%i#2U zZle*4Q}3eIzm4*#)Jt#=X`;3Sn+Z_w7*vE8DQBF({x+$ryY62dw=Z>Fz zN-Ry;yoW!s6}IkcX{$p+S=|kzNs8%p=@*JsQ^TQ zaY!rYW?Oj=PXD&PdKmuj4UvIq%;S`!8kl0 z#*t0!qM;+AF`-yj2sl5$(|lSZh{+k?B(XRlT+RnV!uBM}LzS`8+mO&!{S<%auAyE8 zeAt2AJ)E3jwMgY%QscV!QrC7K!Lqp-m=1dcJOp1*ofr#F0?FEWrwJ zu?md7nPEDqH~t^q-UL3%BIzHWTo5iN2nZr9BSwfI5)5i0AQ_k>6A2LIRJjz?xOl=0 zh#9ADuBf|6K$-vdTiwshB%r(R z`+GlsJ|8muRNvLr)z#J2)jU{){g5cqZqCxY@`@t(|*wd`OU4{TN>BvoI;Zf)$GeAg8mnc%%_e*Hsa~Zh8cbY4- zIzzdbgX9X}C~BCrY?ll<-#|`WI!WF)!D0TWQb+|G4ROO!(n9PzmUG|HAajHk7%Cw9 zIA=)oq_hA4lNcgKatTT{<_IeLVq%^AO+5{{J31Mqusp20B)uny)dV4eo;4xfi2$?I zVNmN9n~x6xZ7X;~s^6vlxPZ=6d73dQqsp5iED;W^LHv#CJSmr2=kY@Lu;s*IvrSHRVHqeaVWFYk zg~B3QCglk>PlQ&ZeU7(q=ewaq6CJJgG|>qfmjL;m@Wp+i+@#PVlFQ1NKoLCJGE@*K z5^jhWtO7+T+|X{zQj}~u){h-qFW8k0no(|jBoHz;|3BF;YW-0aS$Un#^Sb_?gHLJ7xg4JSKoK|3 zZC5!UP?omckW{6;&8iwRBZ_4l-yMko`peh4$Di5^Pow&6rRKk%30z3z(_MO5`;CC~ z{7h_1?aHo9R@MWR#pb~&n(^A$esraAXC>2rx(4a7jXlgHEiq1W6XOIc(77(P@dG_h z&Fb-u33P>cOI%Akz&uRH=&sN1KdO+ZhBDcya%>VQn$^Qt2ioU6qWudmifE?D(NnA5 zgkCblMZ{x0#uY=Dc39N6s%x@oK~g-NnahQ|B!9&6Su`H}F<|q;7Pa(!jq7zOxaLg3 z!ST%iapYmuLSFX?Kf&ur(eSG*UsszY_;vYO=nO%FiHNlu#gMPS6* zzDxaSuFd(NVL&b!XlHN$KEVB)A$mXl8A`hbSq-L-fqqXfU0v&0ik?C_!p5|iZ&S=@ zWb%XsZNz;sCyiG`ep#O&>vQ-TRpun&k@<#4o;F!Nk5BT*G88WSPzdXFP;2x$fOy?B z31VOjd3FWKJa9keg}R#{8q8wRj(LIZh{Np4Y7I!^zwc*=DmEi*fRV zujmtH&&*}&MzurT~dKnBeS}Sd7R!<7|WcQ;N14QCN8XiyVRFj~k zGNWVWOmsTZs3nO!Nt7=_;qB56LE1Lbg_bW|^!*R^NYMgaj%xnbm-I#@CS?mzV=jQx zzOD_xEZT;4H>nL!P1}2rt$^WntH`=oDzSYSHNDU`TQ&t|6S0LSpx|>!iw*1{a1O53 zf?twjKRrRC7`sSReuiEn66RO>?!9d?6&s7fok3zMaApoC8NT2fiY6w`(8UNO6rEb@ zq2_|k7>O_w+Q39Ve!z^h<+)KQlfqV*4VHXKwHpv&tKIVHqFM~czTLuC0lO)9Hm)-p@;}7MUs=ktMU7LOUCFQ-egEP84xltssHMZ`xXo5zER@(05 ztI)cFCXza@CcLknMzyiTF%D6szC4e;Zc=Z9!Rt}51(jmd8hupSq(?S+wqhgsX_NUL zWR5OlQp`xO%y#z2a?(-oHCg<(-td}gG*u0(V|~KugKi9^ZST(`j|o(^isaH+23aJE zJJ1}gTA`1T8DOF2iR&(o6}y*rbx8vyxLw19azupweTOHvl!liWC`jE9HnT=H(XZT1AhfZ7HMnC z{NInqoof@di5bz6$AkB~q!qB|#-^9!v5Sb7@qn5Dk!C#pKycw?-$^2BP}~U=PVyZm zU$ywsC(c@FvWzc~`~GKRvEWE!G5H8%F-pebG;!RKI}g54vxQj zu{p#R274OXt8aEKo_mC0>MWKTm@GJuH5Wf(;}Vpx8WqT3;lzz}!0R>672FuKp9XWL zC9t3I0J}wMZ^c1^js0O*8n}>fKUke=1!hmAep15E55=E;&%)Rzd+MCu$f0Ogs4?@_ zDOJN%HVgjDZ?QA0T;}?1V*HZ#n-0|Jss62UC)*wTf!)^rxG+6V3V{2e-wtxw$n4c zYPVyGE=(4agJRl@P5ZRZpfg%VRU;)^v+9Qpj?U9Q@d_l?&qOI&JoAl|gZoo( za#Ki266TV)E!w>(hvKn}$H_Q*p*juXEU(L9yEzBWkrGE4!ro_|3(Vq83ub7SHhMBx zr%s>XW66@Dze3Ko0<`cKIV|;B=jGu|O+2Z5RHO|0dd?BE+tr(!lLLik!`Kwf9#~Vz z)zjY>&Ch4IyL%(OHkH9jc-R^?t)2!6;N-jgoB4iFN=XQA5Qb#Gw%Lxq5uvWc4FDGp za3Rx+@d3^)+}1x!tj|?8q-&d%Q7fK$9x6C5gO6eYS{2VOvOB zEwEuw1g|iKVJ}8MBPa@6!}D^yMdM)7H;na$&+ik>l?KR|zJq-U7fVXmXhWL6hsYt2 z?po9>pw#GoQk}haQbmYe4(zJBNfC|e9o>hZY&>)_sM!h^;r#dYz)xwgiR8Ei3Oo7x zyW?BjfgjWOEW!=IUa}qsJM)W*E$Xv0h9`@>b4l_5?;7-UJPz=#&hu3!4)CrKiAR8m zRrUy%uTsSw>G2Y%Ne!1d?q0phwy5qn7_k{gFN!-}lVm?uDBDIk?WD`Ayu@fgDY5STTOu+6N2`&S#TSLc5=RmX%0trIRD^ImB=-C z&%4k!1cTm(&@K?Eq0J$iJjQl3@g6QFC8vZD{E|}y_ZL0Zo6Ot+zIpo44_Q5r6AN(m zCp;s|Qyz!`#4)yS9BZ@D2|&BJYOeGX0aY~mbRt7m899D24(im_%06_*%E5y#M4Y_Fi$ z&SPkZ?XUpUa=QTgVs6SYw3gd#9@_$;oxWSIliAp!I$Vv0j@s-LWvguT(2o}E^?v06 zQeEo3S16_sre49skB&35_{veljlX9_(L!kO{t6=3ENlltO#J7oh=9H1u+ZqVloY{r znltnwVpTykPP?XKzQI4pbxgI(Q}hg9wnJRfDm?lscL9|hi`Zo3h{6{#yQ`3aT`oX;f>$v7>O`e1un z=FlJE0-TX`N_J2lyyG)9)SW==v^m$Y zTv2>_-4R)2$7YZwBnC7_^R^L~Z+?(LvwHmokbzgopjoMh9?yYf#1U^BDSoYV>;1-l)W-DxVFEVS+JlO0$iI~KU zy~wOPjDTv9>;X2r)OFjty!JcpD+8?^^%0qAA})0vzV%P;W6ny5!y|3%;H)l<#sTD^ z#VM>!aQUd$P)4&VUuo|f$3iDzuV_V>#3`gInXW=6^8i}HcLIpkoc{>1!heHk$C%#U zv8-7SVr|e=R%~S3Z`GoOsEqRKQyfvAwt6jGsira0-2$Ov0OD6M8GNJq^mL&PaETkS zJ~XPG`g@u+r2?)dM!n_h9&x9Q+ChV4dbCJ$`Jo7HR2641n=?o~fH4efRPP&LF9NeU z3P`z014BH;FdU^>J>X{~ZWv=u(6*m46lE#$@%@mRAxb6OevIqGi|%sA9YK`1LpO0y zqTactULZVK@7V(M--Ka9p>U3frL!iIGq)E|@`fhME>(v3 z$5$~{nMO9iX|*tV3Ar!TA@&A%a zXs_9**66klNz{FYsT*=+vhIPV?i!)j|07y~LO4lWt~1#|gzyqXc3B1=w$j851y}m(Phl5QwH1%@II8NR8u?4`k9O=>@jy z7H;@(5|gI}3i~@l47S z4ZDT!VVld728^{S6{@dP3QtPCSJ~EOnWdlAwr^E>Edi(^P%7^GpdK;1cLrfYf@Uu> zR88ecpm40AYTczNrb|=VrB#Dcy43IIy7VbzwEy3_bjf{om!@Od$;@q3BV?riEu%i| zFg_uR!knbxpAj;cd$|Z1W+BiD4v>835W-B^)PWRoa39q5G*$?^_8m*C!$4>Zr|W$1$X+OVC>)V zPU#ugx*x#mRfRRxBI`Cj36QOvAn^%-QH*lBPO z;Xlel<3|A&bC~|)BBhn8kFHKMHZ&9YVn>@oER<{n4X*_sKA@eorwHu~g98LeO`P`P zjH+0R1;;>62#@!U8eajIxw;{PpXGLj>tUl>t}~y^%!9Fdm^oHl6@Qa{viv>Zd#PxO zH<35?4D%jA9MXft@qxTx>st%_z%JV(V;l%`lBP1vn ziy~9t6KAWsc9_uLO*BKYyoiEY1W{_9hF^-Q+^z#QmjnCg?kh{k0mCJOzeR>O%XbP! z2**<(()Ymez-?ZlhzJRmn;cY-H|co8Nt)?vyf|!5u(t zg_R-5a0WNw%OGSR5HjrJBtqz{68o3cNMVrjnT-_aTf2>mYNR-W*i<3~Bos6ems0fw zrkp?#u16+X0t0spNq6ZgapsXR@_j5KHd&#>s9|R42v*h7V*e{p@Mq(>W%_;!EJFwf z)}3_nLmDrulFU-%jYXJR94X_-9ij%t3=5BlrtSR)E|&GjH$*Tzp4i?B8bnvlFy|7( z+v<1Astk7#tLy2Ga|M zgAzNd-`FKifL%P3FWt=&cb+5_U1n;*BBk}Z*{By&oi{Q6m)i%?Iixzv%3A^E4J0R4 z*cSDetoL*~1Pf>hb7Dc*17fMWq@rGy+LWX96xT{FZ5$)Fq4ZNCCDtC1{#r|{A3VV- zmot>nNe@~j$>?+%aF6i9t2{n11vE|Jj_`?ebT7;EmoYp-O7*+&9qbn#3j< z3!!6ejAa*f$6X<5f*|b+TtQ8Gm}pe5={iF%1CMqqwe`wl0%=qi4A!l>4dwIgmJ^7q z66+hHnP}``NW9<=vOL}XOa~5Q0aCg2w)rsYR2D!*zJ8Wn`ga{N(L+!UpUE!fGuci) zlYJte$)4a0U4UruF2i9se>l;@TJ&Px7Yj0Q6gpi%G78RMXMDgO$ltpT=0Hf;?8>xl-$A2nGr};#DZNhUhThvR) z6a5R@2~wAK{^LYpm*;@qd&2D%h`G*D&8TLzO`?*vLYu{^s72MBMh4QNE@K01k2JrR z#26bC9xcZo;(cFIQ7LE|3=)jKB*QAsR-C~d%RNQQ=K1^_ysKgP>I_b1IrzGW7jn_errxe4T zwhfE)iVeZu;y(D^U3WE`5guQxPVOUt!YFSyBvA5FF0tju1$DTG!BN!=;4679SA{w; zf^wjBVj|B9$wTcvT`eV3pD8VDQ3I<`fs6Hmw5I9A^9_IMYx5@v5?R}Dy5cQzL)6&I zVX_J8=!=-uCMai+$`KINgp&>@svi`nX_;EN7e9*g*Rh;MREXNV`^bqghZi@NGUX(D7nU$H$O&!86e zR8P_JdDK)3U*Rq>jlRR%S#QE4k8h^Enz6du2WoCJ3dC;cEXQ{fx$a3);Lq{imw&H$ zZvpaYt{OX+8wqFdax}N1XgR#x&?glJaV?q-YQ~4{?klym>4~iejo0#JPpkKOEo$L?)NAVt_;$tjjz~-z|tn3(->=tOY{ zp@oU+c6K~6<)=y!Nok|dl6_c_*v&8DVE$Wyflph_61UALPYhjxISM3?efP76` z9Z_u?8$&^9n#4j=(4zjh6r-|l3;fn82%FJe_+#snAl75W#d#I(c_v(Ux)P_zN4v$o z1Din{6hpRD#~rOV-OcKpm5K2UPT~rQ!v>%m^k<(X!zSa*OhkbD4&iw*%wrnWfnNzm zLN3I(i#)jtoS|L_mLT_n=l}xoSi(GqZ;;uw;p%$_%y?|B!5VosX&=+UpVx5q-&9yB zWO}w&^c|k?4YSnMj}d{QDtQcCkTuN1@v$6vQ<``UEZbP_ID^mPBT(qY?h8$b{((_U zBd1M;UjJ-;@`WR%!w*^$d-mCVsEKh8=G!&6T5nJXE+t}=&m=Z zvw;QlB-8@b5&wVfC)qB8)~OR%A=;AkCN9@s6*|$eEz_CigH|v>yI}}aWe$F#h+kK&s1Hb z_&H}yvCqkZe#L?)%f$+wpialvi$qUv2+b;;aa>7bcs&L0H;JoJ#rp~v`%lbS#9vTT7)ELSDRul|^P1$AC)y&H)zVWI z8o}%-7-1v>ZK|D%xX=i6tHsQ+kqljb5V(H@r6slrLv&kg^Hf|ZEF3ADA7562>ZcFX zRNp7Ce4fK^RHLN*r_u6I{Y}3GEyp^5{ecNGNt?A-+Hf}xNRKc%ewH=lVw)TtEgW9* zZ&|J9-{?8)i!jnzG-=Rp=_S^!31@Wf)3l7Q=CCWq8$^(?rypeO6p}kY4XD-aWI6vmg1BpwuUx(ypo%h zyqgXQLDKq@Y5O8=beZ%Vd7IRe=sEe*B?4+zXU@jpL5YmAo7LK^vJ;D3h5VkPCD%GbXP}X2 zg)?{x0_?#_v+#?fn6o1@y!8#RK(nDCu3CQNRjrh~TBS>v2KcI9qGb zV?dZoeKi?nQ)6X&BvhK%A@0u#3*FZ%C;2lvwu zOs@7L*z}AF>(gJJXB>YS33G=d#Tty=F*c1!YcO`j0NY!G*(WWKf{Eci(xq?EC41}B zF;L|7Iz9U#MLF4p5KGKGV&itA#ofKh2a*N zLu(zR@+UFOcsqce;&B2T>&+kdiD%g6w=ZA8CZ>!kH$Zw+ouNUL08f+UzENG#OE~g0 zL%P0Hn<1go--EuRKcWj9l2gz#I-eMH_yoWE#6(|;P^miv4Od&4fFMJ&wP6+1&9 zY6?CB>sO;B=p}X~7od8>VSAvMx~tGEV!ak?-hVqwCJCBmAJOu+3=>{^O-!-;ZU5{- z$}EY&=Vgf&f_I=DbXKVD`<@qX4`0#d&{5Ca_6wRh?`w0POkX5xwLVlI1&EWqGQn~{ z3YV;e_r`8Gw}WM0@(gfh2~r6&EV`NI}=PoxUG;j=&t7|l`=kBg;3M@g@^A9=$|U9l1P3mxTB7XW=6OWdL;(mZRik)}Ajw56>9)2V7 zTQ^?{ZBYgIMvwbNrc5;l0LKFonKH$E^}rX9jRRw`n*ucRwUq9P`8*eL2$55bjjgcwGqx^&EzOH;WkA;es{c!YSh11To zm+I^O-0E@w)OYak&ZkG0NbcNoI1^e_KhuO!k;;62cV+9sSnuQ!VI;*bFo;sMi=;AL zDySEwmbujLQ7ZEVO*u38F&H1FA7(Dj(_PWpS#`4ua}n|>MxaIAH;FX@PrP0N+qc7S zmVmW`e!y#5RR51yodl1DC~SgSeirEE@Ub1(0O0|`zjQPPNhh!Y6#@YMFNq%ifLY~a zwe9V|#Qmkj{Nkpc{tDdAmmCFfW4Tv9*fG)C;jvnR@BvY>aN7Xq`ug(tCQrszq)HFg z`(tZAN$^@6)^@CeyM5S&_n_GWgzj_EO4u*p2oV$u z+Bpc@IGk+m_Wup126D(5C-%#-DYbaM!U3>6&@3ELTL!hYO4K!qX1t+s8dw^{}q|=Vn<$`Q)!d5Nr|DvEis`*dH=pT^Z zc7bn}tF(Ad1(rrmtQpzPmpa3F;SAls-JqUr?B53h_Wv_>)_=}>TtYrycvyaoAGEt6 zL48AU7G3cnB!&ratTyXIG)0^k3E?D$N_#Ro()uEn4q35O(gco9hFNAVnVLtu?6EgR(1L8yk*@}l3=;v46 zfFX(WI{J}LSif-h1E=uy#okey7JXk(-`>1xJ180N!H96>(9pk9;S}p}}2U2wL=V3RkDlc2-2jyz()|A#&QIuNr(< z%L}ch_%`2E{PzZ;>3ECF{p126_uUAC6 zErb4&Q>IG=@C#G}<*Dg=q@<5!G7Sm~6jr2yI|aPBoG12uXCBRnO<l9lCF9}%*e)pzHU!NCk`xBp8$O)*Ul zGpH+`KEphRhQhuRlPO$Ps_RTl!r3$~0L|ly?NZNApbL?IfKclqI?`=@RqVXyb+rmH z1jAg0c}lFW+yt-CV0UC{F2pQ={{`?HYGD#QSinC5+@PicjGNDSCzzr#1E+4z0Ly}8CB_fW$Lb8aMu$0noG6I-<$S9Mv(fBfjLe($J@E)TjrQ<3J4bG2D>;#&1T zo3tr={@_CblO30SW($jWC>y)3sw$De{1EMBJC=ip1&o-iBW9&WEM>&$Is#Ih&e0n= zCNZMFMEE<_VL^?@;2{8~^I8SQHnt1^*ZH zJZ-wUT}~vX(lPwXL+Vm7FEp`qY8k3AA(R_Q+`^tDjg z{ZOzOqW>G>$C3oF%x~f z|II`n`k)Vi4ZItQJZPavp1y*FCTV7wO~f!K4P2Y=@b|V^WTe+k9YA((T!zBJ<3;Sk zpA?D9%%3CfugDwgMhkvg)c2)&+=-RQwCk-8;d5Jk1Yl&EM@GHH#?>|e0pW;)cXHNu zky($eE6yL$Rdh7L5VpU=Zc5Y$L>U54>}peXVp>4pX1;4+S!Jfb!&)v^u=`Igw!+`r z*prjNBL|c{cp}p}-|MxmsTy^D#o~d<{b6a9)d)kwVJGt%>s&x6z)@^JiKPymwk3sNV&2E-eBR z{pp)SaqsV}TUQk3pt~7w#y`?nHs-nnFG=H& zcYiND9eK09S9U8j;At;|ewP%MMQ3 z&;2VI;EA?`+`xyc0D$}Vvcpo71A_-G1p)8#-Czi~Io_*py(ZvadxyTkNpMl%6*k`C zJ8vCUK8H&0&C9iA;C|58>`*&p|B27YU0Tp=RF$aKz3x2SCkB< zm*2kO0wl{R)Uymb_;&IHRR^HREayu_v5ewVx%0ekO1h&s7^mfa)|CjeqemB?S;%(^ zU|Am6jIoB7+r(HW7HhAS!L*+vt^X6zBsQz3=Za`SbLd3YkK3>EY$i6#?KBO-4y3(W zA7Ds#e+6z$#Wz+L;biFp>r4Md&`%Yomq)zm@HkB!u4DAIzV3LOC3Eyl5LBes`nS>@ zu`WoEfsd#0Q4vAHc(3c$W7XN8=0BSkgu)#gGU5X|I8rbO!LC@dK-GY;VAlp%-mYOM z?uUglj+jsjoW*M$dvHBbHpZ00aN}wtUh--)47ziq$H18Eb14BuveNMD>r>?I>dy*Q zX2btopdL6Ybi^Q@C)NQoe%C`uV!5lVJ5ZCOV7GOx%VT+SJ=ShdWPDoDDz2setfHCy zd|irGU5gpxwzm4xt;WEC3}~{PS{Nbs6`ACnwVZ+bM`os8)ZodA`2mLf7ZOIAxrbnd2U{ zc~Mpg_zaxr@3Q_{9^V+>G$E21_HNvhadzPPoE(S$IYj%80VPGcR=X|Fo4ClFXj3wn zx}-vRU)1Xiv;{gA--*^H?6;4_*SMmJ>`Y&u@_4<}QElqTMjih^c59P2l39)OzKwm_ zEs#>)7dS{xmbVRG|8;q;cI6$3e?t+AX)+JW+qVZ=UC=JJc7l0OYiD1#KxoBj>A+mmj$M*^ue1X|sTU}}H9v$p&w9Ky6-$gk_1wWIJ=(^?PQF6vs-`W}9r zwSxt=%fR*ttcSq%8(3Um@ovluJ)GnnfnR5BOkg7o>@0!3FEF=(c?GsvU}qcHjRJc{ zVATc&*$w60FR&&9+bgh}1@xy4z?NWgqWnhy9HeX=p7}zX< zO%~W31FI3(D1p%kfaPrw*kFM*7}!>U^$=L2fo&I99P&d=>kb2p2`nbCe;U}o1@^wc z_8VBMz%~nP1eCt4cRGHZwa*CbJcfghNcch%Un}vq3v7pheJQZz0^?;Gmh+v!E*04E z5K##`6Ti;dDFSmF*x3RbE3j(}>}7!s6#xNXwM#3{q{Dl&KzraEUcB{Z{7TE0uwo+h= z1$LK#tr6H<%o5mX26no@ zmI|!Uz={MmUts4M*erof7T6qygX1N<$i(|3ez?Fw24)HDIDthN4mu@#yNSO;;tyhT zThn@%fvpkP7Xo|Iz@8P@PJ#W!z@8TvPK}WFMFU$Wu%`s}8pFYdB)mt$cS$%4R7c!) z#jmsWCV@E(EJt7q1=hpB@&qz}}~!0`mv z_;uFy5ZF-$mLsq@W_3;L(FT?$u$aJx7+8V8-WS+u2391n%>tWeU>6FER~BnpLk4!M z!0s2=Z3ebdU^ffwP6Jybu*Cv<(!ib<*j$0VXkhCEHbGz?F&rE#;XNk)6Nw)xuq>={ z(s%q~{S(+x29_hR41pbOV0i-j2Hdx%b%=o#32e8(<{8+90&5Uh8YBwVaSDE&wa*JI zpW)!+5E8&|>{4EkcL14d;_^}d>NVq`4 zcbl~LO4 z#CMhWodP?`z>XH!27!%cIQYDT&yw)t5-yhT{SvN_@a+bOg z%U9BBTF;Ys-XsB!GVvEm{CI)Qm-sUze6fUwO88O<50LO>67C`4D-dQKR}xkmhxAy} zy2!v53oIruKf}R~CH$a-cS?ATg!wvCP3uzHLWfKD-l>sU|s{8D6sbhR%u`}1V-r|PZ7K*CQ6e71yn zsRZMOFxznhVYQaPstxP~fh`r-O9u9;z~&2VJ;T8n65eFuw@CbWfxTg1+XaSOQK)Z+ zf$bC+ufkwoWMI1m)=^-44D2g`eUBXxnI1@>=QcmrTLOjnCv zXYD5fy92D4u!r&MtZfq5BL=okVCw|NC*+y#HG%QOsit)U!@*S&-e}@CNqk6PTO@v& zgt=rg|GD^e)?O^Is~HZSC*k)@{NE(LL|`8p*vA4JA+S9L_78#e7uXjDrUceWU|$;8 z*8=-D{?@dnLG)xB=$r!m7uaZqgWPV^w4P<+D&S z*0eSnSd+l|3oH!+C)>d7BCVsrcM+H`9U|xZ}E3gR$Hc?<31vcHl zW(e$QfvqsGfWTG>Y`uYP5?DxJZy4BCfn6i8Hw~;wV6z3rt-UiyH3MkW2$C5hNRAQM zSqA12*hvB_H88Khc!#y7^=t#1C@`uwu#g+rbb);hZcx*@!oUIo~(>? zVPIPY_ME`pG_WRtJs_}m4eULEg$0&wgw+fYR{a7y%fQA9jGU>awba180-GqXvkh#b zz={MmgW=#X36BsV?sy50G(y~&BE)qQSeb!M5?HG&y3a8j{93{F|bz! z_PW5f8d#ISo)cIfBMcrZ!r%h}JB{Js9TGl6!XXJ4NqCur&yw&J5*{nz3nhFF!ld0G zVYL$lR%>9Ez={O6(!lN!*ogwWm*L>C5?*EEpO*M6fjwtnFAMD3G~#<5!@7Q)(tU1V-w2GChiY0cF|+-z7`2JqFZw6+|P9jqlQ$RvczId~<7BZwAf!X4JG6124YGm=P$$ zS60*d27kvw3;~vXXVkQgz%R=?4ZlkU*R(!hz8~aw@0!*h&G#XGca$^3JgxPnVUlRR z+vvN;{?_RKJJ|Ye38d<~P5Ps7_ST)LH(EVc;LQ8&h}*SqQ?WnY+St})I3@ij_oSrX zx5?$p2yEPAZEUN6m-7*0(bMX+#0t9ZS>Q=*Rki7pZ!AscG;k~Y6Z4$)A(~4U)WfW| zAp_$Mk4c&QsR-Y{hM612yW&tQ;Ay?ewg;1}FXcSaa{H|Fu6DlkWuQJC_Cz?LI^QbC z!$3HU4Qx!uc?^!LI=Qx!4~?2#A$15!8U6X4fetnxhLIHkvpOyQh{r1u*S=?w!%0~UI6plvLH84 z<>7b$&Fd}Z2bbWOHSe1ZZ+LQtyoQoou}og@gS2_uMj|f!``l{zg)J2gs)~sVuQzge zZl2hmT4?j!t3A$_u5bWlz}G}{0jT;MIG*_rICon=!i*r-8<~}xm$+}> ze5nV`kfy=RKHlJksShq8UjL=@r4p3pUt!Fv&@2)WsLFKq4LAt^>3G|}mb`s?1;)5f zcxrAA-e{O+EI}*X7Vg^6c*H8N!i{oIEe_7*g~D+32d zVQm2*QkL!>)v)9g`sZ|&WS}{)UAe_nl{&4ApQT8*JCHx#;J&5b$nyA>K%BnO51!y( z9Gl`Eb;#c@aPV4~?!20N3(9u*y9Ex;^k-{VH?dRcai@39!D_@T?r3ecy4HY&Z3}K& zc6#iX!@&DCrqOmnx}^G}BWU_Ds9JX>G>S$v=tSs6l=epE88Al(=CWi~0_T#G(!nY_ zKvJM>_M|j?Jh3hvHdKudzmVYJ;D6alH?F8{)U&$_f z{RP)OU~7!8J^0#!FC=>hpUSGaS`#Ka6)xEhp5zJpx5l@IOXgWMdFVZZJJh@aP+{cy z+%!Xnn}8OfKMtKc{(8x%Z~VhZLsJ9m^HHM1x6G>Lv1wp`SKpO^{oQ<*(Y*lPyFGy0 zw$>Lhw;Nt%{evcs`oe!a>8nqZcBM^yu zJZ!Xj{ZtIJ%#P5nK~S+FUhB7vSa$;Qsx#1s=mOxzKrwK+0L5_A_=a~3i}YAm%##&^ zD@vqS<;$?nh*V_3KQZJb@QUK1TCpN2EGp~gFDRv!+l@(c!*)>VUjJp}v9xNnCVJHsrEIJ-cmc3(InUiM6FpbEsxjf(F|t9E7sfzi_wRW6k!` zmrR~pPx3`@34QP(#4b4o0iL%zSHR9i)5HnVf?5uO$MVm!u>7F*k{#i)OgEhUhMh%a zK4%lPn8AMA0RLA+Xv3dCXMUR+d&;#C{Fr%2ij z-4rCSJb4(VSrs9>`xRjd;o08k0T@3K)qnSBRDX`|x|2~`tdUIw12&y*teXR9YR5U2 zVP}FWR)0>a*zWKhUpES!Z@@Esca&o^O8B*)iU^zGpV1p%FC)s?n##9juCbXeGLB-^OBJzas%N0-Idp zZ|R98Rr7`?aMKwUQnGZi2%2VA8WLXI$qi@uo`~3;!t2lc6!>PVB9y3U=+8wQ?G9{q z#qi8iqgolGn$b7Ft@+a(|4#C!6BBLlSA)Hh!RL!vw{ZDz*+^LJZ9Ys`1>#cWc{mC< zP*;T>;L_RKp2)Z=FQg=R^Dhi?U4tbt{El1B@Pw(>#A+Rlzt9lKY6GHu<{A6&TP}y?^ib*utdKh%d7|?BJW?d2RP| zspB~=uN2#O$Nl5alEW^w5$>}*)&NkRCwu{E&JY|(&zhVco&a7wGCZLoiA{2X z|3Uc|>hk4I$`NYtp$7JT$anM|I2Ut@?Pyn>u8%^tHgcvoq&p>c&S^)QPEm*~9t$Gt z`%>$q)P7CUwKl6vc){>kb5JX6b#=WzYp?q=^X)%Pw+p2m_H+v`t>jdjlJBv`k2I6V zGjx+TV@j184C#jx$Qqv?E`w7Ok0XrozaK5x;-SPn#`5CQ(EehU}o1#mQeX{eViydf?zgjwzz+f?L zer?wQ(j%IhLJV}n<`m8ra37N{^>M*L`xE;1dsv0GVF)~*VxBSVrORs_%WEDdB=-;I z(odr*zzfkRGTS`d`Grx#xWE-t9};9)urAm2A7lG9f@AP}X2tV^xcHyifFrcG+b^~k z-}l!T|q z-FY#>$L)=J_Wtln7qzK0g{7l@?G)1V365`t$W!{IoBOF<>}7V{PB<3ypUPZIFwH;JO~du91AnAB_bf*yd`!{=9cI;Hf<6hb9RFvrE;J7B zT0PO4wH2$C6k3k0`3cxef@kGZ=O@At?>vZ<0!gBnSj6>`UK{U9bEs<}JYj9^1^FH- z$iq_GxkW##y)q;RSmqaR1{CLx5x4gp$2f8z8XtwnJMkz?Wv&}{qWoFvg%;qEQz@BM zLIrPgfiCKmi(dK$$^G+A(qY=e9}7Pi?sz?Vd}oS5{HHLDo)FRI@HvNT>vAC^s*x zK83q`X_zHeIcJLhTT=(ecO}NR6@;X=;+bg@aA-NU?)oB0VkC;SY=`7vj?2JI;=bP4 zdlYh}i^C$wM>nD9xIZdIWBi%sdt3EgMG}_<E361LSsan|0jG zzxMJnDEYD~&O~r)K4Y9lCZunDeQQn2wbt!Hc{K-w;T85Xco3YfjE6L1=jCENe=D%n>!bvp;>XyX;08duivj^M|Pj*CMzqB}^CrxR3gM*@FkNTZ{F)Y0ABL|=;NhLSwy zkHXCrN&@;-jZXRz$P{fbC5@Jn82uL=-OwhwzbOd`qRseYP0S@j$A$>UPh=O)Ag}x2 zjah3)&EI7>DiD#4;qZX`u9LzVRcTkDK>vVsj8bK~s#$HS`b#(6Xe7{sG!F&iw%|EW z{MZr2ovpLJx?Rw5Y@4i0kyS^3t)tW1M9)l?9PNZcoppPVs5s7s=m zh*GO{VJ}Lojj%4JFeK2;T!*23BA3O6?grUBL7RGC**e@>a;T$p2@Bhlu&paw%jmH> zdTN{KClSrTLxR|xCw6yW!QVo?{shtOhx{$H{EreS4aPDZ5=uj21t60&6eVgENi-Kl z0r;;+Qh{fi@{tcST66ohH*!*0bo=>f`@iCHuAN>(;NL}V(Np{TXg617qC#bFea)FT zFc61N?N@*?cg^*=xzeNFbYP5bq&uP{B}uW0DR5YT)dRYH-$_4glqI&K8xQ{W^I=j` z_S5xI{+o~09z3ev|83EqsYG;!Fg>wf#N8~6?!Vz)luP->PBOZ@Ngs%3fV;&r@p=dn zLEkLsTIu1e{}Al$8q8Cd40&5L>Tf&x!W)0rG)MuT`zQ-yHebe(zP^Uc-LRhN^VVRBK{pL#fv9Oqz+F z^?DJLzEob;X(%P*LkD?iWmF2g)Ks2rgy$6M_JvD}t&;q3DZKGw`-j;ZE(K$N`vV+l zXdy4Py)O8mNStR#dvTay9pJUTs5nn4#|tUe_gKZDa*Sa%N(0n69k>Pm6qwW=P~yH5 z%Z+5vj}H)bCXV6N`ci*4Il(DN9^Cji52zIS~VMnCvNk}qYi8^!*jEtk%Md+ zo{S5V`rv9oUmh@&&)-rp|8t%gUmZAzrS%<5X3otPZ{)ObOFBE$13XrNG6FiXksxV2 zD?yfVaI~)wU7yD%$l>(BVa~{41kkN3awSgC_HE1tF9mXOB8B8p=wg9q-GEPz<>>4h zQw`YS4!HmMAa_}Cbne0Z#oVhMEZ=t=v~Rs9f`7v4agLPcFH1dotko*wbpONU*5qR4htp05aCqX)prt{*T7(k{%*;+K zF*EMT<;iXIY81>vDeb=cNCi4W6-Xn6x(+Y2KMG}k%!8H~j*B7nUJRm&Z*`A)V^O}f z*FE$NPh?(N!hazR7z7cs2lr$fyFAUYlt z1-8@^>rs`pF}@88K^3Iw+ZqLJWmWFTq(gWBdX~Ml{dw9CL^DA0m~D!pIA+iEz-z@Q z9nTfH*Ws-kEZySWvq|}zc;qtIR}z^NFB$d0lH*IP&9dG>?ONrIHCOaNkmq zlZFIKp|3zopi7wrD-B}0Ge#DgeheQDHcY3~ZE|y8_gFf30|4+;xD#zi;PB)W90DC} z@mIkTehz=b+ZX>U07@cr4q>|bz;?4a`O8MeI$3)9m-#Tu={|g>?t3|X3^b{0x04>l zY~^Q`kUw6|DKX%`QH@?Ji?dvYT)3Bd_hc~1U-~Uktfe?sekeu_260bfTB~}V5jiE8p{ln`3`A{ z7*&?P1dG|6Dl^`4O442vs?;+$z4Y*aWVRfTlvKiw&Jmu71CsnOgpLU#!xM3`g%#1L zEQ-AryiRg?oNS-a{15v377X;{Sj+COOL{Xl+23apDNKJ4;Q+5qe~E?ZPyxXWtOByz#Bkok@JVK%Ct9DB^EKb^R0|eUxJ2A~rM4y+?(@SQ<}7Eh z7R|t-i<_$w7z4|db+wqnv4X(Cfxf)J!NG8wc`)v)G7LW3+U&Nv-W<{uNL?;Zk<7lyon%1-8Z2Z*g@4Nnb!xyRh%Ov#=BSeqf8DKTcR`Fb($lfREMiX6(Dl z!x6>|GqV{b%_WNW;{VChfbCg;}vPFzo(Q z@gQu{-V$;W>vWP@%z^cC zU@^M%nR@tsvx3Hb9vTIDX_^IZu6ip&wPkUIC<$N9U5&~xnhhN}te&EWcL32;9_qn% zZ@?#ZT?=w^OPnP?dcu$9Rto^8is~zhe3413%8+5FH$+?{)iM8SW0uG~lqK8rlbk+>a23G0P`_5G!KW4I#vSL7MB z%NcwRWD+>one%@%n|7Apg=0|s9E;>zBsuoR)bu&5t}CLC;5Tq^kiUd{uSsR>v|rF! z2R>3_%?9Ht!QNm(9D9S#&d_M&!_LteEI7w$sX}?~%dwn$n~me~SbxxUmkZqRwUpIzta}eU`Q+ z*8XO787j4)9TLQ;`(Xr#Lu6NlrEP5kKXrE2E}o>&VV{gvTu&=OnVDj>MA<%QY@& zirlPLZ=jZ7wyz|N`7-pQ(C(YAN297yB4tsAfo5 zn5n@(X>g!MgI_k_do=iD172;wH)`+|D`(mTyzS3EH$a@*jAT8 ze&ExNlo(Jm*O17tZSy-D6-@_gs#vU1L*ws8?Ky4wv1rYKC6X9XT%TJgtBqO!VGHKs zCwn7v(wyrvOdpaKZ<)TKAPF&J6PihA(6b{Jlg!=?F9F^R$1lOTRt!w_sh_X-H>C6v^q`JV74F4glpIG)s9 zmBR;`d9dIVB_>{r(Dq=^Gy1c<;dAm}!B^g@Rh}#AG{UK=hR6Dd}`WkdbK^Oqlh+zkfk}c{l^E`?IzC{_!sS=HWlw`7g&2 z#%@16N$!p=;dF=Je<(Oox?2(M6P+cDK(jJb;S6S=X{H((u_IN4mmb_%mr1(JY zGcQ1YW8K~Brs5Z>MPCQ^x>5wW_Y$|F;Qw{3ZwA`XtUeTeN=wCN^_GNfs|ygPHcYeu zAmBCttO5Lveu*{aFa&!r^RHevPZh2V1+L2jo;U&EdWAjF$M|#cOvds&hwpS4x}lNv@RwRxtd;$ERdTkMVP^eg?4`mDsCXC<$F%*3qsLw9xJ^4N#j^@6>{(U~riZM{N$@(TUs!Td{21CF}!4qm!_e!U+k^_An@BJpo>L z!p9{`D*=mP^8Qu6%#5tHaF-=F%!0WtfxzA?#d<8&lDLGG72x`R?6?Ixik3- ze7d~Wwct2y4NFeJ1F|WGC0M{Exn;6jra0UglBVE-+?~_G2x_*lt+T}jWvd#1gFfhK z*M@M~8Nogg2Yq!En$$k->MWcc;!G0CZ~b~I9<=xPXV=XT+%&31F%T=7Hvtx6`RwR8 z2tu<_l-dgY3YMHxBbB*4bu4E>ePeQfotEdy$0MzKZ6_3`Y9W%Ms4Ck=<<`Ir*J2DI z7RT#6QeTtW^eK;KyB!S5v19gfwr~fRM5rD*e02zM>_H@J;0=tya5kxLq-F&1p4K4S zc4Y^dvi&s3bPT8vjRD{~rAy_p_gHA7k05D6vN7@lrU@8s!rmrTAIO7TJjnD4Fo+h& z5w3NmFEZs))PYM}9_wH{2mW3!r8K)0+8H%q8ugREDxp4hQYJQ)m2PTdC*|V@w&)|> z;gSkZcnOxYTXRK&cO%wQYrpIbPr*9jjdZ*G{LYTGE>sven2F=#cxSv0Sre}Y05{(n z%*{9MVSdE~#|Cc9cKDyw4Cs#6d1ji;*2cPP(2W`d2zCJ6W9>t190n`Esr-J17`SY{ z5-@o{H4vZe49&(cK^0}X9KJF?zBMwVOSlyKF)Z4iNLd%@F$ZecROvCs=LojT#vT`@ zxZDt?pNI|N?x+KW*cT9fkecWk7qugKyp73H}c1M50`jpb1Wi#8i=P2aG>)!DToT0an_UEzmAXG=?;gVve zhyBI{?JN8&mTk@nT3FEo#VHDo zYT{3_sN_P)85@fVJk}4dU}E4sPzY7{eg#XtBiA~sIqH2y!fR^G=!RT}E(kdCvqzr5dDsBTXi_ zMv~g^-uO*-_Yd#817D=Yvhf|u07HXG1-g@ZVhdxSRBMG&UwBS7SOM5+cv8Yz;iXpY zGGY2Ftn5W6*w>9Yj&&|n4lA3txMqJ}Zy0t%DNM!CDDMF5Z)y&%M%drc9XOQk^n5@z z->kMGX~q0Gg*e#n>b!Y84z)l=^H&~}1=@K*>JniTEhW=(hD!^h^yKriRm~;; z^&Km%58j8A2xT~fbVW)n{2iv0Y@GlvG?@f+mJvAUat7%=1JeZCg5U)RM!aBkrB$K@ zn;>Zh`Ma}BUl&>uVDK*ALffT%QZSf3G3jx7_D1_lYA6Fg0K~R#7_c9ub4>glyKIgA z6R9FdwL<(aRx>PEqMdXYC~@gTvL! znvSt4t%|={Jv!ax?+~8u3r|Oh&1!cemUr0qMBjv26j4D%11N`MlgAbuJl+}l4a&4T zJ>&-f@$kbHHsDwT_!Sz9irFaWaUE#!sM7qU_fs(V7#5Z8b(3s%LPTdgohp=FM##Jeh=8-{tNtXB&+)WxO*4ysH&^+dvb$tod5~q z1&tat3TPCxNdr0q6PUx#4-do>Ft8Hm*t*!lA5)~5= z0!9el@vil@W9qFcg13CXwe~q@CK!DCz5nNZp6~he33JZg`|Q2;+H0@9_F8MN4Tx@2 z!Q~@ii_+X2nsc!w*0{odDI&jdktW#ka6FNcnYs#WU94$Y_6`fm7zL#(eu2Pw4%Y~b zX4M_hbDEu%$;{{$#vjj;|J|;9`k8c*TLcna|LP&F0Tcoj#YdOJ|H6wvWq52nT{p>TyrTx8MkJ_^VOvz5?uHCUfep` zPZsIwAQi3jxSOJqqfTdYDr*wcLp4l#D(mdo=EkoCN)eRB^$}l})C9J0{2MdZ-6;cv zgB*OD=qMM2!pW~rj1Omj&4XSwVX5eYPh|OcUCamXNKUZfEvAZCx@1bMCahh|xkuNO zjz5u+{Bl&V;chKqzrT;~h2f0iR16!OVZs_Vk2s|wxjQG(FT>o%SvK@~lUV(zVkTAi z{z_JL8Gi4)`NlxNHTROx`JSO8?e{a*(3g zoba{i!4mx$dC`D(+|{joe&ReSA4!MAJM#j*F$H`8r~Oq*#G6Efx-EEloHovJ4;A-u zR^FC9OAizi-o#4rafqc{te-$b)N>Z~Bp+ENRF~jp>H`At5R)$0u#aTBGx`vOP0RfE z3pXM;TS-aAv3yM+(66oIRnn|U_3TC&2t?rLNn+uOz>Nt3584G%zz91p*Hk|ltiOl) zxs!^6EL+_1a$3gI1&$sp1(sm)QVKXXYd1P(@{IjB*dVqD52}?&q&ld(rR3(0bI2ov zL$E=VI9{Pkyh0KHjY4Cz5dHgJR-y4;p+2@yki5Mx0rcaFo?XyM$0h)kxB5qT@aK4I zy_#f5;{4A$qTP(4KSI}68BO0@wv=SS+`3m}>h55hOw>v`AZb^3$Ub(ZmI>>+98FCt z*By(k)0>kKwxZ(*k->gNtUo9?R2jx>om63pUq&)U3nt!yobP=%ntE90S?7MW$+2Y! zwvWZT>m&89Tsv1PKXP%Z*x%g2PK6#$PgFB_>2R;AiSb|q^oQ6aL^f>FE#MMkE?6Gd$REB23!L{Xd#JD)Bup;U2H} zM>=HQsxh1mr;GFSCO(V5-OyS_X$P{=D7cwnF9TG4Zh7;%5 z-&WK27u^!lKA1LO+9!^4dd;Y~EI@=Fq45sl(&ts4>fV9Py<&Tm}qk~(FKtmvbg z(^GI`-D;aL`LYNg)_7pWKM<_;O%w|Nt)UAULO=$Vr}KS`vFg6^rkngQ$=3Em?2?J` zt_@u+BPLd0w*Bd4Y>n(3{VJS3xobS;)|0rjy%pf|Qm4ej>HK}07(!|X7GZI$3KLh9 zvEMp%b~NdgP*&Hop&}^P&%Fk(jE)<%M@<(3a{B) zVRmd@%`3gaizw`}VH$A3UJqf+lme`%x@46WXH>C-(HQM?#&gJwl9` z#si|a2gFY3rpLn2p;!3D^)4>9P}n1v8bn4g$hNM3gx!rqaS5-;FJv_NP=yYY`v^M) zST_TKTAe|;r)(+x39j1(H#g6;*jhz%P@U{LCKF_+-7JJ5WOKdEZ&TLU;Tg^4{Mad> z*640R_85k?35VZz9YHJw~1Jl~kX&0EqH~^*3l=YG!{PDw9(<^9ks4a>(4bO2ozZaOM+sh7?_p zt^HQ>&T8p7gg|&HSrEzmnV-4E%N#~#r0TcoKz4+j$ieyxm+->vcw$xUo1#ypG6M_| zF3O>S})k1*U9is40T@aOsoVW2U?zhI6MDrk1w~GSv1{o7REif`1&OAQ^uSx zk+glj_vBqllT?*~rW?;IVqY)t%0YrC8toO*H*0skz;y)L@W(520uRqYs};`)+;vS( zU{oR}a5E?7`_9h^th_2Guz6ul;8dbf#`(L0zjge1x*YlS?=M7i+Y)gmqrKUZs8j7t zVq!G;&{En&-$24bF8gvdHu0c2qmRHgK}`YEHzdE1vyjeI^}w3m(YlpP)GyOJ7JneP znh+hmMM!h7T+-DiH5u)YT+$rX2oV!PBtYQ#iT$Hhjl2W@kGfm)KA-ne{~b)FmaRa2$j>VKbG!XnZGYC-pZo34TKm&1KdsCD z#1C7}E*}4$d3@M=be5^!)z;s->>kqPKMRP9R1cqc%(=F3RIE1%B&awAxTFOxX@N^x z;F1=&qy;W%flFH8k`}mR2DoGfxMT*nqydK0BxSw4%8M<~%_^hQrjDwax?CAt-4?A({;{cNG_$)hnTZ< zRdC%9Sae}+vKf2C8HHaFlCZXGOTxH)@(wzRy;58b07%^oe3&9m>P`k5lWsbHP^5a< z6jr|A&zm9s10#+SSR|E_(GDkfp^1vEkEAqpL$Xl@KaeO&-6-SUx=dafnLw7az1Lr7 znY0ns;53nRF@V1islHK~3ey%|dGS))7H!akZNYw&S|*KmUg$M9eb43`3!S4xR^4)K z@ragiN@+0M>Jwhrxk>xrI6|t`k5lULaLN&4q?Dw|Gzt@~NK%~UXu7yIoVxQSC2U5r zuqL(gCZXaD_WZbo79t$ICE_d(&=GbF(H3XGe;wS1$M_^}I7<{u$AW}L{rn@nRFfi+ z^(5&P#uW}8KM^71+qP4$iL*Em%P(H&3^<26I^W$30onP=-I{#F$1eoy^Wo9XjWXNR z5Ip+*hNti#7MG7;^jWOMx5!`~?<|wP@YMI(qH4wI;=-ywtYE<6`#Q=!1lVf}ZQeBn zW(WvzzOK4g8k&EchD(V$pRI~ImJ>KP3D{2m3e)s1*dv(Iru^!Mr10FAbr#qG5vmJm ztNT_f(^xzR_9CA)ily8v=3_5GG(YA?Bt)E~&`ZQ|q`ofY4K>v*^XIvo$do^)$*R)C@Gi@tk}dh9&Hb07uSaUNoySSBeZBo{PLx8? zqDJ+f>TuSLJ+Nyws6Gels>yex%t|Wk|M*@d5BBS8-u5Aw6)qkSK9o1SgM_`&#iG5@#TZK$qh!FN?s-PNZ4eTZ!xU!sC1H8o)vRSb?F;>;^fpOsTR zwP>!A@D-?%RNNbTe;1{9ouI7&}2c1uKPD70JYHWA|*^&zv6Hc!|Jy7KJ0+ zHoE!0eMftR+TIbiz4J5eEpywu@vWZvbou|dz1#CqV0W!nWTFk^jCHUcssO`l6vOrH z`l2M8xY(uD#Q823_IIKB^39&0dX|m5#lm6!XfLI@?;7ty;BhN|@DhvSU-ek|Lcj8I zAI08ztna|DsOy?m14GBHGAVWsSa2!+V2kE_gP>iXirj<}Ag`tCb>>Y@;?(526@rBL zMAQvy1En&bw~K#nb?buB@nSxB(tMDIge>u~&|#R);kC1x!_LhuZ;>oFZqH;-AD_Bn)CGe=J6m(GxGQ_<5N(qOZpSse(Du%Y+_oc5dy}?(0BuKST@EV&BJ<4~e6uS( z=9nxV^5RFL58jCScLWCx%G{k{yMLYlwJYA&x<8BsU?}T#e<%#4w?H>(S#notaQVmJ z2LKY^0^pa-x(on|djQ}ZAAqB>0kHB`aNXY9=MV;D0YgC-#6!Pe{pI@52j^dX=*!hZ z@?hC^uzm@nk?dL$yiP(CU~>#Me4mH(X-k0oAx`fol0cn#hpC$Zdh_ew#@am}dRQYY zTn20Kr@g}~4&U19V+zN$3kI{|1d|Wy8$jbxpft7?qH}31air4Md{TtI_6N}YJV3>J zb19#gN}%l|L`%Wvvod|KS;M<^r0cbBcjP5BRxurZ&R%3Xl9``-?N6s_723?ciVC}k zMKNBjmTusHItVMQsPRN?i6g2k$1{j0aPg`EOx<^H$o&1B=bq9eUH(p5W%EUT&_j)9 zt6$ShZUd0Ebl*Bn_7hX0v;I00ULj`{qH=XvU~NAC=sg!T&TfKs*Ez2{@5P)BR{+3> zwv+-A&-R4y(#o-k3Zg`Wa>gDOA3iojIK6bqzkcYSRKkbs0uTuI=$mXWazAwzu}$w< zdkD3l)4|ndm%r98d*810qn~QcUyD99z=|KPx@83b#{2Lf5!>Taoyo=N{3FBF4WiDN zSL946OHCeDy*?P*n3_=58LXO0Or+H16|ECWAyp=PnP>{u=TVjYWbPnwo;-{>lw4F6 zSe%!-ybPE`zvRgryZ>e3h@{4@1q5emF-R=MkZ2D>I1@^19Bo|>Cvtuv)F+(WhEc|v zCsSu6^C^SsE5vD&)`%lsD(EN)LItw&%j&Up-VSWIBCi2LWR?}2WAy098>8U5&8d}Y zv5cR>9qx&PBHV7`Yy)=ZS+fr`2;tn$=MhdGt>QPiXjou=8QtY@g4K@LJ~z(|N`KFU zgSuaYtJ@QYi6oZXeFy`VN8{08M1`_;dd^)EBA2})b?!bS*f1GT!?=9Fy8`haMQ6=J zf@?Q#zpOK3!5ELD-Unvlrl?A@_H6(7z0G$Q8>!2Soj<7} zyYt{ZhUJG;FRT^f5b6=)z)dnS3UkGg5<&+T`-27V$>u!4eexQoFmO#T85!;gK&*_U z;!YvG1L6Asn~sIUzwpD%zJR>K2(z zM1Oy;8xf%hoEe@m15NnuBXIEmejle-Do)b_uAYGjIsMYN@p>s$S-isUOQurH#jC8> z|1my6)*&6+q<`J1y`KvxXg$J5>meQY$o6ITlKI2Ma3zE$E}rxYMonD5v9AUPcg)FO*o)xQCYD5 zGTKTlD(m?u+SK-VW|w3312FjM&`gS*39S z#voR*Ryt*OW}ZfEyAC9?-fySX*4l@8F&)mHO780*BaHc2dU^rCW5 z{85hhHG@G8A|&L3P0q1t=BG|!a(C}UFYP4M*(d&4a`&M4N6Fp$#5?WfRq;1r1o2ms zyN`*#klZ~c{!DWB@$q)9Hj6)=+2^5vJB1E!*a1%S0aH8|2Dps8c+t8sR1RHx{{qSJ?h#xJ~d`_*Q8<>{D#xuR5A3wrOpi4lVDBMl)|HC3y+#< zdDPUL>a%ro-ENBB5gs)Oj(Yovbe*c8s7jcWJJ;mr;#G2V1>2n^7ij5du~+vII(i#A zvUHRAAfpe_6H>c%SAQAgZ~pxgrO^v8BF1p|j#NKB|MVL1B(7dRe`JiXQ;Kh{i|Ahz ze6Xc{OMD-hf_;;_`p7&SfXTaSGi4XNB6o;{myRv$n;2X(Vly|7&0{(R=nI6fgCoqnEhQT`r=M^eI?BlSj*X!IMvu zLSGmWIYcd-!^U5658#%DovWf@=O-}~dUBH&8mfr%p2$t3VGU2#aWx5(dx|*+%^AU* zX4l}v;k4E|9Oi!AJVPRpMXt>YkNA{$F-6rIovp#~oAcV8Z>qNi$M5EZP4XZH#H#Eh zWMQ;5Pc@>|Ns&b7f`&G;4bP5er+Qm_*t|m-PZ&msMY4ZkSIPdz>Cv+R z0$h!=F`V37)Y;p8ks2OCEbD3oJwJVeRYwROzWyWOHgWil*gyS9Izr@ouHVV4Ljk8z zGzWHG;(Z0Ky4#0+D*5oo%0fm)!h-tRXT(%l8c=-q980zFm z#pIAV;VG%#t5xnc^yZ$%fAKGcldIke{TMLzI7rl4CR-5aud@G$IDZYv%N?S5htXF$ z%L;j~B_MR9Y;2vgoAYh%YGww3n22LWHzSBtFzZm*`EdfO7navKOUm&h+lXDg;Sg%$ zibBV*{S#r!nN-#&U#OKcZxVZ#dPoB*WApNanf)fR*%IBn%qTl;>6$BEMc>a%( zEu?NNl8ZP?K}gN#<(v5H;weiQYRaMADU)p6KCoU@BZZyBG?KhA43 z`12M~oe^?D;7Xl6ta@WO7~7PZRK`LhJSLsBrab(b5P_~KrBuk8f}q`7R@cAreFUNy z8-CcXu1m>h?UnU)4C`y~I=tc74xLdpMnXj-U!*y5SYzw*zU+8k^6>YF{YXYSSpPJ{ z<|0cDp|J3Zr9Eg|m8?YC)bpy)$B1Q>cM1UYyQK&T`z0$; zfN&&I-}*1Byj8PbBmudw0vXpLi(}W#g1U}PtbPDR*(Nu?9g=N*rBOoiSj zOn~)OPOD|4-fy-DN)D)+0UU4fb!tXg2ac+Qto$a26=<8;>bMdF{l3yl5Oo;=;^qHV zfUuDQdKMs_+~4)UumVJFS1SU3_peaOvxJUPs9z`(XkAMcH#Esvg#8+SM>Z-c3 zY%v$HE#M4*-O=K|Re^>e5f}a6SR#S&%hAT%W=_TIBEWKG{7_lZC{_*{%i-mvooC1s z8kzfRa|4<%fkR@4d)g864(Af7u>}4trG7>!CRM2redoTMdr|8qryQ5T?!s^f^x2iPZWl7`gLNBt7!zn(F(+)rZ}B`g)Ot!)){CyexA` zWLnpxu!(q$>)6j=Dwe z7)M40!qpFIy93>JSvGbPhEPQ5_v0gd^|NoE-Fy3(ZNjMsrPXltty*V)w@&kWtx=(F z&A(q{&2ZOsS~9uhLJpbNCYKa(Gzw8(BE0?KE$Q}uaMn=9Pg(aK9J?GxEZ7_8_Sham z2n(HMy1=AM#!r&7lbZ=SLh>9Fybt0`my98m(TJkJSpjTj*Po%(TLr%H>Hf#XoL$w| zOMUb9bFP;aJ$0+NNi=MM32sYiO6Pvq6i5ps21Qa2s(a3L@-Fn5TqhL;=9kNC_}~pV z#=24}Q={Om8P4$5MmWQD;+5rGr(#2T+zWUE5_1;F;5eI7njD+;JE_iG)FvZ1G5w>% zxC7RuoM?t}PIystrt`YU$dlD=LEZ9ef`1$+nq; zWHMXkJZ?LE;V3%&J3C$cPCsM9FL-q8ZUHxP9%t|U^%@t4-keBE@fvm(mwLqOf&1PL zAxDcci{bI9v8yfpx;-Nu1r;_k!x)gqu;MhF0Kf~ zuhytpcxpnRL=$DxHQOv5?rX1goSCVEug~|tcCMGvcKOwTcKWJDICZ_9!s6~{XYl?W&l-%v z-Dg*+TZMh?wcS^q^|j4!RW&ymm~E|5wVv|*EX{fqcqzmwv4EjK8ZN9ik(HS8mWEmSq)vNk-n*JpF7C2 z7o_t~VtrC|5^9;Lg}T-B{BeDC(p3C$Tf6(?ZXhTaA)#Wa%L}Cg<5MG7qf(D{Z3;F_ zW8)$Uq?w{XA~w@jF1yw}n5@o=(By_O!Lo+2-0>vaB0X`w_&m|Tch@fe`DvjSRob6K zF)^ofFR(IGK&c6{geZ*uN6_bxh3JbgKGrPs$mi^|i zJ*mdoZM|@@Zb2;0zpIzK>-%zD-*1qq;?j(!Ak#f+*Y~2-ZMwWK_m+1@KV?_k)g%s< zFiIqgnI>@!!?;|whD>p$^HiHL+nh&6Y}P+ymJ<4Ha8$@{tGRW9h%07N`Wlwt>PNk$ z?S>T;3p>x7i=Pq-d``|#>4IK|Nk9S!XAVdaT?`hGg7G>eH)x?jLO`J_d%;51lU>PKKSHh zMgh1h^Pvy_utvzG&0Nv~M)ofKRc^QZ>U}&Etd~>fe0p#lY+?`jPgUaY#6*&?gDB#} z+9Lh|OqdcH7FRAbi?I;;g4yutE;nuix=BmBCEMflD~zZ2oD+dPCH|HgGZ0rypEqQ5WFkCzk}YVLDw#_E!lH! zJbm_gf^aj18ZyMabG+@^&tUT3LEO_hJ7l*uM|-&LZeRYtqVNBb!^hsnW4Pmj^f@XJ z0ckJT-u#4z?f(t>K5G7V(04c5#^m}Q6kW9p{|{j@!HB6+|KjkYRJr|=T5To>HEl^-!Y&1J^sHrpXyM7`lK@aBp0OLvnBbC`LuA$ z|K@ypaqgb;$=Z|rQ2xor6|yWN9AZ8qYHhqG*?7C85K=H*QcZ9SR7mFOU#c{fD2Ew| z2$w8V6NKFSRe7GqS{tM#HS@YVB`DWQLq25qG4tThY9T6#leP2Y!HNkLqgC|Ss0mcvWUv;PTBid`LycqDBV=6 zZl;NYGsTXv#nh)ubWOfv*2}y+B3reXvs3NS);>|{+y6^N)%>o=Usxa2Ht}Yb{U2+Z z+W*N}Vzu`e)zthSjJ(1_-&Ox(^ZyWH9&morGymgxgZ6%{)!wU9ncDwFmm$WV7`k|& zpa}1)_1A{Kz;h8wke#zFO(q9bLAe3Z;*fVJM@gtFCanySP+9vo&HcV5#-JK4sa zJqoPL6mU_zM}hy!6i^9WhpKmCfsS0AOMtj9f#c ze2Z5;*sy^vhH>@{Hi-5Hn?>09l}OZjjaRet1y^He%k z5U6gOH<9lP6N{zgHK%Luv1iw)kIZZwXcDt(xjsm8|41${A%{!kn*QkM+2YhtQ)<$% z&T(1`21@&-y51br2B7N# zs7Rzrmsr^>Z8McDpFJ;pNB^b!!WS0Pptst2b(BjTpR&yKT*rI&b+4n&d7=g?r6yHk zX6iHdb2_T7Dqc2h5BP51Yu(rHQFk}^BrxG!Om(d?SbsB*O?QAJnc@HE7Pz|`m}WI; zY+Y3+JBk(H*9aXZ|L1745PSJ2*x+skDCtLgI9wg>#L_V4~x zvHukYT>BO77}k}+I;xiA!~ z%SXpAwh~XXeTxLua7u;>JXYpoa#$t5xk~f!wER}i403eg+U6D=2&Hjy+!H~~(X=S* zrueehYoWr)_I+6_g+i>3`z7{Fwbkd9m2z^!na>PuGb`$ph);GdkKxA?4Og4_C#KIN zO6vCchu7i3BmO&m_u{|vIHeZ6S_>u#oYyzeYs7n9TRZcZQeNoYpEkUIRjd}yiQi46 zo7!`bu$CT;JH7wZoy5D5Ayv&m?JO>=1~waRgpU5{DX4GWRqZgD>0bX!LH;(OC6X z52Ml9EO|YR#*^e^A>SR6doSHX9exzcXwTg&z4tr1>7s0i)k$~5fJ#u?%p2(DISR!z z3?ybtab%yFuHNwp^GQqwHF2uU&fibg=LuCxicfgG&2zR0 z|N3Ry0QEczg)fY|&~F=#F@IXN0-fV!Ja5m$&@H0Yv`=NL|we8gbhRarB_$ z1{AQ#UAbImOQ>WyK-Vp|1>-*>GMYHsbepRJ7SLi=RVJijqP^Yy-Rw^{BzNWPrP7iA zlqU1`lKa8Ck~?58xkc|uZsA^X*Q2AvnQ$+;_5YUKzI(|%9JN<+SHHdFuHfK;cn$W9 zrWeKaz;(qvFj*PiOR<}f$7CBl`DDRru%U|M7|y9v#5uQb6=NE#KSEMkNND0AKx~85 zB$P9gL_`VJzb}N99#Hoc>sD2?oM^|DKMpqBLn=H)eA?f77mNMCnd|s&K}D#pUV4;VRg7}9GTqOr`GvWv; z3D3BzTYVoP|75}IG(Mb*%(~+vES;O&=9R2=>f;Z(Bl#~yq`ME z++HJDiD|5AGlkqXBUW^t>}rnMP2)t(9_4*Wx1#Zbe3twR&6dkR{9ezE_xI{LK!q0u zWEO~%nZxZbF%AI$3ITC(M`HUl6Duz7IJj<+>#jDN-U<){m|VhrGW)y!i|ytZ3yC|$ zT3DsCJ3B~s*iyN;K-y{adud}KZOm~|_cD4s)(S?=-ggF)aoU@kJ~P)msjUVZmV(5r z&P3yL{l4C30b^%l`#KF*-o#V}4F`nFqt2Dk-TQKx>Q)npDAMq#yrPK2M5i6&0l+NH zcaCcc(2hCZR`^KO1EM30AD7bK&ZBJUlPFDvgS4!W!_it?_H;@IA7U7w@iBqKfi#gl z0u}N83RR-0V;_iEpM&*7d30GvKOUQm_O#tRufP(GpZAV;`NzljBeokZ#{Z(SkL~*L zvZ-U;ouqei9FgU_JSe`e95zi1Nj@Z7>3}x{24#JX5A-pKgWYK*SHpdqgZ}f;?!)_U zSqFsg#ZULpUz@Bv&9c0cl9jy^L%+SoeoZApTL%fWy#y>!~% z3P@PIj0_=)81a~ra~M`|@C6B`j|vPbNl3fjAvFxkqFn@rN(6@K9p}S+L}EC|62OUy z16OwN%A~NpFzeGkn{Q* zl2h12&aFmr`t*=`)Lhc#B_aBzZEgv~S&!XT3o^78Yh8C^}7Lu7NFIafr^%>nB)hf(8wOZjB zKBYatR?$}T0-0H~Xi}ZP;L=6+;8;l1HlCD7?Ca-IjNVs^hz}!}2J?FxG*YQoGQU@Viwgw|RB`PAimKkG&dqNRsHeY9VQ@uOC-* z;ifiPx{7B#6=I!uB`A})*nrq-y!1H3ZN8q_aTh z4NKRS3e4CUy7zTvmkO5j1AxZQTn-4;Kl zj5psoYa@4&G{@%)g&<Rq!|{m# z`8OBBtT`OAzRHB#39;&-!n^z9K3=$;3R$L|AIz?mlcHbLa=bxdWS~Isah4u+K0j{` zyGs>`#UKz6o--x-9;`>zL8W^3D}m)n2dt@76Pbx_f=XXI%nuO1nb$EV-An<|3ik>x zt-_TH6V?@f&Bcl|6WxKM|KfCiI!O}np`wZ7Lb7`(H6OxNygG4Ut1ttlO5ql;1(#iX zDP>X3EGQESvTJ-E;m3 zYZ1m0b*_SZ#`luWA4*4=&^8Nd*UH;t5 zv;@Jo(zTZ|AfIe=Zg6v|dBrMbhsg}Tm^PS8P;r~Ne{s)k zEOb8&*qUnH*NIKnp64~wM&m`aQRuc2+e;hy?x%O!n%@4i#X&mL#!qcd ztD7^gTN`K6hEO*%MHdbZE9=tmEeoyEw`w&-Cb~~Ye}~MWtKDebo6R4tQHoBSk)FcF zvCZ7!zDIl-UGAoEqunV|VuAa9h>yyP+?1m96lQ#zIn%z!i<380!ek`!tpJojliXbSLmiee+`rcv znu6YmpP3ZSls0DaujEz8Gs;C^=FUonE?w|n2ZH}}$sY^3q`C1B{ett;DM9j97D4m2 zKDL`HAPHx3JS7$!Y6U_0na|ZRSv{nNbI>(Pq{N5gx6L zw3&XIE-O!)xj`~Y-Hd;q#mgf1AYDtp>)fRD{)m1YVym9liKIK`?PXs+#zaxj!B&jagb z7_C8bTv7|Y)KXGux;eg2)_NaJ(KAAMvv>JagmwS?Gi;t}#&gVfg8Y{9TN-U0FJfxI zT)a{y)O6KG_ODItUx#3TW-{@q5V?O=Sm?&BFM0Jak=}@59js4ML(DlDaKn~>`#ZQ!<#h*n&-F&u8U=j4>_I*@2YeFItn*jF7RpQ&H8!(6LQcvUx1K+1AC(wBUdB1S;hGz0UuOx3j@~(FCzCfuC z5hEN8f1W&lKAj!%=DIugo;Ii6CUC$5 zAz(D-Rv2nJB912VtueaX#n4V6(^tPnoyo`M%&=EPXZAn$OZV9SyyfqIR+AEQ{wX`t zbjeG)~WPS$~Jw!MO8os7%WN_U;6F&urx;CxgXnDME*9Lai$uF18eH-5aAvoDo zNAgPp=KXmdRhM&4rnAsq@3D0>r*8L#-)F)S)Ay<)ia#OKQW)D?r9+x>UT<$OnRl1};kUd#` zu~fv&CuFi*xlBOKM38HLg->ndIB)-?oqd+h3LW}4F(3V=kMvUHA8*3j%Q{6miQ$7H zi{V0Mzp}Y2la-_Kc1aiH-Q$jny$ShW@EL`(bG&ef=(0+O&l5#;a_(IKD^tjV=0Br8m|ubi#5BYTl=#D1shP(X%_`dA*X-gC*j`G3`Kon<14Gu zC#!p>{^{xkdA;xxk0#=kG5mS}=vp5jP#rM)2tZ&(L`^i8XfQvT}7*X$O-F!NoU)cpC5ZwT{!IBZeq66uq-`G_0x zCN6x*%DP~~a{GmfPuE713yT7Y1)j;`$H}U3iA$3UX9nW48V{tPIpQEe8W*XiCa`|G zg0NlJ?Mu3(KR2zI8L$m{fBSD34(Tf*?}U&!a+iE9uja={6njeJECsr>s`$tH;T^Sb zI|)s!K~T#NzoJ zbHb%j#B_5m6~_>>Q?PAt)rcO{*+bqPf6M+QMnM*?_g?Xt zj7-y-(OZxZp1q5RWn9p!itKd3efs*Mydw1!Ea9~^zfAZ3B+-3Bg^@mq^ay6PV?Lj}(4G@E7@wUSxl#x$iR*_Fc}7>z4~-sg-3*^<|~&rPsgA-Ji%E z8NHHMF-paC%oT!3oDL$NiuZDIs&YBsnrs<{YfvgEa{GcAeuNVIM428)8g^ccBCM2H)0^Xm zO3knqJYo8rhmD#iMDKC&e*RERmx;hE?Y95xiQbR(=)GJjJy5E`G3San z5#gHANL0?TbD%E`B?`KX0yl=`9 z2W9GdQRa^`q1^rcUL4&zA8TJ7Ngg9Y4>#fgK3ZQmYQFf_1jp*Zj$Z~t>tQ|J5 zvtC{AgQ%D@iO%Zx>lldd=gMkxz6{8dx?YWImG zD2v1Z(_e=xDEm_Y5-I|*T+zv8CTbxx(^Z8rl`ST>qJAorGEVlsl`g-6YUtGWWo8!H zl|NC)g3bQ4lk~0T;ZrSTv$nIB{5bt;la~*}vkRfOIza4o^BWH{e3ji4`7~(v3~F zWV^YH2?^nxmY#B& zf?z>*UNz5_TDXU+IF1W|Z-#~8%3cGF6y($SW)!Xy>U_ct7jWlJ~1@dUANy9kfE z>HQTE!G@0%;ayzi?K12sg7C>!UjBT@e=wzvTcN^o@-`U`;i~?m+J!Sj=Vj`G;0?<* z^E7k~%BRX%z>tm&7N>3IVVlgrC}TdK#l;SczOJ+5#K7q5T{`(?VDxp4Wqr&c#XkC^ zFU?p)ed+gSs;Ni>{ zU`Q+x)PYDnq7+;i;l-hI=03Hvs{}fN_f-7RLq#{j5$^6 zV`d*16FuX0q13N_jEzq8o4R+rp3ggD{uX8`UC-XeI8#|mvlG%K_uvC&ma}$5ooA8r z_&|3&CN4>-36yvB*I7_zscSraF(Mo$#*>&Bo?qz@#SHNd713>G-n;Z{PiX`E3V#&k zySp9QtxP-PPok@!b1p-09;-8bKQ>ueXyuI~l9k8Go!kiETX09L3RfnIg?9jHyBX6V zh~%5jL9SFTmrb%h=!AS)B#V0_zd~j7jN6OCqxvOSZc%2B_OZex>=vQLu7!2de(%PE z0lt%UsyRLu&=TKkyqE;@OwoTZMS=~2WV_U$l4BizN}$|k<|~xer4bTyrEJznHhmdb zg=u&;f&q4u>&7KUedlr%?N6@E`^-j0cM_Jbq(@DE1eyZ56`s933yen<4DD^O{!Y3T zt(sjPY!I(g7u;YyT|n%R#p~MS)oiI3TCT-x#|hLCJH(`n9pcq_vbI>SXhO1xzeuXu zH%2rD1#`a${s)+Q7GX{oc3nX61XrlLZBH_YQ+!C^ELAg3V_$OmlkUDm zRvirOOSL|ZXv*%&-SQF1UQlQU-ug`@D}%uX@glFfawfqEkk8gD!oXm*iv9W?TU23aJ$eEqZh7C$m*L*zL+M&g3Y{%x`X#TM%; z`K9__bwc?PjbJ*N%=e__gIv)ba&h`Cn@JV8duFC@t+V ze>)oQkcPcEz2|;F_~Fll*g%wS`aSK#r7ogW7WB`{2;{+rBly5Vvv!qW&O%=|+YE4_ z5l>$VMA9MdmMZxNg`#<6e{hX-E?Cd*6Ra(meeo(=%e7jIkN;LJmiSNbKUS&+|M5va z{-wV?;Qw#8d-%6ZM8{yMZU5glWO^avZ`=3AU@glG%WB6Ie+-(mygvr}*lsl(M5~^C$m9B=w+6~uqpG%VG2G0s$T*Z*kr%0;T%5$X`Qr@;G+2+p zoB_P1tODjOE<4q-JcLB~R_&cu#I90u5@4J6uC`;)qGNy|JY90Ab|;Sn6T@OH^2*(s zYq!W}iV5vXsdBQb-20)tpwX%20&AYeBrB`gL-TahvdUlcr7V;7ge`i3E3B?S^#ZCZ zV9Py6Y*mv{BW}?{`@g#0!@p@$@Q5vnM!$%uqqepaO?(3EpxAp~TyADbLY}%Dz9#$8 zhFnEHI1pNQ(TSj=TL<6W&f^DOJW)ZKk5t60)A5>q123VA1fgO{2mPAWca(TPF?!cL7s)s}%O#=GZkwg%f$wL#8vb9?Sgwy9^fd*WCz0C?MfQ*$s-7 zGK&JYnkN)XZ6?21$R z3;ZK{3H%z`nH?RAWO%kv`xLhmt@UL~X-)o<4n_R~w(_lU_Y+%Wc;+Z$-)jD#PC2R?3)cUDX4E=3jR#jSZ!^6F4z;fb>rYaE z^|*4dp5WbLL)_#rF+aYFXW@>+wFE&X(x{(wRxQjQm_@A)XA-;NMlnI^y}{ z7dZ*kKXP!mcWJzw5dDc0WVJ+}vk*Kkq<3}&{=*WkN#j({Y7*Rac&m9#vAUx};=6dw z!_h8*YJ@!`D)S|N#|voflGVo6Hk5J;rQDnI1Rrbb zC=iT%B-R0MR*my#)iE~+oR<5@C@^RtFxwo@cM3amM{gk>|B>+iX?cRPtxl17m6PpO z3Y6{<2Vg1Hn{viRv|)eOR~ONTs^KVWn*JNzg3OgaYNHUxHuLBzY5&!Z_0%G>!M#yU zdlIZ)Eve~}%a+rd675Z}L7Wpjl9w9ZA19U4ip;lNW}E8DT{vKQ$fl<#sT3ru&WIn{ zbcTMu)eP;iA2Su4HdB~^aJVKZCI2R43G1z?7Zi2&k7o03MCs$Dhvn=GKqA_7{cvAY zK;70TqfokQN2#KvI|Intl6wAVFPI;OsD^3}0w>$96aK&1Y?}%Kr75dcRCRzraI0JP zD(_f{@DLr@3z*4?bDGXpM6{VYw}MID{5z4_E8oX9d-qRtJ{_H&QYJN)xdl-TSq@o3 z!BYXl><8HbL$G0?vNG*fVwDxcVP&$0^@fMLhT1G~Wc;wvY+m0$+>k}#X@$t{Lxv=) zj*fCQn@sZF$*Llrji;DILu2f%NT7ukEu>WT)J{jlyaodwFpevqt; zCC+oL8S$xZew*3RPsa;)rkDglectqjw}DkGGcSoRk;PmQhvnqtpzUC5CzGY!ys}a# z812|rvpy}4-!OXUNlxy*BC(YzT5t?G&o5~`bt`WxCUJsdxtBol*(^h{4)oThTKP3Fj z`^+c`=TP_;e&HP?*3#u+I#l~eZ&H8Ka6tZ!9}0tyMuH7*@zAu7j2qZ|bP9a*B>RFu zYW~8z>if81!75PcncU-$J`C@{wyC#DyY~o}JTC$AhLEs0FW+V^g3v>I^fN@qugRNKYy58bUh@ zXh$94c9?6fkd`MCAm}+Whv!JuecM3*SDH2+uH%NHQI)B8@8?$&C49H5M@*ex5q^Xw z10BNNby^99D=0T9V%!dhup(msux1zSK&~j#vf*4WkXSnn;a0i?A{WLTKjM7D9^e#r z2gh^N1fE*7xWl5=3yV0Z2F^QEO7Y0^W;^E@IuB<)6^0u}Yv;Jl1}n%mbL+m+w)S&> z3h8+-SFf>KH=7-LXvmDWq}Y$~cz&6sTkK7z3m_P?%>#5=;*OLH`G$mck0sBg-B}rLK_!MJ}|@ToBS1do4H>Zw#cE0&BCG}LfKieiil>({-^x=8z7k~ zwkT}~&GhK5jC_qxvG@|iFt4)fu*){?s~F^Nl@3&0J+&q_5&w7US}k`!8a4TG-H%4|cBFs${%d-& zcfkmVYvku&6S8RK(r6!UlE~ZK^+wYufa&btbcFmAG#$bZ8`h`{c@cG>3}w&Cg@U)T zXO;1tl3Ku~K@23>sz(gqI!ndn4Uvjx=?6W>YV*kk?22y`=IY-re!V}#v-c-yA7=fz z47HRs$XI<1yoS!5@DG`X&&zt)u%Am

pmS`9SBLV7n53La0)&C}ggQ_#lD| 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

bk0bnU;WbE4m+<`vKPx-{|5C!I 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 z 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⪚HEY8MlejRPwa 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 diff --git a/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidy.h b/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidy.h deleted file mode 100644 index c7018904..00000000 --- a/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidy.h +++ /dev/null @@ -1,2207 +0,0 @@ -#ifndef __TIDY_H__ -#define __TIDY_H__ - -/***************************************************************************//** - * @file - * Defines HTML Tidy public API implemented by LibTidy. - * - * This public interface provides the entire public API for LibTidy, and - * is the sole interface that you should use when implementing LibTidy in - * your own applications. - * - * See tidy.c as an example application implementing the public API. - * - * This API is const-correct and doesn't explicitly depend on any globals. - * Thus, thread-safety may be introduced without changing the interface. - * - * The API limits all exposure to internal structures and provides only - * accessors that return simple types such as C strings and integers, which - * makes it quite suitable for integration with any number of other languages. - * - * @author Dave Raggett [dsr@w3.org] - * @author HTACG, et al (consult git log) - * - * @remarks The contributing author(s) would like to thank all those who - * helped with testing, bug fixes and suggestions for improvements. - * This wouldn't have been possible without your help. - * - * @copyright - * Copyright (c) 1998-2017 World Wide Web Consortium (Massachusetts - * Institute of Technology, European Research Consortium for Informatics - * and Mathematics, Keio University). - * @par - * All Rights Reserved. - * @par - * This software and documentation is provided "as is," and the copyright - * holders and contributing author(s) make no representations or warranties, - * express or implied, including but not limited to, warranties of - * merchantability or fitness for any particular purpose or that the use of - * the software or documentation will not infringe any third party patents, - * copyrights, trademarks or other rights. - * @par - * The copyright holders and contributing author(s) will not be held liable - * for any direct, indirect, special or consequential damages arising out of - * any use of the software or documentation, even if advised of the - * possibility of such damage. - * @par - * Permission is hereby granted to use, copy, modify, and distribute this - * source code, or portions hereof, documentation and executables, for any - * purpose, without fee, subject to the following restrictions: - * @par - * 1. The origin of this source code must not be misrepresented. - * 2. Altered versions must be plainly marked as such and must not be - * misrepresented as being the original source. - * 3. This Copyright notice may not be removed or altered from any source - * or altered source distribution. - * @par - * The copyright holders and contributing author(s) specifically permit, - * without fee, and encourage the use of this source code as a component for - * supporting the Hypertext Markup Language in commercial products. If you - * use this source code in a product, acknowledgment is not required but - * would be appreciated. - * - * @date Created 2001-05-20 by Charles Reitzel - * @date Updated 2002-07-01 by Charles Reitzel - 1st Implementation - * @date Updated 2015-06-09 by Geoff R. McLane - Add more doxygen syntax - * @date Additional updates: consult git log - ******************************************************************************/ - -#include "tidyplatform.h" -#include "tidyenum.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/***************************************************************************//** - ** @defgroup internal_api Internal API - ** The Internal API is used exclusively within LibTidy. If you are an - ** HTML Tidy developer, then the internals API will be of especial - ** importance to you. - ** - ** @note Always check first to determine whether or not an internal API - ** representation exists for a public API function before invoking a - ** public API function internally. In most cases, the public API - ** functions simply call an internal function. - ** - - - - ** @note This documentation _is not_ a substitute for browsing the source - ** code. Although the public API is fairly well documented, the - ** internal API is a very long, very slow, work-in-progress. - ******************************************************************************/ - -/***************************************************************************//** - ** @defgroup public_api External Public API - ** The Public API is the API that LibTidy programmers must access in order - ** to harness HTML Tidy as a library. The API limits all exposure to internal - ** structures and provides only accessors that return simple types such as - ** C strings and integers, which makes it quite suitable for integration with - ** any number of other languages. - ** @{ - ******************************************************************************/ - - -/* MARK: - Opaque Types */ -/***************************************************************************//** - ** @defgroup Opaque Opaque Types - ** - ** Instances of these types are returned by LibTidy API functions, however - ** they are opaque; you cannot see into them, and must use accessor functions - ** to access the contents. This ensures that interfacing to LibTidy remains - ** as universal as possible. - ** - ** @note Internally LibTidy developers will cast these to internal - ** implementation types with access to all member fields. - ** @{ - ******************************************************************************/ - -/** @struct TidyDoc - ** Instances of this represent a Tidy document, which encapsulates everything - ** there is to know about a single Tidy session. Many of the API functions - ** return instance of TidyDoc, or expect instances as parameters. - */ - -/** @struct TidyOption - ** Instances of this represent a Tidy configuration option, which contains - ** useful data about these options. Functions related to configuration options - ** return or accept instances of this type. - */ - -/** @struct TidyNode - ** Single nodes of a TidyDocument are represented by this datatype. It can be - ** returned by various API functions, or accepted as a function argument. - */ - -/** @struct TidyAttr - ** Attributes of a TidyNode are represented by this data type. The public API - ** functions related to attributes work with this type. - */ - -/** @struct TidyMessage - ** Instances of this type represent messages generated by Tidy in reference - ** to your document. This API is available in some of Tidy's message callback - ** functions. -*/ - -/** @struct TidyMessageArgument - ** Instances of this type represent the arguments that compose part of the - ** message represented by TidyMessage. These arguments have an API to query - ** information about them. -*/ - -/* Prevent Doxygen from listing these as functions. */ -#ifndef DOXYGEN_SHOULD_SKIP_THIS - -opaque_type( TidyDoc ); -opaque_type( TidyOption ); -opaque_type( TidyNode ); -opaque_type( TidyAttr ); -opaque_type( TidyMessage ); -opaque_type( TidyMessageArgument ); - -#endif - - -/** @} end Opaque group */ -/* MARK: - Memory Allocation */ -/***************************************************************************//** - ** @defgroup Memory Memory Allocation - ** - ** Tidy can use a user-provided allocator for all memory allocations. If this - ** allocator is not provided, then a default allocator is used which simply - ** wraps standard C malloc()/free() calls. These wrappers call the panic() - ** function upon any failure. The default panic function prints an out of - ** memory message to **stderr**, and calls `exit(2)`. - ** - ** For applications in which it is unacceptable to abort in the case of memory - ** allocation, then the panic function can be replaced with one which - ** `longjmps()` out of the LibTidy code. For this to clean up completely, you - ** should be careful not to use any Tidy methods that open files as these will - ** not be closed before `panic()` is called. - ** - ** Calling the `xxxWithAllocator()` family (`tidyCreateWithAllocator`, - ** `tidyBufInitWithAllocator`, `tidyBufAllocWithAllocator`) allow setting - ** custom allocators. - ** - ** All parts of the document use the same allocator. Calls that require a - ** user-provided buffer can optionally use a different allocator. - ** - ** For reference in designing a plug-in allocator, most allocations made by - ** LibTidy are less than 100 bytes, corresponding to attribute names and - ** values, etc. - ** - ** There is also an additional class of much larger allocations which are where - ** most of the data from the lexer is stored. It is not currently possible to - ** use a separate allocator for the lexer; this would be a useful extension. - ** - ** In general, approximately 1/3rd of the memory used by LibTidy is freed - ** during the parse, so if memory usage is an issue then an allocator that can - ** reuse this memory is a good idea. - ** - ** **To create your own allocator, do something like the following:** - ** @code{.c} - ** typedef struct _MyAllocator { - ** TidyAllocator base; - ** // ...other custom allocator state... - ** } MyAllocator; - ** - ** void* MyAllocator_alloc(TidyAllocator *base, void *block, size_t nBytes) { - ** MyAllocator *self = (MyAllocator*)base; - ** // ... - ** } - ** // etc. - ** - ** static const TidyAllocatorVtbl MyAllocatorVtbl = { - ** MyAllocator_alloc, - ** MyAllocator_realloc, - ** MyAllocator_free, - ** MyAllocator_panic - ** }; - ** - ** myAllocator allocator; - ** TidyDoc doc; - ** - ** allocator.base.vtbl = &MyAllocatorVtbl; - ** //...initialise allocator specific state... - ** doc = tidyCreateWithAllocator(&allocator); - ** @endcode - ** - ** Although this looks slightly long-winded, the advantage is that to create a - ** custom allocator you simply need to set the vtbl pointer correctly. The vtbl - ** itself can reside in static/global data, and hence does not need to be - ** initialised each time an allocator is created, and furthermore the memory - ** is shared amongst all created allocators. - ** - ** @{ - ******************************************************************************/ - -/* Forward declarations and typedefs. */ -struct _TidyAllocatorVtbl; -struct _TidyAllocator; - -typedef struct _TidyAllocatorVtbl TidyAllocatorVtbl; -typedef struct _TidyAllocator TidyAllocator; - - -/** Tidy's built-in default allocator. */ -struct _TidyAllocator { - const TidyAllocatorVtbl *vtbl; /**< The allocator's function table. */ -}; - - -/** This structure is the function table for an allocator. Note that all - functions in this table must be provided. */ -struct _TidyAllocatorVtbl -{ -/* Doxygen has no idea how to parse these. */ -#ifndef DOXYGEN_SHOULD_SKIP_THIS - void* (TIDY_CALL *alloc)( TidyAllocator *self, size_t nBytes ); - void* (TIDY_CALL *realloc)(TidyAllocator *self, void *block, size_t nBytes ); - void (TIDY_CALL *free)(TidyAllocator *self, void *block); - void (TIDY_CALL *panic)(TidyAllocator *self, ctmbstr msg); -#else - /** Called to allocate a block of nBytes of memory */ - void* *alloc(TidyAllocator *self, /**< The TidyAllocator to use to alloc memory. */ - size_t nBytes /**< The number of bytes to allocate. */ - ); - - /** Called to resize (grow, in general) a block of memory. - Must support being called with `NULL`. */ - void* *realloc(TidyAllocator *self, /**< The TidyAllocator to use to realloc memory. */ - void *block, /**< The pointer to the existing block. */ - size_t nBytes /**< The number of bytes to allocate. */ - ); - - /** Called to free a previously allocated block of memory. - */ - void *free(TidyAllocator *self, /**< The TidyAllocator to use to free memory. */ - void *block /**< The block to free. */ - ); - - /** Called when a panic condition is detected. Must support `block == NULL`. - This function is not called if either alloc() or realloc() fails; it is - up to the allocator to do this. Currently this function can only be - called if an error is detected in the tree integrity via the internal - function CheckNodeIntegrity(). This is a situation that can only arise - in the case of a programming error in LibTidy. You can turn off node - integrity checking by defining the constant `NO_NODE_INTEGRITY_CHECK` - during the build. - **/ - void *panic(TidyAllocator *self, /**< The TidyAllocator to use to panic. */ - ctmbstr msg /**< The panic message. */ - ); -#endif /* Doxygen Fix */ -}; - - -/** Callback for `malloc` replacement */ -typedef void* (TIDY_CALL *TidyMalloc)( size_t len ); - -/** Callback for `realloc` replacement */ -typedef void* (TIDY_CALL *TidyRealloc)( void* buf, size_t len ); - -/** Callback for `free` replacement */ -typedef void (TIDY_CALL *TidyFree)( void* buf ); - -/** Callback for out of memory panic state */ -typedef void (TIDY_CALL *TidyPanic)( ctmbstr mssg ); - - -/** Give Tidy a `malloc()` replacement */ -TIDY_EXPORT Bool TIDY_CALL tidySetMallocCall( TidyMalloc fmalloc ); - -/** Give Tidy a `realloc()` replacement */ -TIDY_EXPORT Bool TIDY_CALL tidySetReallocCall( TidyRealloc frealloc ); - -/** Give Tidy a `free()` replacement */ -TIDY_EXPORT Bool TIDY_CALL tidySetFreeCall( TidyFree ffree ); - -/** Give Tidy an "out of memory" handler */ -TIDY_EXPORT Bool TIDY_CALL tidySetPanicCall( TidyPanic fpanic ); - - -/** @} end Memory group */ -/* MARK: - Basic Operations */ -/***************************************************************************//** - ** @defgroup Basic Basic Operations - ** - ** For an excellent example of how to invoke LibTidy, please consult - ** `console/tidy.c:main()` for in-depth implementation details. A simplified - ** example can be seen on our site: http://www.html-tidy.org/developer/ - ** - ** @{ - ******************************************************************************/ - -/** @name Instantiation and Destruction - ** @{ - */ - -/** The primary creation of a document instance. Instances of a TidyDoc are used - ** throughout the API as a token to represent a particular document. You must - ** create at least one TidyDoc instance to initialize the library and begin - ** interaction with the API. When done using a TidyDoc instance, be sure to - ** `tidyRelease(myTidyDoc);` in order to free related memory. - ** @result Returns a TidyDoc instance. - */ -TIDY_EXPORT TidyDoc TIDY_CALL tidyCreate(void); - -/** Create a document supplying your own, custom TidyAllocator instead of using - ** the built-in default. See the @ref Memory module if you want to create and - ** use your own allocator. - ** @param allocator The allocator to use for creating the document. - ** @result Returns a TidyDoc instance. - */ -TIDY_EXPORT TidyDoc TIDY_CALL tidyCreateWithAllocator(TidyAllocator *allocator); - -/** Free all memory and release the TidyDoc. The TidyDoc can not be used after - ** this call. - ** @param tdoc The TidyDoc to free. - */ -TIDY_EXPORT void TIDY_CALL tidyRelease(TidyDoc tdoc); - - -/** @} - ** @name Host Application Data - ** @{ - */ - - -/** Allows the host application to store a chunk of data with each TidyDoc - ** instance. This can be useful for callbacks, such as saving a reference to - ** `self` within the document. - */ -TIDY_EXPORT void TIDY_CALL tidySetAppData(TidyDoc tdoc, /**< The document in which to store the data. */ - void* appData /**< The pointer to a block of data to store. */ - ); - -/** Returns the data previously stored with `tidySetAppData()`. - ** @param tdoc document where data has been stored. - ** @result The pointer to the data block previously stored. - */ -TIDY_EXPORT void* TIDY_CALL tidyGetAppData(TidyDoc tdoc); - - -/** @} - ** @name LibTidy Version Information - ** @{ - */ - - -/** Get the release date for the current library. - ** @result The string representing the release date. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyReleaseDate(void); - -/** Get the version number for the current library. - ** @result The string representing the version number. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyLibraryVersion(void); - -/** Get the platform for which Tidy was built. - ** @result The string representing the version number. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyPlatform(void); - - -/** @} - ** @name Diagnostics and Repair - ** @{ - */ - - -/** Get status of current document. - ** @param tdoc An instance of a TidyDoc to query. - ** @result Returns the highest of `2` indicating that errors were present in - ** the document, `1` indicating warnings, and `0` in the case of - ** everything being okay. - */ -TIDY_EXPORT int TIDY_CALL tidyStatus( TidyDoc tdoc ); - -/** Gets the version of HTML that was output, as an integer, times 100. For - ** example, HTML5 will return 500; HTML4.0.1 will return 401. - ** @param tdoc An instance of a TidyDoc to query. - ** @result Returns the HTML version number (x100). - */ -TIDY_EXPORT int TIDY_CALL tidyDetectedHtmlVersion( TidyDoc tdoc ); - -/** Indicates whether the output document is or isn't XHTML. - ** @param tdoc An instance of a TidyDoc to query. - ** @result Returns `yes` if the document is an XHTML type. - */ -TIDY_EXPORT Bool TIDY_CALL tidyDetectedXhtml( TidyDoc tdoc ); - -/** Indicates whether or not the input document was XML. If TidyXml tags is - ** true, or there was an XML declaration in the input document, then this - ** function will return yes. - ** @param tdoc An instance of a TidyDoc to query. - ** @result Returns `yes` if the input document was XML. - */ -TIDY_EXPORT Bool TIDY_CALL tidyDetectedGenericXml( TidyDoc tdoc ); - -/** Indicates the number of TidyError messages that were generated. For any - ** value greater than `0`, output is suppressed unless TidyForceOutput is set. - ** @param tdoc An instance of a TidyDoc to query. - ** @result Returns the number of TidyError messages that were generated. - */ -TIDY_EXPORT uint TIDY_CALL tidyErrorCount( TidyDoc tdoc ); - -/** Indicates the number of TidyWarning messages that were generated. - ** @param tdoc An instance of a TidyDoc to query. - ** @result Returns the number of TidyWarning messages that were generated. - */ -TIDY_EXPORT uint TIDY_CALL tidyWarningCount( TidyDoc tdoc ); - -/** Indicates the number of TidyAccess messages that were generated. - ** @param tdoc An instance of a TidyDoc to query. - ** @result Returns the number of TidyAccess messages that were generated. - */ -TIDY_EXPORT uint TIDY_CALL tidyAccessWarningCount( TidyDoc tdoc ); - -/** Indicates the number of configuration error messages that were generated. - ** @param tdoc An instance of a TidyDoc to query. - ** @result Returns the number of configuration error messages that were - ** generated. - */ -TIDY_EXPORT uint TIDY_CALL tidyConfigErrorCount( TidyDoc tdoc ); - -/** Write more complete information about errors to current error sink. - ** @param tdoc An instance of a TidyDoc to query. - */ -TIDY_EXPORT void TIDY_CALL tidyErrorSummary( TidyDoc tdoc ); - -/** Write more general information about markup to current error sink. - ** @param tdoc An instance of a TidyDoc to query. - */ -TIDY_EXPORT void TIDY_CALL tidyGeneralInfo( TidyDoc tdoc ); - - -/** @} - ** @name Configuration, File, and Encoding Operations - ** @{ - */ - - -/** Load an ASCII Tidy configuration file and set the configuration per its - ** contents. - ** @result Returns 0 upon success, or any other value if there was an error. - */ -TIDY_EXPORT int TIDY_CALL tidyLoadConfig(TidyDoc tdoc, /**< The TidyDoc to which to apply the configuration. */ - ctmbstr configFile /**< The complete path to the file to load. */ - ); - -/** Load a Tidy configuration file with the specified character encoding, and - ** set the configuration per its contents. - ** @result Returns 0 upon success, or any other value if there was an error. - */ -TIDY_EXPORT int TIDY_CALL tidyLoadConfigEnc(TidyDoc tdoc, /**< The TidyDoc to which to apply the configuration. */ - ctmbstr configFile, /**< The complete path to the file to load. */ - ctmbstr charenc /**< The encoding to use. See the _enc2iana struct for valid values. */ - ); - -/** Determine whether or not a particular file exists. On Unix systems, the use - ** of the tilde to represent the user's home directory is supported. - ** @result Returns `yes` or `no`, indicating whether or not the file exists. - */ -TIDY_EXPORT Bool TIDY_CALL tidyFileExists(TidyDoc tdoc, /**< The TidyDoc on whose behalf you are checking. */ - ctmbstr filename /**< The path to the file whose existence you wish to check. */ - ); - - -/** Set the input/output character encoding for parsing markup. Valid values - ** include `ascii`, `latin1`, `raw`, `utf8`, `iso2022`, `mac`, `win1252`, - ** `utf16le`, `utf16be`, `utf16`, `big5`, and `shiftjis`. These values are not - ** case sensitive. - ** @note This is the same as using TidySetInCharEncoding() and - ** TidySetOutCharEncoding() to set the same value. - ** @result Returns 0 upon success, or a system standard error number `EINVAL`. - */ -TIDY_EXPORT int TIDY_CALL tidySetCharEncoding(TidyDoc tdoc, /**< The TidyDoc for which you are setting the encoding. */ - ctmbstr encnam /**< The encoding name as described above. */ - ); - -/** Set the input encoding for parsing markup. Valid values include `ascii`, - ** `latin1`, `raw`, `utf8`, `iso2022`, `mac`, `win1252`, `utf16le`, `utf16be`, - ** `utf16`, `big5`, and `shiftjis`. These values are not case sensitive. - ** @result Returns 0 upon success, or a system standard error number `EINVAL`. - */ -TIDY_EXPORT int TIDY_CALL tidySetInCharEncoding(TidyDoc tdoc, /**< The TidyDoc for which you are setting the encoding. */ - ctmbstr encnam /**< The encoding name as described above. */ - ); - -/** Set the input encoding for writing markup. Valid values include `ascii`, - ** `latin1`, `raw`, `utf8`, `iso2022`, `mac`, `win1252`, `utf16le`, `utf16be`, - ** `utf16`, `big5`, and `shiftjis`. These values are not case sensitive. - ** @result Returns 0 upon success, or a system standard error number `EINVAL`. - */ -TIDY_EXPORT int TIDY_CALL tidySetOutCharEncoding(TidyDoc tdoc, /**< The TidyDoc for which you are setting the encoding. */ - ctmbstr encnam /**< The encoding name as described above. */ - ); - - -/** @} */ -/** @} end Basic group */ -/* MARK: - Configuration Options */ -/***************************************************************************//** - ** @defgroup Configuration Configuration Options - ** - ** Functions for getting and setting Tidy configuration options. - ** - ** @note In general, you should expect that options you set should stay set. - ** This isn't always the case, though, because Tidy will adjust options - ** for internal use during the lexing, parsing, cleaning, and printing - ** phases, but will restore them after the printing process. If you - ** require access to user configuration values at any time between the - ** tidyParseXXX() process and the tidySaveXXX() process, make sure to - ** keep your own copy. - ** @{ - ******************************************************************************/ - -/** @name Option Callback Functions - ** @{ - */ - -/** This typedef represents the required signature for your provided callback - ** function should you wish to register one with tidySetOptionCallback(). - ** Your callback function will be provided with the following parameters. - ** Note that this is deprecated and you should instead migrate to - ** tidySetConfigCallback(). - ** @param option The option name that was provided. - ** @param value The option value that was provided - ** @return Your callback function will return `yes` if it handles the provided - ** option, or `no` if it does not. In the latter case, Tidy will issue - ** an unknown configuration option error. - */ -typedef Bool (TIDY_CALL *TidyOptCallback)(ctmbstr option, ctmbstr value); - -/** Applications using TidyLib may want to augment command-line and - ** configuration file options. Setting this callback allows a LibTidy - ** application developer to examine command-line and configuration file options - ** after LibTidy has examined them and failed to recognize them. - ** Note that this is deprecated and you should instead migrate to - ** tidySetConfigCallback(). - ** @result Returns `yes` upon success. - */ -TIDY_EXPORT Bool TIDY_CALL tidySetOptionCallback(TidyDoc tdoc, /**< The document to apply the callback to. */ - TidyOptCallback pOptCallback /**< The name of a function of type TidyOptCallback() to serve as your callback. */ - ); - -/** This typedef represents the required signature for your provided callback - ** function should you wish to register one with tidySetConfigCallback(). - ** Your callback function will be provided with the following parameters. - ** @param tdoc The document instance for which the callback was invoked. - ** @param option The option name that was provided. - ** @param value The option value that was provided - ** @return Your callback function will return `yes` if it handles the provided - ** option, or `no` if it does not. In the latter case, Tidy will issue - ** an unknown configuration option error. - */ -typedef Bool (TIDY_CALL *TidyConfigCallback)(TidyDoc tdoc, ctmbstr option, ctmbstr value); - -/** Applications using TidyLib may want to augment command-line and - ** configuration file options. Setting this callback allows a LibTidy - ** application developer to examine command-line and configuration file options - ** after LibTidy has examined them and failed to recognize them. - ** @result Returns `yes` upon success. - */ -TIDY_EXPORT Bool TIDY_CALL tidySetConfigCallback(TidyDoc tdoc, /**< The document to apply the callback to. */ - TidyConfigCallback pConfigCallback /**< The name of a function of type TidyConfigCallback() to serve as your callback. */ - ); - - -/** This typedef represents the required signature for your provided callback - ** function should you wish to register one with tidySetConfigChangeCallback(). - ** Your callback function will be provided with the following parameters. - ** @param tdoc The document instance for which the callback was invoked. - ** @param option The option that will be changed. - */ -typedef void (TIDY_CALL *TidyConfigChangeCallback)(TidyDoc tdoc, TidyOption option); - -/** Applications using TidyLib may want to be informed when changes to options - ** are made. Temporary changes made internally by Tidy are not reported, but - ** permanent changes made by Tidy (such as indent-spaces or output-encoding) - ** will be reported. - ** @note This callback is not currently implemented. - ** @result Returns `yes` upon success. - */ -TIDY_EXPORT Bool TIDY_CALL tidySetConfigChangeCallback(TidyDoc tdoc, /**< The document to apply the callback to. */ - TidyConfigChangeCallback pCallback /**< The name of a function of type TidyConfigChangeCallback() to serve as your callback. */ - ); - - -/** @} - ** @name Option ID Discovery - ** @{ - */ - -/** Get ID of given Option - ** @param opt An instance of a TidyOption to query. - ** @result The TidyOptionId of the given option. - */ -TIDY_EXPORT TidyOptionId TIDY_CALL tidyOptGetId( TidyOption opt ); - -/** Returns the TidyOptionId (enum value) by providing the name of a Tidy - ** configuration option. - ** @param optnam The name of the option ID to retrieve. - ** @result The TidyOptionId of the given `optname`. - */ -TIDY_EXPORT TidyOptionId TIDY_CALL tidyOptGetIdForName(ctmbstr optnam); - -/** @} - ** @name Getting Instances of Tidy Options - ** @{ - */ - -/** Initiates an iterator for a list of TidyOption instances, which allows you - ** to iterate through all of the available options. In order to iterate through - ** the available options, initiate the iterator with this function, and then - ** use tidyGetNextOption() to retrieve the first and subsequent options. For - ** example: - ** @code{.c} - ** TidyIterator itOpt = tidyGetOptionList( tdoc ); - ** while ( itOpt ) { - ** TidyOption opt = tidyGetNextOption( tdoc, &itOpt ); - ** // Use other API to query or set set option values - ** } - ** @endcode - ** @param tdoc An instance of a TidyDoc to query. - ** @result Returns a TidyIterator, which is a token used to represent the - ** current position in a list within LibTidy. - */ -TIDY_EXPORT TidyIterator TIDY_CALL tidyGetOptionList( TidyDoc tdoc ); - -/** Given a valid TidyIterator initiated with tidyGetOptionList(), returns - ** the instance of the next TidyOption. - ** @note This function will return internal-only option types including - ** `TidyInternalCategory`; you should *never* use these. Always ensure - ** that you use `tidyOptGetCategory()` before assuming that an option - ** is okay to use in your application. - ** @result An instance of TidyOption. - */ -TIDY_EXPORT TidyOption TIDY_CALL tidyGetNextOption(TidyDoc tdoc, /**< The document for which you are retrieving options. */ - TidyIterator* pos /**< The TidyIterator (initiated with tidyGetOptionList()) token. */ - ); - -/** Retrieves an instance of TidyOption given a valid TidyOptionId. - ** @result An instance of TidyOption matching the provided TidyOptionId. - */ -TIDY_EXPORT TidyOption TIDY_CALL tidyGetOption(TidyDoc tdoc, /**< The document for which you are retrieving the option. */ - TidyOptionId optId /**< The TidyOptionId to retrieve. */ - ); - -/** Returns an instance of TidyOption by providing the name of a Tidy - ** configuration option. - ** @result The TidyOption of the given `optname`. - */ -TIDY_EXPORT TidyOption TIDY_CALL tidyGetOptionByName(TidyDoc tdoc, /**< The document for which you are retrieving the option. */ - ctmbstr optnam /**< The name of the Tidy configuration option. */ - ); - -/** @} - ** @name Information About Options - ** @{ - */ - -/** Get name of given Option - ** @param opt An instance of a TidyOption to query. - ** @result The name of the given option. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetName( TidyOption opt ); - -/** Get datatype of given Option - ** @param opt An instance of a TidyOption to query. - ** @result The TidyOptionType of the given option. - */ -TIDY_EXPORT TidyOptionType TIDY_CALL tidyOptGetType( TidyOption opt ); - -/** Indicates that an option takes a list of items. - ** @param opt An instance of a TidyOption to query. - ** @result A bool indicating whether or not the option accepts a list. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptionIsList( TidyOption opt ); - -/** Is Option read-only? Some options (mainly internal use only options) are - ** read-only. - ** @deprecated This is no longer a valid test for the public API; instead - ** you should test an option's availability using `tidyOptGetCategory()` - ** against `TidyInternalCategory`. This API will be removed! - ** @param opt An instance of a TidyOption to query. - ** @result Returns `yes` or `no` depending on whether or not the specified - ** option is read-only. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptIsReadOnly( TidyOption opt ); - -/** Get category of given Option - ** @param opt An instance of a TidyOption to query. - ** @result The TidyConfigCategory of the specified option. - */ -TIDY_EXPORT TidyConfigCategory TIDY_CALL tidyOptGetCategory( TidyOption opt ); - -/** Get default value of given Option as a string - ** @param opt An instance of a TidyOption to query. - ** @result A string indicating the default value of the specified option. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetDefault( TidyOption opt ); - -/** Get default value of given Option as an unsigned integer - ** @param opt An instance of a TidyOption to query. - ** @result An unsigned integer indicating the default value of the specified - ** option. - */ -TIDY_EXPORT ulong TIDY_CALL tidyOptGetDefaultInt( TidyOption opt ); - -/** Get default value of given Option as a Boolean value - ** @param opt An instance of a TidyOption to query. - ** @result A boolean indicating the default value of the specified option. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptGetDefaultBool( TidyOption opt ); - -/** Initiates an iterator for a list of TidyOption pick-list values, which - ** allows you iterate through all of the available option values. In order to - ** iterate through the available values, initiate the iterator with this - ** function, and then use tidyOptGetNextPick() to retrieve the first and - ** subsequent option values. For example: - ** @code{.c} - ** TidyIterator itOpt = tidyOptGetPickList( opt ); - ** while ( itOpt ) { - ** printf("%s", tidyOptGetNextPick( opt, &itOpt )); - ** } - ** @endcode - ** @param opt An instance of a TidyOption to query. - ** @result Returns a TidyIterator, which is a token used to represent the - ** current position in a list within LibTidy. - */ -TIDY_EXPORT TidyIterator TIDY_CALL tidyOptGetPickList( TidyOption opt ); - -/** Given a valid TidyIterator initiated with tidyOptGetPickList(), returns a - ** string representing a possible option value. - ** @result A string containing the next pick-list option value. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetNextPick(TidyOption opt, /**< An instance of a TidyOption to query. */ - TidyIterator* pos /**< The TidyIterator (initiated with tidyOptGetPickList()) token. */ - ); - -/** @} - ** @name Option Value Functions - ** @{ - */ - -/** Get the current value of the option ID for the given document. - ** @remark The optId *must* have a @ref TidyOptionType of @ref TidyString! - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetValue(TidyDoc tdoc, /**< The tidy document whose option value you wish to check. */ - TidyOptionId optId /**< The option ID whose value you wish to check. */ - ); - -/** Set the option value as a string. - ** @remark The optId *must* have a @ref TidyOptionType of @ref TidyString! - ** @result Returns a bool indicating success or failure. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptSetValue(TidyDoc tdoc, /**< The tidy document for which to set the value. */ - TidyOptionId optId, /**< The option ID of the value to set. */ - ctmbstr val /**< The string value to set. */ - ); - -/** Set named option value as a string, regardless of the @ref TidyOptionType. - ** @remark This is good setter if you are unsure of the type. - ** @result Returns a bool indicating success or failure. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptParseValue(TidyDoc tdoc, /**< The tidy document for which to set the value. */ - ctmbstr optnam, /**< The name of the option to set; this is the string value from the UI, e.g., `error-file`. */ - ctmbstr val /**< The value to set, as a string. */ - ); - -/** Get current option value as an integer. - ** @result Returns the integer value of the specified option. - */ -TIDY_EXPORT ulong TIDY_CALL tidyOptGetInt(TidyDoc tdoc, /**< The tidy document for which to get the value. */ - TidyOptionId optId /**< The option ID to get. */ - ); - -/** Set option value as an integer. - ** @result Returns a bool indicating success or failure. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptSetInt(TidyDoc tdoc, /**< The tidy document for which to set the value. */ - TidyOptionId optId, /**< The option ID to set. */ - ulong val /**< The value to set. */ - ); - -/** Get current option value as a Boolean flag. - ** @result Returns a bool indicating the value. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptGetBool(TidyDoc tdoc, /**< The tidy document for which to get the value. */ - TidyOptionId optId /**< The option ID to get. */ - ); - -/** Set option value as a Boolean flag. - ** @result Returns a bool indicating success or failure. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptSetBool(TidyDoc tdoc, /**< The tidy document for which to set the value. */ - TidyOptionId optId, /**< The option ID to set. */ - Bool val /**< The value to set. */ - ); - -/** Reset option to default value by ID. - ** @result Returns a bool indicating success or failure. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptResetToDefault(TidyDoc tdoc, /**< The tidy document for which to reset the value. */ - TidyOptionId opt /**< The option ID to reset. */ - ); - -/** Reset all options to their default values. - ** @param tdoc The tidy document for which to reset all values. - ** @result Returns a bool indicating success or failure. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptResetAllToDefault( TidyDoc tdoc ); - -/** Take a snapshot of current config settings. These settings are stored - ** within the tidy document. Note, however, that snapshots do not reliably - ** survive the tidyParseXXX() process, as Tidy uses the snapshot mechanism - ** in order to store the current configuration right at the beginning of the - ** parsing process. - ** @param tdoc The tidy document for which to take a snapshot. - ** @result Returns a bool indicating success or failure. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptSnapshot( TidyDoc tdoc ); - -/** Apply a snapshot of config settings to a document. - ** @param tdoc The tidy document for which to apply a snapshot. - ** @result Returns a bool indicating success or failure. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptResetToSnapshot( TidyDoc tdoc ); - -/** Any settings different than default? - ** @param tdoc The tidy document to check. - ** @result Returns a bool indicating whether or not a difference exists. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptDiffThanDefault( TidyDoc tdoc ); - -/** Any settings different than snapshot? - ** @param tdoc The tidy document to check. - ** @result Returns a bool indicating whether or not a difference exists. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptDiffThanSnapshot( TidyDoc tdoc ); - -/** Copy current configuration settings from one document to another. Note - ** that the destination document's existing settings will be stored as that - ** document's snapshot prior to having its option values overwritten by the - ** source document's settings. - ** @result Returns a bool indicating success or failure. - */ -TIDY_EXPORT Bool TIDY_CALL tidyOptCopyConfig(TidyDoc tdocTo, /**< The destination tidy document. */ - TidyDoc tdocFrom /**< The source tidy document. */ - ); - -/** Get character encoding name. Used with @ref TidyCharEncoding, - ** @ref TidyOutCharEncoding, and @ref TidyInCharEncoding. - ** @result The encoding name as a string for the specified option. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetEncName(TidyDoc tdoc, /**< The tidy document to query. */ - TidyOptionId optId /**< The option ID whose value to check. */ - ); - -/** Get the current pick list value for the option ID, which can be useful for - ** enum types. - ** @result Returns a string indicating the current value of the specified - ** option. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetCurrPick(TidyDoc tdoc, /**< The tidy document to query. */ - TidyOptionId optId /**< The option ID whose value to check. */ - ); - -/** Initiates an iterator for a list of user-declared tags, including autonomous - ** custom tags detected in the document if @ref TidyUseCustomTags is not set to - ** **no**. This iterator allows you to iterate through all of the custom tags. - ** In order to iterate through the tags, initiate the iterator with this - ** function, and then use tidyOptGetNextDeclTag() to retrieve the first and - ** subsequent tags. For example: - ** @code{.c} - ** TidyIterator itTag = tidyOptGetDeclTagList( tdoc ); - ** while ( itTag ) { - ** printf("%s", tidyOptGetNextDeclTag( tdoc, TidyBlockTags, &itTag )); - ** } - ** @endcode - ** @param tdoc An instance of a TidyDoc to query. - ** @result Returns a TidyIterator, which is a token used to represent the - ** current position in a list within LibTidy. - */ -TIDY_EXPORT TidyIterator TIDY_CALL tidyOptGetDeclTagList( TidyDoc tdoc ); - -/** Given a valid TidyIterator initiated with tidyOptGetDeclTagList(), returns a - ** string representing a user-declared or autonomous custom tag. - ** @remark Specifying optId limits the scope of the tags to one of - ** @ref TidyInlineTags, @ref TidyBlockTags, @ref TidyEmptyTags, or - ** @ref TidyPreTags. Note that autonomous custom tags (if used) are - ** added to one of these option types, depending on the value of - ** @ref TidyUseCustomTags. - ** @result A string containing the next tag. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetNextDeclTag(TidyDoc tdoc, /**< The tidy document to query. */ - TidyOptionId optId, /**< The option ID matching the type of tag to retrieve. */ - TidyIterator* iter /**< The TidyIterator (initiated with tidyOptGetDeclTagList()) token. */ - ); - -/** Initiates an iterator for a list of priority attributes. This iterator - ** allows you to iterate through all of the priority attributes defined with - ** the `priority-attributes` configuration option. In order to iterate through - ** the attributes, initiate the iterator with this function, and then use - ** tidyOptGetNextPriorityAttr() to retrieve the first and subsequent attributes. - ** For example: - ** @code{.c} - ** TidyIterator itAttr = tidyOptGetPriorityAttrList( tdoc ); - ** while ( itAttr ) { - ** printf("%s", tidyOptGetNextPriorityAttr( tdoc, &itAttr )); - ** } - ** @endcode - ** @param tdoc An instance of a TidyDoc to query. - ** @result Returns a TidyIterator, which is a token used to represent the - ** current position in a list within LibTidy. - */ -TIDY_EXPORT TidyIterator TIDY_CALL tidyOptGetPriorityAttrList( TidyDoc tdoc ); - -/** Given a valid TidyIterator initiated with tidyOptGetPriorityAttrList(), - ** returns a string representing a priority attribute. - ** @result A string containing the next tag. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetNextPriorityAttr(TidyDoc tdoc, /**< The tidy document to query. */ - TidyIterator* iter /**< The TidyIterator (initiated with tidyOptGetPriorityAttrList()) token. */ - ); - -/** Initiates an iterator for a list of muted messages. This iterator allows - ** you to iterate through all of the priority attributes defined with the - ** `mute` configuration option. In order to iterate through the list, initiate - ** with this function, and then use tidyOptGetNextMutedMessage() to retrieve - ** the first and subsequent attributes. - ** For example: - ** @code{.c} - ** TidyIterator itAttr = tidyOptGetMutedMessageList( tdoc ); - ** while ( itAttr ) { - ** printf("%s", tidyOptGetNextMutedMessage( tdoc, &itAttr )); - ** } - ** @endcode - ** @param tdoc An instance of a TidyDoc to query. - ** @result Returns a TidyIterator, which is a token used to represent the - ** current position in a list within LibTidy. - */ -TIDY_EXPORT TidyIterator TIDY_CALL tidyOptGetMutedMessageList( TidyDoc tdoc ); - -/** Given a valid TidyIterator initiated with tidyOptGetMutedMessageList(), - ** returns a string representing a muted message. - ** @result A string containing the next tag. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetNextMutedMessage(TidyDoc tdoc, /**< The tidy document to query. */ - TidyIterator* iter /**< The TidyIterator (initiated with tidyOptGetMutedMessageList()) token. */ - ); - -/** @} - ** @name Option Documentation - ** @{ - */ - -/** Get the description of the specified option. - ** @result Returns a string containing a description of the given option. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyOptGetDoc(TidyDoc tdoc, /**< The tidy document to query. */ - TidyOption opt /**< The option ID of the option. */ - ); - -/** Initiates an iterator for a list of options related to a given option. This - ** iterator allows you to iterate through all of the related options, if any. - ** In order to iterate through the options, initiate the iterator with this - ** function, and then use tidyOptGetNextDocLinks() to retrieve the first and - ** subsequent options. For example: - ** @code{.c} - ** TidyIterator itOpt = tidyOptGetDocLinksList( tdoc, TidyJoinStyles ); - ** while ( itOpt ) { - ** TidyOption my_option = tidyOptGetNextDocLinks( tdoc, &itOpt ); - ** // do something with my_option - ** } - ** @endcode - ** @result Returns a TidyIterator, which is a token used to represent the - ** current position in a list within LibTidy. - */ -TIDY_EXPORT TidyIterator TIDY_CALL tidyOptGetDocLinksList(TidyDoc tdoc, /**< The tidy document to query. */ - TidyOption opt /**< The option whose related options you wish to find. */ - ); - -/** Given a valid TidyIterator initiated with tidyOptGetDocLinksList(), returns - ** a TidyOption instance. - ** @result Returns in instance of TidyOption. - */ -TIDY_EXPORT TidyOption TIDY_CALL tidyOptGetNextDocLinks(TidyDoc tdoc, /**< The tidy document to query. */ - TidyIterator* pos /**< The TidyIterator (initiated with tidyOptGetDocLinksList()) token. */ - ); - -/** @} */ -/** @} end Configuration group */ -/* MARK: - I/O and Messages */ -/***************************************************************************//** - ** @defgroup IO I/O and Messages - ** - ** Tidy provides flexible I/O. By default, Tidy will define, create and use - ** instances of input and output handlers for standard C buffered I/O (i.e., - ** `FILE* stdin`, `FILE* stdout`, and `FILE* stderr` for content input, - ** content output and diagnostic output, respectively. A `FILE* cfgFile` - ** input handler will be used for config files. Command line options will - ** just be set directly. - ** - ** @{ - ******************************************************************************/ - -/** @name Forward declarations and typedefs. - ** @{ - */ - -TIDY_STRUCT struct _TidyBuffer; -typedef struct _TidyBuffer TidyBuffer; - -/** @} - ** @name Input Source - ** If you wish to write to your own input sources, then these types, structs, - ** and functions will allow them to work seamlessly with Tidy. - ** @{ - */ - -/** End of input "character" */ -#define EndOfStream (~0u) - -/** Input Callback: get next byte of input */ -typedef int (TIDY_CALL *TidyGetByteFunc)( void* sourceData ); - -/** Input Callback: unget a byte of input */ -typedef void (TIDY_CALL *TidyUngetByteFunc)( void* sourceData, byte bt ); - -/** Input Callback: is end of input? */ -typedef Bool (TIDY_CALL *TidyEOFFunc)( void* sourceData ); - -/** This type defines an input source capable of delivering raw bytes of input. - */ -TIDY_STRUCT -typedef struct _TidyInputSource -{ - void* sourceData; /**< Input context. Passed to callbacks. */ - - TidyGetByteFunc getByte; /**< Pointer to "get byte" callback. */ - TidyUngetByteFunc ungetByte; /**< Pointer to "unget" callback. */ - TidyEOFFunc eof; /**< Pointer to "eof" callback. */ -} TidyInputSource; - -/** Facilitates user defined source by providing an entry point to marshal - ** pointers-to-functions. This is needed by .NET, and possibly other language - ** bindings. - ** @result Returns a bool indicating success or failure. - */ -TIDY_EXPORT Bool TIDY_CALL tidyInitSource(TidyInputSource* source, /**< The source to populate with data. */ - void* srcData, /**< The input context. */ - TidyGetByteFunc gbFunc, /**< Pointer to the "get byte" callback. */ - TidyUngetByteFunc ugbFunc, /**< Pointer to the "unget" callback. */ - TidyEOFFunc endFunc /**< Pointer to the "eof" callback. */ - ); - -/** Helper: get next byte from input source. - ** @param source A pointer to your input source. - ** @result Returns a byte as an unsigned integer. - */ -TIDY_EXPORT uint TIDY_CALL tidyGetByte( TidyInputSource* source ); - -/** Helper: unget byte back to input source. */ -TIDY_EXPORT void TIDY_CALL tidyUngetByte(TidyInputSource* source, /**< The input source. */ - uint byteValue /**< The byte to push back. */ - ); - -/** Helper: check if input source at end. - ** @param source The input source. - ** @result Returns a bool indicating whether or not the source is at EOF. - */ -TIDY_EXPORT Bool TIDY_CALL tidyIsEOF( TidyInputSource* source ); - -/** @} - ** @name Output Sink - ** @{ - */ - -/** Output callback: send a byte to output */ -typedef void (TIDY_CALL *TidyPutByteFunc)( void* sinkData, byte bt ); - -/** This type defines an output destination capable of accepting raw bytes - ** of output - */ -TIDY_STRUCT -typedef struct _TidyOutputSink -{ - void* sinkData; /**< Output context. Passed to callbacks. */ - - TidyPutByteFunc putByte; /**< Pointer to "put byte" callback */ -} TidyOutputSink; - -/** Facilitates user defined sinks by providing an entry point to marshal - ** pointers-to-functions. This is needed by .NET, and possibly other language - ** bindings. - ** @result Returns a bool indicating success or failure. - */ -TIDY_EXPORT Bool TIDY_CALL tidyInitSink(TidyOutputSink* sink, /**< The sink to populate with data. */ - void* snkData, /**< The output context. */ - TidyPutByteFunc pbFunc /**< Pointer to the "put byte" callback function. */ - ); - -/** Helper: send a byte to output. */ -TIDY_EXPORT void TIDY_CALL tidyPutByte(TidyOutputSink* sink, /**< The output sink to send a byte. */ - uint byteValue /**< The byte to be sent. */ - ); - -/** @} - ** @name Emacs-compatible reporting support. - ** If you work with Emacs and prefer Tidy's report output to be in a form - ** that is easy for Emacs to parse, then these functions may be valuable. - ** @{ - */ - -/** Set the file path to use for reports when `TidyEmacs` is being used. This - ** function provides a proper interface for using the hidden, internal-only - ** `TidyEmacsFile` configuration option. - */ -TIDY_EXPORT void TIDY_CALL tidySetEmacsFile(TidyDoc tdoc, /**< The tidy document for which you are setting the filePath. */ - ctmbstr filePath /**< The path of the document that should be reported. */ - ); - -/** Get the file path to use for reports when `TidyEmacs` is being used. This - ** function provides a proper interface for using the hidden, internal-only - ** `TidyEmacsFile` configuration option. - ** @param tdoc The tidy document for which you want to fetch the file path. - ** @result Returns a string indicating the file path. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetEmacsFile( TidyDoc tdoc ); - -/** @} - ** @name Error Sink - ** Send Tidy's output to any of several destinations with these functions. - ** @{ - */ - -/** Set error sink to named file. - ** @result Returns a file handle. - */ -TIDY_EXPORT FILE* TIDY_CALL tidySetErrorFile(TidyDoc tdoc, /**< The document to set. */ - ctmbstr errfilnam /**< The file path to send output. */ - ); - -/** Set error sink to given buffer. - ** @result Returns 0 upon success or a standard error number. - */ -TIDY_EXPORT int TIDY_CALL tidySetErrorBuffer(TidyDoc tdoc, /**< The document to set. */ - TidyBuffer* errbuf /**< The TidyBuffer to collect output. */ - ); - -/** Set error sink to given generic sink. - ** @result Returns 0 upon success or a standard error number. - */ -TIDY_EXPORT int TIDY_CALL tidySetErrorSink(TidyDoc tdoc, /**< The document to set. */ - TidyOutputSink* sink /**< The TidyOutputSink to collect output. */ - ); - -/** @} - ** @name Error and Message Callbacks - TidyReportFilter - ** A simple callback to filter or collect messages by diagnostic level, - ** for example, TidyInfo, TidyWarning, etc. Its name reflects its original - ** purpose as a filter, by which your application can inform LibTidy whether - ** or not to output a particular report. - ** - ** @{ - */ - -/** This typedef represents the required signature for your provided callback - ** function should you wish to register one with tidySetReportFilter(). - ** Your callback function will be provided with the following parameters. - ** @param tdoc Indicates the tidy document the message comes from. - ** @param lvl Specifies the TidyReportLevel of the message. - ** @param line Indicates the line number in the source document the message applies to. - ** @param col Indicates the column in the source document the message applies to. - ** @param mssg Specifies the complete message as Tidy would emit it. - ** @return Your callback function will return `yes` if Tidy should include the - ** report in its own output sink, or `no` if Tidy should suppress it. - */ -typedef Bool (TIDY_CALL *TidyReportFilter)( TidyDoc tdoc, TidyReportLevel lvl, uint line, uint col, ctmbstr mssg ); - -/** This function informs Tidy to use the specified callback to send reports. */ -TIDY_EXPORT Bool TIDY_CALL tidySetReportFilter(TidyDoc tdoc, /**< The tidy document for which the callback applies. */ - TidyReportFilter filtCallback /**< A pointer to your callback function of type TidyReportFilter. */ - ); - -/** @} - ** @name Error and Message Callbacks - TidyReportCallback - ** A simple callback to filter or collect messages reported by Tidy. - ** Unlike TidyReportFilter, more data are provided (including a `va_list`), - ** making this callback suitable for applications that provide more - ** sophisticated handling of reports. - ** @remark The use of a `va_list` may preclude using this callback from - ** non-C-like languages, which is uncharacteristic of Tidy. For more - ** flexibility, consider using TidyMessageCallback instead. - ** @note This callback was previously `TidyMessageFilter3` in older versions - ** of LibTidy. - ** @{ - */ - -/** This typedef represents the required signature for your provided callback - ** function should you wish to register one with tidySetReportCallback(). - ** Your callback function will be provided with the following parameters. - ** @param tdoc Indicates the tidy document the message comes from. - ** @param lvl Specifies the TidyReportLevel of the message. - ** @param line Indicates the line number in the source document the message applies to. - ** @param col Indicates the column in the source document the message applies to. - ** @param code Specifies the message code representing the message. Note that - ** this code is a string value that the API promises to hold constant, - ** as opposed to an enum value that can change at any time. Although - ** this is intended so that you can look up your own application's - ** strings, you can retrieve Tidy's format string with this code by - ** using tidyErrorCodeFromKey() and then the tidyLocalizedString() - ** family of functions. - ** @param args Is a `va_list` of arguments used to fill Tidy's message format string. - ** @return Your callback function will return `yes` if Tidy should include the - ** report in its own output sink, or `no` if Tidy should suppress it. - */ -typedef Bool (TIDY_CALL *TidyReportCallback)( TidyDoc tdoc, TidyReportLevel lvl, - uint line, uint col, ctmbstr code, va_list args ); - -/** This function informs Tidy to use the specified callback to send reports. */ -TIDY_EXPORT Bool TIDY_CALL tidySetReportCallback(TidyDoc tdoc, /**< The tidy document for which the callback applies. */ - TidyReportCallback filtCallback /**< A pointer to your callback function of type TidyReportCallback. */ - ); - -/** @} - ** @name Error and Message Callbacks - TidyMessageCallback - ** A sophisticated and extensible callback to filter or collect messages - ** reported by Tidy. It returns only an opaque type `TidyMessage` for every - ** report and dialogue message, and this message can be queried with the -** TidyMessageCallback API, below. Note that unlike the older filters, this -** callback exposes *all* output that LibTidy emits (excluding the console -** application, which is a client of LibTidy). -*/ - -/** This typedef represents the required signature for your provided callback - ** function should you wish to register one with tidySetMessageCallback(). - ** Your callback function will be provided with the following parameters. - ** @param tmessage An opaque type used as a token against which other API - ** calls can be made. - ** @return Your callback function will return `yes` if Tidy should include the - ** report in its own output sink, or `no` if Tidy should suppress it. - */ -typedef Bool (TIDY_CALL *TidyMessageCallback)( TidyMessage tmessage ); - -/** This function informs Tidy to use the specified callback to send reports. */ -TIDY_EXPORT Bool TIDY_CALL tidySetMessageCallback(TidyDoc tdoc, /**< The tidy document for which the callback applies. */ - TidyMessageCallback filtCallback /**< A pointer to your callback function of type TidyMessageCallback. */ - ); - -/** @name TidyMessageCallback API - ** When using `TidyMessageCallback` you will be supplied with a TidyMessage - ** object, which is used as a token to be interrogated with the following - ** API before the callback returns. - ** @remark Upon returning from the callback, this object is destroyed so do - ** not attempt to copy it, or keep it around, or use it in any way. - ** - ** @{ - */ - -/** Get the tidy document this message comes from. - ** @param tmessage Specify the message that you are querying. - ** @result Returns the TidyDoc that generated the message. - */ -TIDY_EXPORT TidyDoc TIDY_CALL tidyGetMessageDoc( TidyMessage tmessage ); - -/** Get the message code. - ** @param tmessage Specify the message that you are querying. - ** @result Returns a code representing the message. This code can be used - ** directly with the localized strings API; however we never make - ** any guarantees about the value of these codes. For code stability - ** don't store this value in your own application. Instead use the - ** enum field or use the message key string value. - */ -TIDY_EXPORT uint TIDY_CALL tidyGetMessageCode( TidyMessage tmessage ); - -/** Get the message key string. - ** @param tmessage Specify the message that you are querying. - ** @result Returns a string representing the message. This string is intended - ** to be stable by the LibTidy API, and is suitable for use as a key - ** in your own applications. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetMessageKey( TidyMessage tmessage ); - -/** Get the line number the message applies to. - ** @param tmessage Specify the message that you are querying. - ** @result Returns the line number, if any, that generated the message. - */ -TIDY_EXPORT int TIDY_CALL tidyGetMessageLine( TidyMessage tmessage ); - -/** Get the column the message applies to. - ** @param tmessage Specify the message that you are querying. - ** @result Returns the column number, if any, that generated the message. - */ -TIDY_EXPORT int TIDY_CALL tidyGetMessageColumn( TidyMessage tmessage ); - -/** Get the TidyReportLevel of the message. - ** @param tmessage Specify the message that you are querying. - ** @result Returns a TidyReportLevel indicating the severity or status of the - ** message. - */ -TIDY_EXPORT TidyReportLevel TIDY_CALL tidyGetMessageLevel( TidyMessage tmessage ); - - -/** Get the muted status of the message, that is, whether or not the - ** current configuration indicated that this message should be muted. - ** @param tmessage Specify the message that you are querying. - ** @result Returns a Bool indicating that the config indicates muting this - ** message. - */ -TIDY_EXPORT Bool TIDY_CALL tidyGetMessageIsMuted( TidyMessage tmessage ); - -/** Get the default format string, which is the format string for the message - ** in Tidy's default localization (en_us). - ** @param tmessage Specify the message that you are querying. - ** @result Returns the default localization format string of the message. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetMessageFormatDefault( TidyMessage tmessage ); - -/** Get the localized format string. If a localized version of the format string - ** doesn't exist, then the default version will be returned. - ** @param tmessage Specify the message that you are querying. - ** @result Returns the localized format string of the message. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetMessageFormat( TidyMessage tmessage ); - -/** Get the message with the format string already completed, in Tidy's - ** default localization. - ** @param tmessage Specify the message that you are querying. - ** @result Returns the message in the default localization. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetMessageDefault( TidyMessage tmessage ); - -/** Get the message with the format string already completed, in Tidy's - ** current localization. - ** @param tmessage Specify the message that you are querying. - ** @result Returns the message in the current localization. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetMessage( TidyMessage tmessage ); - -/** Get the position part part of the message in the default language. - ** @param tmessage Specify the message that you are querying. - ** @result Returns the positional part of a string as Tidy would display it - ** in the console application. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetMessagePosDefault( TidyMessage tmessage ); - -/** Get the position part part of the message in the current language. - ** @param tmessage Specify the message that you are querying. - ** @result Returns the positional part of a string as Tidy would display it - ** in the console application. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetMessagePos( TidyMessage tmessage ); - -/** Get the prefix part of a message in the default language. - ** @param tmessage Specify the message that you are querying. - ** @result Returns the message prefix part of a string as Tidy would display - ** it in the console application. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetMessagePrefixDefault( TidyMessage tmessage ); - -/** Get the prefix part of a message in the current language. - ** @param tmessage Specify the message that you are querying. - ** @result Returns the message prefix part of a string as Tidy would display - ** it in the console application. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetMessagePrefix( TidyMessage tmessage ); - -/** Get the complete message as Tidy would emit it in the default localization. - ** @param tmessage Specify the message that you are querying. - ** @result Returns the complete message just as Tidy would display it on the - ** console. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetMessageOutputDefault( TidyMessage tmessage ); - -/** Get the complete message as Tidy would emit it in the current localization. - ** @param tmessage Specify the message that you are querying. - ** @result Returns the complete message just as Tidy would display it on the - ** console. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetMessageOutput( TidyMessage tmessage ); - -/** @} end subgroup TidyMessageCallback API */ - -/** @name TidyMessageCallback Arguments API - ** When using `TidyMessageCallback` you will be supplied with a TidyMessage - ** object which can be used as a token against which to query using this API. - ** This API deals strictly with _arguments_ that a message may or may not have; - ** these are the same arguments that Tidy would apply to a format string in - ** order to fill in the placeholder fields and deliver a complete report or - ** dialogue string to you. - ** - ** @{ - */ - -/** Initiates an iterator for a list of arguments related to a given message. - ** This iterator allows you to iterate through all of the arguments, if any. - ** In order to iterate through the arguments, initiate the iterator with this - ** function, and then use tidyGetNextMessageArgument() to retrieve the first - ** and subsequent arguments. For example: - ** @code{.c} - ** TidyIterator itArg = tidyGetMessageArguments( tmessage ); - ** while ( itArg ) { - ** TidyMessageArgument my_arg = tidyGetNextMessageArgument( tmessage, &itArg ); - ** // do something with my_arg, such as inspect its value or format - ** } - ** @endcode - ** @param tmessage The message about whose arguments you wish to query. - ** @result Returns a TidyIterator, which is a token used to represent the - ** current position in a list within LibTidy. - */ -TIDY_EXPORT TidyIterator TIDY_CALL tidyGetMessageArguments( TidyMessage tmessage ); - -/** Given a valid TidyIterator initiated with tidyGetMessageArguments(), returns - ** an instance of the opaque type TidyMessageArgument, which serves as a token - ** against which the remaining argument API functions may be used to query - ** information. - ** @result Returns an instance of TidyMessageArgument. - */ -TIDY_EXPORT TidyMessageArgument TIDY_CALL tidyGetNextMessageArgument(TidyMessage tmessage, /**< The message whose arguments you want to access. */ - TidyIterator* iter /**< The TidyIterator (initiated with tidyOptGetDocLinksList()) token. */ - ); - -/** Returns the `TidyFormatParameterType` of the given message argument. - ** @result Returns the type of parameter of type TidyFormatParameterType. - */ -TIDY_EXPORT TidyFormatParameterType TIDY_CALL tidyGetArgType(TidyMessage tmessage, /**< The message whose arguments you want to access. */ - TidyMessageArgument* arg /**< The argument that you are querying. */ - ); - -/** Returns the format specifier of the given message argument. The memory for - ** this string is cleared upon termination of the callback, so do be sure to - ** make your own copy. - ** @result Returns the format specifier string of the given argument. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetArgFormat(TidyMessage tmessage, /**< The message whose arguments you want to access. */ - TidyMessageArgument* arg /**< The argument that you are querying. */ - ); - -/** Returns the string value of the given message argument. An assertion - ** will be generated if the argument type is not a string. - ** @result Returns the string value of the given argument. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetArgValueString(TidyMessage tmessage, /**< The message whose arguments you want to access. */ - TidyMessageArgument* arg /**< The argument that you are querying. */ - ); - -/** Returns the unsigned integer value of the given message argument. An - ** assertion will be generated if the argument type is not an unsigned int. - ** @result Returns the unsigned integer value of the given argument. - */ -TIDY_EXPORT uint TIDY_CALL tidyGetArgValueUInt(TidyMessage tmessage, /**< The message whose arguments you want to access. */ - TidyMessageArgument* arg /**< The argument that you are querying. */ - ); - -/** Returns the integer value of the given message argument. An assertion - ** will be generated if the argument type is not an integer. - ** @result Returns the integer value of the given argument. - */ -TIDY_EXPORT int TIDY_CALL tidyGetArgValueInt(TidyMessage tmessage, /**< The message whose arguments you want to access. */ - TidyMessageArgument* arg /**< The argument that you are querying. */ - ); - -/** - * Returns the double value of the given message argument. An assertion - * will be generated if the argument type is not a double. - ** @result Returns the double value of the given argument. - */ -TIDY_EXPORT double TIDY_CALL tidyGetArgValueDouble(TidyMessage tmessage, /**< The message whose arguments you want to access. */ - TidyMessageArgument* arg /**< The argument that you are querying. */ - ); - -/** @} end subgroup TidyMessageCallback Arguments API */ - -/** @name Printing - ** LibTidy applications can somewhat track the progress of the tidying process - ** by using this provided callback. It relates where something in the source - ** document ended up in the output. - ** @{ - */ - -/** This typedef represents the required signature for your provided callback - ** function should you wish to register one with tidySetMessageCallback(). - ** Your callback function will be provided with the following parameters. - ** @param tdoc Indicates the source tidy document. - ** @param line Indicates the line in the source document at this point in the process. - ** @param col Indicates the column in the source document at this point in the process. - ** @param destLine Indicates the line number in the output document at this point in the process. - */ -typedef void (TIDY_CALL *TidyPPProgress)( TidyDoc tdoc, uint line, uint col, uint destLine ); - -/** This function informs Tidy to use the specified callback for tracking the - ** pretty-printing process progress. - */ -TIDY_EXPORT Bool TIDY_CALL tidySetPrettyPrinterCallback(TidyDoc tdoc, - TidyPPProgress callback - ); - -/** @} */ -/** @} end IO group */ -/* MARK: - Document Parse */ -/***************************************************************************//** - ** @defgroup Parse Document Parse - ** - ** Functions for parsing markup from a given input source, as well as string - ** and filename functions for added convenience. HTML/XHTML version determined - ** from input. - ** - ** @{ - ******************************************************************************/ - -/** Parse markup in named file. - ** @result Returns the highest of `2` indicating that errors were present in - ** the document, `1` indicating warnings, and `0` in the case of - ** everything being okay. - */ -TIDY_EXPORT int TIDY_CALL tidyParseFile(TidyDoc tdoc, /**< The tidy document to use for parsing. */ - ctmbstr filename /**< The filename to parse. */ - ); - -/** Parse markup from the standard input. - ** @param tdoc The tidy document to use for parsing. - ** @result Returns the highest of `2` indicating that errors were present in - ** the document, `1` indicating warnings, and `0` in the case of - ** everything being okay. - */ -TIDY_EXPORT int TIDY_CALL tidyParseStdin( TidyDoc tdoc ); - -/** Parse markup in given string. - ** @result Returns the highest of `2` indicating that errors were present in - ** the document, `1` indicating warnings, and `0` in the case of - ** everything being okay. - */ -TIDY_EXPORT int TIDY_CALL tidyParseString(TidyDoc tdoc, /**< The tidy document to use for parsing. */ - ctmbstr content /**< The string to parse. */ - ); - -/** Parse markup in given buffer. - ** @result Returns the highest of `2` indicating that errors were present in - ** the document, `1` indicating warnings, and `0` in the case of - ** everything being okay. - */ -TIDY_EXPORT int TIDY_CALL tidyParseBuffer(TidyDoc tdoc, /**< The tidy document to use for parsing. */ - TidyBuffer* buf /**< The TidyBuffer containing data to parse. */ - ); - -/** Parse markup in given generic input source. - ** @result Returns the highest of `2` indicating that errors were present in - ** the document, `1` indicating warnings, and `0` in the case of - ** everything being okay. - */ -TIDY_EXPORT int TIDY_CALL tidyParseSource(TidyDoc tdoc, /**< The tidy document to use for parsing. */ - TidyInputSource* source /**< A TidyInputSource containing data to parse. */ - ); - - -/** @} End Parse group */ -/* MARK: - Diagnostics and Repair */ -/***************************************************************************//** - ** @defgroup Clean Diagnostics and Repair - ** - ** After parsing the document, you can use these functions to attempt cleanup, - ** repair, get additional diagnostics, and determine the document type. - ** @{ - ******************************************************************************/ - -/** Execute configured cleanup and repair operations on parsed markup. - ** @param tdoc The tidy document to use. - ** @result An integer representing the status. - */ -TIDY_EXPORT int TIDY_CALL tidyCleanAndRepair( TidyDoc tdoc ); - -/** Reports the document type and diagnostic statistics on parsed and repaired - ** markup. You must call tidyCleanAndRepair() before using this function. - ** @param tdoc The tidy document to use. - ** @result An integer representing the status. - */ -TIDY_EXPORT int TIDY_CALL tidyRunDiagnostics( TidyDoc tdoc ); - -/** Reports the document type into the output sink. - ** @param tdoc The tidy document to use. - ** @result An integer representing the status. - */ -TIDY_EXPORT int TIDY_CALL tidyReportDoctype( TidyDoc tdoc ); - - -/** @} end Clean group */ -/* MARK: - Document Save Functions */ -/***************************************************************************//** - ** @defgroup Save Document Save Functions - ** - ** Save currently parsed document to the given output sink. File name - ** and string/buffer functions provided for convenience. - ** - ** @{ - ******************************************************************************/ - -/** Save the tidy document to the named file. - ** @result An integer representing the status. - */ -TIDY_EXPORT int TIDY_CALL tidySaveFile(TidyDoc tdoc, /**< The tidy document to save. */ - ctmbstr filename /**< The destination file name. */ - ); - -/** Save the tidy document to standard output (FILE*). - ** @param tdoc The tidy document to save. - ** @result An integer representing the status. - */ -TIDY_EXPORT int TIDY_CALL tidySaveStdout( TidyDoc tdoc ); - -/** Save the tidy document to given TidyBuffer object. - ** @result An integer representing the status. - */ -TIDY_EXPORT int TIDY_CALL tidySaveBuffer(TidyDoc tdoc, /**< The tidy document to save. */ - TidyBuffer* buf /**< The buffer to place the output. */ - ); - -/** Save the tidy document to an application buffer. If TidyShowMarkup and the - ** document has no errors, or TidyForceOutput, then the current document (per - ** the current configuration) will be pretty printed to this application - ** buffer. The document byte length (not character length) will be placed into - ** *buflen. The document will not be null terminated. If the buffer is not big - ** enough, ENOMEM will be returned, else the actual document status. - ** @result An integer representing the status. - */ -TIDY_EXPORT int TIDY_CALL tidySaveString(TidyDoc tdoc, /**< The tidy document to save. */ - tmbstr buffer, /**< The buffer to save to. */ - uint* buflen /**< [out] The byte length written. */ - ); - -/** Save to given generic output sink. - ** @result An integer representing the status. - */ -TIDY_EXPORT int TIDY_CALL tidySaveSink(TidyDoc tdoc, /**< The tidy document to save. */ - TidyOutputSink* sink /**< The output sink to save to. */ - ); - -/** Save current settings to named file. Only writes non-default values. - ** @result An integer representing the status. - */ -TIDY_EXPORT int TIDY_CALL tidyOptSaveFile(TidyDoc tdoc, /**< The tidy document to save. */ - ctmbstr cfgfil /**< The filename to save the configuration to. */ - ); - -/** Save current settings to given output sink. Only non-default values are - ** written. - ** @result An integer representing the status. - */ -TIDY_EXPORT int TIDY_CALL tidyOptSaveSink(TidyDoc tdoc, /**< The tidy document to save. */ - TidyOutputSink* sink /**< The output sink to save the configuration to. */ - ); - - -/** @} end Save group */ -/* MARK: - Document Tree */ -/***************************************************************************//** - ** @defgroup Tree Document Tree - ** - ** A parsed (and optionally repaired) document is represented by Tidy as a - ** tree, much like a W3C DOM. This tree may be traversed using these - ** functions. The following snippet gives a basic idea how these functions - ** can be used. - ** - ** @code{.c} - ** void dumpNode( TidyNode tnod, int indent ) { - ** TidyNode child; - ** - ** for ( child = tidyGetChild(tnod); child; child = tidyGetNext(child) ) { - ** ctmbstr name; - ** switch ( tidyNodeGetType(child) ) { - ** case TidyNode_Root: name = "Root"; break; - ** case TidyNode_DocType: name = "DOCTYPE"; break; - ** case TidyNode_Comment: name = "Comment"; break; - ** case TidyNode_ProcIns: name = "Processing Instruction"; break; - ** case TidyNode_Text: name = "Text"; break; - ** case TidyNode_CDATA: name = "CDATA"; break; - ** case TidyNode_Section: name = "XML Section"; break; - ** case TidyNode_Asp: name = "ASP"; break; - ** case TidyNode_Jste: name = "JSTE"; break; - ** case TidyNode_Php: name = "PHP"; break; - ** case TidyNode_XmlDecl: name = "XML Declaration"; break; - ** - ** case TidyNode_Start: - ** case TidyNode_End: - ** case TidyNode_StartEnd: - ** default: - ** name = tidyNodeGetName( child ); - ** break; - ** } - ** assert( name != NULL ); - ** printf( "\%*.*sNode: \%s\\n", indent, indent, " ", name ); - ** dumpNode( child, indent + 4 ); - ** } - ** } - ** - ** void dumpDoc( TidyDoc tdoc ) { - ** dumpNode( tidyGetRoot(tdoc), 0 ); - ** } - ** - ** void dumpBody( TidyDoc tdoc ) { - ** dumpNode( tidyGetBody(tdoc), 0 ); - ** } - ** @endcode - ** - ** @{ - ******************************************************************************/ - -/** @name Nodes for Document Sections - ** @{ - */ - -/** Get the root node. - ** @param tdoc The document to query. - ** @result Returns a tidy node. - */ -TIDY_EXPORT TidyNode TIDY_CALL tidyGetRoot( TidyDoc tdoc ); - -/** Get the HTML node. - ** @param tdoc The document to query. - ** @result Returns a tidy node. - */ -TIDY_EXPORT TidyNode TIDY_CALL tidyGetHtml( TidyDoc tdoc ); - -/** Get the HEAD node. - ** @param tdoc The document to query. - ** @result Returns a tidy node. - */ -TIDY_EXPORT TidyNode TIDY_CALL tidyGetHead( TidyDoc tdoc ); - -/** Get the BODY node. - ** @param tdoc The document to query. - ** @result Returns a tidy node. - */ -TIDY_EXPORT TidyNode TIDY_CALL tidyGetBody( TidyDoc tdoc ); - -/** @} - ** @name Relative Nodes - ** @{ - */ - -/** Get the parent of the indicated node. - ** @param tnod The node to query. - ** @result Returns a tidy node. - */ -TIDY_EXPORT TidyNode TIDY_CALL tidyGetParent( TidyNode tnod ); - -/** Get the child of the indicated node. - ** @param tnod The node to query. - ** @result Returns a tidy node. - */ -TIDY_EXPORT TidyNode TIDY_CALL tidyGetChild( TidyNode tnod ); - -/** Get the next sibling node. - ** @param tnod The node to query. - ** @result Returns a tidy node. - */ -TIDY_EXPORT TidyNode TIDY_CALL tidyGetNext( TidyNode tnod ); - -/** Get the previous sibling node. - ** @param tnod The node to query. - ** @result Returns a tidy node. - */ -TIDY_EXPORT TidyNode TIDY_CALL tidyGetPrev( TidyNode tnod ); - -/** @} - ** @name Miscellaneous Node Functions - ** @{ - */ - -/** Remove the indicated node. - ** @result Returns the next tidy node. - */ -TIDY_EXPORT TidyNode TIDY_CALL tidyDiscardElement(TidyDoc tdoc, /**< The tidy document from which to remove the node. */ - TidyNode tnod /**< The node to remove */ - ); - -/** @} - ** @name Node Attribute Functions - ** @{ - */ - -/** Get the first attribute. - ** @param tnod The node for which to get attributes. - ** @result Returns an instance of TidyAttr. - */ -TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrFirst( TidyNode tnod ); - -/** Get the next attribute. - ** @param tattr The current attribute, so the next one can be returned. - ** @result Returns and instance of TidyAttr. - */ -TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrNext( TidyAttr tattr ); - -/** Get the name of a TidyAttr instance. - ** @param tattr The tidy attribute to query. - ** @result Returns a string indicating the name of the attribute. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyAttrName( TidyAttr tattr ); - -/** Get the value of a TidyAttr instance. - ** @param tattr The tidy attribute to query. - ** @result Returns a string indicating the value of the attribute. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyAttrValue( TidyAttr tattr ); - -/** Discard an attribute. */ -TIDY_EXPORT void TIDY_CALL tidyAttrDiscard(TidyDoc itdoc, /**< The tidy document from which to discard the attribute. */ - TidyNode tnod, /**< The node from which to discard the attribute. */ - TidyAttr tattr /**< The attribute to discard. */ - ); - -/** Get the attribute ID given a tidy attribute. - ** @param tattr The attribute to query. - ** @result Returns the TidyAttrId of the given attribute. - **/ -TIDY_EXPORT TidyAttrId TIDY_CALL tidyAttrGetId( TidyAttr tattr ); - -/** Indicates whether or not a given attribute is an event attribute. - ** @param tattr The attribute to query. - ** @result Returns a bool indicating whether or not the attribute is an event. - **/ -TIDY_EXPORT Bool TIDY_CALL tidyAttrIsEvent( TidyAttr tattr ); - -/** Get an instance of TidyAttr by specifying an attribute ID. - ** @result Returns a TidyAttr instance. - */ -TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrGetById(TidyNode tnod, /**< The node to query. */ - TidyAttrId attId /**< The attribute ID to find. */ - ); - -/** @} - ** @name Additional Node Interrogation - ** @{ - */ - -/** Get the type of node. - ** @param tnod The node to query. - ** @result Returns the type of node as TidyNodeType. - */ -TIDY_EXPORT TidyNodeType TIDY_CALL tidyNodeGetType( TidyNode tnod ); - -/** Get the name of the node. - ** @param tnod The node to query. - ** @result Returns a string indicating the name of the node. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyNodeGetName( TidyNode tnod ); - -/** Indicates whether or not a node is a text node. - ** @param tnod The node to query. - ** @result Returns a bool indicating whether or not the node is a text node. - */ -TIDY_EXPORT Bool TIDY_CALL tidyNodeIsText( TidyNode tnod ); - -/** Indicates whether or not the node is a propriety type. - ** @result Returns a bool indicating whether or not the node is a proprietary type. - */ -TIDY_EXPORT Bool TIDY_CALL tidyNodeIsProp(TidyDoc tdoc, /**< The document to query. */ - TidyNode tnod /**< The node to query */ - ); - -/** Indicates whether or not a node represents and HTML header element, such - ** as h1, h2, etc. - ** @param tnod The node to query. - ** @result Returns a bool indicating whether or not the node is an HTML header. - */ -TIDY_EXPORT Bool TIDY_CALL tidyNodeIsHeader( TidyNode tnod ); - -/** Indicates whether or not the node has text. - ** @result Returns the type of node as TidyNodeType. - */ -TIDY_EXPORT Bool TIDY_CALL tidyNodeHasText(TidyDoc tdoc, /**< The document to query. */ - TidyNode tnod /**< The node to query. */ - ); - -/** Gets the text of a node and places it into the given TidyBuffer. - ** @result Returns a bool indicating success or not. - */ -TIDY_EXPORT Bool TIDY_CALL tidyNodeGetText(TidyDoc tdoc, /**< The document to query. */ - TidyNode tnod, /**< The node to query. */ - TidyBuffer* buf /**< [out] A TidyBuffer used to receive the node's text. */ - ); - -/** Get the value of the node. This copies the unescaped value of this node into - ** the given TidyBuffer at UTF-8. - ** @result Returns a bool indicating success or not. - */ -TIDY_EXPORT Bool TIDY_CALL tidyNodeGetValue(TidyDoc tdoc, /**< The document to query */ - TidyNode tnod, /**< The node to query */ - TidyBuffer* buf /**< [out] A TidyBuffer used to receive the node's value. */ - ); - -/** Get the tag ID of the node. - ** @param tnod The node to query. - ** @result Returns the tag ID of the node as TidyTagId. - */ -TIDY_EXPORT TidyTagId TIDY_CALL tidyNodeGetId( TidyNode tnod ); - -/** Get the line number where the node occurs. - ** @param tnod The node to query. - ** @result Returns the line number. - */ -TIDY_EXPORT uint TIDY_CALL tidyNodeLine( TidyNode tnod ); - -/** Get the column location of the node. - ** @param tnod The node to query. - ** @result Returns the column location of the node. - */ -TIDY_EXPORT uint TIDY_CALL tidyNodeColumn( TidyNode tnod ); - - -/** @} */ -/** @} end Tree group */ -/* MARK: - Message Key Management */ -/***************************************************************************//** - ** @defgroup MessagesKeys Message Key Management - ** - ** These functions serve to manage message codes, i.e., codes that are used - ** Tidy and communicated via its callback filters to represent reports and - ** dialogue that Tidy emits. - ** - ** @remark These codes only reflect complete messages, and are specifically - ** distinct from the internal codes that are used to lookup individual - ** strings for localization purposes. - ** - ** @{ - ******************************************************************************/ - -/** - ** Given a message code, return the text key that represents it. - ** @param code The error code to lookup. - ** @result The string representing the error code. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyErrorCodeAsKey(uint code); - -/** - ** Given a text key representing a message code, return the uint that - ** represents it. - ** - ** @remark We establish that for external purposes, the API will ensure that - ** string keys remain consistent. *Never* count on the integer value - ** of a message code. Always use this function to ensure that the - ** integer is valid if you need one. - ** @param code The string representing the error code. - ** @result Returns an integer that represents the error code, which can be - ** used to lookup Tidy's built-in strings. If the provided string does - ** not have a matching message code, then UINT_MAX will be returned. - */ -TIDY_EXPORT uint TIDY_CALL tidyErrorCodeFromKey(ctmbstr code); - -/** Initiates an iterator for a list of message codes available in Tidy. - ** This iterator allows you to iterate through all of the code. In orde to - ** iterate through the codes, initiate the iterator with this function, and - ** then use getNextErrorCode() to retrieve the first and subsequent codes. - ** For example: - ** @code{.c} - ** TidyIterator itMessage = getErrorCodeList(); - ** while ( itMessage ) { - ** uint code = getNextErrorCode( &itMessage ); - ** // do something with the code, such as lookup a string. - ** } - ** @endcode - ** @result Returns a TidyIterator, which is a token used to represent the - ** current position in a list within LibTidy. - */ -TIDY_EXPORT TidyIterator TIDY_CALL getErrorCodeList(void); - -/** Given a valid TidyIterator initiated with getErrorCodeList(), returns - ** an instance of the opaque type TidyMessageArgument, which serves as a token - ** against which the remaining argument API functions may be used to query - ** information. - ** @param iter The TidyIterator (initiated with getErrorCodeList()) token. - ** @result Returns a message code. - */ -TIDY_EXPORT uint TIDY_CALL getNextErrorCode( TidyIterator* iter ); - - -/** @} end MessagesKeys group */ -/* MARK: - Localization Support */ -/***************************************************************************//** - ** @defgroup Localization Localization Support - ** - ** These functions help manage localization in Tidy. - ** - ** @{ - ******************************************************************************/ - - -/** @name Tidy's Locale - ** @{ - */ - -/** Tells Tidy to use a different language for output. - ** @param languageCode A Windows or POSIX language code, and must match - ** a TIDY_LANGUAGE for an installed language. - ** @result Indicates that a setting was applied, but not necessarily the - ** specific request, i.e., true indicates a language and/or region - ** was applied. If es_mx is requested but not installed, and es is - ** installed, then es will be selected and this function will return - ** true. However the opposite is not true; if es is requested but - ** not present, Tidy will not try to select from the es_XX variants. - */ -TIDY_EXPORT Bool TIDY_CALL tidySetLanguage( ctmbstr languageCode ); - -/** Gets the current language used by Tidy. - ** @result Returns a string indicating the currently set language. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetLanguage(void); - -/** @} - ** @name Locale Mappings - ** @{ - */ - -/** @struct tidyLocalMapItem - ** Represents an opaque type we can use for tidyLocaleMapItem, which - ** is used to iterate through the language list, and used to access - ** the windowsName() and the posixName(). - */ -/* Prevent Doxygen from listing this as a function. */ -#ifndef DOXYGEN_SHOULD_SKIP_THIS -opaque_type(tidyLocaleMapItem); -#endif - -/** Initiates an iterator for a list of Tidy's Windows<->POSIX locale mappings. - ** This iterator allows you to iterate through this list. In order to - ** iterate through the list, initiate the iterator with this function, and then - ** use getNextWindowsLanguage() to retrieve the first and subsequent codes. - ** For example: - ** @code{.c} - ** TidyIterator itList = getWindowsLanguageList(); - ** while ( itList ) { - ** tidyLocaleMapItem *item = getNextWindowsLanguage( &itList ); - ** // do something such as get the TidyLangWindowsName(item). - ** } - ** @endcode - ** @result Returns a TidyIterator, which is a token used to represent the - ** current position in a list within LibTidy. - */ -TIDY_EXPORT TidyIterator TIDY_CALL getWindowsLanguageList(void); - -/** Given a valid TidyIterator initiated with getWindowsLanguageList(), returns - ** a pointer to a tidyLocaleMapItem, which can be further interrogated with - ** TidyLangWindowsName() or TidyLangPosixName(). - ** @param iter The TidyIterator (initiated with getWindowsLanguageList()) token. - ** @result Returns a pointer to a tidyLocaleMapItem. - */ -TIDY_EXPORT const tidyLocaleMapItem* TIDY_CALL getNextWindowsLanguage( TidyIterator* iter ); - -/** Given a `tidyLocalMapItem`, return the Windows name. - ** @param item An instance of tidyLocalMapItem to query. - ** @result Returns a string with the Windows name of the mapping. - */ -TIDY_EXPORT const ctmbstr TIDY_CALL TidyLangWindowsName( const tidyLocaleMapItem *item ); - -/** Given a `tidyLocalMapItem`, return the POSIX name. - ** @param item An instance of tidyLocalMapItem to query. - ** @result Returns a string with the POSIX name of the mapping. - */ -TIDY_EXPORT const ctmbstr TIDY_CALL TidyLangPosixName( const tidyLocaleMapItem *item ); - -/** @} - ** @name Getting Localized Strings - ** @{ - */ - -/** Provides a string given `messageType` in the current localization for - ** `quantity`. Some strings have one or more plural forms, and this function - ** will ensure that the correct singular or plural form is returned for the - ** specified quantity. - ** @result Returns the desired string. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyLocalizedStringN(uint messageType, /**< The message type. */ - uint quantity /**< The quantity. */ - ); - -/** Provides a string given `messageType` in the current localization for the - ** single case. - ** @param messageType The message type. - ** @result Returns the desired string. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyLocalizedString( uint messageType ); - -/** Provides a string given `messageType` in the default localization (which - ** is `en`). - ** @param messageType The message type. - ** @result Returns the desired string. - */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyDefaultString( uint messageType ); - -/** Initiates an iterator for a list of string key codes available in Tidy. - ** This iterator allows you to iterate through all of the codes. In order to - ** iterate through the codes, initiate the iterator with this function, and - ** then use getNextStringKey() to retrieve the first and subsequent codes. - ** For example: - ** @code{.c} - ** TidyIterator itKey = getErrorCodeList(); - ** while ( itKey ) { - ** uint code = getNextStringKey( &itKey ); - ** // do something with the code, such as lookup a string. - ** } - ** @endcode - ** @remark These are provided for documentation generation purposes, and - ** probably aren't of much use to the average LibTidy implementor. - ** @result Returns a TidyIterator, which is a token used to represent the - ** current position in a list within LibTidy. - */ -TIDY_EXPORT TidyIterator TIDY_CALL getStringKeyList(void); - -/** Given a valid TidyIterator initiated with getStringKeyList(), returns - ** an unsigned integer representing the next key value. - ** @remark These are provided for documentation generation purposes, and - ** probably aren't of much use to the average LibTidy implementor. - ** @param iter The TidyIterator (initiated with getStringKeyList()) token. - ** @result Returns a message code. - */ -TIDY_EXPORT uint TIDY_CALL getNextStringKey( TidyIterator* iter ); - -/** @} - ** @name Available Languages - ** @{ - */ - -/** Initiates an iterator for a list of Tidy's installed languages. This - ** iterator allows you to iterate through this list. In order to iterate - ** through the list, initiate the iterator with this function, and then use - ** use getNextInstalledLanguage() to retrieve the first and subsequent strings. - ** For example: - ** @code{.c} - ** TidyIterator itList = getInstalledLanguageList(); - ** while ( itList ) { - ** printf("%s", getNextInstalledLanguage( &itList )); - ** } - ** @endcode - ** @result Returns a TidyIterator, which is a token used to represent the - ** current position in a list within LibTidy. - */ -TIDY_EXPORT TidyIterator TIDY_CALL getInstalledLanguageList(void); - -/** Given a valid TidyIterator initiated with getInstalledLanguageList(), - ** returns a string representing a language name that is installed in Tidy. - ** @param iter The TidyIterator (initiated with getInstalledLanguageList()) - ** token. - ** @result Returns a string indicating the installed language. - */ -TIDY_EXPORT ctmbstr TIDY_CALL getNextInstalledLanguage( TidyIterator* iter ); - -/** @} */ - -/** @} end MessagesKeys group */ -/** @} end public_api group */ - - -#ifdef __cplusplus -} /* extern "C" */ -#endif -#endif /* __TIDY_H__ */ - -/* - * local variables: - * mode: c - * indent-tabs-mode: nil - * c-basic-offset: 4 - * eval: (c-set-offset 'substatement-open 0) - * end: - */ diff --git a/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidybuffio.h b/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidybuffio.h deleted file mode 100644 index 1c1b017d..00000000 --- a/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidybuffio.h +++ /dev/null @@ -1,125 +0,0 @@ -#ifndef __TIDY_BUFFIO_H__ -#define __TIDY_BUFFIO_H__ - -/**************************************************************************//** - * @file - * Treat buffer as a stream that Tidy can use for I/O operations. It offers - * the ability for the buffer to grow as bytes are added, and keeps track - * of current read and write points. - * - * @author - * HTACG, et al (consult git log) - * - * @copyright - * Copyright (c) 1998-2017 World Wide Web Consortium (Massachusetts - * Institute of Technology, European Research Consortium for Informatics - * and Mathematics, Keio University). - * @copyright - * See tidy.h for license. - * - * @date - * Consult git log. - ******************************************************************************/ - -#include "tidyplatform.h" -#include "tidy.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** A TidyBuffer is chunk of memory that can be used for multiple I/O purposes - ** within Tidy. - ** @ingroup IO - */ -TIDY_STRUCT -struct _TidyBuffer -{ - TidyAllocator* allocator; /**< Memory allocator */ - byte* bp; /**< Pointer to bytes */ - uint size; /**< Number of bytes currently in use */ - uint allocated; /**< Number of bytes allocated */ - uint next; /**< Offset of current input position */ -}; - -/** Initialize data structure using the default allocator */ -TIDY_EXPORT void TIDY_CALL tidyBufInit( TidyBuffer* buf ); - -/** Initialize data structure using the given custom allocator */ -TIDY_EXPORT void TIDY_CALL tidyBufInitWithAllocator( TidyBuffer* buf, TidyAllocator* allocator ); - -/** Free current buffer, allocate given amount, reset input pointer, - use the default allocator */ -TIDY_EXPORT void TIDY_CALL tidyBufAlloc( TidyBuffer* buf, uint allocSize ); - -/** Free current buffer, allocate given amount, reset input pointer, - use the given custom allocator */ -TIDY_EXPORT void TIDY_CALL tidyBufAllocWithAllocator( TidyBuffer* buf, - TidyAllocator* allocator, - uint allocSize ); - -/** Expand buffer to given size. -** Chunk size is minimum growth. Pass 0 for default of 256 bytes. -*/ -TIDY_EXPORT void TIDY_CALL tidyBufCheckAlloc( TidyBuffer* buf, - uint allocSize, uint chunkSize ); - -/** Free current contents and zero out */ -TIDY_EXPORT void TIDY_CALL tidyBufFree( TidyBuffer* buf ); - -/** Set buffer bytes to 0 */ -TIDY_EXPORT void TIDY_CALL tidyBufClear( TidyBuffer* buf ); - -/** Attach to existing buffer */ -TIDY_EXPORT void TIDY_CALL tidyBufAttach( TidyBuffer* buf, byte* bp, uint size ); - -/** Detach from buffer. Caller must free. */ -TIDY_EXPORT void TIDY_CALL tidyBufDetach( TidyBuffer* buf ); - - -/** Append bytes to buffer. Expand if necessary. */ -TIDY_EXPORT void TIDY_CALL tidyBufAppend( TidyBuffer* buf, void* vp, uint size ); - -/** Append one byte to buffer. Expand if necessary. */ -TIDY_EXPORT void TIDY_CALL tidyBufPutByte( TidyBuffer* buf, byte bv ); - -/** Get byte from end of buffer */ -TIDY_EXPORT int TIDY_CALL tidyBufPopByte( TidyBuffer* buf ); - - -/** Get byte from front of buffer. Increment input offset. */ -TIDY_EXPORT int TIDY_CALL tidyBufGetByte( TidyBuffer* buf ); - -/** At end of buffer? */ -TIDY_EXPORT Bool TIDY_CALL tidyBufEndOfInput( TidyBuffer* buf ); - -/** Put a byte back into the buffer. Decrement input offset. */ -TIDY_EXPORT void TIDY_CALL tidyBufUngetByte( TidyBuffer* buf, byte bv ); - - -/************** - TIDY -**************/ - -/* Forward declarations -*/ - -/** Initialize a buffer input source */ -TIDY_EXPORT void TIDY_CALL tidyInitInputBuffer( TidyInputSource* inp, TidyBuffer* buf ); - -/** Initialize a buffer output sink */ -TIDY_EXPORT void TIDY_CALL tidyInitOutputBuffer( TidyOutputSink* outp, TidyBuffer* buf ); - -#ifdef __cplusplus -} -#endif -#endif /* __TIDY_BUFFIO_H__ */ - -/* - * local variables: - * mode: c - * indent-tabs-mode: nil - * c-basic-offset: 4 - * eval: (c-set-offset 'substatement-open 0) - * end: - */ diff --git a/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidyenum.h b/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidyenum.h deleted file mode 100644 index 949d4646..00000000 --- a/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidyenum.h +++ /dev/null @@ -1,1445 +0,0 @@ -#ifndef __TIDYENUM_H__ -#define __TIDYENUM_H__ - -/**************************************************************************//** - * @file - * Separated public enumerations header providing important indentifiers for - * LibTidy and internal users, as well as code-generator macros used to - * generate many of them. - * - * The use of enums simplifies enum re-use in various wrappers, e.g. SWIG, - * generated wrappers, and COM IDL files. - * - * This file also contains macros to generate additional enums for use in - * Tidy's language localizations and/or to access Tidy's strings via the API. - * See detailed information elsewhere in this file's documentation. - * - * @note LibTidy does *not* guarantee the value of any enumeration member, - * including the starting integer value, except where noted. Always use enum - * members rather than their values! - * - * Enums that have starting values have starting values for a good reason, - * mainly to prevent string key overlap. - * - * @author Dave Raggett [dsr@w3.org] - * @author HTACG, et al (consult git log) - * - * @copyright - * Copyright (c) 1998-2017 World Wide Web Consortium (Massachusetts - * Institute of Technology, European Research Consortium for Informatics - * and Mathematics, Keio University). - * @copyright - * See tidy.h for license. - * - * @date Created 2001-05-20 by Charles Reitzel - * @date Updated 2002-07-01 by Charles Reitzel - * @date Further modifications: consult git log. - ******************************************************************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -/***************************************************************************//** - ** @defgroup public_enum_gen Tidy Strings Generation Macros - ** @ingroup internal_api - ** - ** Tidy aims to provide a consistent API for library users, and so we go to - ** some lengths to provide a `tidyStrings` enum that consists of the message - ** code for every string that Tidy can emit (used internally), and the array - ** `tidyStringsKeys[]` containing string representations of each message code. - ** - ** In order to keep code maintainable and make it simple to add new messages, - ** the message code enums and `tidyStringsKeys[]` are generated dynamically - ** with preprocessor macros defined below. - ** - ** Any visible FOREACH_MSG_* macro (including new ones) must be applied to the - ** `tidyStrings` enum with the `MAKE_ENUM()` macro in this file, and to the - ** `tidyStringsKeys[]` (in `messages.c`) with `MAKE_STRUCT` in this file. - ** - ** Modern IDE's will dynamically pre-process all of these macros, enabling - ** code-completion of these enums and array of structs. - ** - ** @{ - ******************************************************************************/ - -/* MARK: - Code Generation Macros */ -/** @name Code Generation Macros - ** These macros generate the enums and arrays from the Content Generation - ** Macros defined below. - ** @{ - */ - -/** Used to populate the contents of an enumerator, such as `tidyStrings`. */ -#define MAKE_ENUM(MESSAGE) MESSAGE, - -/** Used to populate the contents of a structure, such as tidyStringsKeys[]. */ -#define MAKE_STRUCT(MESSAGE) {#MESSAGE, MESSAGE}, - - -/** @} */ -/* MARK: - Content Generation Macros */ -/** @name Content Generation Macros - ** These macros generate the individual entries in the enums and structs used - ** to manage strings in Tidy. - ** @{ - */ - -/** Codes for populating TidyConfigCategory enumeration. */ -#define FOREACH_TIDYCONFIGCATEGORY(FN) \ - FN(TidyDiagnostics) /**< Diagnostics */ \ - FN(TidyDisplay) /**< Affecting screen display */ \ - FN(TidyDocumentIO) /**< Pertaining to document I/O */ \ - FN(TidyEncoding) /**< Relating to encoding */ \ - FN(TidyFileIO) /**< Pertaining to file I/O */ \ - FN(TidyMarkupCleanup) /**< Cleanup related options */ \ - FN(TidyMarkupEntities) /**< Entity related options */ \ - FN(TidyMarkupRepair) /**< Document repair related options */ \ - FN(TidyMarkupTeach) /**< Teach tidy new things */ \ - FN(TidyMarkupXForm) /**< Transform HTML one way or another */ \ - FN(TidyPrettyPrint) /**< Pretty printing options */ \ - FN(TidyInternalCategory) /**< Option is internal only. */ \ - - -/** These message codes comprise every possible message that can be output by - ** Tidy that are *not* diagnostic style messages, and are *not* console - ** application specific messages. - */ -#define FOREACH_MSG_MISC(FN) \ -/** line %d column %d */ FN(LINE_COLUMN_STRING) \ -/** discarding */ FN(STRING_DISCARDING) \ -/** error and errors */ FN(STRING_ERROR_COUNT_ERROR) \ -/** warning and warnings */ FN(STRING_ERROR_COUNT_WARNING) \ -/** Accessibility hello message */ FN(STRING_HELLO_ACCESS) \ -/** HTML Proprietary */ FN(STRING_HTML_PROPRIETARY) \ -/** plain text */ FN(STRING_PLAIN_TEXT) \ -/** replacing */ FN(STRING_REPLACING) \ -/** specified */ FN(STRING_SPECIFIED) \ -/** XML declaration */ FN(STRING_XML_DECLARATION) \ -/** no */ FN(TIDYCUSTOMNO_STRING) \ -/** block level */ FN(TIDYCUSTOMBLOCKLEVEL_STRING) \ -/** empty */ FN(TIDYCUSTOMEMPTY_STRING) \ -/** inline */ FN(TIDYCUSTOMINLINE_STRING) \ -/** pre */ FN(TIDYCUSTOMPRE_STRING) \ - - -/** These messages are used to generate additional dialogue style output from - ** Tidy when certain conditions exist, and provide more verbose explanations - ** than the short report. - */ -#define FOREACH_FOOTNOTE_MSG(FN) \ - FN(FOOTNOTE_TRIM_EMPTY_ELEMENT) \ - FN(TEXT_ACCESS_ADVICE1) \ - FN(TEXT_ACCESS_ADVICE2) \ - FN(TEXT_BAD_FORM) \ - FN(TEXT_BAD_MAIN) \ - FN(TEXT_HTML_T_ALGORITHM) \ - FN(TEXT_INVALID_URI) \ - FN(TEXT_INVALID_UTF16) \ - FN(TEXT_INVALID_UTF8) \ - FN(TEXT_M_IMAGE_ALT) \ - FN(TEXT_M_IMAGE_MAP) \ - FN(TEXT_M_LINK_ALT) \ - FN(TEXT_M_SUMMARY) \ - FN(TEXT_SGML_CHARS) \ - FN(TEXT_USING_BODY) \ - FN(TEXT_USING_FONT) \ - FN(TEXT_USING_FRAMES) \ - FN(TEXT_USING_LAYER) \ - FN(TEXT_USING_NOBR) \ - FN(TEXT_USING_SPACER) \ - FN(TEXT_VENDOR_CHARS) \ - FN(TEXT_WINDOWS_CHARS) - - -/** These messages are used to generate additional dialogue style output from - ** Tidy when certain conditions exist, and provide more verbose explanations - ** than the short report. - */ -#define FOREACH_DIALOG_MSG(FN) \ -/* TidyDialogueSummary */ FN(STRING_ERROR_COUNT) \ -/* TidyDialogueSummary */ FN(STRING_NEEDS_INTERVENTION) \ -/* TidyDialogueSummary */ FN(STRING_NO_ERRORS) \ -/* TidyDialogueSummary */ FN(STRING_NOT_ALL_SHOWN) \ -/* TidyDialogueInfo */ FN(TEXT_GENERAL_INFO_PLEA) \ -/* TidyDialogueInfo */ FN(TEXT_GENERAL_INFO) - - -/** These are report messages, i.e., messages that appear in Tidy's table - ** of errors and warnings. - */ -#define FOREACH_REPORT_MSG(FN) \ - FN(ADDED_MISSING_CHARSET) \ - FN(ANCHOR_NOT_UNIQUE) \ - FN(APOS_UNDEFINED) \ - FN(ATTR_VALUE_NOT_LCASE) \ - FN(ATTRIBUTE_IS_NOT_ALLOWED) \ - FN(ATTRIBUTE_VALUE_REPLACED) \ - FN(BACKSLASH_IN_URI) \ - FN(BAD_ATTRIBUTE_VALUE_REPLACED) \ - FN(BAD_ATTRIBUTE_VALUE) \ - FN(BAD_CDATA_CONTENT) \ - FN(BAD_SUMMARY_HTML5) \ - FN(BAD_SURROGATE_LEAD) \ - FN(BAD_SURROGATE_PAIR) \ - FN(BAD_SURROGATE_TAIL) \ - FN(CANT_BE_NESTED) \ - FN(COERCE_TO_ENDTAG) \ - FN(CONTENT_AFTER_BODY) \ - FN(CUSTOM_TAG_DETECTED) \ - FN(DISCARDING_UNEXPECTED) \ - FN(DOCTYPE_AFTER_TAGS) \ - FN(DUPLICATE_FRAMESET) \ - FN(ELEMENT_NOT_EMPTY) \ - FN(ELEMENT_VERS_MISMATCH_ERROR) \ - FN(ELEMENT_VERS_MISMATCH_WARN) \ - FN(ENCODING_MISMATCH) \ - FN(ESCAPED_ILLEGAL_URI) \ - FN(FILE_CANT_OPEN) \ - FN(FILE_CANT_OPEN_CFG) \ - FN(FILE_NOT_FILE) \ - FN(FIXED_BACKSLASH) \ - FN(FOUND_STYLE_IN_BODY) \ - FN(ID_NAME_MISMATCH) \ - FN(ILLEGAL_NESTING) \ - FN(ILLEGAL_URI_CODEPOINT) \ - FN(ILLEGAL_URI_REFERENCE) \ - FN(INSERTING_AUTO_ATTRIBUTE) \ - FN(INSERTING_TAG) \ - FN(INVALID_ATTRIBUTE) \ - FN(INVALID_NCR) \ - FN(INVALID_SGML_CHARS) \ - FN(INVALID_UTF8) \ - FN(INVALID_UTF16) \ - FN(INVALID_XML_ID) \ - FN(JOINING_ATTRIBUTE) \ - FN(MALFORMED_COMMENT) \ - FN(MALFORMED_COMMENT_DROPPING) \ - FN(MALFORMED_COMMENT_EOS) \ - FN(MALFORMED_COMMENT_WARN) \ - FN(MALFORMED_DOCTYPE) \ - FN(MISMATCHED_ATTRIBUTE_ERROR) \ - FN(MISMATCHED_ATTRIBUTE_WARN) \ - FN(MISSING_ATTR_VALUE) \ - FN(MISSING_ATTRIBUTE) \ - FN(MISSING_DOCTYPE) \ - FN(MISSING_ENDTAG_BEFORE) \ - FN(MISSING_ENDTAG_FOR) \ - FN(MISSING_ENDTAG_OPTIONAL) \ - FN(MISSING_IMAGEMAP) \ - FN(MISSING_QUOTEMARK) \ - FN(MISSING_QUOTEMARK_OPEN) \ - FN(MISSING_SEMICOLON_NCR) \ - FN(MISSING_SEMICOLON) \ - FN(MISSING_STARTTAG) \ - FN(MISSING_TITLE_ELEMENT) \ - FN(MOVED_STYLE_TO_HEAD) \ - FN(NESTED_EMPHASIS) \ - FN(NESTED_QUOTATION) \ - FN(NEWLINE_IN_URI) \ - FN(NOFRAMES_CONTENT) \ - FN(NON_MATCHING_ENDTAG) \ - FN(OBSOLETE_ELEMENT) \ - FN(OPTION_REMOVED) \ - FN(OPTION_REMOVED_APPLIED) \ - FN(OPTION_REMOVED_UNAPPLIED) \ - FN(PREVIOUS_LOCATION) \ - FN(PROPRIETARY_ATTR_VALUE) \ - FN(PROPRIETARY_ATTRIBUTE) \ - FN(PROPRIETARY_ELEMENT) \ - FN(REMOVED_HTML5) \ - FN(REPEATED_ATTRIBUTE) \ - FN(REPLACING_ELEMENT) \ - FN(REPLACING_UNEX_ELEMENT) \ - FN(SPACE_PRECEDING_XMLDECL) \ - FN(STRING_CONTENT_LOOKS) \ - FN(STRING_ARGUMENT_BAD) \ - FN(STRING_DOCTYPE_GIVEN) \ - FN(STRING_MISSING_MALFORMED) \ - FN(STRING_MUTING_TYPE) \ - FN(STRING_NO_SYSID) \ - FN(STRING_UNKNOWN_OPTION) \ - FN(SUSPECTED_MISSING_QUOTE) \ - FN(TAG_NOT_ALLOWED_IN) \ - FN(TOO_MANY_ELEMENTS_IN) \ - FN(TOO_MANY_ELEMENTS) \ - FN(TRIM_EMPTY_ELEMENT) \ - FN(UNESCAPED_AMPERSAND) \ - FN(UNEXPECTED_END_OF_FILE_ATTR) \ - FN(UNEXPECTED_END_OF_FILE) \ - FN(UNEXPECTED_ENDTAG_ERR) \ - FN(UNEXPECTED_ENDTAG_IN) \ - FN(UNEXPECTED_ENDTAG) \ - FN(UNEXPECTED_EQUALSIGN) \ - FN(UNEXPECTED_GT) \ - FN(UNEXPECTED_QUOTEMARK) \ - FN(UNKNOWN_ELEMENT_LOOKS_CUSTOM) \ - FN(UNKNOWN_ELEMENT) \ - FN(UNKNOWN_ENTITY) \ - FN(USING_BR_INPLACE_OF) \ - FN(VENDOR_SPECIFIC_CHARS) \ - FN(WHITE_IN_URI) \ - FN(XML_DECLARATION_DETECTED) \ - FN(XML_ID_SYNTAX) - - -/** These are report messages added by Tidy's accessibility module. - ** Note that commented out items don't have checks for them at this time, - ** and it was probably intended that some test would eventually be written. - */ -#define FOREACH_ACCESS_MSG(FN) \ -/** [1.1.1.1] */ FN(IMG_MISSING_ALT) \ -/** [1.1.1.2] */ FN(IMG_ALT_SUSPICIOUS_FILENAME) \ -/** [1.1.1.3] */ FN(IMG_ALT_SUSPICIOUS_FILE_SIZE) \ -/** [1.1.1.4] */ FN(IMG_ALT_SUSPICIOUS_PLACEHOLDER) \ -/** [1.1.1.10] */ FN(IMG_ALT_SUSPICIOUS_TOO_LONG) \ -/** [1.1.1.11] */ /* FN(IMG_MISSING_ALT_BULLET) */ \ -/** [1.1.1.12] */ /* FN(IMG_MISSING_ALT_H_RULE) */ \ -/** [1.1.2.1] */ FN(IMG_MISSING_LONGDESC_DLINK) \ -/** [1.1.2.2] */ FN(IMG_MISSING_DLINK) \ -/** [1.1.2.3] */ FN(IMG_MISSING_LONGDESC) \ -/** [1.1.2.5] */ /* FN(LONGDESC_NOT_REQUIRED) */ \ -/** [1.1.3.1] */ FN(IMG_BUTTON_MISSING_ALT) \ -/** [1.1.4.1] */ FN(APPLET_MISSING_ALT) \ -/** [1.1.5.1] */ FN(OBJECT_MISSING_ALT) \ -/** [1.1.6.1] */ FN(AUDIO_MISSING_TEXT_WAV) \ -/** [1.1.6.2] */ FN(AUDIO_MISSING_TEXT_AU) \ -/** [1.1.6.3] */ FN(AUDIO_MISSING_TEXT_AIFF) \ -/** [1.1.6.4] */ FN(AUDIO_MISSING_TEXT_SND) \ -/** [1.1.6.5] */ FN(AUDIO_MISSING_TEXT_RA) \ -/** [1.1.6.6] */ FN(AUDIO_MISSING_TEXT_RM) \ -/** [1.1.8.1] */ FN(FRAME_MISSING_LONGDESC) \ -/** [1.1.9.1] */ FN(AREA_MISSING_ALT) \ -/** [1.1.10.1] */ FN(SCRIPT_MISSING_NOSCRIPT) \ -/** [1.1.12.1] */ FN(ASCII_REQUIRES_DESCRIPTION) \ -/** [1.2.1.1] */ FN(IMG_MAP_SERVER_REQUIRES_TEXT_LINKS) \ -/** [1.4.1.1] */ FN(MULTIMEDIA_REQUIRES_TEXT) \ -/** [1.5.1.1] */ FN(IMG_MAP_CLIENT_MISSING_TEXT_LINKS) \ -/** [2.1.1.1] */ FN(INFORMATION_NOT_CONVEYED_IMAGE) \ -/** [2.1.1.2] */ FN(INFORMATION_NOT_CONVEYED_APPLET) \ -/** [2.1.1.3] */ FN(INFORMATION_NOT_CONVEYED_OBJECT) \ -/** [2.1.1.4] */ FN(INFORMATION_NOT_CONVEYED_SCRIPT) \ -/** [2.1.1.5] */ FN(INFORMATION_NOT_CONVEYED_INPUT) \ -/** [2.2.1.1] */ FN(COLOR_CONTRAST_TEXT) \ -/** [2.2.1.2] */ FN(COLOR_CONTRAST_LINK) \ -/** [2.2.1.3] */ FN(COLOR_CONTRAST_ACTIVE_LINK) \ -/** [2.2.1.4] */ FN(COLOR_CONTRAST_VISITED_LINK) \ -/** [3.2.1.1] */ FN(DOCTYPE_MISSING) \ -/** [3.3.1.1] */ FN(STYLE_SHEET_CONTROL_PRESENTATION) \ -/** [3.5.1.1] */ FN(HEADERS_IMPROPERLY_NESTED) \ -/** [3.5.2.1] */ FN(POTENTIAL_HEADER_BOLD) \ -/** [3.5.2.2] */ FN(POTENTIAL_HEADER_ITALICS) \ -/** [3.5.2.3] */ FN(POTENTIAL_HEADER_UNDERLINE) \ -/** [3.5.3.1] */ FN(HEADER_USED_FORMAT_TEXT) \ -/** [3.6.1.1] */ FN(LIST_USAGE_INVALID_UL) \ -/** [3.6.1.2] */ FN(LIST_USAGE_INVALID_OL) \ -/** [3.6.1.4] */ FN(LIST_USAGE_INVALID_LI) \ -/** [4.1.1.1] */ /* FN(INDICATE_CHANGES_IN_LANGUAGE) */ \ -/** [4.3.1.1] */ FN(LANGUAGE_NOT_IDENTIFIED) \ -/** [4.3.1.1] */ FN(LANGUAGE_INVALID) \ -/** [5.1.2.1] */ FN(DATA_TABLE_MISSING_HEADERS) \ -/** [5.1.2.2] */ FN(DATA_TABLE_MISSING_HEADERS_COLUMN) \ -/** [5.1.2.3] */ FN(DATA_TABLE_MISSING_HEADERS_ROW) \ -/** [5.2.1.1] */ FN(DATA_TABLE_REQUIRE_MARKUP_COLUMN_HEADERS) \ -/** [5.2.1.2] */ FN(DATA_TABLE_REQUIRE_MARKUP_ROW_HEADERS) \ -/** [5.3.1.1] */ FN(LAYOUT_TABLES_LINEARIZE_PROPERLY) \ -/** [5.4.1.1] */ FN(LAYOUT_TABLE_INVALID_MARKUP) \ -/** [5.5.1.1] */ FN(TABLE_MISSING_SUMMARY) \ -/** [5.5.1.2] */ FN(TABLE_SUMMARY_INVALID_NULL) \ -/** [5.5.1.3] */ FN(TABLE_SUMMARY_INVALID_SPACES) \ -/** [5.5.1.6] */ FN(TABLE_SUMMARY_INVALID_PLACEHOLDER) \ -/** [5.5.2.1] */ FN(TABLE_MISSING_CAPTION) \ -/** [5.6.1.1] */ FN(TABLE_MAY_REQUIRE_HEADER_ABBR) \ -/** [5.6.1.2] */ FN(TABLE_MAY_REQUIRE_HEADER_ABBR_NULL) \ -/** [5.6.1.3] */ FN(TABLE_MAY_REQUIRE_HEADER_ABBR_SPACES) \ -/** [6.1.1.1] */ FN(STYLESHEETS_REQUIRE_TESTING_LINK) \ -/** [6.1.1.2] */ FN(STYLESHEETS_REQUIRE_TESTING_STYLE_ELEMENT) \ -/** [6.1.1.3] */ FN(STYLESHEETS_REQUIRE_TESTING_STYLE_ATTR) \ -/** [6.2.1.1] */ FN(FRAME_SRC_INVALID) \ -/** [6.2.2.1] */ FN(TEXT_EQUIVALENTS_REQUIRE_UPDATING_APPLET) \ -/** [6.2.2.2] */ FN(TEXT_EQUIVALENTS_REQUIRE_UPDATING_SCRIPT) \ -/** [6.2.2.3] */ FN(TEXT_EQUIVALENTS_REQUIRE_UPDATING_OBJECT) \ -/** [6.3.1.1] */ FN(PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_SCRIPT) \ -/** [6.3.1.2] */ FN(PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_OBJECT) \ -/** [6.3.1.3] */ FN(PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_EMBED) \ -/** [6.3.1.4] */ FN(PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_APPLET) \ -/** [6.5.1.1] */ FN(FRAME_MISSING_NOFRAMES) \ -/** [6.5.1.2] */ FN(NOFRAMES_INVALID_NO_VALUE) \ -/** [6.5.1.3] */ FN(NOFRAMES_INVALID_CONTENT) \ -/** [6.5.1.4] */ FN(NOFRAMES_INVALID_LINK) \ -/** [7.1.1.1] */ FN(REMOVE_FLICKER_SCRIPT) \ -/** [7.1.1.2] */ FN(REMOVE_FLICKER_OBJECT) \ -/** [7.1.1.3] */ FN(REMOVE_FLICKER_EMBED) \ -/** [7.1.1.4] */ FN(REMOVE_FLICKER_APPLET) \ -/** [7.1.1.5] */ FN(REMOVE_FLICKER_ANIMATED_GIF) \ -/** [7.2.1.1] */ FN(REMOVE_BLINK_MARQUEE) \ -/** [7.4.1.1] */ FN(REMOVE_AUTO_REFRESH) \ -/** [7.5.1.1] */ FN(REMOVE_AUTO_REDIRECT) \ -/** [8.1.1.1] */ FN(ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_SCRIPT) \ -/** [8.1.1.2] */ FN(ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_OBJECT) \ -/** [8.1.1.3] */ FN(ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_APPLET) \ -/** [8.1.1.4] */ FN(ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_EMBED) \ -/** [9.1.1.1] */ FN(IMAGE_MAP_SERVER_SIDE_REQUIRES_CONVERSION) \ -/** [9.3.1.1] */ FN(SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_DOWN) \ -/** [9.3.1.2] */ FN(SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_UP) \ -/** [9.3.1.3] */ FN(SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_CLICK) \ -/** [9.3.1.4] */ FN(SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OVER) \ -/** [9.3.1.5] */ FN(SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OUT) \ -/** [9.3.1.6] */ FN(SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_MOVE) \ -/** [10.1.1.1] */ FN(NEW_WINDOWS_REQUIRE_WARNING_NEW) \ -/** [10.1.1.2] */ FN(NEW_WINDOWS_REQUIRE_WARNING_BLANK) \ -/** [10.2.1.1] */ /* FN(LABEL_NEEDS_REPOSITIONING_BEFORE_INPUT) */ \ -/** [10.2.1.2] */ /* FN(LABEL_NEEDS_REPOSITIONING_AFTER_INPUT) */ \ -/** [10.4.1.1] */ /* FN(FORM_CONTROL_REQUIRES_DEFAULT_TEXT) */ \ -/** [10.4.1.2] */ /* FN(FORM_CONTROL_DEFAULT_TEXT_INVALID_NULL) */ \ -/** [10.4.1.3] */ /* FN(FORM_CONTROL_DEFAULT_TEXT_INVALID_SPACES) */ \ -/** [11.2.1.1] */ FN(REPLACE_DEPRECATED_HTML_APPLET) \ -/** [11.2.1.2] */ FN(REPLACE_DEPRECATED_HTML_BASEFONT) \ -/** [11.2.1.3] */ FN(REPLACE_DEPRECATED_HTML_CENTER) \ -/** [11.2.1.4] */ FN(REPLACE_DEPRECATED_HTML_DIR) \ -/** [11.2.1.5] */ FN(REPLACE_DEPRECATED_HTML_FONT) \ -/** [11.2.1.6] */ FN(REPLACE_DEPRECATED_HTML_ISINDEX) \ -/** [11.2.1.7] */ FN(REPLACE_DEPRECATED_HTML_MENU) \ -/** [11.2.1.8] */ FN(REPLACE_DEPRECATED_HTML_S) \ -/** [11.2.1.9] */ FN(REPLACE_DEPRECATED_HTML_STRIKE) \ -/** [11.2.1.10] */ FN(REPLACE_DEPRECATED_HTML_U) \ -/** [12.1.1.1] */ FN(FRAME_MISSING_TITLE) \ -/** [12.1.1.2] */ FN(FRAME_TITLE_INVALID_NULL) \ -/** [12.1.1.3] */ FN(FRAME_TITLE_INVALID_SPACES) \ -/** [12.4.1.1] */ FN(ASSOCIATE_LABELS_EXPLICITLY) \ -/** [12.4.1.2] */ FN(ASSOCIATE_LABELS_EXPLICITLY_FOR) \ -/** [12.4.1.3] */ FN(ASSOCIATE_LABELS_EXPLICITLY_ID) \ -/** [13.1.1.1] */ FN(LINK_TEXT_NOT_MEANINGFUL) \ -/** [13.1.1.2] */ FN(LINK_TEXT_MISSING) \ -/** [13.1.1.3] */ FN(LINK_TEXT_TOO_LONG) \ -/** [13.1.1.4] */ FN(LINK_TEXT_NOT_MEANINGFUL_CLICK_HERE) \ -/** [13.1.1.5] */ /* FN(LINK_TEXT_NOT_MEANINGFUL_MORE) */ \ -/** [13.1.1.6] */ /* FN(LINK_TEXT_NOT_MEANINGFUL_FOLLOW_THIS) */ \ -/** [13.2.1.1] */ FN(METADATA_MISSING) \ -/** [13.2.1.2] */ /* FN(METADATA_MISSING_LINK) */ \ -/** [13.2.1.3] */ FN(METADATA_MISSING_REDIRECT_AUTOREFRESH) \ -/** [13.10.1.1] */ FN(SKIPOVER_ASCII_ART) - - -/** These message codes comprise every message is exclusive to theTidy console - ** application. It it possible to build LibTidy without these strings. - */ -#if SUPPORT_CONSOLE_APP -#define FOREACH_MSG_CONSOLE(FN) \ - FN(TC_LABEL_COL) \ - FN(TC_LABEL_FILE) \ - FN(TC_LABEL_LANG) \ - FN(TC_LABEL_LEVL) \ - FN(TC_LABEL_OPT) \ - FN(TC_MAIN_ERROR_LOAD_CONFIG) \ - FN(TC_OPT_ACCESS) \ - FN(TC_OPT_ASCII) \ - FN(TC_OPT_ASHTML) \ - FN(TC_OPT_ASXML) \ - FN(TC_OPT_BARE) \ - FN(TC_OPT_BIG5) \ - FN(TC_OPT_CLEAN) \ - FN(TC_OPT_CONFIG) \ - FN(TC_OPT_ERRORS) \ - FN(TC_OPT_FILE) \ - FN(TC_OPT_GDOC) \ - FN(TC_OPT_HELP) \ - FN(TC_OPT_HELPCFG) \ - FN(TC_OPT_HELPENV) \ - FN(TC_OPT_HELPOPT) \ - FN(TC_OPT_IBM858) \ - FN(TC_OPT_INDENT) \ - FN(TC_OPT_ISO2022) \ - FN(TC_OPT_LANGUAGE) \ - FN(TC_OPT_LATIN0) \ - FN(TC_OPT_LATIN1) \ - FN(TC_OPT_MAC) \ - FN(TC_OPT_MODIFY) \ - FN(TC_OPT_NUMERIC) \ - FN(TC_OPT_OMIT) \ - FN(TC_OPT_OUTPUT) \ - FN(TC_OPT_QUIET) \ - FN(TC_OPT_RAW) \ - FN(TC_OPT_SHIFTJIS) \ - FN(TC_OPT_SHOWCFG) \ - FN(TC_OPT_EXP_CFG) \ - FN(TC_OPT_EXP_DEF) \ - FN(TC_OPT_UPPER) \ - FN(TC_OPT_UTF16) \ - FN(TC_OPT_UTF16BE) \ - FN(TC_OPT_UTF16LE) \ - FN(TC_OPT_UTF8) \ - FN(TC_OPT_VERSION) \ - FN(TC_OPT_WIN1252) \ - FN(TC_OPT_WRAP) \ - FN(TC_OPT_XML) \ - FN(TC_OPT_XMLCFG) \ - FN(TC_OPT_XMLSTRG) \ - FN(TC_OPT_XMLERRS) \ - FN(TC_OPT_XMLOPTS) \ - FN(TC_OPT_XMLHELP) \ - FN(TC_STRING_CONF_HEADER) \ - FN(TC_STRING_CONF_NAME) \ - FN(TC_STRING_CONF_TYPE) \ - FN(TC_STRING_CONF_VALUE) \ - FN(TC_STRING_CONF_NOTE) \ - FN(TC_STRING_OPT_NOT_DOCUMENTED) \ - FN(TC_STRING_OUT_OF_MEMORY) \ - FN(TC_STRING_FATAL_ERROR) \ - FN(TC_STRING_FILE_MANIP) \ - FN(TC_STRING_LANG_MUST_SPECIFY) \ - FN(TC_STRING_LANG_NOT_FOUND) \ - FN(TC_STRING_MUST_SPECIFY) \ - FN(TC_STRING_PROCESS_DIRECTIVES) \ - FN(TC_STRING_CHAR_ENCODING) \ - FN(TC_STRING_MISC) \ - FN(TC_STRING_XML) \ - FN(TC_STRING_UNKNOWN_OPTION) \ - FN(TC_STRING_UNKNOWN_OPTION_B) \ - FN(TC_STRING_VERS_A) \ - FN(TC_STRING_VERS_B) \ - FN(TC_TXT_HELP_1) \ - FN(TC_TXT_HELP_2A) \ - FN(TC_TXT_HELP_2B) \ - FN(TC_TXT_HELP_3) \ - FN(TC_TXT_HELP_3A) \ - FN(TC_TXT_HELP_CONFIG) \ - FN(TC_TXT_HELP_CONFIG_NAME) \ - FN(TC_TXT_HELP_CONFIG_TYPE) \ - FN(TC_TXT_HELP_CONFIG_ALLW) \ - FN(TC_TXT_HELP_ENV_1) \ - FN(TC_TXT_HELP_ENV_1A) \ - FN(TC_TXT_HELP_ENV_1B) \ - FN(TC_TXT_HELP_ENV_1C) \ - FN(TC_TXT_HELP_LANG_1) \ - FN(TC_TXT_HELP_LANG_2) \ - FN(TC_TXT_HELP_LANG_3) -#endif /* SUPPORT_CONSOLE_APP */ - -/** @} */ - -/** @} end group public_enum_gen */ - - -/* MARK: - Public Enumerations */ -/***************************************************************************//** - ** @defgroup public_enumerations Public Enumerations - ** @ingroup public_api - ** - ** @copybrief tidyenum.h - ******************************************************************************/ - -/** @addtogroup public_enumerations - ** @{ */ - -/** @name Configuration Options Enumerations - ** - ** These enumerators are used to define available configuration options and - ** their option categories. - ** - ** @{ */ - - -/** Option IDs are used used to get and/or set configuration option values and - ** retrieve their descriptions. - ** - ** @remark These enum members all have associated localized strings available - ** which describe the purpose of the option. These descriptions are - ** available via their enum values only. - ** - ** @sa `config.c:option_defs[]` for internal implementation details; that - ** array is where you will implement options defined in this enum; and - ** it's important to add a string describing the option to - ** `language_en.h`, too. - */ -typedef enum -{ - TidyUnknownOption = 0, /**< Unknown option! */ - - TidyAccessibilityCheckLevel, /**< Accessibility check level */ - TidyAltText, /**< Default text for alt attribute */ - TidyAnchorAsName, /**< Define anchors as name attributes */ - TidyAsciiChars, /**< Convert quotes and dashes to nearest ASCII char */ - TidyBlockTags, /**< Declared block tags */ - TidyBodyOnly, /**< Output BODY content only */ - TidyBreakBeforeBR, /**< Output newline before
or not? */ - TidyCharEncoding, /**< In/out character encoding */ - TidyCoerceEndTags, /**< Coerce end tags from start tags where probably intended */ - TidyCSSPrefix, /**< CSS class naming for clean option */ -#ifndef DOXYGEN_SHOULD_SKIP_THIS - TidyCustomTags, /**< Internal use ONLY */ -#endif - TidyDecorateInferredUL, /**< Mark inferred UL elements with no indent CSS */ - TidyDoctype, /**< User specified doctype */ -#ifndef DOXYGEN_SHOULD_SKIP_THIS - TidyDoctypeMode, /**< Internal use ONLY */ -#endif - TidyDropEmptyElems, /**< Discard empty elements */ - TidyDropEmptyParas, /**< Discard empty p elements */ - TidyDropPropAttrs, /**< Discard proprietary attributes */ - TidyDuplicateAttrs, /**< Keep first or last duplicate attribute */ - TidyEmacs, /**< If true, format error output for GNU Emacs */ -#ifndef DOXYGEN_SHOULD_SKIP_THIS - TidyEmacsFile, /**< Internal use ONLY */ -#endif - TidyEmptyTags, /**< Declared empty tags */ - TidyEncloseBlockText, /**< If yes text in blocks is wrapped in P's */ - TidyEncloseBodyText, /**< If yes text at body is wrapped in P's */ - TidyErrFile, /**< File name to write errors to */ - TidyEscapeCdata, /**< Replace sections with escaped text */ - TidyEscapeScripts, /**< Escape items that look like closing tags in script tags */ - TidyFixBackslash, /**< Fix URLs by replacing \ with / */ - TidyFixComments, /**< Fix comments with adjacent hyphens */ - TidyFixUri, /**< Applies URI encoding if necessary */ - TidyForceOutput, /**< Output document even if errors were found */ - TidyGDocClean, /**< Clean up HTML exported from Google Docs */ - TidyHideComments, /**< Hides all (real) comments in output */ - TidyHtmlOut, /**< Output plain HTML, even for XHTML input.*/ - TidyInCharEncoding, /**< Input character encoding (if different) */ - TidyIndentAttributes, /**< Newline+indent before each attribute */ - TidyIndentCdata, /**< Indent section */ - TidyIndentContent, /**< Indent content of appropriate tags */ - TidyIndentSpaces, /**< Indentation n spaces/tabs */ - TidyInlineTags, /**< Declared inline tags */ - TidyJoinClasses, /**< Join multiple class attributes */ - TidyJoinStyles, /**< Join multiple style attributes */ - TidyKeepFileTimes, /**< If yes last modied time is preserved */ - TidyKeepTabs, /**< If yes keep input source tabs */ - TidyLiteralAttribs, /**< If true attributes may use newlines */ - TidyLogicalEmphasis, /**< Replace i by em and b by strong */ - TidyLowerLiterals, /**< Folds known attribute values to lower case */ - TidyMakeBare, /**< Make bare HTML: remove Microsoft cruft */ - TidyMakeClean, /**< Replace presentational clutter by style rules */ - TidyMark, /**< Add meta element indicating tidied doc */ - TidyMergeDivs, /**< Merge multiple DIVs */ - TidyMergeEmphasis, /**< Merge nested B and I elements */ - TidyMergeSpans, /**< Merge multiple SPANs */ - TidyMetaCharset, /**< Adds/checks/fixes meta charset in the head, based on document type */ - TidyMuteReports, /**< Filter these messages from output. */ - TidyMuteShow, /**< Show message ID's in the error table */ - TidyNCR, /**< Allow numeric character references */ - TidyNewline, /**< Output line ending (default to platform) */ - TidyNumEntities, /**< Use numeric entities */ - TidyOmitOptionalTags, /**< Suppress optional start tags and end tags */ - TidyOutCharEncoding, /**< Output character encoding (if different) */ - TidyOutFile, /**< File name to write markup to */ - TidyOutputBOM, /**< Output a Byte Order Mark (BOM) for UTF-16 encodings */ - TidyPPrintTabs, /**< Indent using tabs istead of spaces */ - TidyPreserveEntities, /**< Preserve entities */ - TidyPreTags, /**< Declared pre tags */ - TidyPriorityAttributes, /**< Attributes to place first in an element */ - TidyPunctWrap, /**< consider punctuation and breaking spaces for wrapping */ - TidyQuiet, /**< No 'Parsing X', guessed DTD or summary */ - TidyQuoteAmpersand, /**< Output naked ampersand as & */ - TidyQuoteMarks, /**< Output " marks as " */ - TidyQuoteNbsp, /**< Output non-breaking space as entity */ - TidyReplaceColor, /**< Replace hex color attribute values with names */ - TidyShowErrors, /**< Number of errors to put out */ - TidyShowInfo, /**< If true, info-level messages are shown */ - TidyShowMarkup, /**< If false, normal output is suppressed */ - TidyShowMetaChange, /**< show when meta http-equiv content charset was changed - compatibility */ - TidyShowWarnings, /**< However errors are always shown */ - TidySkipNested, /**< Skip nested tags in script and style CDATA */ - TidySortAttributes, /**< Sort attributes */ - TidyStrictTagsAttr, /**< Ensure tags and attributes match output HTML version */ - TidyStyleTags, /**< Move sytle to head */ - TidyTabSize, /**< Expand tabs to n spaces */ - TidyUpperCaseAttrs, /**< Output attributes in upper not lower case */ - TidyUpperCaseTags, /**< Output tags in upper not lower case */ - TidyUseCustomTags, /**< Enable Tidy to use autonomous custom tags */ - TidyVertSpace, /**< degree to which markup is spread out vertically */ - TidyWarnPropAttrs, /**< Warns on proprietary attributes */ - TidyWord2000, /**< Draconian cleaning for Word2000 */ - TidyWrapAsp, /**< Wrap within ASP pseudo elements */ - TidyWrapAttVals, /**< Wrap within attribute values */ - TidyWrapJste, /**< Wrap within JSTE pseudo elements */ - TidyWrapLen, /**< Wrap margin */ - TidyWrapPhp, /**< Wrap within PHP pseudo elements */ - TidyWrapScriptlets, /**< Wrap within JavaScript string literals */ - TidyWrapSection, /**< Wrap within section tags */ - TidyWriteBack, /**< If true then output tidied markup */ - TidyXhtmlOut, /**< Output extensible HTML */ - TidyXmlDecl, /**< Add for XML docs */ - TidyXmlOut, /**< Create output as XML */ - TidyXmlPIs, /**< If set to yes PIs must end with ?> */ - TidyXmlSpace, /**< If set to yes adds xml:space attr as needed */ - TidyXmlTags, /**< Treat input as XML */ - N_TIDY_OPTIONS /**< Must be last */ -} TidyOptionId; - - -/** Categories of Tidy configuration options, which are used mostly by user - ** interfaces to sort Tidy options into related groups. - ** - ** @remark These enum members all have associated localized strings available - ** suitable for use as a category label, and are available with either - ** the enum value, or a string version of the name. - ** - ** @sa `config.c:option_defs[]` for internal implementation details. - */ -typedef enum -{ - TidyUnknownCategory = 300, /**< Unknown Category! */ - FOREACH_TIDYCONFIGCATEGORY(MAKE_ENUM) -} TidyConfigCategory; - - -/** A Tidy configuration option can have one of these data types. */ -typedef enum -{ - TidyString, /**< String */ - TidyInteger, /**< Integer or enumeration */ - TidyBoolean /**< Boolean */ -} TidyOptionType; - - -/** @} - ** @name Configuration Options Pick List and Parser Enumerations - ** - ** These enums define enumerated states for the configuration options that - ** take values that are not simple yes/no, strings, or simple integers. - ** - ** @{ */ - -/** AutoBool values used by ParseBool, ParseTriState, ParseIndent, ParseBOM - ** @remark This enum's starting value is guaranteed to remain stable. - */ -typedef enum -{ - TidyNoState = 0, /**< maps to 'no' */ - TidyYesState, /**< maps to 'yes' */ - TidyAutoState /**< Automatic */ -} TidyTriState; - - -/** Values used by ParseUseCustomTags, which describes how Autonomous Custom - ** tags (ACT's) found by Tidy are treated. - ** - ** @remark These enum members all have associated localized strings available - ** for internal LibTidy use, and also have public string keys in the - ** form MEMBER_STRING, e.g., TIDYCUSTOMBLOCKLEVEL_STRING - ** - ** @remark This enum's starting value is guaranteed to remain stable. - */ -typedef enum -{ - TidyCustomNo = 0, /**< Do not allow autonomous custom tags */ - TidyCustomBlocklevel, /**< ACT's treated as blocklevel */ - TidyCustomEmpty, /**< ACT's treated as empty tags */ - TidyCustomInline, /**< ACT's treated as inline tags */ - TidyCustomPre /**< ACT's treated as pre tags */ -} TidyUseCustomTagsState; - - -/** TidyNewline option values to control output line endings. - ** @remark This enum's starting value is guaranteed to remain stable. - */ -typedef enum -{ - TidyLF = 0, /**< Use Unix style: LF */ - TidyCRLF, /**< Use DOS/Windows style: CR+LF */ - TidyCR /**< Use Macintosh style: CR */ -} TidyLineEnding; - - -/** TidyEncodingOptions option values specify the input and/or output encoding. - ** @remark This enum's starting value is guaranteed to remain stable. - */ -typedef enum -{ - TidyEncRaw = 0, - TidyEncAscii, - TidyEncLatin0, - TidyEncLatin1, - TidyEncUtf8, -#ifndef NO_NATIVE_ISO2022_SUPPORT - TidyEncIso2022, -#endif - TidyEncMac, - TidyEncWin1252, - TidyEncIbm858, - TidyEncUtf16le, - TidyEncUtf16be, - TidyEncUtf16, - TidyEncBig5, - TidyEncShiftjis -} TidyEncodingOptions; - - -/** Mode controlling treatment of doctype - ** @remark This enum's starting value is guaranteed to remain stable. - */ -typedef enum -{ - TidyDoctypeHtml5 = 0, /**< */ - TidyDoctypeOmit, /**< Omit DOCTYPE altogether */ - TidyDoctypeAuto, /**< Keep DOCTYPE in input. Set version to content */ - TidyDoctypeStrict, /**< Convert document to HTML 4 strict content model */ - TidyDoctypeLoose, /**< Convert document to HTML 4 transitional content model */ - TidyDoctypeUser /**< Set DOCTYPE FPI explicitly */ -} TidyDoctypeModes; - -/** Mode controlling treatment of duplicate Attributes - ** @remark This enum's starting value is guaranteed to remain stable. - */ -typedef enum -{ - TidyKeepFirst = 0, /**< Keep the first instance of an attribute */ - TidyKeepLast /**< Keep the last instance of an attribute */ -} TidyDupAttrModes; - -/** Mode controlling treatment of sorting attributes - ** @remark This enum's starting value is guaranteed to remain stable. - */ -typedef enum -{ - TidySortAttrNone = 0, /**< Don't sort attributes */ - TidySortAttrAlpha /**< Sort attributes alphabetically */ -} TidyAttrSortStrategy; - -/** Mode controlling capitalization of things, such as attributes. - ** @remark This enum's starting value is guaranteed to remain stable. - */ -typedef enum -{ - TidyUppercaseNo = 0, /**< Don't uppercase. */ - TidyUppercaseYes, /**< Do uppercase. */ - TidyUppercasePreserve /**< Preserve case. */ -} TidyUppercase; - - -/** @} - ** @name Document Tree - ** @{ - */ - -/** Node types - */ -typedef enum -{ - TidyNode_Root, /**< Root */ - TidyNode_DocType, /**< DOCTYPE */ - TidyNode_Comment, /**< Comment */ - TidyNode_ProcIns, /**< Processing Instruction */ - TidyNode_Text, /**< Text */ - TidyNode_Start, /**< Start Tag */ - TidyNode_End, /**< End Tag */ - TidyNode_StartEnd, /**< Start/End (empty) Tag */ - TidyNode_CDATA, /**< Unparsed Text */ - TidyNode_Section, /**< XML Section */ - TidyNode_Asp, /**< ASP Source */ - TidyNode_Jste, /**< JSTE Source */ - TidyNode_Php, /**< PHP Source */ - TidyNode_XmlDecl /**< XML Declaration */ -} TidyNodeType; - - -/** Known HTML element types - */ -typedef enum -{ - TidyTag_UNKNOWN, /**< Unknown tag! Must be first */ - TidyTag_A, /**< A */ - TidyTag_ABBR, /**< ABBR */ - TidyTag_ACRONYM, /**< ACRONYM */ - TidyTag_ADDRESS, /**< ADDRESS */ - TidyTag_ALIGN, /**< ALIGN */ - TidyTag_APPLET, /**< APPLET */ - TidyTag_AREA, /**< AREA */ - TidyTag_B, /**< B */ - TidyTag_BASE, /**< BASE */ - TidyTag_BASEFONT, /**< BASEFONT */ - TidyTag_BDO, /**< BDO */ - TidyTag_BGSOUND, /**< BGSOUND */ - TidyTag_BIG, /**< BIG */ - TidyTag_BLINK, /**< BLINK */ - TidyTag_BLOCKQUOTE, /**< BLOCKQUOTE */ - TidyTag_BODY, /**< BODY */ - TidyTag_BR, /**< BR */ - TidyTag_BUTTON, /**< BUTTON */ - TidyTag_CAPTION, /**< CAPTION */ - TidyTag_CENTER, /**< CENTER */ - TidyTag_CITE, /**< CITE */ - TidyTag_CODE, /**< CODE */ - TidyTag_COL, /**< COL */ - TidyTag_COLGROUP, /**< COLGROUP */ - TidyTag_COMMENT, /**< COMMENT */ - TidyTag_DD, /**< DD */ - TidyTag_DEL, /**< DEL */ - TidyTag_DFN, /**< DFN */ - TidyTag_DIR, /**< DIR */ - TidyTag_DIV, /**< DIF */ - TidyTag_DL, /**< DL */ - TidyTag_DT, /**< DT */ - TidyTag_EM, /**< EM */ - TidyTag_EMBED, /**< EMBED */ - TidyTag_FIELDSET, /**< FIELDSET */ - TidyTag_FONT, /**< FONT */ - TidyTag_FORM, /**< FORM */ - TidyTag_FRAME, /**< FRAME */ - TidyTag_FRAMESET, /**< FRAMESET */ - TidyTag_H1, /**< H1 */ - TidyTag_H2, /**< H2 */ - TidyTag_H3, /**< H3 */ - TidyTag_H4, /**< H4 */ - TidyTag_H5, /**< H5 */ - TidyTag_H6, /**< H6 */ - TidyTag_HEAD, /**< HEAD */ - TidyTag_HR, /**< HR */ - TidyTag_HTML, /**< HTML */ - TidyTag_I, /**< I */ - TidyTag_IFRAME, /**< IFRAME */ - TidyTag_ILAYER, /**< ILAYER */ - TidyTag_IMG, /**< IMG */ - TidyTag_INPUT, /**< INPUT */ - TidyTag_INS, /**< INS */ - TidyTag_ISINDEX, /**< ISINDEX */ - TidyTag_KBD, /**< KBD */ - TidyTag_KEYGEN, /**< KEYGEN */ - TidyTag_LABEL, /**< LABEL */ - TidyTag_LAYER, /**< LAYER */ - TidyTag_LEGEND, /**< LEGEND */ - TidyTag_LI, /**< LI */ - TidyTag_LINK, /**< LINK */ - TidyTag_LISTING, /**< LISTING */ - TidyTag_MAP, /**< MAP */ - TidyTag_MATHML, /**< MATH (HTML5) [i_a]2 MathML embedded in [X]HTML */ - TidyTag_MARQUEE, /**< MARQUEE */ - TidyTag_MENU, /**< MENU */ - TidyTag_META, /**< META */ - TidyTag_MULTICOL, /**< MULTICOL */ - TidyTag_NOBR, /**< NOBR */ - TidyTag_NOEMBED, /**< NOEMBED */ - TidyTag_NOFRAMES, /**< NOFRAMES */ - TidyTag_NOLAYER, /**< NOLAYER */ - TidyTag_NOSAVE, /**< NOSAVE */ - TidyTag_NOSCRIPT, /**< NOSCRIPT */ - TidyTag_OBJECT, /**< OBJECT */ - TidyTag_OL, /**< OL */ - TidyTag_OPTGROUP, /**< OPTGROUP */ - TidyTag_OPTION, /**< OPTION */ - TidyTag_P, /**< P */ - TidyTag_PARAM, /**< PARAM */ - TidyTag_PICTURE, /**< PICTURE (HTML5) */ - TidyTag_PLAINTEXT, /**< PLAINTEXT */ - TidyTag_PRE, /**< PRE */ - TidyTag_Q, /**< Q */ - TidyTag_RB, /**< RB */ - TidyTag_RBC, /**< RBC */ - TidyTag_RP, /**< RP */ - TidyTag_RT, /**< RT */ - TidyTag_RTC, /**< RTC */ - TidyTag_RUBY, /**< RUBY */ - TidyTag_S, /**< S */ - TidyTag_SAMP, /**< SAMP */ - TidyTag_SCRIPT, /**< SCRIPT */ - TidyTag_SELECT, /**< SELECT */ - TidyTag_SERVER, /**< SERVER */ - TidyTag_SERVLET, /**< SERVLET */ - TidyTag_SMALL, /**< SMALL */ - TidyTag_SPACER, /**< SPACER */ - TidyTag_SPAN, /**< SPAN */ - TidyTag_STRIKE, /**< STRIKE */ - TidyTag_STRONG, /**< STRONG */ - TidyTag_STYLE, /**< STYLE */ - TidyTag_SUB, /**< SUB */ - TidyTag_SUP, /**< SUP */ - TidyTag_SVG, /**< SVG (HTML5) */ - TidyTag_TABLE, /**< TABLE */ - TidyTag_TBODY, /**< TBODY */ - TidyTag_TD, /**< TD */ - TidyTag_TEXTAREA, /**< TEXTAREA */ - TidyTag_TFOOT, /**< TFOOT */ - TidyTag_TH, /**< TH */ - TidyTag_THEAD, /**< THEAD */ - TidyTag_TITLE, /**< TITLE */ - TidyTag_TR, /**< TR */ - TidyTag_TT, /**< TT */ - TidyTag_U, /**< U */ - TidyTag_UL, /**< UL */ - TidyTag_VAR, /**< VAR */ - TidyTag_WBR, /**< WBR */ - TidyTag_XMP, /**< XMP */ - TidyTag_NEXTID, /**< NEXTID */ - - TidyTag_ARTICLE, /**< ARTICLE */ - TidyTag_ASIDE, /**< ASIDE */ - TidyTag_AUDIO, /**< AUDIO */ - TidyTag_BDI, /**< BDI */ - TidyTag_CANVAS, /**< CANVAS */ - TidyTag_COMMAND, /**< COMMAND */ - TidyTag_DATALIST, /**< DATALIST */ - TidyTag_DETAILS, /**< DETAILS */ - TidyTag_DIALOG, /**< DIALOG */ - TidyTag_FIGCAPTION, /**< FIGCAPTION */ - TidyTag_FIGURE, /**< FIGURE */ - TidyTag_FOOTER, /**< FOOTER */ - TidyTag_HEADER, /**< HEADER */ - TidyTag_HGROUP, /**< HGROUP */ - TidyTag_MAIN, /**< MAIN */ - TidyTag_MARK, /**< MARK */ - TidyTag_MENUITEM, /**< MENUITEM */ - TidyTag_METER, /**< METER */ - TidyTag_NAV, /**< NAV */ - TidyTag_OUTPUT, /**< OUTPUT */ - TidyTag_PROGRESS, /**< PROGRESS */ - TidyTag_SECTION, /**< SECTION */ - TidyTag_SOURCE, /**< SOURCE */ - TidyTag_SUMMARY, /**< SUMMARY */ - TidyTag_TEMPLATE, /**< TEMPLATE */ - TidyTag_TIME, /**< TIME */ - TidyTag_TRACK, /**< TRACK */ - TidyTag_VIDEO, /**< VIDEO */ - - N_TIDY_TAGS /**< Must be last */ -} TidyTagId; - - -/** Known HTML attributes - */ -typedef enum -{ - TidyAttr_UNKNOWN, /**< UNKNOWN= */ - TidyAttr_ABBR, /**< ABBR= */ - TidyAttr_ACCEPT, /**< ACCEPT= */ - TidyAttr_ACCEPT_CHARSET, /**< ACCEPT_CHARSET= */ - TidyAttr_ACCESSKEY, /**< ACCESSKEY= */ - TidyAttr_ACTION, /**< ACTION= */ - TidyAttr_ADD_DATE, /**< ADD_DATE= */ - TidyAttr_ALIGN, /**< ALIGN= */ - TidyAttr_ALINK, /**< ALINK= */ - TidyAttr_ALLOWFULLSCREEN, /**< ALLOWFULLSCREEN= */ - TidyAttr_ALT, /**< ALT= */ - TidyAttr_ARCHIVE, /**< ARCHIVE= */ - TidyAttr_AXIS, /**< AXIS= */ - TidyAttr_BACKGROUND, /**< BACKGROUND= */ - TidyAttr_BGCOLOR, /**< BGCOLOR= */ - TidyAttr_BGPROPERTIES, /**< BGPROPERTIES= */ - TidyAttr_BORDER, /**< BORDER= */ - TidyAttr_BORDERCOLOR, /**< BORDERCOLOR= */ - TidyAttr_BOTTOMMARGIN, /**< BOTTOMMARGIN= */ - TidyAttr_CELLPADDING, /**< CELLPADDING= */ - TidyAttr_CELLSPACING, /**< CELLSPACING= */ - TidyAttr_CHAR, /**< CHAR= */ - TidyAttr_CHAROFF, /**< CHAROFF= */ - TidyAttr_CHARSET, /**< CHARSET= */ - TidyAttr_CHECKED, /**< CHECKED= */ - TidyAttr_CITE, /**< CITE= */ - TidyAttr_CLASS, /**< CLASS= */ - TidyAttr_CLASSID, /**< CLASSID= */ - TidyAttr_CLEAR, /**< CLEAR= */ - TidyAttr_CODE, /**< CODE= */ - TidyAttr_CODEBASE, /**< CODEBASE= */ - TidyAttr_CODETYPE, /**< CODETYPE= */ - TidyAttr_COLOR, /**< COLOR= */ - TidyAttr_COLS, /**< COLS= */ - TidyAttr_COLSPAN, /**< COLSPAN= */ - TidyAttr_COMPACT, /**< COMPACT= */ - TidyAttr_CONTENT, /**< CONTENT= */ - TidyAttr_COORDS, /**< COORDS= */ - TidyAttr_DATA, /**< DATA= */ - TidyAttr_DATAFLD, /**< DATAFLD= */ - TidyAttr_DATAFORMATAS, /**< DATAFORMATAS= */ - TidyAttr_DATAPAGESIZE, /**< DATAPAGESIZE= */ - TidyAttr_DATASRC, /**< DATASRC= */ - TidyAttr_DATETIME, /**< DATETIME= */ - TidyAttr_DECLARE, /**< DECLARE= */ - TidyAttr_DEFER, /**< DEFER= */ - TidyAttr_DIR, /**< DIR= */ - TidyAttr_DISABLED, /**< DISABLED= */ - TidyAttr_DOWNLOAD, /**< DOWNLOAD= */ - TidyAttr_ENCODING, /**< ENCODING= */ - TidyAttr_ENCTYPE, /**< ENCTYPE= */ - TidyAttr_FACE, /**< FACE= */ - TidyAttr_FOR, /**< FOR= */ - TidyAttr_FRAME, /**< FRAME= */ - TidyAttr_FRAMEBORDER, /**< FRAMEBORDER= */ - TidyAttr_FRAMESPACING, /**< FRAMESPACING= */ - TidyAttr_GRIDX, /**< GRIDX= */ - TidyAttr_GRIDY, /**< GRIDY= */ - TidyAttr_HEADERS, /**< HEADERS= */ - TidyAttr_HEIGHT, /**< HEIGHT= */ - TidyAttr_HREF, /**< HREF= */ - TidyAttr_HREFLANG, /**< HREFLANG= */ - TidyAttr_HSPACE, /**< HSPACE= */ - TidyAttr_HTTP_EQUIV, /**< HTTP_EQUIV= */ - TidyAttr_ID, /**< ID= */ - TidyAttr_IS, /**< IS= */ - TidyAttr_ISMAP, /**< ISMAP= */ - TidyAttr_ITEMID, /**< ITEMID= */ - TidyAttr_ITEMPROP, /**< ITEMPROP= */ - TidyAttr_ITEMREF, /**< ITEMREF= */ - TidyAttr_ITEMSCOPE, /**< ITEMSCOPE= */ - TidyAttr_ITEMTYPE, /**< ITEMTYPE= */ - TidyAttr_LABEL, /**< LABEL= */ - TidyAttr_LANG, /**< LANG= */ - TidyAttr_LANGUAGE, /**< LANGUAGE= */ - TidyAttr_LAST_MODIFIED, /**< LAST_MODIFIED= */ - TidyAttr_LAST_VISIT, /**< LAST_VISIT= */ - TidyAttr_LEFTMARGIN, /**< LEFTMARGIN= */ - TidyAttr_LINK, /**< LINK= */ - TidyAttr_LONGDESC, /**< LONGDESC= */ - TidyAttr_LOWSRC, /**< LOWSRC= */ - TidyAttr_MARGINHEIGHT, /**< MARGINHEIGHT= */ - TidyAttr_MARGINWIDTH, /**< MARGINWIDTH= */ - TidyAttr_MAXLENGTH, /**< MAXLENGTH= */ - TidyAttr_MEDIA, /**< MEDIA= */ - TidyAttr_METHOD, /**< METHOD= */ - TidyAttr_MULTIPLE, /**< MULTIPLE= */ - TidyAttr_NAME, /**< NAME= */ - TidyAttr_NOHREF, /**< NOHREF= */ - TidyAttr_NORESIZE, /**< NORESIZE= */ - TidyAttr_NOSHADE, /**< NOSHADE= */ - TidyAttr_NOWRAP, /**< NOWRAP= */ - TidyAttr_OBJECT, /**< OBJECT= */ - TidyAttr_OnAFTERUPDATE, /**< OnAFTERUPDATE= */ - TidyAttr_OnBEFOREUNLOAD, /**< OnBEFOREUNLOAD= */ - TidyAttr_OnBEFOREUPDATE, /**< OnBEFOREUPDATE= */ - TidyAttr_OnBLUR, /**< OnBLUR= */ - TidyAttr_OnCHANGE, /**< OnCHANGE= */ - TidyAttr_OnCLICK, /**< OnCLICK= */ - TidyAttr_OnDATAAVAILABLE, /**< OnDATAAVAILABLE= */ - TidyAttr_OnDATASETCHANGED, /**< OnDATASETCHANGED= */ - TidyAttr_OnDATASETCOMPLETE, /**< OnDATASETCOMPLETE= */ - TidyAttr_OnDBLCLICK, /**< OnDBLCLICK= */ - TidyAttr_OnERRORUPDATE, /**< OnERRORUPDATE= */ - TidyAttr_OnFOCUS, /**< OnFOCUS= */ - TidyAttr_OnKEYDOWN, /**< OnKEYDOWN= */ - TidyAttr_OnKEYPRESS, /**< OnKEYPRESS= */ - TidyAttr_OnKEYUP, /**< OnKEYUP= */ - TidyAttr_OnLOAD, /**< OnLOAD= */ - TidyAttr_OnMOUSEDOWN, /**< OnMOUSEDOWN= */ - TidyAttr_OnMOUSEMOVE, /**< OnMOUSEMOVE= */ - TidyAttr_OnMOUSEOUT, /**< OnMOUSEOUT= */ - TidyAttr_OnMOUSEOVER, /**< OnMOUSEOVER= */ - TidyAttr_OnMOUSEUP, /**< OnMOUSEUP= */ - TidyAttr_OnRESET, /**< OnRESET= */ - TidyAttr_OnROWENTER, /**< OnROWENTER= */ - TidyAttr_OnROWEXIT, /**< OnROWEXIT= */ - TidyAttr_OnSELECT, /**< OnSELECT= */ - TidyAttr_OnSUBMIT, /**< OnSUBMIT= */ - TidyAttr_OnUNLOAD, /**< OnUNLOAD= */ - TidyAttr_PROFILE, /**< PROFILE= */ - TidyAttr_PROMPT, /**< PROMPT= */ - TidyAttr_RBSPAN, /**< RBSPAN= */ - TidyAttr_READONLY, /**< READONLY= */ - TidyAttr_REL, /**< REL= */ - TidyAttr_REV, /**< REV= */ - TidyAttr_RIGHTMARGIN, /**< RIGHTMARGIN= */ - TidyAttr_ROLE, /**< ROLE= */ - TidyAttr_ROWS, /**< ROWS= */ - TidyAttr_ROWSPAN, /**< ROWSPAN= */ - TidyAttr_RULES, /**< RULES= */ - TidyAttr_SCHEME, /**< SCHEME= */ - TidyAttr_SCOPE, /**< SCOPE= */ - TidyAttr_SCROLLING, /**< SCROLLING= */ - TidyAttr_SELECTED, /**< SELECTED= */ - TidyAttr_SHAPE, /**< SHAPE= */ - TidyAttr_SHOWGRID, /**< SHOWGRID= */ - TidyAttr_SHOWGRIDX, /**< SHOWGRIDX= */ - TidyAttr_SHOWGRIDY, /**< SHOWGRIDY= */ - TidyAttr_SIZE, /**< SIZE= */ - TidyAttr_SPAN, /**< SPAN= */ - TidyAttr_SRC, /**< SRC= */ - TidyAttr_SRCSET, /**< SRCSET= (HTML5) */ - TidyAttr_STANDBY, /**< STANDBY= */ - TidyAttr_START, /**< START= */ - TidyAttr_STYLE, /**< STYLE= */ - TidyAttr_SUMMARY, /**< SUMMARY= */ - TidyAttr_TABINDEX, /**< TABINDEX= */ - TidyAttr_TARGET, /**< TARGET= */ - TidyAttr_TEXT, /**< TEXT= */ - TidyAttr_TITLE, /**< TITLE= */ - TidyAttr_TOPMARGIN, /**< TOPMARGIN= */ - TidyAttr_TRANSLATE, /**< TRANSLATE= */ - TidyAttr_TYPE, /**< TYPE= */ - TidyAttr_USEMAP, /**< USEMAP= */ - TidyAttr_VALIGN, /**< VALIGN= */ - TidyAttr_VALUE, /**< VALUE= */ - TidyAttr_VALUETYPE, /**< VALUETYPE= */ - TidyAttr_VERSION, /**< VERSION= */ - TidyAttr_VLINK, /**< VLINK= */ - TidyAttr_VSPACE, /**< VSPACE= */ - TidyAttr_WIDTH, /**< WIDTH= */ - TidyAttr_WRAP, /**< WRAP= */ - TidyAttr_XML_LANG, /**< XML_LANG= */ - TidyAttr_XML_SPACE, /**< XML_SPACE= */ - TidyAttr_XMLNS, /**< XMLNS= */ - - TidyAttr_EVENT, /**< EVENT= */ - TidyAttr_METHODS, /**< METHODS= */ - TidyAttr_N, /**< N= */ - TidyAttr_SDAFORM, /**< SDAFORM= */ - TidyAttr_SDAPREF, /**< SDAPREF= */ - TidyAttr_SDASUFF, /**< SDASUFF= */ - TidyAttr_URN, /**< URN= */ - - TidyAttr_ASYNC, /**< ASYNC= */ - TidyAttr_AUTOCOMPLETE, /**< AUTOCOMPLETE= */ - TidyAttr_AUTOFOCUS, /**< AUTOFOCUS= */ - TidyAttr_AUTOPLAY, /**< AUTOPLAY= */ - TidyAttr_CHALLENGE, /**< CHALLENGE= */ - TidyAttr_CONTENTEDITABLE, /**< CONTENTEDITABLE= */ - TidyAttr_CONTEXTMENU, /**< CONTEXTMENU= */ - TidyAttr_CONTROLS, /**< CONTROLS= */ - TidyAttr_CROSSORIGIN, /**< CROSSORIGIN= */ - TidyAttr_DEFAULT, /**< DEFAULT= */ - TidyAttr_DIRNAME, /**< DIRNAME= */ - TidyAttr_DRAGGABLE, /**< DRAGGABLE= */ - TidyAttr_DROPZONE, /**< DROPZONE= */ - TidyAttr_FORM, /**< FORM= */ - TidyAttr_FORMACTION, /**< FORMACTION= */ - TidyAttr_FORMENCTYPE, /**< FORMENCTYPE= */ - TidyAttr_FORMMETHOD, /**< FORMMETHOD= */ - TidyAttr_FORMNOVALIDATE, /**< FORMNOVALIDATE= */ - TidyAttr_FORMTARGET, /**< FORMTARGET= */ - TidyAttr_HIDDEN, /**< HIDDEN= */ - TidyAttr_HIGH, /**< HIGH= */ - TidyAttr_ICON, /**< ICON= */ - TidyAttr_KEYTYPE, /**< KEYTYPE= */ - TidyAttr_KIND, /**< KIND= */ - TidyAttr_LIST, /**< LIST= */ - TidyAttr_LOOP, /**< LOOP= */ - TidyAttr_LOW, /**< LOW= */ - TidyAttr_MANIFEST, /**< MANIFEST= */ - TidyAttr_MAX, /**< MAX= */ - TidyAttr_MEDIAGROUP, /**< MEDIAGROUP= */ - TidyAttr_MIN, /**< MIN= */ - TidyAttr_NOVALIDATE, /**< NOVALIDATE= */ - TidyAttr_OPEN, /**< OPEN= */ - TidyAttr_OPTIMUM, /**< OPTIMUM= */ - TidyAttr_OnABORT, /**< OnABORT= */ - TidyAttr_OnAFTERPRINT, /**< OnAFTERPRINT= */ - TidyAttr_OnBEFOREPRINT, /**< OnBEFOREPRINT= */ - TidyAttr_OnCANPLAY, /**< OnCANPLAY= */ - TidyAttr_OnCANPLAYTHROUGH, /**< OnCANPLAYTHROUGH= */ - TidyAttr_OnCONTEXTMENU, /**< OnCONTEXTMENU= */ - TidyAttr_OnCUECHANGE, /**< OnCUECHANGE= */ - TidyAttr_OnDRAG, /**< OnDRAG= */ - TidyAttr_OnDRAGEND, /**< OnDRAGEND= */ - TidyAttr_OnDRAGENTER, /**< OnDRAGENTER= */ - TidyAttr_OnDRAGLEAVE, /**< OnDRAGLEAVE= */ - TidyAttr_OnDRAGOVER, /**< OnDRAGOVER= */ - TidyAttr_OnDRAGSTART, /**< OnDRAGSTART= */ - TidyAttr_OnDROP, /**< OnDROP= */ - TidyAttr_OnDURATIONCHANGE, /**< OnDURATIONCHANGE= */ - TidyAttr_OnEMPTIED, /**< OnEMPTIED= */ - TidyAttr_OnENDED, /**< OnENDED= */ - TidyAttr_OnERROR, /**< OnERROR= */ - TidyAttr_OnHASHCHANGE, /**< OnHASHCHANGE= */ - TidyAttr_OnINPUT, /**< OnINPUT= */ - TidyAttr_OnINVALID, /**< OnINVALID= */ - TidyAttr_OnLOADEDDATA, /**< OnLOADEDDATA= */ - TidyAttr_OnLOADEDMETADATA, /**< OnLOADEDMETADATA= */ - TidyAttr_OnLOADSTART, /**< OnLOADSTART= */ - TidyAttr_OnMESSAGE, /**< OnMESSAGE= */ - TidyAttr_OnMOUSEWHEEL, /**< OnMOUSEWHEEL= */ - TidyAttr_OnOFFLINE, /**< OnOFFLINE= */ - TidyAttr_OnONLINE, /**< OnONLINE= */ - TidyAttr_OnPAGEHIDE, /**< OnPAGEHIDE= */ - TidyAttr_OnPAGESHOW, /**< OnPAGESHOW= */ - TidyAttr_OnPAUSE, /**< OnPAUSE= */ - TidyAttr_OnPLAY, /**< OnPLAY= */ - TidyAttr_OnPLAYING, /**< OnPLAYING= */ - TidyAttr_OnPOPSTATE, /**< OnPOPSTATE= */ - TidyAttr_OnPROGRESS, /**< OnPROGRESS= */ - TidyAttr_OnRATECHANGE, /**< OnRATECHANGE= */ - TidyAttr_OnREADYSTATECHANGE, /**< OnREADYSTATECHANGE= */ - TidyAttr_OnREDO, /**< OnREDO= */ - TidyAttr_OnRESIZE, /**< OnRESIZE= */ - TidyAttr_OnSCROLL, /**< OnSCROLL= */ - TidyAttr_OnSEEKED, /**< OnSEEKED= */ - TidyAttr_OnSEEKING, /**< OnSEEKING= */ - TidyAttr_OnSHOW, /**< OnSHOW= */ - TidyAttr_OnSTALLED, /**< OnSTALLED= */ - TidyAttr_OnSTORAGE, /**< OnSTORAGE= */ - TidyAttr_OnSUSPEND, /**< OnSUSPEND= */ - TidyAttr_OnTIMEUPDATE, /**< OnTIMEUPDATE= */ - TidyAttr_OnUNDO, /**< OnUNDO= */ - TidyAttr_OnVOLUMECHANGE, /**< OnVOLUMECHANGE= */ - TidyAttr_OnWAITING, /**< OnWAITING= */ - TidyAttr_PATTERN, /**< PATTERN= */ - TidyAttr_PLACEHOLDER, /**< PLACEHOLDER= */ - TidyAttr_POSTER, /**< POSTER= */ - TidyAttr_PRELOAD, /**< PRELOAD= */ - TidyAttr_PUBDATE, /**< PUBDATE= */ - TidyAttr_RADIOGROUP, /**< RADIOGROUP= */ - TidyAttr_REQUIRED, /**< REQUIRED= */ - TidyAttr_REVERSED, /**< REVERSED= */ - TidyAttr_SANDBOX, /**< SANDBOX= */ - TidyAttr_SCOPED, /**< SCOPED= */ - TidyAttr_SEAMLESS, /**< SEAMLESS= */ - TidyAttr_SIZES, /**< SIZES= */ - TidyAttr_SPELLCHECK, /**< SPELLCHECK= */ - TidyAttr_SRCDOC, /**< SRCDOC= */ - TidyAttr_SRCLANG, /**< SRCLANG= */ - TidyAttr_STEP, /**< STEP= */ - TidyAttr_ARIA_ACTIVEDESCENDANT, /**< ARIA_ACTIVEDESCENDANT */ - TidyAttr_ARIA_ATOMIC, /**< ARIA_ATOMIC= */ - TidyAttr_ARIA_AUTOCOMPLETE, /**< ARIA_AUTOCOMPLETE= */ - TidyAttr_ARIA_BUSY, /**< ARIA_BUSY= */ - TidyAttr_ARIA_CHECKED, /**< ARIA_CHECKED= */ - TidyAttr_ARIA_CONTROLS, /**< ARIA_CONTROLS= */ - TidyAttr_ARIA_DESCRIBEDBY, /**< ARIA_DESCRIBEDBY= */ - TidyAttr_ARIA_DISABLED, /**< ARIA_DISABLED= */ - TidyAttr_ARIA_DROPEFFECT, /**< ARIA_DROPEFFECT= */ - TidyAttr_ARIA_EXPANDED, /**< ARIA_EXPANDED= */ - TidyAttr_ARIA_FLOWTO, /**< ARIA_FLOWTO= */ - TidyAttr_ARIA_GRABBED, /**< ARIA_GRABBED= */ - TidyAttr_ARIA_HASPOPUP, /**< ARIA_HASPOPUP= */ - TidyAttr_ARIA_HIDDEN, /**< ARIA_HIDDEN= */ - TidyAttr_ARIA_INVALID, /**< ARIA_INVALID= */ - TidyAttr_ARIA_LABEL, /**< ARIA_LABEL= */ - TidyAttr_ARIA_LABELLEDBY, /**< ARIA_LABELLEDBY= */ - TidyAttr_ARIA_LEVEL, /**< ARIA_LEVEL= */ - TidyAttr_ARIA_LIVE, /**< ARIA_LIVE= */ - TidyAttr_ARIA_MULTILINE, /**< ARIA_MULTILINE= */ - TidyAttr_ARIA_MULTISELECTABLE, /**< ARIA_MULTISELECTABLE= */ - TidyAttr_ARIA_ORIENTATION, /**< ARIA_ORIENTATION= */ - TidyAttr_ARIA_OWNS, /**< ARIA_OWNS= */ - TidyAttr_ARIA_POSINSET, /**< ARIA_POSINSET= */ - TidyAttr_ARIA_PRESSED, /**< ARIA_PRESSED= */ - TidyAttr_ARIA_READONLY, /**< ARIA_READONLY= */ - TidyAttr_ARIA_RELEVANT, /**< ARIA_RELEVANT= */ - TidyAttr_ARIA_REQUIRED, /**< ARIA_REQUIRED= */ - TidyAttr_ARIA_SELECTED, /**< ARIA_SELECTED= */ - TidyAttr_ARIA_SETSIZE, /**< ARIA_SETSIZE= */ - TidyAttr_ARIA_SORT, /**< ARIA_SORT= */ - TidyAttr_ARIA_VALUEMAX, /**< ARIA_VALUEMAX= */ - TidyAttr_ARIA_VALUEMIN, /**< ARIA_VALUEMIN= */ - TidyAttr_ARIA_VALUENOW, /**< ARIA_VALUENOW= */ - TidyAttr_ARIA_VALUETEXT, /**< ARIA_VALUETEXT= */ - - /* SVG attributes (SVG 1.1) */ - TidyAttr_X, /**< X= */ - TidyAttr_Y, /**< Y= */ - TidyAttr_VIEWBOX, /**< VIEWBOX= */ - TidyAttr_PRESERVEASPECTRATIO, /**< PRESERVEASPECTRATIO= */ - TidyAttr_ZOOMANDPAN, /**< ZOOMANDPAN= */ - TidyAttr_BASEPROFILE, /**< BASEPROFILE= */ - TidyAttr_CONTENTSCRIPTTYPE, /**< CONTENTSCRIPTTYPE= */ - TidyAttr_CONTENTSTYLETYPE, /**< CONTENTSTYLETYPE= */ - - /* MathML attributes */ - TidyAttr_DISPLAY, /**< DISPLAY= (html5) */ - - /* RDFa global attributes */ - TidyAttr_ABOUT, /**< ABOUT= */ - TidyAttr_DATATYPE, /**< DATATYPE= */ - TidyAttr_INLIST, /**< INLIST= */ - TidyAttr_PREFIX, /**< PREFIX= */ - TidyAttr_PROPERTY, /**< PROPERTY= */ - TidyAttr_RESOURCE, /**< RESOURCE= */ - TidyAttr_TYPEOF, /**< TYPEOF= */ - TidyAttr_VOCAB, /**< VOCAB= */ - - TidyAttr_INTEGRITY, /**< INTEGRITY= */ - - TidyAttr_AS, /**< AS= */ - - TidyAttr_XMLNSXLINK, /**< svg xmls:xlink="url" */ - - N_TIDY_ATTRIBS /**< Must be last */ -} TidyAttrId; - - -/** @} - ** @name I/O and Message Handling Interface - ** - ** Messages used throughout LibTidy and exposed to the public API have - ** attributes which are communicated with these enumerations. - ** - ** @{ - */ - - -/** Message severity level, used throughout LibTidy to indicate the severity - ** or status of a message - ** - ** @remark These enum members all have associated localized strings available - ** via their enum values. These strings are suitable for use as labels. - */ -typedef enum -{ - TidyInfo = 350, /**< Report: Information about markup usage */ - TidyWarning, /**< Report: Warning message */ - TidyConfig, /**< Report: Configuration error */ - TidyAccess, /**< Report: Accessibility message */ - TidyError, /**< Report: Error message - output suppressed */ - TidyBadDocument, /**< Report: I/O or file system error */ - TidyFatal, /**< Report: Crash! */ - TidyDialogueSummary, /**< Dialogue: Summary-related information */ - TidyDialogueInfo, /**< Dialogue: Non-document related information */ - TidyDialogueFootnote, /**< Dialogue: Footnote */ - TidyDialogueDoc = TidyDialogueFootnote, /**< Dialogue: Deprecated (renamed) */ -} TidyReportLevel; - - -/** Indicates the data type of a format string parameter used when Tidy - ** emits reports and dialogue as part of the messaging callback functions. - ** See `messageobj.h` for more information on this API. - */ -typedef enum -{ - tidyFormatType_INT = 0, /**< Argument is signed integer. */ - tidyFormatType_UINT, /**< Argument is unsigned integer. */ - tidyFormatType_STRING, /**< Argument is a string. */ - tidyFormatType_DOUBLE, /**< Argument is a double. */ - tidyFormatType_UNKNOWN = 20 /**< Argument type is unknown! */ -} TidyFormatParameterType; - - -/** @} */ -/** @} end group public_enumerations*/ - - -/* MARK: - Public Enumerations (con't) */ -/** @addtogroup public_enumerations - ** @{ */ - -/** @name Messages - ** @{ */ - -/** The enumeration contains a list of every possible string that Tidy and the - ** console application can output, _except_ for strings from the following - ** enumerations: - ** - `TidyOptionId` - ** - `TidyConfigCategory` - ** - `TidyReportLevel` - ** - ** They are used as keys internally within Tidy, and have corresponding text - ** keys that are used in message callback filters (these are defined in - ** `tidyStringsKeys[]`, but API users don't require access to it directly). - */ -typedef enum -{ - /* This MUST be present and first. */ - TIDYSTRINGS_FIRST = 500, - - FOREACH_MSG_MISC(MAKE_ENUM) - FOREACH_FOOTNOTE_MSG(MAKE_ENUM) - FOREACH_DIALOG_MSG(MAKE_ENUM) - REPORT_MESSAGE_FIRST, - FOREACH_REPORT_MSG(MAKE_ENUM) - REPORT_MESSAGE_LAST, - FOREACH_ACCESS_MSG(MAKE_ENUM) - -#if SUPPORT_CONSOLE_APP - FOREACH_MSG_CONSOLE(MAKE_ENUM) -#endif - - /* This MUST be present and last. */ - TIDYSTRINGS_LAST - -} tidyStrings; - - -/** @} */ -/** @} end group public_enumerations */ - - -#ifdef __cplusplus -} /* extern "C" */ -#endif -#endif /* __TIDYENUM_H__ */ - diff --git a/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidyplatform.h b/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidyplatform.h deleted file mode 100644 index 28de4682..00000000 --- a/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/include/tidyplatform.h +++ /dev/null @@ -1,677 +0,0 @@ -#ifndef __TIDY_PLATFORM_H__ -#define __TIDY_PLATFORM_H__ - -/**************************************************************************//** - * @file - * Platform specific definitions, specifics, and headers. This file is - * included by `tidy.h` already, and need not be included separately. Among - * other things, the PLATFORM_NAME is defined and the most common systems - * headers are included. - * - * @note It should be largely unnecessary to modify this file unless adding - * support for a completely new architecture. Most options defined in this - * file specify defaults that can be overriden by the build system; for - * example, passing -D flags to CMake. - * - * @author Charles Reitzel [creitzel@rcn.com] - * @author HTACG, et al (consult git log) - * - * @copyright - * Copyright (c) 1998-2017 World Wide Web Consortium (Massachusetts - * Institute of Technology, European Research Consortium for Informatics - * and Mathematics, Keio University). - * @copyright - * See tidy.h for license. - * - * @date Created 2001-05-20 by Charles Reitzel - * @date Updated 2002-07-01 by Charles Reitzel - * @date Further modifications: consult git log. - ******************************************************************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -/*============================================================================= - * Unix console application features - * By default on Unix-like systems when building for the console program, - * support runtime configuration files in /etc/ and in ~/. To prevent this, - * set ENABLE_CONFIG_FILES to NO. Specify -DTIDY_CONFIG_FILE and/or - * -DTIDY_USER_CONFIG_FILE to override the default paths in tidyplatform.h. - * @note: this section refactored to support #584. - *===========================================================================*/ - -/* #define ENABLE_CONFIG_FILES */ - -#if defined(TIDY_ENABLE_CONFIG_FILES) -# if !defined(TIDY_CONFIG_FILE) -# define TIDY_CONFIG_FILE "/etc/tidy.conf" -# endif -# if !defined(TIDY_USER_CONFIG_FILE) -# define TIDY_USER_CONFIG_FILE "~/.tidyrc" -# endif -#else -# if defined(TIDY_CONFIG_FILE) -# undef TIDY_CONFIG_FILE -# endif -# if defined(TIDY_USER_CONFIG_FILE) -# undef TIDY_USER_CONFIG_FILE -# endif -#endif - - -/*============================================================================= - * Unix tilde expansion support - * By default on Unix-like systems when building for the console program, - * this flag is set so that Tidy knows getpwname() is available. It allows - * tidy to find files named ~your/foo for use in the HTML_TIDY environment - * variable or TIDY_CONFIG_FILE or TIDY_USER_CONFIG_FILE or on the command - * command line: -config ~joebob/tidy.cfg - * Contributed by Todd Lewis. - *===========================================================================*/ - -/* #define SUPPORT_GETPWNAM */ - - -/*============================================================================= - * Optional Tidy features support - *===========================================================================*/ - -/* Enable/disable support for additional languages */ -#ifndef SUPPORT_LOCALIZATIONS -# define SUPPORT_LOCALIZATIONS 1 -#endif - -/* Enable/disable support for console */ -#ifndef SUPPORT_CONSOLE_APP -# define SUPPORT_CONSOLE_APP 1 -#endif - - -/*============================================================================= - * Platform specific convenience definitions - *===========================================================================*/ - -/* === Convenience defines for Mac platforms === */ - -#if defined(macintosh) -/* Mac OS 6.x/7.x/8.x/9.x, with or without CarbonLib - MPW or Metrowerks 68K/PPC compilers */ -# define MAC_OS_CLASSIC -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "Mac OS" -# endif - -/* needed for access() */ -# if !defined(_POSIX) && !defined(NO_ACCESS_SUPPORT) -# define NO_ACCESS_SUPPORT -# endif - -# ifdef SUPPORT_GETPWNAM -# undef SUPPORT_GETPWNAM -# endif - -#elif defined(__APPLE__) && defined(__MACH__) - /* Mac OS X (client) 10.x (or server 1.x/10.x) - gcc or Metrowerks MachO compilers */ -# define MAC_OS_X -# ifndef PLATFORM_NAME -# include "TargetConditionals.h" -# if TARGET_OS_IOS -# define PLATFORM_NAME "Apple iOS" -# elif TARGET_OS_MAC -# define PLATFORM_NAME "Apple macOS" -# elif TARGET_OS_TV -# define PLATFORM_NAME "Apple tvOS" -# elif TARGET_OS_WATCH -# define PLATFORM_NAME "Apple watchOS" -# else -# define PLATFORM_NAME "Apple Unknown OS" -# endif -# endif -#endif - -#if defined(MAC_OS_CLASSIC) || defined(MAC_OS_X) -/* Any OS on Mac platform */ -# define MAC_OS -# define FILENAMES_CASE_SENSITIVE 0 -# define strcasecmp strcmp -#endif - -/* === Convenience defines for BSD-like platforms === */ - -#if defined(__FreeBSD__) -# define BSD_BASED_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "FreeBSD" -# endif - -#elif defined(__NetBSD__) -# define BSD_BASED_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "NetBSD" -# endif - -#elif defined(__OpenBSD__) -# define BSD_BASED_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "OpenBSD" -# endif - -#elif defined(__DragonFly__) -# define BSD_BASED_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "DragonFly" -# endif - -#elif defined(__MINT__) -# define BSD_BASED_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "FreeMiNT" -# endif - -#elif defined(__bsdi__) -# define BSD_BASED_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "BSD/OS" -# endif -#endif - -/* === Convenience defines for Windows platforms === */ - -#if defined(WINDOWS) || defined(_WIN32) - -# define WINDOWS_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "Windows" -# endif - -# if defined(__MWERKS__) || defined(__MSL__) - /* not available with Metrowerks Standard Library */ -# ifdef SUPPORT_GETPWNAM -# undef SUPPORT_GETPWNAM -# endif - /* needed for setmode() */ -# if !defined(NO_SETMODE_SUPPORT) -# define NO_SETMODE_SUPPORT -# endif -# define strcasecmp _stricmp -# endif - -# if defined(__BORLANDC__) -# define strcasecmp stricmp -# endif - -# define FILENAMES_CASE_SENSITIVE 0 -# define SUPPORT_POSIX_MAPPED_FILES 0 - -#endif /* WINDOWS */ - -/* === Convenience defines for Linux platforms === */ - -#if defined(linux) && defined(__alpha__) - /* Linux on Alpha - gcc compiler */ -# define LINUX_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "Linux/Alpha" -# endif - -#elif defined(linux) && defined(__sparc__) - /* Linux on Sparc - gcc compiler */ -# define LINUX_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "Linux/Sparc" -# endif - -#elif defined(linux) && (defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__)) - /* Linux on x86 - gcc compiler */ -# define LINUX_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "Linux/x86" -# endif - -#elif defined(linux) && defined(__powerpc__) - /* Linux on PPC - gcc compiler */ -# define LINUX_OS -# if defined(__linux__) && defined(__powerpc__) -# ifndef PLATFORM_NAME - /* MkLinux on PPC - gcc (egcs) compiler */ -# define PLATFORM_NAME "MkLinux" -# endif -# else -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "Linux/PPC" -# endif -# endif - -#elif defined(linux) || defined(__linux__) - /* generic Linux */ -# define LINUX_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "Linux" -# endif -#endif - -/* === Convenience defines for Solaris platforms === */ - -#if defined(sun) -# define SOLARIS_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "Solaris" -# endif -#endif - -/* === Convenience defines for HPUX + gcc platforms === */ - -#if defined(__hpux) -# define HPUX_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "HPUX" -# endif -#endif - -/* === Convenience defines for RISCOS + gcc platforms === */ - -#if defined(__riscos__) -# define RISC_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "RISC OS" -# endif -#endif - -/* === Convenience defines for OS/2 + icc/gcc platforms === */ - -#if defined(__OS2__) || defined(__EMX__) -# define OS2_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "OS/2" -# endif -# define FILENAMES_CASE_SENSITIVE 0 -# define strcasecmp stricmp -#endif - -/* === Convenience defines for IRIX === */ - -#if defined(__sgi) -# define IRIX_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "SGI IRIX" -# endif -#endif - -/* === Convenience defines for AIX === */ - -#if defined(_AIX) -# define AIX_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "IBM AIX" -# endif -#endif - -/* === Convenience defines for BeOS platforms === */ - -#if defined(__BEOS__) -# define BE_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "BeOS" -# endif -#endif - -/* === Convenience defines for Cygwin platforms === */ - -#if defined(__CYGWIN__) -# define CYGWIN_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "Cygwin" -# endif -# define FILENAMES_CASE_SENSITIVE 0 -#endif - -/* === Convenience defines for OpenVMS === */ - -#if defined(__VMS) -# define OPENVMS_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "OpenVMS" -# endif -# define FILENAMES_CASE_SENSITIVE 0 -#endif - -/* === Convenience defines for DEC Alpha OSF + gcc platforms === */ - -#if defined(__osf__) -# define OSF_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "DEC Alpha OSF" -# endif -#endif - -/* === Convenience defines for ARM platforms === */ - -#if defined(__arm) -# define ARM_OS -# if defined(forARM) && defined(__NEWTON_H) - /* Using Newton C++ Tools ARMCpp compiler */ -# define NEWTON_OS -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "Newton" -# endif -# else -# ifndef PLATFORM_NAME -# define PLATFORM_NAME "ARM" -# endif -# endif -#endif - - -/*============================================================================= - * Standard Library Includes - *===========================================================================*/ - -#include -#include -#include /* for longjmp on error exit */ -#include -#include /* may need for Unix V */ -#include -#include - -#ifdef NEEDS_MALLOC_H -# include -#endif - -#ifdef SUPPORT_GETPWNAM -# include -#endif - -#ifdef NEEDS_UNISTD_H -# include /* needed for unlink on some Unix systems */ -#endif - - -/*============================================================================= - * Case sensitive file systems - *===========================================================================*/ - -/* By default, use case-sensitive filename comparison. */ -#ifndef FILENAMES_CASE_SENSITIVE -# define FILENAMES_CASE_SENSITIVE 1 -#endif - - -/*============================================================================= - * Last modified time preservation - * Tidy preserves the last modified time for the files it cleans up. - * - * If your platform doesn't support and the utime() function, or - * and the futime() function then set PRESERVE_FILE_TIMES to 0. - * - * If your platform doesn't support and the futime() function, - * then set HAS_FUTIME to 0. - * - * If your platform supports and the utime() function requires the - * file to be closed first, then set UTIME_NEEDS_CLOSED_FILE to 1. - *===========================================================================*/ - -/* Keep old PRESERVEFILETIMES define for compatibility */ -#ifdef PRESERVEFILETIMES -# undef PRESERVE_FILE_TIMES -# define PRESERVE_FILE_TIMES PRESERVEFILETIMES -#endif - -#ifndef PRESERVE_FILE_TIMES -# if defined(RISC_OS) || defined(OPENVMS_OS) || defined(OSF_OS) -# define PRESERVE_FILE_TIMES 0 -# else -# define PRESERVE_FILE_TIMES 1 -# endif -#endif - -#if PRESERVE_FILE_TIMES - -# ifndef HAS_FUTIME -# if defined(CYGWIN_OS) || defined(BE_OS) || defined(OS2_OS) || defined(HPUX_OS) || defined(SOLARIS_OS) || defined(LINUX_OS) || defined(BSD_BASED_OS) || defined(MAC_OS) || defined(__MSL__) || defined(IRIX_OS) || defined(AIX_OS) || defined(__BORLANDC__) || defined(__GLIBC__) -# define HAS_FUTIME 0 -# else -# define HAS_FUTIME 1 -# endif -# endif - -# ifndef UTIME_NEEDS_CLOSED_FILE -# if defined(SOLARIS_OS) || defined(BSD_BASED_OS) || defined(MAC_OS) || defined(__MSL__) || defined(LINUX_OS) -# define UTIME_NEEDS_CLOSED_FILE 1 -# else -# define UTIME_NEEDS_CLOSED_FILE 0 -# endif -# endif - -# if defined(MAC_OS_X) || (!defined(MAC_OS_CLASSIC) && !defined(__MSL__)) -# include -# include -# else -# include -# endif - -# if HAS_FUTIME -# include -# else -# include -# endif - -/* MS Windows needs _ prefix for Unix file functions. - Not required by Metrowerks Standard Library (MSL). - - Tidy uses following for preserving the last modified time. - - WINDOWS automatically set by Win16 compilers. - _WIN32 automatically set by Win32 compilers. -*/ -# if defined(_WIN32) && !defined(__MSL__) && !defined(__BORLANDC__) -# define futime _futime -# define fstat _fstat -# define utimbuf _utimbuf /* Windows seems to want utimbuf */ -# define stat _stat -# define utime _utime -# define vsnprintf _vsnprintf -# endif - -#endif - - -/*============================================================================= - * Windows file functions - * Windows needs _ prefix for Unix file functions. - * Not required by Metrowerks Standard Library (MSL). - * - * WINDOWS automatically set by Win16 compilers. - * _WIN32 automatically set by Win32 compilers. - *===========================================================================*/ - -#if defined(_WIN32) && !defined(__MSL__) && !defined(__BORLANDC__) - -# if !(defined(__WATCOMC__) || defined(__MINGW32__)) -# define fileno _fileno -# define setmode _setmode -# endif - -# if defined(_MSC_VER) -# define fileno _fileno -#if !defined(NDEBUG) && !defined(ENABLE_DEBUG_LOG) && !defined(DISABLE_DEBUG_LOG) -#define ENABLE_DEBUG_LOG -#endif -#endif - -# define access _access -# define strcasecmp _stricmp - -# ifndef va_copy -# define va_copy(dest, src) (dest = src) -# endif - -# if _MSC_VER > 1000 -# pragma warning( disable : 4189 ) /* local variable is initialized but not referenced */ -# pragma warning( disable : 4100 ) /* unreferenced formal parameter */ -# pragma warning( disable : 4706 ) /* assignment within conditional expression */ -# endif - -# if _MSC_VER > 1300 -# pragma warning( disable : 4996 ) /* disable depreciation warning */ -# endif - -#endif /* _WIN32 */ - -#if defined(_WIN32) - -# if (defined(_USRDLL) || defined(_WINDLL) || defined(BUILD_SHARED_LIB)) && !defined(TIDY_EXPORT) && !defined(TIDY_STATIC) -# ifdef BUILDING_SHARED_LIB -# define TIDY_EXPORT __declspec( dllexport ) -# else -# define TIDY_EXPORT __declspec( dllimport ) -# endif -# else -# define TIDY_EXPORT extern -# endif - -# ifndef TIDY_CALL -# ifdef _WIN64 -# define TIDY_CALL __fastcall -# else -# define TIDY_CALL __stdcall -# endif -# endif - -#endif /* _WIN32 */ - - -/*============================================================================= - * Hack for gnu sys/types.h file which defines uint and ulong - *===========================================================================*/ - -#if defined(BE_OS) || defined(SOLARIS_OS) || defined(BSD_BASED_OS) || defined(OSF_OS) || defined(IRIX_OS) || defined(AIX_OS) -# include -#endif - -#if !defined(HPUX_OS) && !defined(CYGWIN_OS) && !defined(MAC_OS_X) && !defined(BE_OS) && !defined(SOLARIS_OS) && !defined(BSD_BASED_OS) && !defined(OSF_OS) && !defined(IRIX_OS) && !defined(AIX_OS) && !defined(LINUX_OS) -# undef uint - typedef unsigned int uint; -#endif - -#if defined(HPUX_OS) || defined(CYGWIN_OS) || defined(MAC_OS) || defined(BSD_BASED_OS) || defined(_WIN32) -# undef ulong - typedef unsigned long ulong; -#endif - - -/*============================================================================= - * Visibility support - * With GCC 4, __attribute__ ((visibility("default"))) can be used - * along compiling with tidylib with "-fvisibility=hidden". See - * http://gcc.gnu.org/wiki/Visibility and build/gmake/Makefile. - *===========================================================================*/ -/* -#if defined(__GNUC__) && __GNUC__ >= 4 -# define TIDY_EXPORT __attribute__ ((visibility("default"))) -#endif -*/ - - -/*============================================================================= - * Other definitions - *===========================================================================*/ - -#ifndef TIDY_EXPORT /* Define it away for most builds */ -# define TIDY_EXPORT -#endif - -#ifndef TIDY_STRUCT -# define TIDY_STRUCT -#endif - -typedef unsigned char byte; - -typedef uint tchar; /* single, full character */ -typedef char tmbchar; /* single, possibly partial character */ -#ifndef TMBSTR_DEFINED - typedef tmbchar* tmbstr; /* pointer to buffer of possibly partial chars */ - typedef const tmbchar* ctmbstr; /* Ditto, but const */ -# define NULLSTR (tmbstr)"" -# define TMBSTR_DEFINED -#endif - -#ifndef TIDY_CALL -# define TIDY_CALL -#endif - -#if defined(__GNUC__) || defined(__INTEL_COMPILER) -# define ARG_UNUSED(x) x __attribute__((unused)) -# define FUNC_UNUSED __attribute__((unused)) -#else -# define ARG_UNUSED(x) x -# define FUNC_UNUSED -#endif - -/* HAS_VSNPRINTF triggers the use of "vsnprintf", which is safe related to - buffer overflow. Therefore, we make it the default unless HAS_VSNPRINTF - has been defined. */ -#ifndef HAS_VSNPRINTF -# define HAS_VSNPRINTF 1 -#endif - -#ifndef SUPPORT_POSIX_MAPPED_FILES -# define SUPPORT_POSIX_MAPPED_FILES 1 -#endif - -/* `bool` is a reserved word in some but not all C++ compilers depending on age. - age. Work around is to avoid bool by introducing a new enum called `Bool`. -*/ - -/* We could use the C99 definition where supported -typedef _Bool Bool; -#define no (_Bool)0 -#define yes (_Bool)1 -*/ -typedef enum -{ - no, - yes -} Bool; - -/* for NULL pointers -#define null ((const void*)0) -extern void* null; -*/ - -#if defined(DMALLOC) -# include "dmalloc.h" -#endif - -/* Opaque data structure. -* Cast to implementation type struct within lib. -* This will reduce inter-dependencies/conflicts w/ application code. -*/ -#if 1 -#define opaque_type( typenam )\ -struct _##typenam { int _opaque; };\ -typedef struct _##typenam const * typenam -#else -#define opaque_type(typenam) typedef const void* typenam -#endif - -/* Opaque data structure used to pass back -** and forth to keep current position in a -** list or other collection. -*/ -opaque_type( TidyIterator ); - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __TIDY_PLATFORM_H__ */ - -/* - * local variables: - * mode: c - * indent-tabs-mode: nil - * c-basic-offset: 4 - * eval: (c-set-offset 'substatement-open 0) - * end: - */ diff --git a/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/lib/pkgconfig/tidy.pc b/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/lib/pkgconfig/tidy.pc deleted file mode 100644 index 0fb32324..00000000 --- a/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/lib/pkgconfig/tidy.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=F:/Projects/install/msvc100-64/tidy-5.6.0-vc10-64b -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: tidy -Description: tidy - HTML syntax checker -URL: http://www.html-tidy.org -Version: 5.6.0 -Libs: -L${libdir} -ltidy -Cflags: -I${includedir} diff --git a/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/lib/tidy.lib b/bin/CITests/03_SyntaxTests/tidy-5.6.0-vc10-64b/lib/tidy.lib deleted file mode 100644 index 54d5a0c1797de11a4d0719949b40f36a00a743ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40716 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

;x#fZ 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≫oA9mVHFi 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⪚iS^!HW>yd6zaAx4+J^**wey~gs!U6Dy`#wRC?-MU8WBbD z@Rv7{e0z*+CpebM7-c_H3bHX!#r+b%SVik;1)c-+I^*-olX*gcBV9xE^v8PDQ(o#; z{NS?XFYR`FR6a`Xj4d{2<*AgAWjnM?!g+)YYbD~I?l@|Yd(oG>c;abzks2O{eQ4XM z{*CQ*T$Iy)fgwOrDaT>uUNgwwN^Irx@Bw{U3gR3XYmS9-LY}g4U6j6$f=ua zmtrKDo=WAai^6yxiDikN!kCpwRLiugHj4`Psfy|d1y45`S(UnJ^Jb3&7HH|@iJtS? zqO@{RxugfqCoJ+jF7-(GnZ-KwROqDAKWUYZQDKjTJSF~=j~eCA+?_59)$}HIr*0%W z!KR^2`J_i0?A4ZeRT>rN4eg+@k{&tn$Xh2TWGL~8jts}@RTWmO{(}2oHJq!EGVEG@ zsv{=~3X|#xXHHfqQl1Wz@7O_9dE$2R@sGG*h4xBh@)kTy%3pHkyBQcI22Ap2^J1y}qQqT$`|L%jJCeoWN83kL;4#Y-oHbomnF{ zo(|%9vMjl~A9)MBPa=#TMm{IatyMlgxy1?0V`M8bPJW_1M#N8^%@aFQl9H*F_i_^! zTLwBENP=8hwDf#63}sj#gH#@?kfa^U`m`Gk8G5qblgqof9Usk0XjL`^++FsJwWQ;t zBSxT#Y)K}rEiXsj)Xot?1+<2wNeray9J6s#WIcCgJ+rd=IoUkB-rQU6FsYh9On2B? zWx*&rV66E|H>qGnvV!x&a2z$rDR8Mnv4w;ryR zTctd!&_={oSu|YcK?Osn$pGCpzODJGiY+?FG=739<#^YlPqSkja;ksH9nd3bP+)1 z>{|R;`_3%sUJywqO>on-oO$`$7`m3;aZYWqaB*pMoPVX#q>Iu@7&*)5lrC4}YGFFlm1OJUiEO2)=(+!7n6od_q?+nRFkUKEi(%#fKb<>m!O+eG}@rC zhgYo~kl$>$RN1O(EiiGS8GT!Z&mwtf7R?d|Bk?GI(ooCXQ*Z`iQ1*T?apcQ{8`^Qj zNF!YbySDinD2|rmSx}I~f{c=UfB;XW7P9Gj!c^nt&D6!qrOjdH7P(QGtnzj0%krw8 zIC#nSUp1Hci&dIc%iQtl1s+T3w)3)?tH#Umg52EwzSbcbW~9yWb31i{X<~GJa>l6b zjggx3$u0MFEs~oB4OmAdlW_Wo;zk#r6lNa9ThGA0Ov_5yIB_QCM@F5GPklCjYH;NuC$jZ6p%k6-=!gpF+l!szO&lAs8c%ylr}tc!P&z_FOrXs+|(vQphVQY?9-{zRb~yN4{?g;Xmf9f2HuJr(j$=UASyZm{u^B zxY-hQer#dnP2P3!=0&>Prv$qyKuQftPSR8`mrACRX}wnIZ?Y#1_9%&%JxjKDo&8To zIFs%D@W_-OVM#F|3xMjpeBX}!x3^CXPPbpaZ|D6x_K|93XW<=MiF;V`5M}A67GY_W zFQj4GC-Iz;fT{zkEI>Rv&{uAkmd?mc);VlPN-=uB+d&q2C0h6dV)VCYD@4?L<{*OPyn#m4cGQ#tjxq>|2)Mj1`1(B~5BiLq2rfxS0?t#j!GTcPmDFvcWhjqa)b4`#vP(* z`h-0-qimzV1e8!(&!89?#K;TI-ryPRDyt2t@kNnN;cnvNoR+!ig8S9>A+O& z^oYICypY&ee@A6{Zk?Kbm|Ys`*_UOCR%$Vg(5az2IKQ3LpV`yA5<5Sigd8>69zJkz z?`yLM#X^zw7^8)8OwfZaml>NlW=Sd{>=R|_FZpbF_df2Eq~$eO68p{yxvTgP!&-Zg zrz8*gIkmN~V>DL-$d%{0Jm@`+q!A|;l`-XgUwY23cl zAT0qkh0-;pS^ou{walc4yjQawhBDQh|6e@Y?M_ibX*}AAltX>;^yh(5ENJF9CB@Ti zs@63PZ(p~A{>vAd9UPuY73eroALZm^5fddxHqjvS6G)4WmC$i{lO#`1>zWeOuyh-t zVb$7=g=_P4TJ!IVPjhA^Ogo7>@XS*m>r(o*x=ub9NvbLRkt!#3bE@HP>T!jg|eJhS!_gdo|2VK;pgkjHl373CxVi!~}@9W*~aazd)B zb>HRzb}|PxzF|wU+)q)_Q#jV}7}_S&Jp;@T@Qc}jR!*K8Xx+DIU=#0L$2&9Av>N3% zy`cYSHkq3zRjf_>F}XY+SYJJV?UK(kPB?5G9^bU&fNiMrD^&+4IJ3ab4=9> zh(|UI#cBF{UNwJk{FM6Z`0Vt;vE!vh9Q&Xd`c?y|= z;dD`Bb;<=MYcNDL66bkibecP!ch`D2X7<17S|!az#A3S=2K zPN)V-2d4pLNr`PqVkH7-3uXV3HW=OI4a{@bYEGZi8YiMs- zt@81YQ`p2<(wLPVSy`y(9!&w#7n&hdNMGWQERa9l2Wt^q`IQhS^WER!at`e>dui^nL8tbfE} z!}6_r4(va~ohQi;ILETCwH0+mV=_X#_buraUj3AGqcC{`ncJ-o$NH_$#nUF2b!XG@iu{8z4eA({i8 zxqK{*?A|e_=P_31eccN#hm=Gl9pR*cxv}O0z7%pUQW5lc-uA9Jm8RzZmfKy3aVbfG zR6e!uxZcHWn8tNP;^j1c-5@Q3)P>C!9MR+pml=)82VpIqxrj(NLd-iY#%bc5!XYW+m5o6pX(k?vPqM8=0=JV>(uGlzXDgeyG8OSL1SRp4F#k? z)C+6p?5N06%gjkOBA!MTZ$`l9l_>Za$6co_)GpsVpxU+C!=F&~R_gkNsRyQ}Pht&q zdl8Am-bEW=AT`HCK0ZuyVTEV^Ib4e4KKWU)gd+CP- zxx?uVf?A`Pgm)V625OqXTHV&=9%V4w`yQK8%kzidl1gEu(XI9?@sq8k z=D=b%p@_QYA2Tqderk$ZJ)VwFpG+EOj9`JRL_FXb1SlS*BE|M6Alo%S@l^cC%BXI= zYS(>=O<%|fNl3oFs1Oa3q>iL?N2c)fjGxrPMw1fjoYZ`6doeF!s;F*B-yU6<<+~(e ziv?({gKJ&3M58_K;?8o)h<4m5O-`#XHq0=Eb*EAq&AJYolK~qr)Zhlg+%5I|#C%>i zC>c%JJog$je7y?`r9YHjL_(XFHw#$cte2&$tt2&{W&;Yjjyu#Vn@qCpo%?>Yp`sOK zVeKsLv!b^N=u_8Ht4C+qtm`}~y0fd^@6h>@hAw(PH=;xRD`ctK>#gOf%nlttr->t5 znjfi+c8!_j7SL>oJyxV1DER@!NEz23#s&ieS&{l|{9 z`cMp(DY`H%e&obXyFlZ~7V-MTf|fiWh&wVR>sVauOF!fNs5}%>lh`PlZ)7HFEyINb z+8S^MPO@ZRw9lPlRy?72Gpzrzbwg7Jc{=aj&^|Whr>AVjm2IACOD9!MJ_SC7Wb~yH zE7OU;vOJgYoFKbLbImTtMQL;G=}Eno8(X$+4$;E@drqQ<%^NAr|2Iw|``YTgh;{Ty z-kiw;F1gLMuY*2fX;_JpyQweRn-)3mP^DcO+;0;sAn`WgUt#Yst&>^$OET@2lj)P3 z0e$R}6q_0^)70E#l8>}=lhw6db0e7eqZBLQ#yFj04J<%;Nocfa_9l_4i@L*Jmq6L< zw@GDae!1qV`w#8ib+6=*DTB)f_%c6nbZ!CdO~h~KLR7AecHf#jHs!|3 zvO%p|>xAnTQQrC%4uL}ynU&wtg>Gs0we>%W?#u67rW(yRaF^r7VAoY^yR>l5gD+Wo z+1{||+i53dKgR-#g)JeU2o-hg({&9PL-@N-k_3`;Y|KbnqKj48fF`XLbT%RLf*$*W z>ke41QT6;2O}9HleW}(^IcA_E3*3v`&)16MJ5`H^Xm#R~`CAN3JM~qwMn83%bDEr> zoCB_&7rKN=tHbI7HGU|tIrRB_<0aV*I;AnH-G%N?w{~b(!Xqm+pw(xa$6c_q!*6jg z^8x+CT91~e3Z*DzRRn!+B>rP(43z&ga=QDF(6BnJsq#B)#*i+Myz=1s`O=%;Su}#5TT>VaA920fLSR_EPmV_L38d$i@1)$n4SQ#)X@cu_k!G^JR(SJVp!53zQx0&YZc zZd;Z$wnywjquyHj7o*6`Ez&!hXEOpsIxMes@;pz;(LRUNGDC3ejSBCf5O%7ivSEOh z8C~m^L}+!teBS-(iPiePcUt?(I+%Gfd7IbK(e{9m-2FKGr?%^1&(031-y{ETx32AL zW6t{Z<}g+{l;0TS#h5J1dt&@hLri@6v|C?ji}+;K-L!y%EKgv9NY6;Ba&xJ~>aG?j zrndITG|f<3_q&FJdazM(DGp7>*&A;u&!VXwuwyuJfp%+;Y4Ctep-TOECdXSlm~KCT z=PFBkW!U9(;Xxz{?Zy6$y%1TgF{!f|XjR^S6lbHIp^O7k1&)vP*=;|yrOjomOb9%H z({*lO9_i?xII%!$ryYJLlR~4zBfHsENpPY`o*7c9IV~*58Rkm{^<@EER1O+dh4_8* zv$EdNf=qwSvpI`sgSq1H^UOIAtPBa(X+kZZ)Y?ZC-v z9bcHj?(}3o%8qilM{fLN<7z%yL3|+RFBZn<22oquRlt;D4kjd7o5nJ%r0|#_Y}(E&=*TN^g@hPxPpy^M z-0i?9tZa`ox1!kATF*&MiI4YOyR*H2p|m`|G(Eee!9~<0Ayx#@7G6#*(6rXhtaSIu z$Fid`gwp={{7MY)CZw&W+5|ZT69@NcltSjXU;s11uVK#TM2QIdZlL4`^q=i*8oK8Si_nNuJ zAJtMST)$KQwxwO1_^H|hOaHW`y=Jtv!&6)_sbs6BH3w#87H%x!7L{+^f&YJ;V8E$y zEUlI+Eh~F!EpnyJk4jS4u9@4gw)O%5*D_zToFAd29eK^5k;P=ERYzV^d#Tg;*_{nn z25So>XRb9|?}j8h33WBsva~ZxOz2KuNo#8l8J#Ab0%vxM&i+pmv#iC4r(XB_#Mmus z*Nm+lXrUH0N1Yf)UEq+ojcrv4DJpoNbq~?FfGveXhuxaAwkT394(&`KArk(D@zx=> ze_H!tCQ{hkM{+fbQMRSU7f{QkXjU`6Z`fmvnK&OILPwSdl?23r5L!rSNF#6Qn6|CW z#V=^urDf_Y?BDK>dWzP7?676B(96(j6zgY~oXf+*Nq*9fienrk_$Lt|abKP)NtNwI zZ_|54-jF&u;1u;nsP&NE#K*`+k~c)lFCIxKEIMeQ?G-jgZsltfMH&gbfN5D(tbQ1h zn%nG|)ZX@5)n_faFG+sMJ)12}yID^AbrV(+98IPh+IJo7PmVJU$JCWAToET-dKsIU z`z|Qm_okU{NKepw&WGaIkpx7#1O++(+`?6GCaqB6Jxyg`T}TbNOx5wWx5 ztx75i*E+4YvcO^@UEp+^2A0}YVz+IU*Jb22X|S3;l4Y2`2aiu2oxlH8dk-$t;5_84 z1(2yD?6$OZ>{li-zp09)>tIOnptd;PDVMs&J^OXK4`~AJlKbr>8)+ELX)yDaq^nY% z+0brD6!S>uO-FF$jb8*n^Q=0dl?y3bruZ(kKY)9QNFvmUo=iU7mJg1l!Bu6`P7)u+$0l*N6ilMA5Fhw1K?g@VpIFJwjYy z^1Ze7p~Gp^iyu0~ybL$;3O5IfNOXuQo;TL?QzAHM8NM3mjE#)bY@@$w1A>}HnjI2xb05!Xy@+zhj!nYhN0KU1UR|-ZksrkguA;2)K0i9pO8O)(7m&`5`A=qEE2&^7!I3f9e89hVj=9STkx$m8=>Wi*1n}Zw4uFmLz{#8*Rp6|G|T44m`6!J=SjA;Z<+%ijF{8` z$-A|B%^b^Ej3x(X%+6Bonz2^ul$OhAX_U33m*9uybb|N@3mwW~d~*+oo5&M${OE)( z*TL}86AA-W5aS(A(!r64T#xoT!nW)r8s0aU>(u7y<5T#fpbd9Lizfz0}MMM&1aSNw82b2ICoJHMzx zHaVtIZNZ#>}oTve1sf-pk)+!(G`(C>Plx$jJcMn0M+8r7C?E862!Pi zS3;`3*sAJp<>dbf{7Oy%j)~(XTzj22z31|G^sH*S#IsWilaq}nRipA`>3^554^xo1 zJH#_(jFW~P_bChM8VWc*Dv=hkxZ)+7rr^oOvy$s2pJl)_9#vm0`Di*4(0E$CwdB*vA{Hv5K3nqn6cX&xtpO|x zgiIjbX+fA{dE0rSXs^5f2nxiZ-brUTo_zT?_*F7=lf%!&@~vrB-R9We2gXkwnbrnY zQIOcL>!zpfU}Zag2b!pURqS8!s|QjXclxM0W94t6{pyc;Ag!RjJEf`W*F2_H@S2-> z*G&DQhuBJA+(jTkdR60CuR1atPv8vWTtO$Z+$KIYz8(q4G1+Mnlz)RRxlwOf1?NB$ z%nAY%@S_tF&`y!(%%$4r%qMfzIb`b`x28+4i$jm*^*Rhay)RZhn)mB~`1HP-{b=4# z%oW>i7}%WImQq*x{3|n9n$P?|32*Owz*C%mx5}de`FEUfQx6Pch~TLk_XA>Z(i@5< zYaf-EFuSf}j)Ti6#$yvlQ(a0|j9ORA<@MH7YR<~uthk?ERI^t0V%;a{O*L<2 zZ#H{MXLMBAc*3F#dVC3ZZr#S_2lbk&x`Nl@*Hq6Hyw>Ds87RekNIT9&l-yk!0BVQh z4ci#*GpM4xtYNWziC#fW;IaAAD}vF#@ACD z2Rt9=qH*e>x^$8**WW?o$H|XR6V>11S$fT5eW}-K3o||3Z1$pW)GaN_I958p;%^sy zT&kEhS=!hNju6Nv+HwhgVI56q=}j^I zvTx=x1e@&gDcg5#N@h+v+?=G(NGT+5(p*OFy zp43+>?@l!?ix5?h=>yecT6LA&q;lEccdbX3l(oH`WFg=@Q|aWblM@oy^o&2Jt?cm3 z^kn^vzt!cLh5U?9Lh`LVek?t#_qCjp>l;b;=hU6*j~QGF$;+5uSmz)ow1TbEYdzdl zuf-4IkY&cVaHPjnwZ)GeVT_5RdInuqRgJv_u6Rk3nNKJ9sUp;JNOY(!T9MbINOZb( zR^#0-RVtXx5*>=E=1+drWRNGza?aDc8!JEN*?j!+r#zca7wwwrkQn5>l}Z0wj+zz) ztAgq|ITa*9`mhSBr`uGJIQd}} z)HvQ*#Idoiz$e3K$m@zSvDg|=N3v0~(o>-iqqF^9Gul~iyZThV@zL&!nebIc4zKcJ z<+~~~rPGs?9X;2OXIb&`Y_%>dO~IH$p1@g62rmUOfuvb?X_u2_5hV-}=5|?{?q<&oL^fHgn zO(ma|Ya(dsc9ZaPZv2^)SYPp?tExW7fn8ptC)nd z^MSe)yTLo2myA-$xrMnIrK};SvaT2bFxl~0_?6W65)U^lx%zqa_Y%*`LF|*f_0#I? zWuDfaSp9I#+=^X|fkME<-d$}wtC_)4>TmwQdGYy?hgv(*K6k!QK+_lQCyn5F)}IOr zj)%cD3wlef|Dh9;x3(xfpLf!lr*UkC4fMP2+>1^~nM20eU(gery4uG3oZi++CH7F( zuw}>ABDOLb>S{&blt2!d0YsFj=K2ioc<@mb(x~RsNIlfNORNx^+fKda! zKepf-An`;tMm#oTRai%y%D+Nc^ire7Onti5F|yC9{++DcQesj=mkt%GY= z=);Vy{CCk0%|GN%Sx{gYpKJaFt|LH%r=?B7>U60}s2H105ac5Rgqvu4iV=1=M=S0Q$1u2mgB5cjdIl5jh$RuV$v(mrXce1cBpR&80FRHWJelLTMX?k3W6@LJ6z78S!y<2I(2n}|#vdWa zFhZRO!5m06qVkCT49C&cgwn;;;3#{s$)A;ve`y|c;CY{&N}|y8i|k#l ziy^NHM=KVU+WptMRxS4}3~&@W8#M}%qvhje8!Xj5d&G0X0Wop|5qfEh9D7Y?rqyrS z;3QT+EhU0(An&9tT||;-2V^OfRj*@_tN6}$@odQ$7}s$t)+za<1b@x-@;Rzh4MgYY zH0zClM&C>yA(t`gu*k4R!{Q$7(!(C!VzL@XAeheJuPx5AwWT;c(9ode2<0O6$xv3; ze{6Y=W>m3V41(!_R(^uv3p?m?jTCqHRMP=7rS1C8DnJ zP7*UoL#JR?dbm~`)`;~}?wwLS%)1oURzEJ5H_lEqZ0yH6(PgMVC_WFuzk{*sMip zdwP_}N_1rU6!O8yR(B_Rgnq(sIYLY2UFQXz{ic9wK4zqM$k{&TL-ohHS90`meH_(y zU9)EBISLDULkA3|ws|q?`*5&CRLY ze1whw&MFI(&yi`IasawY_qMax5DGTcaKpvImwXCBxy~d^ZCUdvH39|->WZP9j<0`& z(!8~H_=H*YEw&{te>SM^w&rmn)J?H|R`m8DHXuid`VJgDiem{?O(Hh@R2&9pF;bTx zG*{01?3g8!73Vt!hkev&uzBKWux}sz*YzY;DvduIK!EEZv_Woqc zmLRCP!5j7u zeEr^e*0NE*t`-+2rjB#h!hH3(y2OsYJ~TnSqTH%LPi~+iX2JykqC?J1ZBQj}Mb~nc#HhQ;Z|Z)+rChrUaF@ce10CY=?vMr*JGD zOu-@R2ohh&PPAC&MnM6X!6TBV%Nj$Gl>bUZ;=btR#bu6_ZkQ!k#LSu21tvnZnCNdt)mp7O-q9pM-qNmbZxYPQ)kfu}NNAiCT=-4+; zGi0m66kk}SI+nK^cA@@c5TE319Z5y$%bXL6OHz2-tDCg?$3n16NHr+#Qhl}GHSRAT zS=~opOij~U!|n#Q;kX$}I??OL6jD~TNVYm@N1aTxZ)SX2DKbtTXVFhhxn4}?fE4LR zyVx2?9`5!LLNQpQQoRw{olj$CDb^iqc!;^jI#W0-6tUv0t=a7}GI?_3)ErqKxGjmr zIwyt7P8T{DQwOG0F1r!VO{C>d;bIm;d=a?FlmLM0p_+?bRw~)muS7!p=>@KMph7T7 zn<-)@UvJpQ`~XuPl)sSagb!$e*Ek*{ZK}8QSr3lPwe(?5YV{LWIzz@FUdx=~bZtwj zyK9|fh=&2&*aA*Iu|C3F8BmyP`Y_fk+*c2gU#%KsYSE&q^mVBV$MUPZI^0rT?{PDN z^%eEJ^VUj`fh7;eUEu7$b$z%iD< zTBO07;WrnzapU*ms9=cX`PvILm_ov@wBg+7$mF4(_aUqi7AE`LWvK?@W20azZaRnq z89K(5m>@CXX{rB3eC@*4)O1Hsby>|VWk(5a|zm^llll^EfBfw{^PZ7E^Iin*Y zu_EMppW;+MS3orcjoB6bgd0ucin9o;LzIcIS^%Yio<668)v2j;O!-1`f1J_`lNeYP zL2&LViG=)$c(Zl-QYEn2rVQ13p-Y7RSF)r=bZgjQArTWJEBEyeDwgQoj*s&XK$sft=IK5s-`JCE!T{ASaX(Qj!Od|;u50Y(H zJ!{@jUSB$vt5-c38Cs4`FBbA6MX8|)m$I3>7Hm&gMOt~6yZXa5OfoB#;)|A?ZBCC@RV|^)> zM^hnQQClKnzdKkGBMU>rvGZq7iDoKS%P0=OJW^w^WO$83<}CW0SZ7gQlk6R^u}R5J z1fOp^%O>7l2Dz`fpC%LN;DLU$a6gsrcSK~$$#w`Mf8&-- zLljh{ZL@;Wmo(qnOTsG)Q`%lY#4DE{LwgT`@Mzef+ir6eoWB{{7^nF1 zAGAr7cRMsx>x%YC8g7&Yg*sEFMd>3i=k(P@U!;dSB*j*)l}-|o<;7zIPtGEn2V2of#?4;!;LDn4IdBafSBrk>iV*N?Q%5PM@JlA(}diDV-%k_TDD^tFaCA;|VnVuyG;~uRz z$oq72b9#3?0E4Z}U206-^isHd=gxGKCMO10b9O>8YqT~z+9VmlYLjo{Y6ipD_{}s= z36S_-KPjBZn5k4%Be+4?QaGB^Zi&UR(MainH@wQqNqT%(S{)AXBdh~TX@^qMdY82@ zgFA4{dckjX#Q1l4vDAT%9Le^6PQC-DijyL%X5(Y*?qmg$WD7$kRiX_y(pEU5 z(l1~=>bQeiBP%=kLeqX07kAoZ_K$Tl?yMS^3}*PP)u-$p*w+sri5KoSKQ#{W?~z44~-=da1I$z1qtkb;<$vj0T0CuWP!q^WcP4 zVySFuV%=GkPmMcj)~)JppQ}vjKxMXu^%{;C!Q@nKGy{i62mkEtQhTdbR6$Ot^z7eg z{$5q38kG*0vRkBD!sL~2*ACG5R)JMPS&WmklsTbfhN+~fu&>=dv?~c>QVv@Es<;tC zm+Cc?E8vuf-X28?m{%HNqh&B2qt*nvVrsl)_e@K-sy{#{lLMhOHQlOqnOjL6F~D1x z(h?w6MJ<_(%~%z?yNBy=u~y%X<^{6toldf_rLR>S?uBS2e|q{)BQB+-s*y1PE7}Kb zp!(abJ=4?kDEIL#?N%dG9_V1&o`f34=QzrLi-#O?x3X;T-&7@to!*d#xToZ?a&i2@ zzTfP;DlEVOax|ISc}?Sm7V}F!@1ez%#H|QQ8Rlil7H$Sf0jHYibEKljJba%`A3=Sx z6P#@NoNZl8(J3w{kgdW(t`bu8iAt$==$d_^Dy1L*RjjDu#g#i~8A5(?vw5vE8NCY1 zQL;+c*yNEGtIVqDR}xB*4p|LL)z;+^s$Apdy|RK#7MTtes&2WJ7?H^H;#OwX{`a(? z%CoYlmo+D;b`o_(&(c55#6xCk&OGMp95n@c7^H_g8MX9hU|D7W5z|||_Pb@Z{kg21 zRu^ul3-awtX_>`{uDQ(P4JJ3QF?0l9<2N(Dele}cn!me0^L~|DMC;3K3OPw%b~`0Y zivDM-Agx%@4PF6O6-B0~w^qtxU&jVBHipa@IZ}103?E94!ZMC_9on^02Bz`it|~#! zj0=1i<$5659=hO=eF;~n9NA24xV71OxT=0-O-QV>QY?0KdFI=(`I~dMG&z$;kMwXe zlfTvm+3I92QxpzQz$x>!Ih2-`5PG-HotS+0j5`9f#Wu`!Dy{T5{aP}><+{gqu=k4I z;6c=hY~tdBPT%*M-}_v2Q6u2HM3Pmn(urv`0BpnWrT5NS^tXsk!=#DTgU*JZ3K4`IMYk zWogHL3z^v(dx$7f-*07ChN`S|vrH!WxmX%XKCLG`PuH<>jg@}kISh5J$iXo3z(=4}&&-W4=;G&W1eIM9g}v~_2Uro*{JnMN_{<`8ykuo0foV;f;wF+6&d^WJ#EQv| zaB1+36H&6#i6Mf4ZZ+F~5@?-U*V3BmYSPsv2~uF?KRG^iZ2oxW{y{8*RB4sau=K2% zhqBUM_wcx~Br+QnUz5Jcc99)ap>~f}ZoI>_NK#*Q@X+o@#qg`l?W-E{yd<~7QcCqt zwTA$0Cl6@}Kg&r!P47l35XxajKIZ+c135jpc|d3Xp=^|uT)JkHtmB>9Lrw)62EHAT|E)Kz zrMWksl=nz#e7^E4R;N&E32>LtV)Xv<*RG|$&phm}3aIYdqbEK58kd)SWCqoagO5&$ zt?`&z^I?psV<;hF4$;7Dz2dR4+)AgXu)lu;U54BuSZ!N5@St z56`ymuBcjDrGpDusdkdHN@jyL#21}|By#&u!=Nu3W|1F3ixKaIV#dynrWBx=2&HR#oGQmtzsDh^`Us=Bwk& z0m6DLb+)27rz9YRP7<(r*>dYd&=^VhVd<^WUgUgxyW#C7({Z&EF!bk&mF5asOn zN9JDVydb0#y_01pPn|iw7~Bl2rG~acvQLAZRBQMpgwY}sxGCqG&XO{4!+J8x1+1X0FiJn~P(b5!l z`SoL(-*ta(o~kvah>`lB#iO(5wcVVe2-8}ni(AeMZr%1U>QzQ@L**k2s=htle&2OZ zGJ~1BNFpjj%45zFn(tdGM;M%>fo5S@Vx)}9e(;fpy#H3uXc(yq$V@v%Fe7=nvbYwD zB;|Z?aV!osg%M|=hzjorD^zy*(#r-_92%@ZtjChE6qjhEQWxYL+f((a&?$KK-?akg&VlD%MpWeKjg{d<5UL` zOh-A*-E4rdsAP*zc^Z6yCy8M&ylnJ40FqwU&7o#LYD#@Uhua3K@*^Oc3e<#AWwn|{ z9e=ktCib1+0`Ick#YkuzjxAnv%r0Mhh#`w(2Lk$pSr|cn}1rHgD@epT$N8w`zr&B!*6+#@Sobs9GsTCb8a{JjQ%Af1FKv zMzh_vdHppqNuG*^Yr1~aK52^Q-X*w4U;0t>CV7%oXmjLPQ!=lz3i0tWp0+$E4q?;l z>!%ivUQHz!%+(}OzpTZR&XG8*G@mh+QY&TEFEyikA2myr`#)#wu>H-bWf_ul_!M^@ zo#*{MM~f`kUyQ}(Ag}IhsTExs!t@u@a~{C{9v3N+e>|yMFRhPHu#RI>K=Cd|CrNK$ z7e!sr$`(YG^PiLsjjb&dMPq&uPxE=NcI`DubAivJT)q?b>pR4$dpXCH ztD6TKT?D0w*DzqRzc5dloJ4Q*TYh7S+5`bX6Dnl7+KI@n6*?W0Ma#f4D)QVQOCTLH z&JSdJ&lYLkam>+NrRc=-$IA(Gn8in2?> zM&k(mAZ?1|eaVrgB z@7G1-_q?57B%!g1lY{*0p{{bP2|YysS2y&^7CPamz%;$<{w;iu#StePBs<>Bz4CYI ziN-Hju%RM~iDHKFD6JY*33}bD!BV_z z6DmhQ=EGf6j+9UrqXIdUZ2rg&>Eg>acUyjzc?&4Orf3PKfki4u23owa(TBpiA~jP_MAnevOXcm!jR( z5h-j|Lx3LYvJS2`g{VfSjfBadm4jy_FR&FtqC3dic&|XSBj#dWu0D( z%rR~GrR}25pS_AmAI)aGmi3LVstLt$lxk4=KQFAZ95pMGj^G!UqCUYQ#;5jGTJ4E& z3$yxT{g`4v)zs9cfrkBMv#{eE;t}4*Bh_bUdRD#Wd#QA_ao6#7YD$A^>eJerv@tCJ zn&OsT=YwQDez>`aRKs-hxGpNRCQPF2#?kb`w7LhhuPUZsf@)1!KfY1{l(u5Ft&E1- zbh_k#m#ue@6tpqGQmQ_kUB2;zI;2JeGJK-%!f)?C*;FMxtFUzpv>95VeM6K zCp6d8d6(4|E43-jr){Njxp-HDAvMz0Z%P>JvC4=_TjPrxkw>RZm>qr#G0Kj$GAU>k zj*iHtX8u$fElaj;35&Ppn?pvzj(@%E;0VqnMnL+5Y_U=onx6zQ-4R}!9!>RD&nNm` zHKQ{;m>Q%xYTI9JOD)RB?m9ZRdIO&LvPK26QD)`Du|-jRfTuKL$>+sUY$hveTlAu4 ze}!Eha~3o02q~`+>MR+SC0MXTroAah<`aQJCTCO8J&3`#DGFq1Q z@<8}+Tyv$XWV6RM3MvbTSU0cj#W=U3oIuNqlDufKyM&8Ovz%8|s>0r?;p67G*-5T* z0gJCfEqrYnP^E79GY67`Gs&hKM?cWK+%|v3gDFWsHI}L#%pnl%;}}(Cg|cb$W=(40 zQ-_c&q@RlhPfQ@Gj=$w8f0W3-8=Id@4a=O((<1s-33qkgUBwj9%njKwH-XU?`=awJ z6LZtL5cF~%DuY2etCILPrchmw%L-?1MozZIluEcPQEln*GD%3CRE6bwy7L&GHbNAR zo(EW-4aQ08vZIK-#^OG8hi%bjqnSOD59EZ?`EauoN1-@@;*ebx&AKW@A<|>HXttuo zqVh$r;#2AMpKL~`iYuL1R&*(D3TACYYNu|>9ATRCB-llNYq;3B)z}d?k|vX-s?(ee zQ?=|u`X|hvj-Nbm;q&-5{jB_Yjh`#4Px=DGIo~*)PUobGs{3ua>Axv%997_oNr0=8 z2WJ}PHfuCEIkD6)WAjV?(%Fc{XOaQ6)O+)@Oa9VXVkcV$=Z`nuE7IDC8bD}^39Rmr z4P5$hiMcD7s@34kVctnO+oz$vJ+grJydPoreoavxTy~oHt95f@?Od@}f1_9PnCtj+ z9sQncjz&pM=LHdK$?(q6sU6-H)l93uDuEqs#|7-^-}x1)iaLeZyhDGJHO`y6a#U|K zPPupk+2&>L)6|fQ+g+v&FXi$8XN50AlT$Tb$*DROAG7KRQ)q{NnoJ|Pw#a3yG?M2b z^D45O;=-La-)P|N<5R?FqO7f?ciy>gPnq+k+QU2hcO5vmp4Pu;wf{%qD9<^ z@mY>sW+!?*&{+s{M5Rkj+D0B}Xq_Y(RqL8cvr^MHJDi|$=#-g3wqY8THUEx~kq61U zW%VqlEc-XD)|ZZQ6@X`f>bFh#mm?#yW|b>MmABk#t`Yg*ZBOYb){_{SHNQIxwL(pq;*0pQ zE6LJh3Qx`cly-i}cdfJ2uk}u3<;qJ7m966^wqadu9pt}koiJ#N?hXy9lz_Esqm;Z@ zT0uLsg~~A%)P6OaR5@&#x(ER;x~QJez1LQa^$tz9jjO0Kf%+MdZ~T{^T;WK=Iz-nMuoBxoU~IuebdK6%V#heq;xb-<*a^%7*7&GAecV=&7>6$F5c)m1M@P%M+lcx~}S{vMUhsrp9XiJzcuo94q!g zVO={1wfj-Fd}I1e0duZHhl#>hlnSy@7E|9+GM4wz#QEGro2F%9oOiOa9FhC5(Zoe( zE|XEqbc+|9bBGH}|HY?3UpA_~(%w*<%uFL>H+S1;vhp13P)G3=!I96BI%M_AM5cJ5 z<{sGMtuqXCn-6e-lZ3h+qgZv1%AH!)N@8Z^*J9OF4dE>1AzA_v&D)1%JrI0K}inMXZ{MpcN`fdC~L%7WC@kjw7uDJHL*)rjj#YVdJB}BqOVZ%%Fu;;+ zwWK&Ip{6J7v2mR?G8Z0Ipng45)iOaJ+9ECyPU#Drj>HLvtCtp+-KZiCm`|z4&({n-;bN&ADEk=M~ZzC|m1`3P4ilCyp)Xey>J*x|CD2u5YSDM9dAuv-F6ks1k~~ zfek31*(eo9ptK6F8bsR|nM)jd(ATBmV(a18@<$z-Yk#U{=2mkkeR~fDyPm~I--Z3w zch#_<&N;QH-RkB`QY4&)NqY;E2qSD&w{~nv1dn~{2R&6*NvY$G9z{$C+6NRLNfLj8 z_j9;wUQK%FqCTCig6z-bO#HZ)CH8hYvzpX54082ZeqpcRg+QMyC>I>ec$1Q}X-ahU zYjM;d>10$YXwhQB9iC${(s{%jn`X{*Y&|8GZSbW=$u*wxX-cx4k2*C5AtA1)o+%Nf z#`w?58;-GI+_AA1-%HU!9k14f#<{6kY&c>U%U$AB-42A;`BEtg`N;kUHiR6d-f@&j ztZ_yc^?Meik|$RNu;!{Il@YehqRz1RmGkFbcgmX5f#&%MveGgB zwCR~c`TTZzh(94{{(6>)+L2ZX^rEq(hLdsDA&>kxFHg*ZZv< zl^R1r%ZWxEM1=>e4;4u1Ayx$|PHT(H79l@-j4dk03ppu_W7(@F3!@|?U`t%-_}EFD znVdeQo2}A%dVf0f&VV_}p&=5C%2JfaGsku?W?-G|z2eMR@tleW=ZH?_S@P^3ExsBI zW95xf>PBrB`vL95Rww7uUy3K5T28>TJQ$N*Fr}SsJ zUXD$PfpGWHS4_>7wUtsiH|*7c_MwJzaK&*A7?>rZ!8XzVWKck}0Z38tZZfPcyTPwf zTW?Ee3pLH<&7q3yTaME9v?m@qBKgCUrc1w+wHCF=JJNYfXK~M)k!AKvmT7W*@JiPB zP?gEVSp#VhYFSya&F}SVuy*W)JH$}izAN^z#>Nl*_1tp&`o`azYq%vH_4A#+bGo`Nt?Bm1 z&7;#Bnfaymb=K68WDjJ9RcgUwp(yZXPZh~1jI698?*MV^U*`sLp6??IXi}ut+OLGa z<^H%UYvB${C-Hfu!52Zw^XjZi7)F|@o2^(ZZ?q?^ZEywT9pX@a?Hym4{~`-b-7Qz% zXY1p>H+0Khu;NLTAmbC%B}dCpvcPH&i!89PaOhtlC=zEgXKa739;#SrV*)XAzR4Zuaa&P)Ri-zlzx zYMm`xj~`_$HTHq4mVK1%JXf|5i;pVjlr*p9B4(Y^p5l_@G??WCtZKrMEu1fhT z?k;=&qZr4^7{-v)K(G9f+yRibI8okCd}%M(?bFlPm+f8CqbpWT#CU3zSo~xJu8cctgCV{PB~K2*hsQdU*TZHAA(e}J2y#$hZZN&i< zJ><<)9RP8@Z|mH}*Enj7!@D$EX@Zxn)~(;(?T&3>5eoH)B$qVrud3DxoeV`V71AQ zRh}%dN3Gmkxg>o`F?(eFY;A(*;d&)qytnCvTqjGqE~6Sb0*eWnVTc~Qo!Egqw(|Au z$z;fj(`NJVGV%GEMHM~KN_R~Hs#WlQP~@Vz)2}%lB}?Y@MJO=r zNcpbm311kTC(Iu=JsX@HvC9H9n4b+pCPzc!*yC~Ga)s1AuC463wZnTl`0g2CU*9-e&j9V?Tv*yz}czz((ZMiQ=`DK{JVLaq^LcL zHNJRUm9Pxr6Y;fL2%sFHE49*b?4WltTb8P%dT!a)izT^1Nu;yxNC9zW-Bq+%=do(# zj@NwSR%wH3bm{8L|M7p(_i^X=2_?H>_dyvmnVHLxjMP}Kwb9!7-m2{PLEU?~@3Vu| zq*EIcP>;rm5~MwC3t6t|HyqAZ{K*=T5Oy1Cs=Xf5)7ETM!MU(>?Gi?GPUni7|MvZN zwRf{TSn-@~SGfk+QDt%0A#`-D;=&OaBnVd^^=D$K{vZ>G+WMa1e2P#L-~7p<1K1oo zHdQog_1cOnl(tf3mo|>`*Plmym$gQnAqjUa9tW1jVqo)=9mxXfAM#jYGm#^6Eba3( zlv&+mrIzPm`D8qVY)vpdlzZFY3wk2^#EbgVD0A+Y{`zZ=QXS@yh&V#;?%t(bwG z?`Q3?^xNwDUCRdWAy!(q=aI0t^JszsNplRGO3J)TaSzf@I>|B8?E}>*7Uap3smG@; zH?L;;9NNa>FD=K5RPl=Tg*5GGy;+%R$$1`Xs2JMKjVhMLHVUbNA+9VxhQQmd1vk8X z>(usal&(*%4~vT?5-l)Tz<4X{7%OkxZ7jK|e3w~`SK&X!!mK#NsGp-Bi3&%&n}&zK z(GjlG&@N>kuN21-xY9ZtJE^0(_i36e7Q0o<^M<&$o2A@ml#+%hW3(sX z&>v0$QVMTMU)>?yN=>;#)-^MStZ!G}AeuZ~8$`BzLc}%4YnNTNu$&C86U@_0slu&G zCpqBBHDsgBOKI2b8Q!}-ReKN5<^Vi$St=wh4RZLYbP!wGtNRBBckH}l_uwGaNIK%$ zfsNO34a(r)?)@cGcwvF6luV$s8Ow)U9co$3`E-M9)0s3$yn!7Om8<@p-t{b6(t8%E#mB@5 z+?bfE@>=+zi6bX&+?-D}Wl^lW)2ZQptiwGWzKcnx%A_%uTC&L9n>Tda!=3ztB~4qP zQRzBSj~-aIc+x3wDJH!Ej~j{lSh6S0FP@}8icXe&q^hp=>;HXh-OiT$;X6BW@9PmO z;rZl|X-stg)fQS}n1Su^)VRkcl5R(xYG>r5?!;C)@s|@2JO2oShlv3f2v<8b*5yZ< z2Z@S;U#aHIPIM)vP~SvL&W;PIPfe_OV&=NzV~SJA9UP3K+NR9@Xu2ea`pWCC4^5<< zv8rsXz8rpBX0KfGUG){MY|Kv2;_lY)WreA@Q4w6*jAz?fmBAMK6}XeFPu7-Ab3AYH z%UDWR^OmJqwVJqVY7GOR`Z>LskL-GZ)-1kiw+_aQpBTeG-1TtW z>=R-f^B-iP*TXO<0JHDuhG4eUF=$02hnQs%?*wQpT-`;U>=ia^T`l7$MvX%~T z<^w4Nx|%d-8c|rRIdP$bJoqi~EahBr`)bbx6J*gu-Wy34mlrgO7fb4d>7C8Yvb^ZZ zVobVazGByo^?g2qP!t0{ps&*PBEE(|23}DbslYCWM~Y(7Vko;QbvsqJ3RaGC`!`F; zVnve&@-wA#F6bAku=JN*Io8j!&eULK=;|-2##7&<`$tl-?6FiEQ+7gkn&9an8LAT} zjy0lc>iXtQES0>t#L5{Y&YqYcSWW9Svj#Pt9L=1A!P|yj#kl4vln9p{`3N>=oSlwZ z!sz${|5jE!bXB)2-BIpZ0;_-L#*=lC(tR(<6koHE5~eY%OQGq@-gczY*&WCd+kQwh zDF@x=X(~5sAN#bE$&Msbm!I3IV`>wl>$5M0HrAs^O=~`cv!Z(ia`7_A7G0;yI8zx* zzDrod1X)MhTe)+P#nvsW8+Yo;;nP1aH`ny+vB8dS53b%;%H7d%hn|v|Zyg-j21m!I zTIGLdt|(OcZ-A}GbpG6WY``BA@Z$o0e85i#_=y2ODd4_1AcnIs{(#Tz|Rc$ zSph#M;O7SXynvq{@CyQdVZbj6_{9OgB;c0@{IY=C0bd#L>VU5b_~ikw3Ha)O*9N>U z;PnB&BH(KR-Vktqzykpf20Rq-#(*~kd~Lwj1$<+`HwC;U;F|;98t^RvZwvU=fVT&{ zBjDQt-Wl+&fOiMHC*a!yer3RW1AbM&uMYT*fcFP{AmHl*z9Hb@fbR_WV8Dk0zANCn z1HLEV*9LrVz^@DVzJOmJ@EZbtW5D+Zd^q5dfR6+`8t_=a;{hKHcyqw}0)9=vZwwR0 z{Q(~icqHH>0gnbe7Vvn$M*}_<@P7vU&Vb+51vmfn?k1q^!p%RurwRD|y#aqP;P(am z{(wIa@P`796Y>>df__ZEj}7=q0Y5+BX9WC|fS(+2U%*cY_=y3p3izo3KP}*=2mI`S zKPKSE1^oDcpA+!&0)AG&&kgvQ0nZ2gV8Aa7_(cJ~IN(zOza-$71^m*0uMBu~z*hzQ z@_^R_e09KU16~*K`hZ^%@HGK%2)IAsfq(}C9twD4z?%ZTHsI?5-W>4t0pAetjRD^j z@RopY4tQ(8w*(9}4)cfbS0Yo`7E)@Vx=QF5vqDetp1i2>6Ww-yiVdfJXv867Xoi zV*!r`d^F%=0Ur-|BH%X#{6N5y0iOtXD&XmWX9E7%fM)}q3wR;mlL0>z@WTOrT)-b6 z@FxWPi2;97z^4QLz+V&a*9QD`0iO-{>jVCVfWI-| zZwmOE1OAqPzct`*3;5du{*HjZGvMzE_^kndcfj8h@VS8B7V!55{Cxp`f51Nw@DB$3 zLjnJAz&{f3+XMd5fPXCD9}oB^0{+Q>&jQM*{xofPW_7pAGou0{;1ce<9#s z4EUD<{^fvwCE#BT_}2oy5b&=D{2KxPX28D{@NWnFI|2W0z`qyp?+5$`0smpZe-!W^ z2mB`i|7pM%1OBss|2*Ko2>34p{;PohI^e$v_-_OLyMX^b;C~4C9|QiUfd4t*e+l?f z!2cTXzXkm70slw9{~7Q*1AbS)?+*Aq0lzok_XYg^fIkrM2Lt|4z|o<8MR2e`Cg8^g z{4oJPF5t%p{Dgp?81Rz02=_&EVTH{j<5 z{QQ7l5bz5Feo??L4)`Sjzck>N1>6q!%79k~d{w|N4|q+$R|mW{;B^775BL=UUlZ_# zfcpa;2zW5yp@26AyeZ&o1HLZc%>iE@@C^aq81UABZwh!zz&8hcOTgO#zBSIN;X=d}qK113nb+T>;-6@I3*) zHsE^$eqF%#1^oJe-w^N{1HM1t!vTL$^zR1$dJpzE(BnXl13eD(IMCz3|2+;o^w9mM zPBoepp|81=A72M-Mj{`jp^f=JtK#v1G z4)i$C<3NuCJr49Z(BnXl13eD(IMCxjj{`jp^f=JtK#v1G4)i$C<3NuCJr49Z(BnXl z13eD(IMCxjj|2b5I1uBp;&sO1y1;ndeJkE?__)BI#|Qj`fS(xflLGDw_$dKDHQ=WQ zyei;l1pLf^pB3!t+}KzB%Bn z0pAkvwt#O9czeJ*0^S+$u7Gz3yeHt>1CIBJ?hU`cD&SWKd`H0h13nP&aKLv4d@$fc z0mu7J?+(A;6Yy&TzBl041$&e1^k}@zcb)>b-~R)y}Jo$n{e|_?`Z;le{aAa4ETKk zzdzs)1pJ|ZTVcYyBH+ga{Mdk>6!7x{en!Ag3HZqY_XYfffS(xfs(_yw@Y4c*dce;P z_;CS0KH%pB{JenUea6oXzsLKH=fm$02K>T+Ulj0*13ne-O9Fmbz%icv%JBQ@fUgSp zVSy-xl!BfOiGFJK#M5-yZNQ1Ku0(s{(#?!21HeBjDEr zd}qK113nb+T>;-6@I3*)HsIF6Ww-yiVdfJXv867XoiV*!r`d^F%=0Y4D% zWWXl^o(gz6;F*9wHsINS=K?+%@WTOrT)-b6@FxWPi2;97z^4QLz+V&a*9QD`0iO-{>jVCVfWI-|ZwmOE1OAqPzct`*3;5du{*HjZGvMzE z_^kndcfj8h@VS8B7V!55{Cxp`f51Nw@DB$3LjnJAz&{f3+XMd5fPXCD9}oB^0{+Q> z&jQM*{xofPW_7pAGou0{;1ce<9#s4EUD<{^fvwCE#BT_}2oy5b&=D{2KxP zX28D{@NWnFI|2W0z`qyp?+5$`0smpZe-!W^2mB`i|7pM%1OBss|2*Ko2>34p{;Poh zI^e$v_-_OLyMX^b;C~4C9|QiUfd4t*e+l?f!2cTXzXkm70slw9{~7Q*1AbS)?+*Aq z0lzok_XYg^fIkrM2Lt|4z|nzx#bY}i5|0V^u>pTfz>f>~@c};};3o$Bq=5SZesaK1 z3HYf2KP}*=2fQlaX9WDrfS(ocvjcukz|Rf%c>zB^;1>k^!hl~C@Jj-IX}~WFxE=77 z0k01Ds(@b}@S1?H4tQjGXM@GAnoCg2SL4+cCG@Wy~Q1$=G5*9E*e;OhgvA>bPW z-Wu>t0dEQT=74Vrcw4}?2E0As+XCJh@UDP&2fR1nR|UK$;M)U!b-?=qer3RS1iU}s z0|5^Q{F;F84ESKchXTGk;CljoZNT>i+`FHqbN=X|9tV0H=y9OOfgT5X9O!Z2qm2VG z9xLvT&xiH&%>iG|UhU=A`e>7gUVVEU=y9OOfgT5X9O!YN$AKOPdK~C+pvQq82YMXn zaiGV69tV0H=y9OOfgT5X9O!YN$AKOPdK~C+pvQq82YMXnaiGV69tV0H=yBk~A-()qo&4zK$Li!qFF#f%KSn!Y>(S=NdSg)FG5^)!@Ov*G zRwu(h()qBS6ylekAMi5*eoDYk4!AGiCj|V&fL8_l)PSEB@Y4f+cEFDd`0)WhC*bD= z{H%bV8}Ks&j`83RhTmTp@QVU|aloeneo4SD3;3l0uMYUCfL|W)nt;~^ye{DN0ly;P zYXaU7aDTu90S^W|6!6A?HwAocz}E%5IpFI9z9HZn1HLKXEdj^#0JntSw*|aC;2i0pA_)JpsQq;MWCw zU%+n&_>BSIAMoLTj|4m#@L0g(0Ur(cSilbiJQ?tbfTseU4tOTuj}3S>;JJWL2K;cq z9~bb)2mA>Ee`3I&6!7VQKRMt}3HVb3{bs>_%j3ktbji|;Li#8a|8aofImOr zF9`Sx13nY*7YF<$0e@-0Ul#C}2mI!MzarqT4EQYpe^tO=9q`u#{IvmpUBG7p{`!Ew zA>eNe_?rU$=77H?;BO81+XDXffWIT)?+p060)A`2-yQJx1bi;ww*~yY0e@e>-yiS~ z1pI>m|4_g`9Pp0>{Puuq8rI^drP_-6zDxqyE@ z;9m&%7X$vKfPXpQUkUhE1OByuF9iJS0slt8zZvjv1^n9q|4zWa8}RQ1{QCj_LBM|) z@E-;I#{vIIz<(O>#en}T;6D%eF9QC{fd4AszYh3s0{+{8|1RLa5BMJf{>Om-Dd2w& z_+J9P6!588MMG1Z3pMpL?7?yRZpP+wz8H<-P})M2PMo0@_8Qd6g)zR1)W zs4p;e7V2|NorC%;Q|F;R-P8rBPcd~7>XS@eg8FzyNbToj2TWap+GnbT z|75SJRZx3OwV`&J8iLwxYCF^|riP)mm^ut~gQ*#)>r9=7+Gy$w)PSk8P}i6`2er=B zd8jp}ESIiuhPuMk8K@6(o#Yj*vrz9dbq?y?rp`nCr>P52|7PkU)W4Xz1oe-m6d?F_rdC1y zwW&7LUzi$#x@c-U)E}D~hWZ0jhoOGg)C|;bnK}*i>!!{?{i><6P`_mA9MsR7IuG?T zrY=Ce!_-BnpEPv|>c>pAxX|-QOs#_YK~rt0?=v+7ba?ltP@iCG80ukDhoMfInt_@(bsFkpO`U<7GIbW}0aNFoj+;6UHE!wx)Dcq` zq3$iwo# zTnPIfQ>&ofX{rtN@1};JE}7a6^-rdTq5j^~VW__`H3RjRrcOisnW-~Se`4w^)E}BU z2lacV&O`mSsS8lQVd^5(ubH|8^~UTcX6g*ocbhs3^_`~9L4BL4^HASx>H^d^n7Rn{b*3&seYL69lUuE? zG_?xq%T2YRzQoiJ)EQITp+4W#a77)4`W*jl2I@0Sord}}Q)i$)+0f=nE zhkD4=1*ip67olcNU4oi6)#5_mNmHw!CQP-Vj+z>R8a1^Y>aeL{s5h884D~uwGf?-K zIt_Km)ETJPm^ur!-_$v%SDQKy^-5D0pmv+O2z8sOOHj9(YH`7EqE{2PD8CVbq4C?rp`iLY3dx*OHG}JdXcFMP|r7Y5$ZXn zELS!%nYsk^=cZcx`=_Q>@$Vm*YV+^!n;PQZ z-!ZkFe}B`|F#ldKb(nvD#ncS{{-UYV{QGmJ&hYO~n>x$CKV|A1|Nexj^Zfgxrc~As zo4UxqKVa%o^*3?id;PanP~T&!4fS27)Q{h8YCF`om>P!qMpK8O^lkVDm1OcX)YtfL zXQ19<>MYcoO`U`KQd8%lzR1)Cs4p;e5$bbIU4r^7Q!O;(r<+;@^(m&Lkw3}Q5Y)$; z+75Nfl;)EMO&x}sGc^M>W9l^22~%gF-el@5)G<@%pvFv{hZ-?;0qTvWE<)XB>Jrpz zO|`Iv?lL7i>P}N_r~{^kp!S)P6}Z>bFw`DXhoN?wnt|GG>NM0Xrp`cZF?AN|22%DYEx~fmzf%Zda2sF`WI6}Q2%IZJJjEq8ix97Q-`7c!qg0uM&A{!(@=kG>I~E$m^usfyQa=T{g$co zP`_^K0@SaXx(M}4rY=GKyr~u!p#O}iRZ#CR)rR^>Q$tWcW@LS!vnYsk^6{cET$o^%fRzZES zsW#LXni_)oJX71DKHJnV)MuDF4E3p|W}r@+It}#+rp`b;Z0ao3NmJ*b=1rZ4`dCvJ zpr%Y+gnGc#C8*=3T3ir6ZfX_O5mRlb`%Mi&z24MzsC!KfL)~raFw{X)Gf=~(PD9;c z>I~GYOr3?g-PAd#U8c@M?J#u#YMZHxP&b>p1a+gS76)=Rn_306$y6I^(9{sr22(=71TGFYD0aUsUfJZHnknvp>I~H9m^usfnWoM` zeVVEBP@in-0@Np(x(M}grY=D}WUBRItV2_)pk__Ap{7j@K~0+44mDwF80x60!%(B9 zW}pt6It}#(Q)i%FXX-4}J*Lh<9Wr$u>NTb=KM5pXpq^yvG}Plw zoq>9+sk2ZmQ|F*QfNgw5>pawZOGVOtqo@Hc_u; zPB9OLp#I8#+Ya^TriP*Z)YM_9KQc7~_4}qyL;a4aGf=;2>f8*omCHL1CCmPb)&;0v zF}3~6nbrL3Fw`&lZ-=3N&eROlPn$Xo^;4$KK>dWNvrs>3>KxP$n>r8m1EwxOeXpsD zP~T(f64ZB@YP}gN($p%bZ!y(|`bJYjP+Fl}(b^96HKvB4-eT%7)SFGsKz*sH(@I~Eum^usfxu(uReU_>7P@it<0@SCNx(M}2rY=E!ys6e#U^|*x1@)k*Hq@M{A*dNs z+o4XF8isn4sl!mmOwB-znK}(MV(JXk8%>>sy3f=(sMnf04|SKR3s85Ox(Ic^)Fr5W zrdnT#?PzKh)E-mq|Bt=*4zHqW+qWl#5)@?96sa4e*8rjvflv)iqaYm#RZx+jR6z++ z1S1kFO)w%NC}5-)l>kZ=4WQB#f>c960_+eq1<4@utZSUZwJpbexjXe}ug zB=0L=`#`Hm37~gLiMf;ndWW@S&{9$==uJ`@XfY`rw2+hmnn%h6y-Lagy+q0e%^`V< zu!$4Kd*M@SiauB13n0x1F1g_H>DNJ;|TO-cr}C8dH|k(vqzq7FQYNSoDGStqlnts!^4`EIk`w~fAca9yNwJ{YNO7PrDFIZDln5$KN&?+N zN(Pl6rGko*(m*$n(m^+pGC(n;Oi(^j7AOxX8?AKBq<$qf|LO|O3DO%MalvlB4vZVAbD?M z6-f$#_L9Q66bstLS{!I6DFGz!5aK-^&_|>s&=yiMXd@{Vw2qVp`hb)UT20CTy+_If zEhlAx-X>*(mXN$9SWl8dpw~%Z(0o!X=rvLt=w(s@D3z25noUXqJx59gJxfXjO(Uh{ zQaWe~YZ;)YNtvLDq%6>QQZ{G|$$JYcOHv3lk`x9#N{R&yC&ht=k`h3JNQt0CQWB^i zDH+t8lnUxWN&|HxrGxGxWq|G>Wr8}9vOw{qY*0Irw-l>LQV7(N6b9WziUljg6;zFs2C7U-2UR3xfXb6HL1jo;pi-o4P)U;aHr9@$5U2<# zoLh?p6=E$8RFISa%1=rJMU#?19w`}g4ey{wd8wd(NNJ$IN$H?JNEx7CNtvLFq%6<{ zQa0!;$yjuZx+BE^EfA;p1?krF^(lM+FPNl74iuOF|$KnF;vpnaq?&~8#X z=o3-~Xgetr^f4(5w3U<%+C=i+!8(x?0<9s1LGP1dK`TjdpcSM9&@xgY=q*wbNPbg+ z?E@_$rGgfa(m-=b>7Z9g8K4(QnV=U)S)deBHfScvTaI-iDFk|k6b4Nu#eyc0;y@Ef z381m0M9>qYBv2A588m{F3VN8726~8;4jN3#01Y5zf*vGgf%=fLK|M*{3ak@JA<+G# zFz8-VET}Un4%C5^0BTQ41hpY0f#OKXpys4hP*YMG=uT2P=yp;Ds6HtZRF{+mszu5M zRVR7xVx33|fhv*0pbDf|P+3wO=vGn!=w?zPs5mJJ6e1;q3X@VnH;~dm1xV?jyrc|J z6e$yQJx1n67U(J|8+4iEy@z!oDFphB6b4-)#e#k&#evR|5~Yl9T~DNXi6#PRau9CuM{7ki3;xCz3*-9i%X58z~m_At?^DnUnz9 zKuQFyB_)C6_lwv*&?-_Y=v`78=p9lzXelWJ^d>12w3w6yT1d(U%_DiMusS4#KrfNP zpgE*i(DS4?&@55{Xa*?}G?kPDN+u{Yq^(V!G`jX;6y+{e5?xaLeS5guvfs_pDLP`a7B&C7wCZ&Vgk}^Q8 zNSUA(q%2S~QZ}eD$$KBGLsAITfD{JRBgKMhlj1-%NC}{-q(sndq$E(7lng3IN(GfB zrGaiCrGrY4GC)O1nV_3US)dz9*`OGbmyXpTDFn(x3WIVA$ZU!Q{Y#1iT_Gia{vsuU zekUb?z73v_~%4LVBlKEUdb6apP0g+X7C zVnO;I8R#?C5l84gZ#bp z)?mfRM?;|ZNMX=&QY`3gQs!2i`^990vOr5%%Lctc@;=1ckrV>WCxt<;kzzqFlM+wk zTEb^Z0;RH+44O?!1wBVf13gPh2TdbofToZ#K~IyiKod#Xpz$Q{JFFc^A<*NbFlZzx z7W6174m6yU02)e41Pvl3ff7l{pnjxOP;XKis0S$>)Qyw@x{s6zx`&hn>O{&0#gn`< zSUZwJpw^@?s3j>DbQdWO)P$4(x`UJmYDh`~#gdXibx5h8nxr&PHBvgLGARR8k(3E4 zPs#$7A!UO~k-YD*b|i&B#YkaL5mGFu5Gf8+kdy$*Pf7$ulafFlDH(Jvzs#Ie&_AR! z(BGtV&>y4>(66LS&_z-f=mIGlbe81(fE6Pt1p1B?2Av|sg1#ZefsT<9Kwpy*L5E36 zAo=tU&UnxPQYvU4DGjunln(lYlmXgK$^?B($^vaAWrH@6ydSY*B!xh0NMX?Xq*%~O zQXFUnDFL*Mln8o@lmtp6C4&}`Qb7wyX`s2JbkHlL4A6_DOwbFYEKmw58#I&T{e%@G zDFk|k6b4Nu#eyc0;y@Ef381m0M9>qYBv2A588m{F3VN8726~8;4jN3#01Y5zf*vGg zf%=fLK|M*{S*#dIA<+G#Fz8-VET}Un4%C5^0BTQ41hpY0f#OKXpys4hP*YMG=uT2P z=yp;Ds6HtZRF{+mszu5MRVR7puwo>IK$S>gPz6#fs4OWCbSo(VbTcUtRGgFq3XzgQ zg-NNP8%SxO0;F_MUQz}qij)buo{!gJ&{a}4=rYMWj};>+1p18>23;b>f_^5&fzFW< zKtGZaL1#!wpe#}{=vz`M=r}12bcB=+`jV6ZI!MX{eNM^(?I&e}_K>^_STT}9pdF+z zXd5XO^dTt@w3(Cu+CWMKttBOa7b>g4A7gTOweLd7HA()3 z8coUsjUr`%9wTLg9wB+ZVC_f>frgO6pn;@VP=8V!s4poYml8p}SW5zRCnbZrl2Snl zq%=?$QaY$3DFbvjDHGI|lm%)<$_BL{c^9#YB!xhYNnubUQY@$eDGpSRlmMztN(9v) zC4s7vl0mnTQbA!-8mJs89aNf>0lI~h2`WL#0u?1?gKi>um#~T?g+MW+Feo1>7L1Ypzlf9pwlET z8|z6@2y}uJ1|22Eg1#cff&5vL06N54BIpZJ66iBhGH5R;6|{?#2HHtV2W5~lKp&AZ zL0d>!ppB$#&^nU$E7p^w5NI_i40?|g3tCQ!1HDa304*UUg5Dq{fnFyigXWV`L9db0 zKrfThL8+t+&}>pB=s8jr=vh)WXd21;4eLZw2=p{544O!a1&t@gfyR&$K#!9WK_f{? zphro`py8xc&`?quXb>qKlt{_|^&@41dXut1JxJN0ZY1w_tP@Eg&^@Fus1qp`6iGQa0!llJ^(ZiKGzdV^SEjl@trwM2Z8gCnbQ^kP<=flafFy zNy(rUq*Tx{QX1$jQaUJ&lmS{q$^gDDGoH9 zlmL2$ln9zkN&-zHC4(lAQbA)$X`m-a>7XQ1251B+6Z9}C3-k~v8#I{YUB)_*6aqa+ z3WNHPVnP1rmf}D?SxW#tKuQGNPf7yaOG*ZHCZ&QpkkUZyN$H?Aqzq6TDHGJ3lm%)^ z$_Cv@@~&XTND6`Klft07q*zcbQXHr{DFIZ4lnAOsN&;0NC4U`$@i|{H?ko4#unV)K!1`FLGmpz z_*5)NzF!9GE0BCM4PL*2|Bk?aN8rCB z@ZS;m?+E;N1pa?E0<*ZrjKN;dAca6vNu_dYVNfz_)pKjHpr=@CoLh?nJ;_=;XdEd4 zG@8^ix0VPR#oDmkS`z3n*2aS#Ati%`k!I%BQb9vln+F<5N(1#LEzhl`gZi?zDYupZ z>c!d~PLxz}i`m|H=MrP#4xNgF2Grg~HvW7?58Jf!eZGDz_E}wPLM0 zs0Aq&)Qr>^ncu*r!0;mD0C#W7N5mcKrEH{?~s=?ZLkpFzipsK9R%*~~O zZewj8$bY^xP?)vlpmL;iP-)U8&@H44PzlnW+*&56C~HSSH<7YHHYyv6SkPZ288P3D1O3igJjkCLavY`a zD6c2z7g8eVJZTu{CsGpVd(wE2KX;Qsr&*f`@{eyS=p<|NKqp9PAldsUZ#hW+B?#y% z);59sb1MUMh_yW+zmH7N7pxrx`F&)8K4a}HXfG)nw2O2Zi$00u5(vJjkEp$)KUE%>)f1rGgSk^FaMb zX`tSuHl+0(Byt1;vxHLG4JFb8{YkN79-# z`3;KihCnS@D+RiXB)_j|LaLryiv``mn*4UCAt??NONs~8A<6HeYLa?_s*w^wl}W=u z6-h~;@}%*(wPa8k)@FiyHx*QhwRxbDq_o`Ha!@hW(m_Q?n?Qv~8K8osJs{uB1mO)D z%<-cj-^~I=vvwBbyV)Rw@PC&<*Zlv$Z*uXL7-}&fy!i=|-v{GuZcwS*S{Q_1ZJ;K< zea0`bK(QeFx)RhFB=;%28wL7-6rY<*0DZ@r{AOLxU(hMmhUM0hK;N)79^@bMWY96z zW`g|dK`Q8L*5>8b(m;nF?c7RHTfLf zBvJ@8fm8}KmL#9rdxBIwHx~;^Vog3HID!-hdYBZSTa!;DKEzs2&|p#`XaH$gZY>G) zAZz16eMrfmo}`%|f9|G&9$;-A$iMfbf$nE*d2THobT4b0K%Ge$pbn%xp!TFpP#e-w zP#h@>)SPrSx0VfR%Gza+|9oCS{62uS7?6J*mrnrS&RVJ5S{PKHHTk@;zvhYs)n%8b z(m=&oTMqKq5$T{1YnyU&8KAS()Fk|YKs3Nas?EJsN zT*+t*96zgX<(MAvQ-2PpTxpfECw_MCn4Dtm8fLUg$!wc)G`>mKn9-HvQ+76KJSKnJ zCOz}wKXP`o%E^dN*%7}zD{p-C&iJY0W4tk^8lu#({~G`l$7C&pMGd`@wO>DQ@(HyFGoFPfBdY`m1A>Cg1v@^uz&GQd||eHQr3%~ z-AEq69*=GupR&J66WQBdc}JIVdyD;x-v5DZ_^il+kMJkD-r)cK8E{ zKKM9?7h~kfSAFE=^pnBM>($7uH3s>$dqDE5jl5p(T#^feUmKQ7>A57Ad;d{+8CG2O zNZapt9{*tZB%>x@C=%^e^z!(hKSSkiP0OQxu23$?X#7S4pJVal`GfYKp8H3AZa)(| zuS^!#zw5z&UP;Mw2kk#S@6Z18;&o9z`OF+z@ZA6VHb*9f|I>5(Tj5XM0-U_^62Lnr zdFkso`p)a|jEkT3XyuU1$x=O9b!+v2oPY5t2jk^eSN?JXGkVWi`H%P%)*7Bj`5hCx zb4phH^u43U#LuoH4;HBq=XFT=H@?=Dp+k#Qm?kB!$cCatHsozmD|1W%%r?x-i#RE6 z>5!9=v#Udje_nR}6lcobF`r(j6Q7b#9PPM6%9l9_p_H%nKjWhh#iw-pDu&x3Jx|@6 z(=g*>G0i_?*4XJ}=V#*Xe(aZr&l~=ME{?I@J25NQGp1?x|PvjJaXz z^?YN>?kdp#LZKob7pmudw}JAIc*Q0)Ky9r*=(&`dYsfmmcV*q-(^`=KEc-$0 z=;o7y$mf%lt<>^)VUTagy4NS9ye^W}mKTnH%J?J`EC+V97lnU9R%$T*zgt1C)a@}| zsRku7i)Dm(t&8cLlCKn!?HcawoN}zo^o-HX<7bzX%FxsfDRH4LDTh1P%EZxbD~CGN zy2yq?p;`y!SZCmn{(@s&@}88o`(rxfY==DNGylRIvr|Sf1`}YXY=(dJD4k0HZ;1TR zc2n-A`y@_b)}rLhxgCq)t`BsVS=;cJh8Zc}4xQDua;uqgn5OS7GVMCjoHOw$*>Z)R zCMPB4bNsAHmE$|l8eBQSe-zUxKIJ+lR>O>77R67!l4tDjwzJ#i!F5)S`qw&F`c`fo zpTc2ii{n52#OPL?XBU=H(ODLs(k2u?dlHmdm*uR$&|qX5yOEKzAk-5l{@nV1s8pet2G;tHoxOHct$Be@C2l4JqsAB*X^bU2sf!r?!flS}eq$gj!EvFfss z+UoQ8$Q9Bj*~D8|lWmYD3nytdA7q8&n?RfY7%N4cB^h0ARcENqL zY;e=e*@2}c)?`ik?hauaXr}Dw+$>{UVI4$lW#8SGA>Jxt2?+bJ(Vd%g`yyA6t4Szj zUy6UN?c8j8mm=*myUZ%SQ+CxKJ$Y^5Z@1j9{8~b8ZAvZyyv6cETesX%_DM#$t3S#z znei(CxhR{Frpb{O`oE0yrreR1`=vk9{+&}s+JE#vkF-4b|31=T8L%?{W2DRO9`k$T zK;M)*(DAeT?#{+YmlCmf?nsyTA`o<-@w$X}wf|$J{q2^K_P1L`+ONqgR=<{ED@fi^jcX>Rmg$F@HzS>&>~N zEoZ+!+WvJw)-L{||9Q0KdH>%>yCDXxtPI*MZnQC_kCa095mUNQ$CS3aLvkBT=^4tM z(f$nCff?=c|NB7un=AwEZ?X)uU+a`xo0v-gZ@&D{_GIor`y>NB;eQNt+@O&olIjj0 zTxQX`UJh=9(O%ubj}I9%dMuYKa_&b*)eD|7_kZgS9x`yuLzTNqK`ye7cnLNPfK1uM9ViOvNc}T>#DQ*X;m_|uL7vJzPfz=4VDzaeoa$L zGS-qK;rbfc>So;H1M6M2Bx5bPm%7n7QmWyX&N`@;WUM8t2RHI}7FmQBtwCSs)sl?0 zZlopKAgzDCoT<*rE0Y3EGS-s&dvuiSue6sF%f9ZcN@_{QT5|h|mVXt*HYgzm2O-!( zc`II;WUM8}*X>u{8IQf^tiEbV##(ZG-56dz@oU6rj8#iA){@(c>uY|Kig+_4*upt# zNyb`5X$7N^)w(VQEU;FnB^hhsdWF7Zl%x$_kr(gU1=cRLBx5a{*06#x%va!xL(V#< zmSn6YYp>|2;3zNJRP`BW`7amo3)BB$$%W1x<+kCj3!Npunw2IQ+m~F$+!n@kYxR?} z;?$CiwPZo!M!wy}k8!sQMx&pCWUM6@ao5-SnrluwOMY!BO)}P!w;Ekv|E|b+-&wDy zB^hhUYdkljCd3@7=d9IgNyb{T1ay5pK5Y`-U)8X;TR}3`k~c`*@ml(gd?{RDomP;H zwaU?wSuL&A_8%h796_37taTeI z?syeC_vcP$eW;dXtW}woTwSHLtbbFIv*aIXNRy1Us-WV=a6{F_KRfF$wIpM$szrDWu@){au;eZ;tyg@7 zOU{axMGcx{tc8nagf+j$o)?@Y|143OWUPftQpCtF`Em(P++Z}?s3jR|HK2uC9ot>= zj$}Ja{wb$4$ylo)D$(+HP1uGmc_iWv`?Ok;vDWRVxHDzW+2=aCzE-Fu8EfIGBSvHO z@ij;W`}L_>lCjnuw1U~Yd;I!8ob|n0lCjpE#wt*+<1A+dw`<8*3m3A8{d#p})I4XE z*V9fi)@njar;b-M=HH0BUNf~MV=XK%(3f6TysMozFLHg!KVg?98EZ8|#m(Mz;j1g1 z^_W_cvDRJ2D%asi#C2YNMK4V<)@qK5+rsYS=0}{%OVpB#wOY^$uD#cWg$ubYl&?FG zCK+qBM8(a+k+l-eIqQU4lCf4CEm_M+8`iv7#5|NQm5>&P|F>2vRNOkMj*|!%uYpq(6vDV$jx^HXF0cRahOET7qr-cc@*7Bxn zm~_Dy{-l;!hSf##(scge}xl!fV@d z-CAcYQ%f?|y4P4OD=&J^S@OkO(j;Ro3>o?g=KPATKP_|CNwp+nt@~&Nqw&a3Z?AFI z-)c$5TK5~Pe3KGaomI3T9z>IjwYs9>wlGv;87{QJ7|PeRNt2AVx}oCk=FP)5E_PO1 zwIpM$2WSN&->7%(h&$0BwIpM$?#3F_X!w_|FZrT9X_B#44^-S)8GHXHxX1&$U-_Zy>!4bau~u)>*S41*$L0iEcu6hESgQ}M zoA6WGVi&~Pg)`PTy z*?Xo^>~Ob*L)4OtwfY;YR>yc8v#Q7y( z*aHl8m)R(h81p@(t}5IV)Z*$yf_hJfg2!ReIuP6&&RuYDvagqi6+V*d_nU zRA)_5OET7a-1K!K_NIs#wNNd|SnCN|!5ZL>{riBy7H(8aGS(VR>n8k^)}mE|1xiTIIFW-lCjnVTEQ3|m|O0mvmRDUGS+&MmOkvAIPuR~XFaQB z$yjS5tq^`ni)!>k#NA<~T9UEWBvjlOChvbQ+x7L8T9UEWQ^xwTMa?eGx}=t5to1al zU^G5&Qf#NQ3hI=RjI}1y3eL)XUkU zuj#er%o4tP)jn_nnf$P0u;FCWFu$EpM{eq8EZX< ziaVEYn|a|)XN^%yGS*6=6^!BUQ>ImP*2`*1##+ytzNS9^lqMN#y?}~4UcJgUTH^ZpQ7y?>YmTu#U!H^uZ7}luyfhw{jJ0s%iRi27 z-1-q?SXxgY$yn<}TEQ63JNi#?*VpZ8Nyb_@btC#Z^hsG9oL~#(&uL1NjI~}y#f`>8 zNdp!->k+jiV=XK%BCO?)UMcIW>1s*FTCdUy)&M`QEws^D^5;*bNyb{Qq2k^>c+%_l zjI%ycOET7)OG}qN-n{dzMmkIWT%$C}SZf|C(NTf5{qf$vI4ioSIQU{0{J*v4qvFox zhgyDy+fFd@@`rh)Nyb{Zi56zbJh{HBx5aH{$K@j zK7G_*4V?9-T9UC=8m-{UHnD8s!OkjL3=g8E;s33LlMsCc*5qRYn7|J-`E%vcBx9{5 zs5tA|)*caC*iJ3USnDlX(fBDXu}(K!)PtkkUoFX4Ybh$OuaiZen&zzWYDvagZ_^6; znzADb7uuk&m(-GswQ#A882O7+wqe%;OTJb}nq;i?4l3^R8`b+vp5d(BYDvag%V`B8 zU+nh0NzVF3Ey-AG1+8Ge%KzJ~hqL5!tI{N6t#?szV_5t95S}>LudrH@vDSOWdbdr- z>&|MbmSn88l2$N#zxwut5zdm2#YvNlwN|0x&Xm(Hyoy^~u!Tu#Nyb{ZOhoM0goYnS zjQk5~Nyb|5(<*?U(r)*4k{WzSC;F;;awUl8m*s(2BuNX&+CD!c+~8@_w}>W38>Ixa<7DO2u*U z3#@Z$Nyb_q($a^$^<$pHB|EV4mBfQ+lCjoDsJPi%qfqNVoYg=r$yn=SS~}tI#l$_v zI;)dflCjn{TEXmX-tMjb&KjqdWUQ58tgbB{#Y719>t(ehW3BD9g7a%`zi-Dm>wUE( zW33&u3gV}$8j+Tj@MYVBx9|;w1VT6aO^{z7J>D$T9UCAmQ5IqV86oe+!is0tJIQ=we}n9 z-kgdTTwnXul8m)JqZRB|i$_u-)}rUsl8m(u&yAFi5uVO>Z~SeNyb{4w1P35yY#kW&U!#C$yn<#jJ1x^3Pxkwo~Ljt2&}$pNyb_@sOT#=$_aPg-_Kd&)sl?0j??NHh5tc&eOWpv z=<7ALBx5a{gy>72P1=FSratMcuho)_wZ1_GpIgQlNZV3t3X(xzpuI$lW35xDL`TWjX-m8P!av=ewN)+2SSt&a z=%_mQDQ#ohkFYsGUw^5Ug-5J)8kOj%M))bMZj(tcGk*7^<=_i6e4SwFt! ztcTT-jJ3|tDu-I8!RWjE45tZnus{X^?yAQ9&tst;Qt0ft0{X{Fcf2~Scv%y&#)sl?0&eCd* zpVDH6jF{)FFV&Kawa%du9o0}2w6oLx#^wZDSXu{3GS)heN_3Q-65i~@xm%poO)be- z3%4s+I(59lMXzpl)^ln}##%p{zWRLeS*)`@QcE({`h`|K{FHY4r48>n>ylcMvDQUY zqNBq2DeajLl74qqb)9IEvDPJ2qNA``Y}bbUjL{CpaF|+>u~s%J(Yc=`?vc_i?5y|H zl8m)}rKP8`cV$Cy9MYh#FV&KawQyNSUpl$H1p_*dch*IMCt zece{xuS&*RSct=F>_6=FtK6u)v-+wf8EgGXE9k3y{m<`n)_k=jW39hv1y`FT_jbpU zB-p|uYDvagf71%Ku+p=`BhIg4dWuWNT9;`xz)xvU)wo{G_0?G|$yn+@7U6}IIERflCf44t=rV9P@(j2 zXFaKwWUQ5kRui?xp8Gc4S!>mjjJ4$Jq@tr*tCfFl<5JH0RV~R_Oa7&iyQloNc6TRd z)vM$`nPjXbUnk&3qhGgG%bhh$Ey-9*{@u4bUe&hM!So46ewkX5u~q?E!L@hG_nSI6 zD@!fOSSyAWPAazj50zf*tcrR-Bx9|Dw1ScUvGb$%JFAaclCjnew1O?%c<<i%u$s8)MMdD77SGE%{o%=&0Zd(DkNDIHv+@rIsaQt+KS5=@zc5 z(EfkR-20)ks_IQcGS-rBsECegt5)wHpKa`{L260HS`}y&P%E=X zyH}mHNG-`&D{QPc_g-t~tSxFu##-{liSG4s+fHknI_rp9lChTjJ5*;C?efPiXZ@*` zWUO@?t%|x|1qweBag8dj6HPMKk}r9TjtXW}>RZVXYqlP0Nyb`LXz4Wdem&^D>$WgW zEy-A`Dy`t|@b>kjQ_ec4mSn8OFV~6E3xs!eXdEVCFc0hKq?U}etCF!+ZCc&cYWu*}yIfySswEj~)u9!uR`Kt;M$C<^YDvagb!i26z4z9<)ZF!z zR|iQl)~ZJXZ8-O|Qcoz;?zwPI-nb7OYO^`g#tRV~R_t3EAk7TX8^HpJVR!Q42d zmSn8efEF$mYz060>_unQ(A|}cwd4y_qoaZ=+sR7nK6cgewWI_opFBx9|+Y3c3FTUPw^ zZf6z2oRlURYsJ&jo4t4YZ)uaAb-!AYu~rAu*S5TG^>)^)YDvag9ccxx=rj5sn&zyd zYDvagooMN9dxr~^SnsUTxBL4g8EbW>rIWy``r>w+pus%stCnP})y4Gn+oDCMowZmk z$ynQ`lMdD@~=g_P8qJ2WUO@` zt>B7%TSDI_TwfokB^hhoZ~7YBw%uZ9T~SLi*6K>@Zhr^7+N(Zz+*xh);7i6@-DtH} zD`wA|3C^0KmSn8;fa&YsT?rGNwMQ+!m3hOdNGS=!t zE4Y6(Z8Icd886gzC4fa(%5-OET8#M=MT`aCOo z{tTm8UFovz)&RXuQerid^T7zf>*TeWD2O_REtJRW>wFcAD<%qYu zLDh((oTHXxtTlvIaCeyh(yI|;n4n8k$yjSBtqwYdZ$%xbDG9$VP)jn_dWaTokZjZM zo&2J+zEw*y)*40&OB1#YTRTMDzbfN3i!{ktYq+tB|G6OB^)*T@$yn=QTCM#j^_q^m zw%S=At0ft0JwmIMS|iTHPZC;M&?HmbH0L}c9OAHlCh?&ik{>88l;wF ztToD5FHDQN>a2Ivl8m(;rxl!)sl$GF##tBCl8m*UprtRFyvFTz402W@UD!&-TBB(N ztFHlPHm!Ho(`re^T4QJh?>YRv_2N-y?N&=N)*4GIIG3k1Nc!4YMdJJ!BN=OrqZPcm zX;^*Zd1v)fOET6PPb(OWiIW;cjQm2iBx9`!v~)@5b=r6BnCt6|T9UEWleB^r(c>GA z&30DBR{nlT##$3;1#`ZAS|1YduA4guf}?cfb93 z$yuk>l8m*Urqy4q*k6~w>a6N|IgyODCL60=tH&O3)=0G^W36OkB~88gO=oRTOET7) zLhC`@!sthD8|SQRYDvag&(P8fgm>qfa}j4s8@+T%##&QpVR^^a<=JaEbb0i@UQ|mm z)|y63ANJn(=!=Lm<%E_cW3B15f_vpRca?e8^;M&-->GD*HG@_#d+(2F^sBQ*swEj~ zJxdF>I=0EB3dT8Wi&~Pg)=XOZa@w19dH5b@MdQ6+X_B$lELyq{^cK$Q|B18iRZB9~ zdd^sPNB4>7>qWIBW33cgx;XR7Pb`KTdvLrCt0ft0Jx{BNzXM+Sk(tjqtE4XTC1b7G zw1WNGyL?QtvwEl{8Ed^jE7-#OmJb`_todq5##(b|1xNYa--k!sD^I8;8Ed5)YyO_^ z`nbL->x&-ASnEYv!8~kvL#c?B!w9t`W388H1*@;Lm>sxh1tY&zEy-BxWm=VWQl_ zSsT=njI|cfs-f1?7Z$wftQ@r@W37d>uqb4E`AGjR&g#(7uS&*RuhR-fK5NF^8P0lH zEy-AG5v{8JlX_3RU*>|dzEVpv)>=$UU+{a=`tM)stkRwQCzFh|-k^1h_LZJzeyX$j zt0ft0rO|4wR;Tc^sm_|GmSn8;Caqd(JsY(S8yn2|V`@ppT1#lvRqObSR+wCYRZ;rNP)jn_T1l&p zS_NO3+|zAgnp%>v)+$=T%KSw1TI@?Oqt2)$8EdVkRYLo^_F6t%D*~(By?$9T)_R{- zaAiAOpu-Ml-K&;ltd&kHxL4L$^78^`%~VS=*7|@}aNRib>5?>O?Nv)M)>=a=nDc)X zJJZ8i`4as7l8m+1($WQ!H}dVi=bRO%mSn88j#hac!@h4+On25SwIpM$^|UIfHM9Af zgPe6pEy-AG1Fc|2{XOd6?anHBpZ{c%vDQXfwY9I%$V*{o^;b(W*4ji1QMMsk+ji zW33Nq1+N_%lx}~>S?ko2jI}*|*! zW36qpf;m6^;`3{qHBK$bSSy28Nc;M<^bfcx1zWgPEy-AGJFWU^6>Ra*3};#WOaNyb{cXa(1eo4(i|aRsRJfd6EYvDR){!MR+e-z?1YVC0k3l8m+X z&8?_>2mWpXMLoWWUO_N zRxt8)inK#A82RgJNyb`-Xx*V(m_G97gU)J+^?)?VSnDt?EKS({{;}M8XFaQyWUTci zt+HzU+I;l^XML%bWUTcSt#)cPowe&zXO-yXmnCDZuW1FV<$ZTA#F-e3MlZD_W33~! zg6qbH^Yw-}YnfV-vDQ&q!M*Zep7^HDI;WOotaXgm?YduM$KHkIK(K|ez5TLetaY4L zL$%K5pZ2t~MyMqjYn`AKjQoV}$B%N>3biC-t#4?R*S=O%nTU-Iw(z1_lCjpev>K`P zcI}N>&T52r5~NASS|@2e;y>(7Yu+j13NT46$yn{nD@e-k8Qt<$uER~+{bKR3}?cdI2CYkfy6IKN75yApB#dPyzGSnCX};M)7; zXKA5SKGYotgqFQjJ3|vdQ|7eN6{-5Ijii0epxcsI!9}$TF0iY z#AzMuS2wjJW3BVF9#(5|f$#7#BCuXkOET8FKr6VXG`L*s1!o;nOET8_nN}6;YkS7U zfzB$?-!DtXTEEZ=?nGI=cdc?(KeZ%dt&6m}XkT9*IuF4Yh9w%My>NB*UfTP zwpx<0RyM5!wcZ-BqNKALCHiH_SnF3>xCpW}NKE;~SrZcds${J78?C$ihrL-t(vS>} z*ABHLW3At5l~e2K=>CPBb<+U9EE#M4K`TqGJ4)4zc2>sB~3Ecx=gEv|F9QMFWA&s z!_|_EwXV>5My<~t{PH=bzT9UEWby{EP7PkBI`H0omd9@^C ztsGjX)Ea*DkBH+{eXw7ajJ5Ee_|)R(YK=a7_-D6;L)DUuwW4TkSL=pT$8wytR4vI^ zD-SJPrr9Q(P4D2W(`re^TG6zEYwwApqp+AoiLETwRMI44t-Q2qV1K2}toHTm&g!9- zWUM8BxyX&ih;KhW?X1_;l8m+Rw-n{GsoK{=`yRtdgA&^@wIpM$0<=o0wIHh6YGS(_WD>z=CUq2PGs=RrazXg)9R*2TAy#C{5KNxk~^>x2m zlCf4%TKRm*yL{hSY!ymuuc;*&YZaqaOmlrYo_fMrAE+f6YZa$eK&_)Wi&s1A2el+) ztrE0uQ0vX?@1{5_&v3si8EciKg&QQ>fbj#WIjg2xlCjp!v~E=EhuSA1t~U3mB^hho zLaV4+&*uMbpzCXtT9UC=DO$LZuodpuAD3a2*xpb}GS<44Rt3#XY}*wFA+WwsOET6f zO{<7nc^BX>Pv=_2ANI?Vu~r#cH>nj9-8kY^b`!NEW395ZV$_;*t@Tyc*Mn+F##-fQ z1#{!rzK{AlYm!=$u~vCn`L(YVfBoFvS@YGBjI}Dz!t#zSdG+UyIcuF-lCf5p)(vVE zdghMt&bp+QWUN(@Rxt9-OWkqaS)oV#CzFh|Dw)1+o%Q+^XEjz!GS-s6Yv;amru437 zF&|K38=#hCtW}v-uwMoCzaR0MXo^~ru~rpY!BKwokvX@yzLuyZ8EaKF)?=+BziV;3 zT9UC=HDjf&o}B6W`d%%`SgSg%VC26}82Xm8qV;8&WUN(#RxqO)4r@BrSvA#?jJ0ag z!rK#Umj_jS!&!H$B^hhgqBT(O4x5U7yWUyT)RK&~YSY4mU^~-%*%D{%R7*0}szWPD z`}#I{$YEzijqsmKGS;d~>jSl>-Tc@#XT_-{8Ee&})dD}I&3T~uUS~~KOET7qrBz@1 znvq=j7iWE}mSn6|pB7$Pvt4{+%Q$CUQ%f?|YCtQjea%c*xY=3Fa5a!78EZA9wbXyu z`))?Qh;#W#wIpM$+i8{4zIt!S!LmSn8em{uR%uj4lvmYUTg& z!~2|74zE6>Nyb`jXr1&Q_TKFH)gWi}R!cJ0YD?>0wOZ|Mm*cE?YDvag?P#r2YeDx_ z1Dy4>T9UC=ds=7I+P|t_QD>FF8d#cStaUf7xBQ2_&t_hXxWnGBmSn6IPpiAms5Qm^ z+2#65RZB9~>OgC%_I0^vt7n|`g<6uaR!3T?YHgXDHNjbhNBd>TSgRAQF>1wct@*CA zI;kZYYjvh|BYsK?Cl0#VS+mrVjJ3MZ(wn_k;nL}<&f2Y(WUO@$t*`J?+S*#DBkn2r zbi*ZMt$S(7`&80ePK%A0hi%o8jI|PIE$}7p)Y-}rck`)gNyb|D(HfzBoo&DWc1idx zLoLZz>wa2KXz+&m$0M%T*VU4YwYt*!TKjswc#m&fU(K=3ktP{yb)$93f7qLOv2$x@ zO;SrT)_Q#nH+ZMGXW3BGA9?~tWbKupr&bq9YWUSSLR$H|`x#zBDoz)cU z0cn!4R!>@o@l#suLVaF!) W367aFpbzgdv3!&&f2P$WUSSj)&bqZg|e6RI_w$56o zmSn8;AT2rXq}6-rZya#_5AS!iBx9}qwB+}F(#95RIo(o&cGO2%4)Y5jnoY=a(s-&q6Il8m*6(CV#Hy}9j=I_pifBx9|iwC-1H*W$5roOMbq z$yn-1BWyx4;7_Dw3UQm$Q1SB^hfCrxmZ(@*a0KbJjeyBx9|I zY2l<|yYg;j{E`GEwy)KajI|!2HC&H!y?x7AE|GZH+;!c#QmSn6olGfj9EsehVjO**Br~I;H ztd&GdUqE`B%l*>DS@)_X8EcKAwN?9i`e3z@&YG>3WUTc#t;=eiUftoEv-YVa8EeV? zE;{N@wOZ%&OL11r(|%bp)*4OgO&$5o7mpoxR(rK1W34f?f;peq^- z(pus_>_vT10QX{)*mkHT8EcKB)kL@OshBMZ&dO0sGS(VTtF=D+FHg6+?yMG*{jy}N zHGx(uwWi(9v*v*U)*Vy)Es%`0rqC*fpVG!0>$T8XW7Lw2 zwVt8XUi+%Ms>0{aTC0|1tTmOEd@4y=M*Xw-o%N?$lCjn_T0_yGFdOd|xfeSnF9@CHzhCrj=U#z3Xd_T9UEW zOj_mDI{r?PcFu~K>X#*Bty#2gR%=V?vY6*6u?n868m*ROtTmffOFdrSY@4yuS*dDC##%4X z3fA+_Ufwv!SqIdTjJ4*_x`Ln5Zq51;KlMMnLRc$GlZ>@eX%+V$_WnxT{hG6SswEj~ zy+|v#!=C-AaKwA&)6|lTwO*n%IG^8HTBnOmTwe#&l8m)prqw{Vuvg9R`#7uA48JTH zYrR6NsajQ9q%U#S{c1_ZTCdW2L#>rNy5)7&^J+=PTCdS6sn&t@eK7q|V*5cY$yjSH zt#X<>pY(DoXO+cuSej(4HIEi1AKSot2jAhWM71Pit@*SntCh8Xctd9`QA;w`T0pCw zT1Cec@9wPc)sl?07SbxH)@w6+S9MmknSNO^)_R>*Gquhy`;-a)KijJ%8EY+~b*Eap zKD;ktZp>CoGS*s5D;W8W`Ip|{ws5yvlCjnsw905-gJSNh=B)g){IX=Ml}77UwL&Kk z;`IVbY|Ye?jJ4jRRaU1$_@ z%~{P}@Has+*4jubxH~L9xee1FCANubNyb{6Xa(~y?>~{>va(Js$yjSMtzcC-W5c?4 zTwj;el8m*s&c|IbWgs>9{iTGMyVwkYkf$ou38@#TK}4} z-d9U9*7}H6aDJ_u_Pg^=`j#`qjmaIzLx7LT!2V)|m#CAw6 zf8|p5@xcQ|5AYw^MJqVUlj?WGYm>mb^(B|FeeE`V<+M-j?5sX&Nyb`xXyIn;x3f>I zan@qBBx9|;w1R7I_mTC+I!iuREKM@j+D9u`M>RWs6t8noVk`Z!|G$#4)_z*;G}rx| zfq01-SY6eUjI}ua?nW3A6=1=rp>Z5AXu zEA)!L;gYe|7qqY_WUF~kgN@GWpq6B;l}W3LTK^PJLlPx6`ECbklCjo7S`GY%z1e@H zM4Xk|)sl?04$;EEvCS>q6|cEaV!N)EWUO_VRxmf7>$m@5XSICQwYmQ0whOtqZ%p($tcSwZ1mijCG&3ch+{bBx9{3w1O?nx$(e2XPs0_ zGS)guE7-zgi;|vl*1u{=##+Z{Rnq<15xTO?S-0X&Ax$#YI!>#t|FHMogbin%)kiJK zSnC9>uv+tf{UqXey`h$5to048;ClF8^ucdkU*D@G8Ebt@tGf1erhZPue#!fm(j;T8 zleB_YqhBu0SIqU5q?Tl?b&6JSci6f5?q<$ftCnP}l|?JT-xP1|JzFErl&fk<##*Oo z-KW;@KR=6@hpp!MWyx6UJ6fI8s+{%eoo)-CRZB9~Izy|GTGu;Qk8{=mwIpM$?`hRn z>*&tABhKa0^Zl}9tn~w};2Jd|;aJ3L^M}-ujJ1BGb%*wq|FiqXx-I-bEy-BxCtATf zFnzb>OL5lkYDvagXK4kak+1T1Z#b*b0)G=EW36+vg1g?QsnhOt);P5!W3BVFFpb#$ zXtpw9zc#BS8EaiIeNF4NyPoUos#=n<*3YysA=vu8mFG8S-G$fb(j;T8UuZS;ANFRK zeDkogo>ogT*1AY5IG1m%eFtU{N^BWwNyb{2Xa#*eSS0k5v+}&|+mf+XHmzVD&YT^8 z)md%Tl8m)}rGQ&RtvSR)hfBn^|e(k$ynk6&lDthPKOA+(%549v? zt$&QwX5fa~TwizMyp|>zYh5+gfOWe&IO|EZBx9|Ajn$!45!~2OV*5xf$ynn3Aej5_zB>+5^9Bx5c4+qKbAL0=`;wtvo9Rp0hEK{D0~ z(F)GWhwp5GfytxWJ5(*nSgR7v;YU!FO&T6pSe=^Bfs|>Ab+Sjq3O%6J1qFR!%R#{rX80Hx? z@0zndQA;w`Dn~0AjiG-uidexG#VZ|YlCf5KTCM$uz4$NIZgPEfQ%f?|sz9raT6GRa zS8$emccnDRSSw5`cujQu#FmJo{G(cuu~tQ6Rr+im&iY_()P2|QOET7~WUSi9-#Fl` zacW7%TDQ@v;XkRj{+~6Iot2@MWUN)0Ru#22XH4$qtmyarvSh4Pg;p@8NU@)z~7h7ac9M71Pit-7>uda%XrEBd6fwy7l< zYt^F_tQ_{0etCqm3gY#VG|5;imR7J|g>PCj&{>_;l8m+L(+bA$+i&lSSf$KSOET7K zKr1+2Z%v5&8&8MSl8m()(!yr3WxsgO8MlQc-}kGMvDWRh2BZO)stkuX^ z@9o|AgtHc@B^hhoVXQwcebv)hr`3{-weB?5lO5Jga#odef5RnXt;V$4>wZ0X>&WfS z8m^XPtkr~8E48j{E;-v->1s*FT1{!SQLAZz$+#&6v-dBxBx9{+wCbo;=);3}uO_gX zf8duTW39Vr1=o#sYj(fvtSM?q##+s31=rqgV<-OYtbJ-p##$|C1+%x{t_~fXReX)V zg_5yWOIpFYw_M>T4mqozT9UC=oU#61{OlLbTB??0tksHEQys%Odx}L|*)FIh8Edts z)l97)cRzaC_0?dlUzW`OL)v)&W>IYIKM0}%qM~3!MFd1egoHN`MDzCEq=^+m5+IO9 z3J59|tSENHF4z^z#fDxLu%KW?uwda@Q4z&*t=Rt0IeTVjPlC$*{`=ieargPnoM~sy z%+9`OD#Vm2*O2d4?qjJLLXk#OVWy0QZ65rj-crkiB8{dZOqrF`6*uj3jHR}F$gz+# znu;o_QZHC!mtXe!H8kx-Y1+SOTVo=~LGRE{YV+hi{P-V?LE zClqNkm1nA#oW?wAB4V zkw#M^m@<*xdAXU_TIy?|NTaEdOzkb@x?;(6)PU)|MTocQB8{d-G1cFBTyRBd@d1`< z5{fjM8qL%mLLL6m*V|g^VWCK)siT=PGm-Be|IwEEQ7F=AY7A2cNM7A~pYV>Qf{!`3 zNu#M_6gBk0Rkv7bmQbY8)UiyNnP};`pG~yXGeVI@Q^zs2r&w6Cyw8`G+VM)@WYd?K^OFb?WX*4yK zDdTPaJbe6AOZ_YqX*4yCsVcVX2{yJGV)rsWPT|3iU$o^(R@XN+{B3YCKbL zf_zQ6|6iWG?h=YLnkr|?cn;8-yZ_rYe{+-e#K{uDr%l{o(WJB8{dhnKFH2 z_V#?I~Ha8r4 zwWaoX(n*XonyO-IcggGDUk>`yQpXEL8cj`Rs#vHW8$b8NQCA2>8cj`MYG0vl|FzIV zy(1K9G*!*iK0FOt%PjSwP^8gR6H}(oUpVQ)9+uh{DbPh4 zO*J#MoAbC}bkCT_iypVkxlI~PO=HS0RC({nSew@+LXk#O)0r}nL!e93x0ZTaDAH)^ zB&Iq`UjCau^h7CLo^o!JMpHAG>M7Js{U2##^9l$>8coe)YM4-C?zm{Jr7jeTG@3e@ zDdP`ET-^AKrCt(>G@3evDKn=Wd&)~UT55-<9TP~SsZ*KSNi1yp)j=CA6&H#$nwrJb z-a^F=-0Kxf%@B$-nmUcC{e|k&`Ri_$dQvFTXzFy8*RpN)=wzvFpK%f+ji%0E%Jhvl zr!0EeQgNY3qp35QGV97WJAX0CQWpzF8coe+s;88z-w*V4|2FbpZwo~lO`XM*nJb^~ z&}oRJ_I%dCNu#N=nKJR=yn_$A*ixf~B8{fbQB?2ihK;t= z!1K;s(rD^Zrp)ZH;J*paSgsR_G@81Msi5R_aMSFJ&FfyFNTaFCnKJ9;lQuo->4)D5 zMH)?A!IWvQlQ%v5tIezb3daP}XzEI)4i^j0yDM>~rDh048ckir)P6#pIp<|hD?ct2 zX*4yDDdTMh_FI3Q&1?IWPGY3d)YVK?N?yx0F80i@386@%scV=zK&Tz|xEtNX^r$&P zkw#P3GIgL(+g*G;M!lh46^b;Px{j&6h5G4{BTzAh>iU9nn>3obo+&d@u6X_J>6S_g zMH)@rz?5m_ujl{bx73wFkw#NDG6gAL4|nf>m!)13iZq(KiK)IqZFueHgrz#Y=-eia zrsgx%Td1p=@BPzKIiX0SsRc}#a_#WYP|sTL3ZY1&shgRqlDzs1DfiU;YeJDmQ@1d6 zv{2`M(eVpw;Z83(w@IU^TUB0f95=1pQX_>Tjizp6szma7{FhBqFF1WaCE3Pl=CEo3S#)Ez$`bCabCQAWB*qp5qCGO_3_ zuPoo*QZs}iji&Bp%FLCQp4ohZrIrar8cp5DlxeR8lNWzwsdleA7LrC&_cJxrd0a5% zYVVukqlF@krvAm$&q5WgJqOik>hOA@NTaDmOqpM4{;j=tzxN%XNTaC-n2JeWb54tR z`r#g{oZF<))Pqc!xw6Y!)8Ju@h2=t#MpF+lW$JKUztOi?>UyC_qp63PsuK&3o4+fz zI!s<~3Pl=CJ;D^61z)e9^W_9f?fjZ^mo%DM%v4vQ{_M2|?#kqKf>5N<)T2xtEY!SB z^`4P(tx%-V)MHGAgnBA{wx=Ji6^b;P`ZrTp2=O&&UJarJW8q$_ox7yb)Z#&s1+QszcM8 zaB{}Nk~bU^NTaD0ObwH~>T1skSgKJd(r9WWQx{3{g*)wfnWY{OiZq&ffvKG2HLmBl za!Y+H6lpZ|B2(K5Rk$pWv(&&hopO;zQ!g=9*v@%=^auB&5ln4N7m75RdYP$hrM=4T zSb^F$)Dodcqp4Sz+Civ`9$fm1rPc{W8cn^*RC}TJoxTDt#N_q6P^8h+DyDW8s{hD? z;W!Mn=UdKg(rD^6rcAl6?7rY+OT~mDjiy#JwWH*MspK0?d7K${QTFcaSLT&7N!LgQ_CKPEj^)^$cZ=AI1IRp`=<}VkD zG@5!xQ8PY1%TuoVgd&Zm-et=4jZ=>MzPHWm1))fzsrQ)bB;`7>!|ju+$t1lH1#1<9VD;98#j9DaJf*V(bPvwnL6w>=Xh2)iEI>#G@AODDbu4m zeEK62Fm<@|I}S}6O?|?YDc4O`Zob)4hY3X*O|54N;T>N;Zb+SOsk~66(bT6*{Vr5t z{FrYnb(v74(bQ*5N!KZOY3{yHS!#_?q|wypOw~zVH?2MV2upQ)*SSp^O>JN*Epy76 zWBS}`sWC#4MpIuf^`qqV$n2p}OI;@vX*9KwDf64~za4eR*Opo*6lpZ|B~y2bg@={= zH)yFI?>Q!rMpIugb(nOA<45^DeWP3`(r9WEQynC)f4BSbFq_xyLXk#OUo&;K)W(4A zzx7*cgHWW=)Hh81Ce+y@-+jzdhpcmMlSWhDGIfnmd&ho+yE1*gMkvx~>N}=>5Ng0d zeLk|({X&sOQ~zaZo>0FosPn`&-v~t-O?}T)7XPH{!ikeG)Qp9N|8ee;MpHj9b(QnD zApHB@o*A}TDAH)^N2Uf#dp&v7cX!&n77IlhP5s0a!Uettj{Ei%OKld4G@AOEsn3M! z{@dB`OQu}I-gj=3MpM5qbsqjn*A3TRaDb&|2}K%BZD#5d2P!yy-Kg1?dRi#bXzEv{ z=1FY~T)Wp4OSSvJNsKg_`i-f3B(DxH{D>ZF$`uoeG@AOIsevN=dS+yWr7jeTG@AN@ zDXHRuo)0a0z*4J(B8{g0WC~#rU!{jk7;C96A3AqQqp5;+bVhovP}`kz)De~%DHLfm z)rP50g*t1(Zyt|*rBI~N)HX~F7wUyx-yCD}dP^wMXsRt!w+c0)dbeXOwdY69ZPI9} z9aGN>b?46`##rh^p-7{tZJD}OsCUn3iz(W)@_eC4qp9{xMcO#n(%ZfcTIwUANTaFk zn3^VejeYXwjh5>5v2&X=n%bVJ^M%?xbZtjVO%RGSn%aS>2B9vxXy+13-6<4lG}VDA z`ukPs>f5RN36}aoDAH)EBU6dI6|sMGJg3&D}8!{tJe zMpNCGx<-Tp=Ks;(QrpW^LmEx(&Xn<@b60K5St=zIX*9J5Q+J7lr**sIdrQp~iZq(q zlc{H<4yO<6@Vli}2}K%B?Zwn1LUp~n%^8;J^0{-HG@9C*snKF#_ORloEj3ao(rBtX zQ-?|&{<_PJ_giY7P^8h+K1@9)dBqZUpJ=Ifgd&Zm_GRh@Dc2K^E!b?SeKt6^Nu#O# zn0i>KD{p^!yroVQiZq()!Ib$0?{_ah>j+ED7m75R+MlUEB(H0Go_(jKJ`##Fn(E0E z{YnX4@2t6Dx~2Mj;oK#SrVe1L!g*Y9-0{14d@ubLB3-1>R4=B?TsdjeCQsj3C=_Wl z)tjk{okR;ZepPgyweTyUNTaDfOrdG{S~)MYx25`HR-%hEnmUjvKR+!f$V^?g#!~e{ zkw#N}nL1gh3+Ie`%2E#qMH)>V#FY7)p}PGPyw_6S3q=}D9n91s$?M_Y@}8J&@R!bQ z(rD@srVf=pe`fiqzu3HH2t^uA^3)jL`0386@%sY981NvLPCAMJ0cKZGKU zrus8gEmY>}CTxRArz{A3<=iHXrVeB3a-lAmRhO{TY@tY_sR2yMBG9`=Ef_?Tm_AX0pyU8(uG@7E_*S2lWk(wVlx)!d{ljNTaF2Oa+BHYw`gXTIw>PNTaDCO!e8;!R|j~RKQZN3q=}Dl`v)E-ZiJ3k1bMT zVK>C~bdg3=Lz!xJ9v7^7bC;Z@#t20kO&!kE(Nc#mHN0__rLGZ*G@2U56ul#$>xVY; zeznwlLXk#OM=;gsKm{Fcc@j!fu6@6CZj(k+M>1vp_Mdj^uD{4qV}&A(rb?MIvFOS} z+dXfon}s5cruI``d6 z53|$+p-7{t5L4$1wRh}YPegQ=P^8gRn5p(s^9A|v(>AZKg(8inB22v|)ODA=IM`Ah z5!=&68cju2UKjuCrPY?o3Pl=C#h98b<$CR&1qhr?-*t8 z2BAo!sWel|q+FvXeC3(-{v{M?G?igWidFE(0iBaJudjt7ji$0p#U!u(>l+qZYJ1s! zBaNnVObwE94eNU3Y)b`&B8{f3@bmiVnmRcheX*4xjQ4e1G+DDe^`je9uX*6}TqMrZ$P>gz0uA_w_ji$yhWy-bV zi5F~dscVEHji!!a>PRWqF~<&EXsLIFB8{ewWvZJ{@n^d?SZbf2o!g|*)NxEjgo^c= z61UVyp-7{t%*41QYg}B>I9|&LJd7UfiY$3aJ5jR(bS1dy(-j<^Phgw zQafT?(?uFhjb&;#8O&eJ@_Wh^7m75R8pqUQPND^u7c|bXd7UK`X*5;FR7N~N@kx^g zT55?*Y`C!86IE^&iZq%kXX-u4>-)WHp8tPM_NTaEVOzkUqEgpYq zz*5^FI--j-nwrFv@x6BrAL^MaONAnhrmC2t-(aL`-lL=PHm{jNkw#OKnHujv1+$uG zy<({+g(8inrZBaeP+u>cag3#Y5{fjMs%C1UP+yI|u*gz}{N~&yjizdtGLhceJO1P8 z8xw>gjizdu+C}nOvy9G`oA$a{DAH)Ej;RGgy?Dalo|bw^DAH)Eo~cuX`sl>2D5A-0 z+uxnrq|ww=re2d(z=lbmR9MO{6lpZoz*HZ}YnMZILg-=gI!7qdXsVH^Lxno3;V^V$ zLoE}EG@5E+>SCdW-8SuNOKld4G@5E=s;f|!z4F5CmP*QY4rw$sjj8TJ?T}ypnWat@ ziZq&<&eYyQowM&=2V3e1p-7{tlbG69sQYH$%Uwz+Fql6-j zrcP(7i&KDtpT_u6L}TGuLXk#OXE1e$Q14vxU7@A!7m75RI+H2W53lHO(J7YNAQWjd zHJd3DRpt+w<)M1EacYA!nmUUq)5`0+3`Epw%2gp0X*6{Lq|wy*Od-hN zYiP-D2#!o`4A{o0L(*t!4pXL;_x@on!U0272}K%BUBFa7$!pkSyPsvL+k_&GrY>a4 zjFdrEqSGOtKZX7d$e`RMH)?A#MDhf4c~QJPxLihDAH)^Vy4VW zYV00Uj!x6lpYd1yiQxyFalZYN>~WB8{f5WXjaW$di8^ zY^iUAB8{f5Vk#`<>RY`0JWKW7)~OBBXlkCKX1%y$xus4NiZq(KnknOLhKKk5kEP}b zMH)?Aqo^0!%zn#KtArwrrmkfQRlwIfztRa6Q}Z3#JLMvcrmkbk_>HE=_xQ$AVWCK) zsq2|C?e*}ayB@XFOrc1lsT-Iw^YVzpdo@{Vu~4MZ)QwDGGUlt|x}mcy^{r5((bP>$ z^$=>ehu%BOQU`D6)COrZHJ>TtZ6-ar(bHZNgd&Zm7BFSJXn6A=PgJ=;DAH)^W~MMa z_&RyTeL-vCI-y9Tsau#rb@R1HafxSq?X|sAF4Ab~R;J8Y-ZgOlX*RDhLXk#Ow=uQ5 z%^bV>}jd?J2>Scji&Bo zDj?K=BY*d-Q$j+KMpJh&wVzNQesjrHHm_5JB8{f*W(pw}Uthi7u*6ai2}K%BEo7=# zsF^c&|ISjIgd&Zm?qLdH5MSF4{^AQu^_8Q7q|wy9Oc@J@<>q?!^vZ-Hji&BnYLMi$ zU4buU^SVwb(rD^_rp!p0G4b+%(rD^mOqo_5dh}j?OLgw(v@&TlwTLMbIUKuY z=6p*fgd&Zm9$*UH$hjI`Kgv>P2}K%BJ;+oKf$lx>+IuavL@3f|>LI533$@GjUt-N= z`uwj#kw#MwGc{JIJs142#!`bjIkiC=O+CVt@rUVdpCSR1SFKQ_(bQt5wv)V0+ji7h zmRckfX*BgHQ|*Nsw*HgPEcJ>|q|wx4OqsZM+%ESnw$v9wkw#PhR@Bq;_TIr#+wSPp z25B_)I8&xvxzhW7wp0(HNTaDIm@<9igwUmrTj~g*NTaDInKEN}O6kKNSn4#PNTaDG zOqo%6d!I8r9^hG_NTaExOu?P;wWfDJOtz+#+jn+qgEX32##9fX#$5RJa!VzIB8{e= zV#@f#!;emT{NW`+kw#NbGi7G;gFpUhwasgdP^8h+GfV}$tqvedOgkw#O`F=ag4D|=N`Tk1WbNTaFenKGmD z)qC%G$Wp!Jb2rjxY6VlqANtq*{-LF+g(8inR;s+#FPUFssfUCjjiz2;%J``8kK4Ut zsUL+Rjiz2?%EUG|{7iqlkm-j*c5&K^G@5#eDN~2}o|k(1#tflIqp6pfG7-@=mwxqt z&FgWYNTaD&R9;Wtus=c%W8v>Ykw#OmGG*qJ+JD~!cV(#3E>5{fqp4L)nL0e=q5VAT zuhWGhjiz2>%B=M^EiZ(-GI>2M6lpZITIKbh3G1+1YpAxnIu?>fQ)`$ils;d-Vx1=j z2n$6TO});PvGAgElOErDu27`W)Ei74E_ofW`?xo(g)4<3ji%mYYN$|ezxUD2mfB@E zr(C4b)LSaA!G{g>%zDQNMH)@5Wy-9HwjDZjgw1P#P^8h++f0>+g%>_}Tf|Zugd&Zm z-eJnEjm{T&{KmkpPPs^In1MH)@5 zW6Cd7X2o5ecT#P-ITn&eQ~y!awwEk<+2$1ziZq&fUs0>?yk~-?&K8O^n)-mL{l&ue zqXu7Kspo|vjix?is)tbhpKb$(YHDML-JNogMpGZDygGK<>0wLdgd&ZmK4!}J`FlQU zXtva4LXk#OpD@)+EG#VPdyJ*t5{fjMTF;c39Ui)EC%hyvQknANnYoc ze?Q7nWkQigQ=cj7lISiCmbzUi(rD^)ri?!<*yj1)EVWT6(r9V}Q)d70@<;PKT56yi z2P2K9zF^9Dwl{CS!m}otArxsewNX(IoqC&Ru3RP*X*BgEQ^rSK{Mbi7SqnSv<qzRgIXNTaFm6jj?}(V;f4tArwrrvA&6>GOfwl^rd$ zRw&YF>U*Y)?>%+su+5h0(cLK*X*Bf%Q>MLY&bj<_OO*>n8cqGkl$k5%Uv+DprEV9B zG@AN}Dbva$f2e%aQX7OKji!EP%FGV?K0IV+OAXw|DHmxp^$Sxz@c_kL-<)o#8A6dp zQ=6GG@%#hJPx1JTr-dSorhaA0^r$P=g*~(0j`BL4G@AO2DRc%|w~!T1*7ZV>MpJE=GJWH|gHHF%%MS`g8cl7()DcpyD{4>ZVJ-YkDAH)E zEmOmU8r%8j<1H2L;gpLsnrf%0B}*Uhc+t5+kw#P7GG)qj%1*m^+UrfBNTaFtOdTi| zF1dW|r`E##_IE5Kji$C^s+Uluk9>>-%v@O}6lpZIy`ogioAb&F7>(bNu#TC{lG zcb3{96lpZoK~aBqDVPqp7Zn+OSV2PqchsZ>LVJ?^F4AbKH&dn#8%}@pPD@P{iZq&{uSMFn zG3A;yd!A=hJ}4AvG<6_T#=_b6JmM+Wk3x|~Q+-ulcQ(HfvKE#c?39Z%nmR~Plc!!& zVW~5OB8{dFX3BWBcMGRnZ>g0+kw#O8Fx6W|%K3+!@0nqDKg6++G@9zi)c!(!HEili zo7Xs@NTaDknKE^F+W2wZEp@k0q|sD=rcAjWYyTQvhMV5|U!h2&sl!xWBX>H^;|~Y- zbIL^;O$|_aeKGZ|MK-UKg(8in1~O%$(r9WBQ+~;7jj}mqp2gALKwu?(`~QrVX0jPIOQUZrb?MI zt=xZfbe^RmLXk#Oex~|LUTdD5=$XxD2}K%B1(-79>xuR=mf5_X5Q;RK3NqD2@+y9P zx+mWFMJUo}D#R4RalTT2?s2%ytM5RkHb|qXFjH_$eBF7}oVzV`oKU3ERD>y*#ns@|t(HWNdTqx3LD#jF?J74#eoqMvS_AhkGMH)@TnL0?QC%T>n zq45C2g(8in5=@!)I{nw`lPqLKM?HEj-#R~RZI6lpY-VaoK4Q}(&}Sxa3k6lpY-WvWQ>T7T_M>nycg zDAH&u$CU9K3n!i7@rNA-Iprdart(agQThDyM|z@^m{6qA)KMz0{n~DP!diHSP^8h+ zaHdRqt)G9&_Lh21DAH(Z1XISs-ed2qx74;ir(C4b)JUcfJn_}-)9J@pDkv0bG&PE; zVL}z0`Q@LMx>zXEXlgW50ikA1n0v9M-W7^8nmU>(GdnzR+i}-eYQJKqT%^&|7^cju zw{U##`Ib6PDAH)^7^e0Y3nxDrUuLNrg(8inXbsf1jakFK^Jg$;srQ6()=A#KANDw= zjE~y*a{W?E?K#*f7in}}$1`QT&2z;!Pqfr@P_vs3L3J9cNGQ^1s*EYP z7`~?NHuQB%%@T?N zn@>)+)Dc3FMpKncncC=Bc!S5Yoh%e-G&O;#&Qcq{`g>k$^I9epX*4yFsXc@`XJV?- zQr`$g8cj`N%2*it?Ldz|95B?W4bo_;iYb#Oqo7^$$9s9`uu-|B8{f%nKJ#b9A%dWOmtx%-VR0C5cuQTuUPqx%Tp-7{tMy5>k_0fJ8dFHRrg(8innwT=a z_domIg$*rJhrN$*%0(JYQNL^3#zd7z6_$E-i6;u>^i8kFp2n0}wS9HQ)r)Ojw+lrY zo!4}x%&y3{Z~kzsr9KjhG@3ezDKk=L_8#+;rHYPp%0(JY&0xy3*S=4^@tmbEfi@qbqZ6vOP_D|>4kHxh5bsMa*;+; zr!r+$H;tLc1C|;m6lpXyizzefUA4H!SWDd~6lpYdn#$|`ljm%()MrAGMpLIVWg^(O z@2K~TlwN+PT%^&|8BCd)@7Leg(dIQ?DAH)^Os34b^0voTVp1}F{$`;_qp8^{FW>C_ zR$FSVP^8h+Sxgzvw#SsaZnV^H0jFG~(bU;Ync3l{66cpyokkxm6lpYd4pXK_ZCh7* zj?L?8p-7{tbD7#pdeqKc#++xVH-#dNrp{x^^r%iV7o29P4ne0}q|wy*OqqRv8#n#j z$x<1iNTaDaOc{?Iz1CU(I0nxaiZq(KfT{hZT<=z&f3MAJsZgZR)P+o$I$Zl=_d6~1 zi%_J|)Lf=aR2doBZKkC{A*VJ-qp6FSI!-LSd5~|3rJ98zjixSU3L7YVJ@yF}0Z=&C zVxdT*sY_H|-FKX{&{E$DMH)?A%G42(`VFhUJ<(D{VW(WA(bQ#3nNb;jY9Jh{v2dzT zq|wynOdTY7?e-Y`-93hSTqx3L>I$Yxg*tP|DKjk9CgNB~8ckivl-b3abN=R=EEN-q zG@81KDKo?FT(kQcOU)LFG@6>nl<}gwHD0rurB(_>8ckizluyc4H}n`!ZFGt{@2-46lpYd zJyUNA_4(?T;S5Y(U1LtUNTaD6m^#~eToAp!@@-4ygd&ZmZe%JTd7bybGSB#$D->xo zbrVy@vz@lr$DZixZJ|h`srgJ9zj4{SCwbziUE_}7q|wv@rYgn4Z`M8KS*K)#B8{eQ zX39ig9e(l7MCS@c8cp58l-ZHq>zmI?Na0+og(8inZe_~!jp(#PJR_x3!YLPNG<6$O zrIPx~OTwPjO+qNrXzF&R<_q=EtuL*z7M>*(X*6{QQy3n6-S^f2&wkWWp-7{tJDGwL zgwYy9XHy0Bw8@&*ayG0)HyV2uhKZ{F$wA73!yNnZZh z%Mf~)R`z8b!%3s5$C=trs9lErS#7DDP^8h+6HK)i>faYH_|sBTgd&Zmo@5HaE?=L$s{O)X(cDx)BHX}|fFS|}80G_{ne4wBdO=Wg~`_^eQ*(bO_UZ5sKtXa4#` zDAH)^DWKUfYs%@Xn3+CFq z@np)1(4r1ZlXWo6@Quhf(8cjXN6ov<1zwbG5xusqf ziZq&fo+;B0XY4q#pQSbmMH)@5V9NBvA**llc+u_iPR)}>Q!AM=?R7)PpBimm2M9$P zO})UBS(~q(J_F;d!4stRmxHug(8inUS-PE;S2j7k3SjWC z*=e{_^Q6(#TTDGId370eQ*WDBR4CGDYAsU}g}SNBMo&a^rck8O)Z0wSrb)rG+pL6> zGv#_hDAH)^9i~2%yq+5Nre`ewBot{h^)6F|PO%Gm#^xdclh?oz&TZ0Y>OH0w2sQKT zQ-hh6_3UGB5{fjM`kX0juk&^F$DKVh zQQy%{ZIDJ&8<^T(LZZ6556`j|ju(nFn)-sN7bLIi-rvcylDbhS(r9WUQxm1n_dK-3 z(_U+ZB8{fLWa@IstK-W1JS+NLk9HCxji$b0>c5iLA+?X9=}dd2g(8inHZk?3P(^X4|hQkO>ImSiZq(~FH^4wb$Z`_Ew$7_p-7{t@0kh-b@?lP z54Bz>(rD@jrZ6S&)i>7shRtigW1Mo4MpHjBwOFXKU!Oe4Qb!9#8cqGg)MY}Q)+hbF zr7jhUG@AOEss7TV&Up7Gyg)N`_@Ypx(bO+Y;l&|e>u2o`-caq2brK_urZzJ*S*UU2 zKEO~jlwT;)XzEv{CJ43U)H6J-JX0vrXzDknj+1h2=so;lo7Y1^kw#O$Gj)|v!2>?@ zM0%TqB8{g0aPkrh+cs7nVDmaiOdyS>{$#3;RKU%FjyqYZTqx3LssN#U+cqo3!Y@}} z(qyR{OmU&nR2!yDdyUUk{%onWLXk#O+c4Fmol~$I%MM#^sa=kDOdyS>+A`Ho%5}|W zH}|ttN+{B3svT1|O1WlS+~)^Nog)-!G_@^LCenMdOYuTWJtY)rG}WG|q_o$A{=}u0 z`c){>Xlgr$5(_uYe&8uf`A%?dlSWh9Gc`=82{Q|>vD8$dNTaD8n5vLETsJD>@$>fx zMH)?YV9LZc!#;d^lg;aMp-7{tj!a!77Dm5)aiyhtp6J{rjix#=b-&bMWv7d#Sn33! zNTaD8nYv4;vNw0V-cs{~B8{dxGc{N&Tynt&p2*=fp-7{totS!0sPDere~rzn(^%&= zX*9JnQ;VeLe;Ibfj+TlEMH)@*!qg>_*W=Ia`<|sP5{fjM>cSM7mM{N7o4Z?TrBI~N z)UHgS8}YUOr6VR=s_i((1kz|~H>P$s7Ot%E%nnBgMH)?YWeQTh`p)0z4m+^Lkw<(rBtX zQ*}c1dwG>7GVeUzDHmxpwGUIBrIkPa^t&r;UU8vFqp5wF!cgREnEzGJ+uPYfkw#Pd zF|~)Z^3+rI>SptLQYg}Bss~f2NnRai54_1zKMO?~P3_Orzl7?)&0UXJs<7NCE@?E? zlPR+{uP>c}@J-Aus1}MenmT}~^Chpxi`#le%I!jtMpM0*f{Wqnn>jajwt0OZ6lpZo zn<<2nd|i0TMF@e7g?m*vtdlu zqp7}3VS?nV^03tzORW@&G@3eysW#FN8;*YrFJw$!Z7ZGIq|wyDO!+0RJ2vutx%-V z)Ig@pNICC^5!IG@T`1CMs*ovp30e@oVk)+NO)Gbn1u z)F7sM3pKO%A@5siwos(el#i+FgxdL%A~-o?;ZmVUqp4!1x(bzk`}Xyg`b8+xXlgK1 zvJF@8)Q#u%uvF0`Co$4!Y6w%(Tm>KH#(UN&HA0aFR7F`+8TVHF-Cj(^w`)^y4ps== zN8Ue59^hZ+2*nz{eHrdt(pxCLvjBH`U~OYH_u|gKut2bPp1>XdRo*)<;?Anay?5Th zopB#}?|h0o-?VQd>3C0d4rQAQIusNfDK%?t{vH%vtl>Ykt!h(no@;ae@r~H`ajwHT zolfRI)xQUUqKh^Br?I$0gWTRZA9rXk-?`Jjsq!QYeZGcq$~(w^9oWu?T?k|96O!_< z_B{&P7I>*6{)T#0s3TfYNB#}9UZ^8mQKf%F{VY^zE6T5^#47sxsZF^$Pj>#~Z$$-| zGCgzde*ga3QoV!Xq)qP=Rxy>shRLG&~?Jx*4MLmJ6{OXA_ z=7!p1IPg^|6l)6lpJb_sOOdem%g6M#)LBBYMzwO3sa;W7=)eUZ)-~N`Exc8zC@jP{ z^;j5l^CAncy6x$1QP;v{La|0!7-woX5JYvFKd;JC>xE*C$}6Gr`enz5He0I06sMJ0 zqw-2JwX@{4$NoEAYpKJ8VvWixrSf{Uw*T>#8YvWOR9BFmChCwk_Z>Ia(mV8IZlV#oN92NyQg4> z!KurFg7uP4&S`g#C&@EK2N4hk7R;Elc7UY{svSPxs<#~F+Dz?!-g{r~mUnwg520A2 zN;;e=^X7WtynP?CR7@z=AkBh;I=MrCc4op;-8AI}dom<>HM4`qCO^s1Wb&ZW+ zdnzUUM}~ckc+Aw;5=m!7tFn(&Wq<#^j#rOx%l@WNtWjkj#T0pSx^~>=_y1Vx2ccL) zHV-s5lZD#m(VR|Sm`UFM(!w!ESev`nIM$DDW%JR>=H|;ocaC;#?k5y$l+9z9G9zxv z;#H4YDlHUi)F?Pc4c}+aIa2K1`mqM{d<#i%c)aPlW+|h2(mzL^O>$DeZR9<6M zUgw^0ZW~MW6N)t|uW>GgtO_0uzjlwMl0vbD9v4)}9s08~QU=o>aZw-By{^nnnJk_^ z=wFE99NP;Drb{|yt$fRPrnUn?+C@(+T5G9`gc{$9Drc&rP&>vSIm%M^302;Ts$i-H z6va@#4&MxSW-NR~s0xSj%zBk>xu|s}KfEbb;f{;Xgkp`V=Lt-iv3$#&Z+~y8?dqId zS;J$w2r1J=7V27^$mta08QEO8bTf7{jLm%|or$nnM{$#w!aw-B`H(BHk7TGLg__i= zeyW(d5e&s0AIzTihNVUeRn@9~CNpK?mS=A7Ftp08pIV_skuV2 zhU=$Fj;Wua9h$$eHs34hRJW?18m90MzI6ROEmTdb`l)5g)KB4vIdDa$ zRzDD`wpIPqG3BkFTDN}w5Q;Ube(GI{Or-j;)B*KQuB=h@Ll)}#nab(N#z4W(eIB{f z+MJMdrnV|+15+mYjJ-E_gQY5jYG_3@GBptPQhqyC?j5w$sX{e^(tWjwDg1*k-4@pg z)zm7lW~QzILsl+*^mLEkcwDGvhw_Z&X-t{6c<26C2Q<5F@vcy;QEf5ZrN~5T3rlS? z)oBaXsJ0*r+ZP;+=cT1%L;kS?ic*O{I-f~}{LPJJrM&_Hzj;y^jU{8LSS*Yu>OsyQ z%_OtYY%1b!uB~dStSBvMY$|K2)T+Ec8;(b#sZhXGO{uD#SW#EgBC$+7nTRCfQ6uwh zF|kl6oJwcoaaXma#0s;KL^hlYr~J)RR4zryKqwZ9y*~;9xQo3ZX#$rsjqz zRgII>)8c$Ck&gs|A%0ppLp}6Gg5hW&7tZ^e8cIv>|K8dwibu22R4f-KQave*rcc%aQMjwRFCSSS|sHG-=mdCHS<$)zl9@mtkcslsN}aPWm5gTssVFj@hCWcK z@+`{b0?|w^6(dqT@ul*Kd_0naHB*4;q87!2kw_vL%p*XvA%g*bFdxXrf}xB@S9wxZ zd5d=Nr30ZrAeWB&F%n8zj0RscozBIBoJ5t*pg5WeS=4?clt@rr zsX_;{kz6L3Lp@E=-LfQ>iKkPsG%6nBt*pMTL05_|6-tHUiCoG*bJEzxi8|FxG#N{z zGpMnN_3FvsY&@9{hXekG=ElaVmPL={5`kLg@))#uQrFPb zJh8d5#Q=d*No5oHWC&i#BPki*P&TuwS|#R-q~qyWmWo_j(jucF!Av9)4(3fhWg0C` z!f!+q5mZWDb;}`8oI^zh@(F&}%4uX{VH6FXvA!C)>ST+;`A9sJpoew(NntV@h{sYv zq^Tbi#X}Kv=4c!bTJ+^)G?s}a^ErR*OwAM~w~s*#dlAR5iXi}-8n8m3oH zY}q4Gx$$5+5=>{a9z{v*49HuIq+rkwFBS@iLn*IxeBG3qmUWp3rBb;NJP>7CriWc& zFdEKaK!*IaEjnK`oe6|7B#BamD1_flCSp01Tf2m!bT*AT#N<(1*WyVe8q9?=VVF>@ zeSA?c9El{;Y2;t64ZsAE$i~C*RNh}(IlZ)GW@TBc86xA4B$J6O`T}cwTh?SF@mvDa z8Z=FloOwnM&fLi-e{u^4k%;HBnRG0J2be`#4su^Q6$}Ou1{vE@3@ z$@wDz#0TMM%tcFD#|plD2=x<$wlHxgp`%FW2^MEHaJJKS}c+SRoSY47e>OV6vBi!GE+vB zWD}80I1q*1<&0I8tLKzuG@phojbmG&gG1?LE{I`gPz}N_r_vF`Rg;>>PSUg6;9w-4 zjpP#%Ji`>-pj)vdn$G7^(PT)Twrt13U?dz02Qx7|S6LQeoMeOHWR^hnq$H6@jwjP0^7xbLs$12( zFPMu(<7w19!i`BS9DgJijECUp{FA0=dwju6IE<(w?w{CDS*fYwSTvfKosHj@KgQ@+FetWFnl+_$#Z&PHf=>V!>QKmJWoGK#RT*K~D}O zGI4)J<=6_H@8Cp`=NnL!4K-!8x=D)@nFJ!kNJgHjy3hI};dn3>La6Mp2#Q;U=?FvP zsZ=l#Or>2_S#x7kL(AS#6v_n=g~BCH9N(f~C^H&49QRLX(1W0u5+?6}CzZ7=T!Swb zk0ukTWDE~mx{a(q779f2kzmS@TQ)tL4MoDyM95VkcrL4GX?ort%H(sQbjFp9udHr0 zwfoXo4TXbQGInfv3zw2jM#F(jjBIVucG++ky(UL#j~%but|$|TpfiN1V)WGM%LdbV z^ldKt1YMoQxgb1B5V7)vhO*ig-LMEP5XH4k}SE)_uR2`8%)i>5NMa4<{{ z^pnCw8gpL+(Nv2m#+S>ZpJFKbE1H{HIH;UIl?Wryhl_L`mTbvw6s2V|Unnj@i`b0RA#1q|2z7WQDBAmdJvauC9qrt&gB!Q@& z=8xK%vKE^>MbSh6v0XBSr@A7GBhffKD7tY)>urp}FlJ^f|B$GriV!wqII<-z#&9x$ zwOAq)^q0@9Y*CrMI5sgbAY=aW#}iFuL6Aar&BL4D8EhEM#x@RI4#*-GQMN-L7DuQUNe3CBG;BY*fiDp8`2W$9N zQFtyJ%EdF`9K|3_)0OGLh(8%j1%g3L>xRW<9%iSes=C@1E5O1$BIr;G-fyOkpMzn4 zG@J@x5lOZ=7L+tr)znv4O{l^SsW;a0VXDmq)7Z^xy`SLAC!)a^f?srkmXmD}=HOU7 zi#2cgBwhVOasg~4gb|l-ab7J>P~D^u+w)`HO?=5{Fdt5mtFLV}okrl2u_mn$)Jljky{$Vq5{8}FGX}-snR=S`=OU>b{7~9?+69!E!kwgZ|ikKCYm`TQ4I4Hx>OgJA# z=XI0vZAt0FY!*nyu-Js1Ev7PT%O>){I2JIHhALq&n($}gkTcjw@Rt^ks4Df1tg4t% z>Z@!-G+&NY_W0_`QXhP^uc9A_?;;5H2kvN8bjQiHzUr!pwNka^bv0PUa3#BBIEr1Ocp8hN^#4ev0{%=mh-|U@S6YlZi^A5@UeUBu z!HuPZ`2TuEv(D`aRd9`!4J~iixuyiOi0$%t3x)7IJ~ERweWbn)Z(FE|D1&L04UJCo z@qeq1obhK;iBKeq%~ua!RO&NLUR8_QuWhb`4GPTr6UiL*E92NUv>9&+#62=ZhfATD z9|JKQ$mL@GQK<4-ybnV^c6(Yy9rjOr+!0df2TRNl+$&{f&s__Tz$kdI8IJGpSbb$LGZWiINKO79g$0ee$66)%@ za`fg>Up_Y?F$R@{{(p2;ZAIO5q)H~cB(~{tu~ae|jfVUYRAGfP?zlIjiXjabQay%X^omXSjq0A zdBTLMMz|E}D89gWj2So#-Dfa=2C-%hVet3^O-(2X^-APfZQH%HS1e!}#D^whXIJl< zfY=r~=1w!#$F73xa!aH493ZjyH_@pwf#T)`P zr;Q1%vfd53;+1p+F$7-r@gwO9b4 zNu)CVWDHvo*hfN@HP^G<=>Ir9jX!dY1&|WPaCu!dd=uU570#4fuZY1P4xs&`NTIo@ z3MGKXjMI{Vg}y?XjHus>J#OB?v_BQb5(@R^FGG)}2$QpNeJBk@b|~K7hN=$YT~9O= z#p`>M;i!?((vl(C;t6%wJhged`J$U-vZ-t^7R|OuU|?}N@>gki@pJ^Q;Sn*l!h>6Z z$NbrN8mnr&Zr0`xEdHy!Q7vxvSZ)LZ$uv#I6Y3hU1>|(J@rc?QxwF%pTG`}G=rv`N zEg1GE^Fh4i!R-B)UDPxCyI?r!Plod0OaeiJYw?IlRTG-VCKDt6!e*C_gfMI3kU`TB!n^NA@^KbS z;D`d=0%H@!?<5aD0zW`q+2qU<87j+l-7bwTl8pybxhS@_ay49=QqN6g6OpAeCTlCJ z@n@Pyn_UtPKZ+e9Y~==AH&Tm*0|$)_RXi~3s}bAdMmhq6rZ)31wF$)i*x<)@GW-yZ z2GCNDvUY7m<_%R7@y@s!BN}b(@nA`R9LwlfHsEQeOj-HxIz&~Tf#7ut18lx|e=-pb z1=ASNZYw87##5VwcNJp9*@M4g{clbm% z1@v-k8Nw@IH61XXu-OTV-TBX{060-{z;$+-#w+9qy{|^MGvj(I=Z_Goo7R+hybk=w znTIAX*I)oxPKBdc#KiRtbrsDtwAf(RcjI+!Q{4==zAJ2L$sw9AlM6Alkm*4Uf_{&XaoPDX-pJ83jlHdi~*8b%7SHW3%Z>KBK;Qt=F4eS6n% z9BC5NYM!l{=)#zD68T&KOyMIbuFd9x!@d0rqcRz3 zY&{-mS&6OUXw=?c!Oc)8dptP#Wgk9Hpb3% z4!d88EJCsWgExtz)Hv1<4B;jAgfb3$Y17j;&FL=<@QURedE*|2XIXi9r8OIG-?JEv z@i^Z4r%_V~{Te1p_o%>lHgUQeh`I&FQGzUX_@hC8E!F}pb~=hfalBli7s0Ze@dhP> zQ-N46md2L8NnJffHR3fXrfd^Md7olWG>labP99-Vj`iulqS8SF2jKtdf3!R;LeM`E z2RW$KQP{@vD(p{`;Z)He*K%}|P@di!1#)g0g`5OpYbOa=MKqORu}~}H64i&fVQO=k zn-E-4CL4&Mzhzq_hXi6+rHA6dWKz0_n}A!2zfS-WO*$3AR$?4}n_9!^VBR9o)P$Fhh|zk5 zb67@H@pb|QXjtpIMZt^>|BtsHffnhwCE3b!5FAF*8Jq}9wMfVsLeR^#@ag^V+P++e__gpIB&g>QKE#&zVTRI*hGd8Sx6 zFT8w$>(94H2?4-XnB++*?N8wBWjc_Mp5xjy_I=f9-#@DH}#- zqE!&k^guTy#7qBMN-1pf;XQ8*XIFGeuAlkart{QO)*r%Kl57?WJDrj{M7K7jJhp?g zxi}7}v`ESA;ai&$R@c~X#rmsN&-@?j3Fkm?ijZD)hyyY+40^iMILA)4b5OigQz;=YNWReRMl^1n$k*{C z>_T{&$F8Ad~18$#@gz1QrT=akwU0Ktqyz8 zSo}ZfI#o6No}#7O5h)K<@Z5&U-)?F1` zt+SEE;raN&9qV4ME!8#7kB2jm4%%xTAx{Y;7HfS&jHJ;;cq`c|k!|t!H00g5W4Z1I?*UHyw9~ zY-KvwUP$4fLsrI#n~qy2TbWJ-pB`Ye;N?Cyj+>5KGn9@~DlCC@xi|~Aui=}INC0p1 z5&M~>oaw`@BA$cl;4x@nj17v3h)HY8JkwarkGB#L#KVsNfH6)AZsq)A3b28WwBY+7 zZG&4aTaiKn-yPv}q+2154Q_?}V+!~x4uKDjaXG;zN`YaE|LIaVK6om4b#@d*VUHDx&8!qe`wDrb+x zZE4<2iUw&o>!jQQZFN!zEwI6ph-UDap0dg5YzQ=tqB5_y3e2UJpd#0XVOa(;wUf|EdN4F+nU7Ly1^4KxZ&)+QA8F_u?ku+F~J!R;uW23$}7Soe);w zE0c5rpPaE3Fu`$l?$nM0*K{IE+v^@ zgp|D9PNh^|$LBq8w2;?gjW#I6as%hyab5tnN!2(BxmELb33-m(;GA0+M;PfFG?k89 zJ%5+ZM9<4QZpX>Dyc+9MIiv>{R8d#nG^5@w zPH~V4pTorP^}nA7G{qfm_ocUr4P|^l1m`X2upahV$~=1-IER9Rp*ZG^9Yhy*r<;Go z(fOnJjtT215AL?^KjYYMir{QQ4lgyS7F`S6TKtP7+**ub2NdfUeCOn}sHsAM4dH<>6V%3uty-0+4`3~|CYw>p!M|4Je$(!ue2n=fUMc3hq$-#}sfB6Q|zu2px4P+)?_EDa5gC#7WDjERx(( zxC8VbQ%GQE8=v>%qYZ6?J2?L_g)olUB63OMs}9>1Je_&km3Ad?BDHlFvGFe^5PTni z!{qpR6`K$Tg#dN>+cgnxSERv63MK*J>Zt{Mj+J3t7`BaEcIC0xE+t9hltJi zh>FvL-JXJt#!w;~%%pIF!kUEv>9&$eP4)lMAvir~Q$l2fA92CwFU~r_X)UDWw$@*# zgkS#gcrSQ~L?#kS!c%CQ+*bSRlv>!7#Wy*LASN#F@FvULSAfz1@Cv@V3CD17u)ndM z+R|>NpykquG+zCvDncSHheGQ#sPf$kLU@J)L3rz9ULbM9Asx4>|I!wn4)zX`*px9r zy;ITnr(4lmmkxI7@ohvNN4$fcYUb2DJ<{z+lBn|jr( zMfY8V2(3*x*Pje0aBA4Ksi6{EhqSJMefUllr+x4TdbXoipXSK|i5cX^W9b%8> z$c@v48qSo$k&r>$d>-qa&cF)yxwk&)C!FvRJGPj~p1({-Az6PAzbJ*D4GQyT)4a?! z$BAssIlY2R@-!d(U_6a8`1IYJ)F6F%t&^z6@6b56=ok@BklNa#Fd~YhUiezT*8Jc0 zJ?tk_TGMREj;|w9`4oO*D<1PpeOF+=NM2kaXEAIV*6iAP98F8$2hRdHMTy@bqw_mB z)a7(?_lO05FeGi^DLBp#;7frtV$RIgpfZU6y4|n{j0N#6WQJdxv>rh9^xYTLqT>w6 zFNmRTWzrGgIKD=qb7X1~^o$4FgRv>^lGvh3!|CTkiM-!Ajz}X$Mr@I(K-KPebB(Q2 ze21U(~GasE}| z+DZq-@C#@u{2+mQB$7XvalEFqwL4-^Pd0N5vN(0 z@Nk4z1>8Jk^8E|*MHIDS-w zc3+`^N$i&B4_;$3II@W!4}c>uDVge^bCT{3UW-IsOR)8UQwOO8e!2-f+?MOyTJ?m= z8mGyb-<&!}1cbP3xAXv&>wzoLRBG65QTPJM5= zmthb)&YPkfHqH3Q$v1o4%6B!rbH9fhfFYL+lV zkz1S}Fj{eX8H+4@#9KBQF+R-R^09V2DIJ240$tRZb8Y_k9xQ?Jo{QzRU(+4M+Z|~$ z3lU8QVYQ!}3dJgBAZ&4Xq9S2GeL}<^*w)&WJT`Na`9K_zBR;9KG1vqrIr<41K(y2@ z*Ps0P@b!gT1Uh*L?~19$4K(bSz-jYx#Ea-2GzZbgNR-?J7e;5s2O%-Mv~>qMK0};_ zLb;JDTo#{#cQ!goYCLfTK57e4AHo;$YEoz!9C)h_eiFaTlEATw@ZUo?DUSm)W;}S4 zz_`hw+A{cuIri>}kfr75*S$s_laJs(u?#eEmRoRiyi6pP!xt8A!EF(|UWNPdmi-d; zh7jT5H#o_!IDXr8MjFFbj{ET_H30c9*A%?3$Dv4^&)^eZ|Bwz3cA2kf!nLX3^B#N* zjvv`d;+qfeNOnT=zo-`Mr`sg(6&lXtM)2LXA5#P$G$^Z>jFkchDo%JnpN-H*&A8`+ z*oeY;<_LZRht76!2^uOVVuq+UN7TukI8GaXkjcl+o#=&Ffa8ZO@H;=k+s{X31k}~@ zF=Co!IKs8v5U(@vYfP~~n9qW8?)Bz;JuPU*H)4ch2}4ykDmoIM{otcCYkSb2#TOL# zDHjTkna18Xm)(4T=Xo#Vc((+;$8{4x^JPK-EZ7m~NdkB*BdyiIB_mJ~2p8Q1aLfq5 z%oxaL`6Z=OdyWVA-y8wngh%n|WID&^7&#qxEnxfQmRF@PJfS)zzHCc}@a0q#TSxe~ zpT1ck)6p!>DQ>4#q*KXS!aGK>*B%K(GRYtx&17Rd$x!uByuM|#+?t_{|1i!Thxtex zCqlm^DbXpuf%t!{y$hIS*HzznTPpb5!H z0NLxB+mKC*guw{3OhO!=tz|*cmw5{Vw0#rCfI5c!CFHLn@*s(X!>#M9 zBw@DL{m_?1olFVC zd~#DBj@8Ft5e%vU65$QVjFL~o(Y&o{U>gP9M6w;il)A$erNrW1LZq=yV;3s#nMUc@ z41)i9jI3e%wg#A*yTreHe7b=Y1UO>>EYhuwo60}|cmqq{&=bsqp^KtZ zau~=fi4Q4OA(CV_Nqd1vHY-EsT+@9OM2^lw@SgMS3xzd;r6AUHnqyAeO2%JUZ+TyC zasjkwGP*b~RDbEaJkr}~_DVaQ*y)*2P79rd^wAY>8V)?y}F}XW#k{1cTkLkQqiM!CvOY65% zp@7tT<2tc@QZp0I8+2!5DYK<{nRd7;+zqih zk7zVTw>eDtG+sp{+#-q0mXCgSXbXEKKmheaQl7W#WVuD?*0l@K+ny+G)$#aO2<)~E z;dBv6V7!U$(ciL!-8)gfsfKz=iCh#Jt7CB>D zokoTS)qJu2+?j_T>gD3AQqYi@A(5G|QFe)OB|RVlaf)I;Np>jjnj%=cNg2txof-#% zKkT5zJ+8iz&$nM5Hs}_Z+kYDH<0|?lkOAZzOfly1GrUpy;7(H=mB_!x+xH?4LRm=>BFm7xOhvuq`&GIL6|#NP3^^rlZ{;7m{0P za3bJ7fKmQeVOp?&6;h)OacPCQ^Ryn1k(z)B*hR?2dRjV$6X#A{+upvlMP%af#0R{C zN(JAxK7|ifTpk!GqQH%WV5wjoZR)@-e4+#N)P*o4DK$yGMh0YZ|Lk1SQOk({ZCoLX zCw;eWv*5x@&$yy#D+`5vMJpq&-U(1WVK8C=dv+ z*u=9Ypo8T5%J|>w;Qn-g-f-37U`mQVbi@08Hg<#zttis{fqFLxwZzUziVs7W-_qox zTi-HD1BpS24DGkXUS6sBA|c+FSOuP6ZRL#P!1Sg|#VyPz#fqd%ihJ zDK?kB*YI)LG|L`;1pX5`H`)X)kp8AwM`C_B5QOa%Q-{#Yt_I4p)1*i`x!y% zLwt=MhPNn-fJae39MVp!(i+{cbk0(b*e(DS0ZxN31pM$vq*ZUMU>Os77`1$xOaeM< zSa%m4k2kaZMF>p}CH8o|GbUKtR*&OQU~=_R0>SI@lavUg!lCfM7!iW>)Ye;fY8ypa z8^(uHgmAZyTowj{CV!HVq@D0i_1mj^e$S6GXoKXC0~8wlI+FCl{>LAXXk%-bP@XdF z51Tk{b3cjO9qch)FMxVSF~@nixdimL;V(Exwg}JX;8G5q^uM#`PPHKRi(D9G@FU02 zCO<6A<+WQo0mjMBq=oU78-U$8QtruKBzM}7xIXSH8h4R4w1F;?sjP6NI8C{bF=YqP zwd&X^X3IL;A7de-kVTra$w4jv8I#3eLh5Di69vt8IyfqR3~?tT3T4IH+%ImT+fAF0 zKCy$&lN92e3I(7{G3l1ahcY_+>xCR#Y5i>3r}l}t$}L8|RytHSUf?5dIi8Jt)06d>tf zPm^zZLY8|{4ZCAM{qhv9ErTA4Eob{rzrs8@u9L}|q~j|?GBH^0HVG~$9h#IPIRVAF zzs^B!g#n! z(MpV2C;~i#4=i?YE|XKvtJw#h9n`UU;d;K($_1MufCq>D4xv$K?As1YrLP+#Scc-r zRCCFqJO^;9Qj_+8(l--=S0Mhhab!X>k~2u&_@H!4 zn3ucXC-OK^cnla0w_t}`@Rnz9;jzS^6MqMTp?t-jgRblim6HFOU^~)=?i=0sxN_a3 ze#2k^zADcInU|Z?{Xz&oz_W4kBEi;BCH401UAa~m2ig;O`heU(`=2+Ra9>n9$^|H| zoHvz~R&Y}5Q&aLFXzMX_!qrjdAA~C*%~0g9)8*QFfQh5n88kao;v%{1{?VrF>n*C9 z)lnPo-Q7f4=id?N98=0*fXfb9@b>OpiF6ev>^4y{>FT&}=-XuhqyZ}%4l+thplMpz z-EYw-{;<1HGLQy}<9N^BB35tP3KMS--_w?p^q7m$-o2xRDfEV!t#E`=yaa{kp1mva zM!hzY*pRXVzuyCNr_$7rx*J_YQ`1G~dSG+O$~79ONc|n(9Jiw3oinh{35@alAV|j< zbY(Q15*vWMp*(X7jW)r-X$f|=qv0puj$8pN#2-=4gS?Gp2;S;($+Biv;!btl7(H`` zQI@;U4nT=~-9;k|09!D{x}>RDf@o)`u7MH}=Tr|bhl$fT*HOMCaO zTz2Z}kb8FoubIIc*-l+P+O%T~48t3KLQqbtk7{wxQK#MGuwlyW-jv89l!@i;%ujbS zGmA+yG3FY(q6~t;Aarq4FL#~67bcgIexzdasOedHh)ENpP?E@7nT|Mz})<+M@7 zk@SnWgae&unC(c4O5_jvz`ZA4!CP?-7&q&9z@zBdvvcLZ+a$#v5|YE6_yE1}2S9d0 zlgQHT|Jfv}Cr32tuAr6!bVpD|p+UJT+$0Y0aBe5$=fLz;UvL~&;*Huc13WwksXoZe zsh~9O_d9LMCY6VdLWF8GQaF;b-Zb`(9h=Wb*eh^DvIbA6>2Z*`v&G4TK0vp*;96HD z37`QQ_D17A5Xxg;LI;EHgtA+d$H5W(0E@*{2g+H>Swaj++t-&R;JYHgwY8gh@v=&)z+N@^oYhwvU8F(I4-^v13=>cZU) zbVDMo2VMbGQ>i0KlpangKU0lgQcSmVH1YBj&Zc4VQe9MGbL$$I++mSAdfg>E3VlDQ?D$2FGj-%}YK9k0N#O{y{%n{As zqRp=7`?Swdjq(72+JujDS1eWH#D%WW?xEY^E|z#koH|D=ZLiNy@7$GhNBaa&3`Wj8 zuvO6e;~9u~8>xp-wQ4;+;BP~u>jS+QYc0IciXu*IM{ zdZ$75Tj#J%4H+cP9vAKR(f-(ZXT(2CE(s&VQHsnD#{@KJie36;dN+_)kU{L}vyNa7 zCcy6tDMCeWc#aZw!wx^zL(dvmJAy!u_NJAHg3~wZ%_an}qTYH+&!ZIkiyi{5kM=Xy zSs#^+FcdhYKCjporT8uti^@^nW`&|^BzKmh=jrnh!A7pU#T+98>aA5X7s_Plf)XNe zaj9$IokGQW!tPE_SfZ^pqP%d#7UBYPU9 zF`;j2n1$wxih#wT;C@IBNTpIynGKSK^I&rjLwz70q{NmanWce`%TQ6ur(0|0MHHSp z?5L~knru#23am7!@X!txSL~0Jo`ff>B3Nv=7|LbgIe@~~2Q3t-X$XN59`j(f-1~@h zlT`5W!y-Z<+Mi(y2gTZh>Zqgp^b<_ok8c4CoEV2K z60;5Pg-l?asGu!O>8$XzwM*+%@jMv@kAv=j3d_{n<>FbYHWtxh#9V+7!`a}p)Hf#~ z1lrJtDK+N3R<*Sf#2N&zCRkHNgY>vO)0(PYE148ry|EGnBZ`n2WZG&Y_Bs&G%SAg3 z&m1c5**11N5Y)*%5C$sW%3-1;C&&$_C~R4%Bp$v2j;-Vv=n(Z+l^qL6(t%2%D`<}6 z+^V!t6}oB*nOF6ic4J|s5xlX{D&*E`kKqv`Mxn>z?;wjgIn-~G=e5v@B7>Bt!q|@m z5!|rXy0=&S8pT;2yn^LxzzNT}G9GUb_z`TDw8|eyykyuEbS}Y;k7#H=~AD zj*lvIO3H;C5IZ&0GZUHM!N6d6qk5l7W(|-{ED9!4oE+Q`wyB2)ZRy9_s(z92UQ;W_ zuH2p}aYB(Nyxvp|h9y#;bewVY1$G<|z~!cck&#jfu9O)dlBZWgvO^|7P_+_D&Slg; zSAlSN6ZEB#FjrlO;Z#1NMPh^FKw1?&nR*vbbgq_wopL?NHhhmtzEu`vJ($&>4tL`0!%buJ}>Xg~# z9vz>0{B)zOjjzF%9~`^l8#tP@aMP#UlCWe0R+w0I$9G402L~TAF`~i6<4m%Z@k@J_ zXwr4Z&rY8Y2V0kRt{1ni7zx=vh>uU{^K!NL0$4A;#F2C3?)8ZiKz6s0CpFBf#vVFC z)+A;?C5bz{-&DpmB`2+3!nx5A*YO7))FB2v##BCt`JG;ys7KNhaItaa%fOnZJ{B>j zoK7(d>m^Rc0YMlN?%bTE;w5%c(l3SK1`nBtragZOgGYPY!cB%+&4ZN<&k=kLvr9Ol zuA=6*twFX38x$WVbPdk2?scX^{K@^)p+!3(>6a8XyChzrxjz{lER`{f{JH2AeI+yP zWC?VBjQ+`ixWkz7@uHq+vyI-{t<)%1F)MGuhtHooTR)$6rSS3?8OT$1sf5`qamTJm zU6aX}w9fviX;*v-9h&pevil#7kL7}kK@35joDW8kaAxqB3n1dy>56$)5FQPhiDc@J zM=0WqG}HQJvqJ`rp(_-I)taJj7Gi%%9FGS>`y4;Ek@PJ6thpeb;+`UyfoM$JI>?Xb z9=xz_nO}e~07A=Ao+8a)VSofrKd8*j~Q9_j`75 z>m8!hYf{Pkpa&S%k_mamn_Q6)#4hh}^DFT1>&QurUiiGWeFHIxQaxb`oS=Owi4&;@ zpUC&B4r*-;s9wSkZ;RVC^p;53$?#X1G~*F+Ywf0OtTK@F2qAzB&p;fYk<$Y0C4zQ5 zwLM3KziX@eTV@ylCs0-=xL?Y}JQ5f=+EqL(RySidSheEqO*&?GZ2R!Q=f zyRbM6=T*(bmD1Fbc#pNGq$*cI@$?w-?OkUF$fOI}B!T?MW+ap#wKy8RxK(3~M87?p ztYS>!+}VI)qTlgzpLPj2W3OD1Vu67>87C}>Td&p22-Z1&4gerA${h{I9g+}sR=rWK}+v#STiWQWR zS@Fy*{qn&n8PwQ3N=7q#3pw2&o`bRXR0eGaAuR1mqJjoOuPpnPTuxc)^5QZ+$CxfW zOp(fGth83u5h z6@NFMy;QZ>9FUMut_n!;#sgDr>h9VRM^sWq%eYra1M3A*oeNe-Bas7QWCY_P+LqEF zqLu=jFryhbq}jX5{NjY#6n|=u#stHZV1yKKaY6-X5rkYunGIf}B@h88g^tt(shkc` zeB&OZuk+QW17a~9jSwjA8MXKvu-!iLa)TN$MJQoHOF%(PC$g*u zvG_TKv4lA-0fpT-;Jg}9+%b&BrPzxL$b7(cbP{YsamT6rEb_obHlj zeMX189Jo@aKp0fftDaPBt{IUg=0WY z(ufcU+JvESE_*Bm2%#ogC4lGy0iH8znRC39$ACu1ZS6%6$WhuFwnl@z`c)W1sDZW! z0&b|&KFZpGk^rR@%g`JyJBHS@UT<-N6am13mIHvcc{IW^0oQ~g1gC^NfspAlcqmc| zg7Y$8x)em@)k&w|H%~xAAlO9^h|%UI)EP`YZwnB@_FDvj412^@_DKv>nnfVZMGy#S zLChnB#$z%+C*n@IxnT;mcdb&R*#xMk5hRj4KzM?2igPvbiy0tnNyo#bPEDhmv7)D|DmKw!sY`J42P{)1&qQ%nT(c~Br zwS*A{V%aA^RS$t>5|iP`F8~a*vrm91nnA)20Vvr90oQUs(R0`BKPi1ptALDnA(3|z1ZAOg0R0fB2b z7y(uRL_qLD5a=_qVS9vy!i|CgS*3*k1iNh%+=ZZ(@0kn*$FFY_Eoz6e@+JCGyzxZj@O9U}~d`d?ue&jDq%(4@}~ z3_+ToZkKpkFI)srVgD`<3S%=`7!=cvdIG3GJ85SGc>q!7E9$e!Ld))-L8b2BbBp_=UAboZ-r4+fO7J&o|EeAvyp$X*;WRPFI z{6<~^2&d9O)$SV1%TEVx!2e-7Yr5L5QcKOu{9^ug{|Q(HLW`1&ePVZt5W-xRfuOt> zPR4>-+z7(*F6z&N+uc^Hg+4MFL3(gqF$JM<)<7$~K~7n}Nv_f`7af7rS4BhP&MwB{ zj=+G8D;uaGxT6UVSnJkx(OE;>N$h}i7-Dy;!TK*wSb4QbY-*mZaN03u*yAqd<& zTP+NcB(^b>aOyZHVItH`Tcc!JF2vWw$I@p0FzcKU!!J@mgfa!R(*IVS09kdAcvbNtuDZx)eb%JN)x9k}A8y z5J2vL4uUPl>>ZA1!seVBHyIza6PLY(KXP|Kz(X=7XeZ!%NjRK?>?K*B9WM?83g})I zP)6p&RvQanX+-m|onnb8$C+^lB6dfbM==NnR1!Rh^iJIY?7XpUh1Rt}K0^=}fPrsZ zBBvAVS~;{5&vF_^yW%+l0#sQ05a$b%cCvbwp%1YUvGQ)Y!iZK~l{9S-W|doj65&Fj{!?=B;nY?H z5yp~tipIe_@6n}z8n!&ayp-JZ1$P;R<7eUM-oe$v#^8-1DFvorupbYJIB={ZfC=+i z77Uh~QKtt>)1C-m!km@@gHYKYbV&v8ixB|^+TnKqa|!Bq92)I6^Fsx%yOxypaZZ$3 zB228`#P`z=#!+%0zcLi7m}a)uxG}LzkQomt%b&t-EGg|R1qD65lJ7z^#j(ttQPo(` z4H6+brf9k&UpE#zi2V*Pj)mhG2O&J>&~OK|aFi3z(?$X01RH=DW+QTU#9yjT(f|V! z6W%jfzn_JHlsH7xCTowAUP`smcsnV%1>qusCp8&P$c>>zGQ<`{cG)m}sWj~*65q(+ zzPS?y16FV_^*-)&@u;a~)Q;P2*p!|0-d z!r<@Z=Kv!jbeVCq+hnuE@}IA(8%MHFI@^G+c+46 zJB9)bue;$e-a~hTT8;t>83lA2IhgWcA4{W+tuz|q89eF~GJ04X4puhr1k0+oP0bvv zODU2#PVpuhR||R=dsRd$$Uy-RCn2W> zX~^55-55S?yI1tsn&_2^+Z1QdVNz9OcF?+XEbnL3VZ5 z*Bv~w&1f1e9+XB40|LxsjKdAerDQ;W3EOcwFr;9dw7867DUPcJn6M+412e>IMpa#k z&lSOhO}QKx?mtlA80CEtOxTypfgwB+=S%V^dEI-C;;^lj14H=Nlq8yj(7EJ&V${lK@%>&dRxlBviO>dU4iP-^}0173pq~^W2 z5&ZhCUYdg($cRfgVFit5v!9|0UKSUQ6EZ+d$7Q9-;tiS{^Q7;>=1#hWNJ&77Yc~&) zl}k%Vo50cxRZW%~8EuxvU#n)h$Cx;L$JC3aU{Oll;wHf?=&iye0ZZzot#2oOt|ZaN z%R3trU>)ZLjIcxIfk+t|(MjA9x)4(lNI>&4KvcMm7;UAfDU2jwcnKhI)FI^qJF0e3 z0224cyk#=zk#Yzw8h45HH&dbI-?b`f#q_=AeX@m@%<9uHc!@}Aq<;e-POo0GF;$&* z=iq*M&8k1x9*t2Z=1F^H17{zFxLn$fqBQzSRAH(atW~y=$fcQ6#`#gGOppTxLzPPg zuC{4%KKa@-I_=Ta9PB954| z`EN+J%!{hs1kUvx^L`OHH_U=-3C`Yl>_K5LFa!L% z2feXrXxxRFjXRxW!FSCqrZKQM*FbSJU() z=e4CX=uMot#0Ic_(?1!ET9n0@-#9AI5I5Rc0`_fB1C=7TBpp*%6k@rH0MH#J6_`zm?TK?53QlXgWx!^MZtYF`QBK~PnEl8px2h|?vo7@=8`D%v2etk)={Kv z_2KC}v`baO&Xm+(R=vkU;SxMK)}b}G`f8ygY3l|A0=99>h}=aF@`EiMdMJ&liQXF$ zJ-EVp_+Ularh7B)9T&081SFif0LbuU)}3@#E%M%~gd^ouJl0TzxX0k+A&H z9p(gGj(XE3`Fi_AAtYCX3PdC)XY9|x*&>+?b*5LYxy^lL4MB|U>&vR?y|ExTo`@{b z0^nGcQJH8wwhOYct#|EkF*1%BVzo>_2-cbSWXuJF;i!w>cfK0QG&PiA+dc2ry7`|6 z5J@t5oX^Rf)EzX49PvvE%WwnD8Ms)r0ELLTL_EYcNg_k87@_;c+rhmcj|ogIIF9Z2 z{B0^uri(d|)W)O~%EvMP!UaMTkP!x|qA|G4V%e;v*h2t-Krw0ZADKW`eDF8Jjbtq( zcqEm`ls{ElEkGh8dxNsZ9WukGT(!s^t=$trqqP@;-s+ss@qcBjL_*NTqSu zJu{2~UPUr8C1ah#DAVdS6nVOg?w1oi_UFFS?Q?lB$3!E~z*@Bi*NNRw9G(k5e-9!~ z=*m5XaD*l$Vk&NqVwkXXyDG#3GMzr+6dqROoaUVK7?0aQZap~$Gz@ZQurN2{xN&kF zOt}5ap;Fbt@+j1*gVN3yPOXa@mv6H?lQ08z6?ENfG_oMt1;;nn+S)b3>XeGN)97ikF84!nlzx9d(-> zV&+!B88sV9VMH#}js=y}Ci&8C{nnnRY2VJ)N~RNauoYG4=HGgb1LrGv3sc2hKP8J&@cr5bU{_i75mO`L{i4e zGbTPMr;y~jxthivip$g|19B@g%V(G2CCJRh5wNG4crTKsp4#J*9f42THm?0_VX&lB zqIP<~1NqbMzeF2@T4_2NHd?Srs7?DTiP_w+N*_S6Xsuz39V&t~eN4nZY2Vs}!F5Pp zS7M5GSz^WfMMJ#8k~SE(P}=~6=~JPZtA_cq+l(XboQp?+#T1r-Sg$@o)ucNin~F}n z^t99Mc1>rtWB5JfE>OtrD!*@F$m)>|zfI;qO3t{%9d>S}P#&gBD86l-U0hv%+J=x2vAiJ3i#mnVtxQ08a=z<&;=G+Ce&)0pp3HS= z(ix38_8W^Uw~5OocvWFq5p@Jc0BF{3wpGw1j=@t6|D@b6Pjcd~=81O+=UlUnlu8KO zLMYoVsZIbAowsx?BIHInPb;nlOe8(=M7VB?!GSNv;{y{vexalX;aLR{*?D2(o- zx{=J3cnMR|3=fqEr6fXddYV#V2EPHj&^xgZyQCxStfOCo%7 zySK!4;|f%(d0cEfgU~TjM-+5tpPmE_~K0s)2hq z8IBX(GxsYx>vYZik~nHm*W0d++^j)D7IHgeRLCBzoZqmdtUSJ$LMSO4cXfUH+D^bL z79a{hHTzwd(FMy);sp-r*@OuH4_wd-kKqHmhmWJsfXqX73KFVMIpNlBUUMVYN-39! zup&Hfk>Z4sENsaz26i*$x9V-YK|)6h+IHG>mvY4<1}~_Ep6EzBq?IP4HjcL>*5?tv zxC&3p_o|NsHyv;2iBK`ElZ;Dh$^*>1C{!r#6w&+&24A7Ni+SFdUmYkEogpNF%7l*; z&Qm46RZ%RsMuxUHCruGP9g&X8ty`~?B}gtCJc0Cbuuk-1=s)e*4HF*R<-U3T ze6CT65U3N}#M7cPP?XF*AVi4<8D!M%ccui|EQY|sgkgl$z@vA73)`ekUX+84fq2UX z8H9Q&kOCHOthuUjJWWIgDY&R^9m@JFa(_0>h}s8JYD4J|gD^>j0=2UaTWh$w@pj8? zDv(Oo$RJ4vg%B}mlG<~hJylwxIT;~g!yMfzUFE3cQQY9!IY=?Q&uwnH(?mTV+4ROF z(uB8@#NWoNKxXSoZiID2A#X8t30e|9f#^#vM>0-O1?FK9lIA9TkMC^WII1`&nk$7; zHArhVA%4Dri*oU-mW`QV2h$0oR{u1O70Lm^!&P|4)~3k%^K)Jd+_~5SE)WKLqMyN_ zT0}n8eNqPTm0Tk5Y&H~$Gi0&_Ktq5bHCv;_B~Xb-FRWgFQf0`t*4`x^gqY-2nhn!X z%W!}!l{g(Y(d$z4eO#v`*orR?mt6mtId>;7>)A~rK9{49v~rXq>m%QQ*F+)UQJ&sL z+18Bc;n1B*P72v-OndT+*?0E_l{JP0?+%qlba8j956APv!*WZ}RR z;3(GkO7Mp(-h%>^HirV)+s6Y;Gs^XMD*2Ceky9n+S;smils>0n65Pu-2)1VdjgY@5nDZ9~N8 zfaC#noYehp-U9V1h>^BJ_~lu|H4`yYtqiRwGnY|s4Z#`B$gF+FWQOz!28sn3&q`*)0r}%#G2zS;OzG}3f-7#Cw9p348 zCn-DG@3c6!OfX2lLJ;C+-{K%CTqn~e)M28s5cP=h74gZ`B;}xj@wqWf=;6^=>j^Zy#_F)Ll>oBYH(`>rQ>os$v@SaacY_F|4JqL4gPV;( zIM5i#YlZ+Yq$t-iW6i_%7~r__iEu3`F&D-JIYfjbtzf zgj14&M7UK5+DTjj@qxpyp+zlK6tD;4xXL3>Mnqh8$-sOt5V#}aXF1@KFS61hxaaO- zDkf8z4^*JdW{Z1%gCLYH1DXTH70Uw~CSkfa~l*!b0L}) zpve}DA787b$h!gpl|VDf{7nzMAQRPq>)<+1+}{$Ds5nH4Je-dD=p9IecrXaC$>E?! z5f~Wf5)i6aln8=xhj?~r0G0q!F%hC?Fp7|J^T5Yw0}er*FjM0mYz$}s@bYVp#?)s|hKnFj6hE7(U@n!fCkhp;3b>snmWj zOv?2>t9QrLTj?DT1hqrS{z{g3%4{DH1YRDho;qoh=wb<6LfX!Z8JLWU$B}pnUCnX~ z6L#qC!2ts4XV9*7`hz~Uwu9laL6L$XamF~nEXAlQHW!Yw9A5ayQ=)4k-OOd@a>VU5 zC@AIRhrgaz-bfX}|1rlV$pcBdM5%Zas}?f;ia|6a1dQ3T9JUw z2HH*{7pKIi9aLU#!e6K;(?%$n%X1fuf}@8p*Ab3m2N$+U*iFt9^7|fi9(d~vC{9Nx z$U%t$(|)^8;j!+)?>?$wI?Xz*CaST65qFcbvya2?K;fuMfN(lk$o4`c3bMZU>UEs? zs8YEEhzinFee7Y60&oZ2qon(2bSR5XVbTK*fgCj}Q)P^lugVg$nC03;(4g4p)TukX zM1N3NC7BU(O$GX_+eMeQ1Qg-2B=fV&@x{ar`qz(;Rpzbqk=Ota*q?6x88Wg(Q%pu+9S;L&ZO zF@@kud@V%inVBs zFp!O~G<3KQF9Bkf-;`&I)Q9-DpB!PQEFVp`>dVi)V%rG<0XLbJ|TOQ3PAQ`vWX*oj4UOP;qr| zc#H}f?yO!Frg5@ixptx(0efmFXH{xN;PPqN zzDj9)hKh9ChFfK& zBM59PSSFYO_D_u>fH=WlW7+W*gTS#5EMfDll*2!irM6Glf}DdXt*E1mBgT>tQxjrzPA{w76%t zQ!Pa~uq|Z84f}xsV~wD2n-Yedeq>|kdfw>z`V(wFxoT~#@y0PwN+l&4DdcceN$ACJ z{rY+VwjFD}Z*qQPyw-n50)u&+Mb9l{74j1`hEg`~vnx(S6!B~h2%yVWE?kqR*v2hK znv{&WC>M=W+u|zr+>I;z6{brfnI62oF(6>L*wtIgjlA>Hu;;Qe0%xDD_Q7d~M^Ye8}+%jzzku z+Fg=|icd{?u2;?#sTTR6nW6bzY0jA)T=wGHH5^BbPlmak8d4y9L;w_FGml-Rlx}kD zHwct&O}Yr|Ry4I2o~ObZQorZkFO+>Otj#`#2Jy|&8kyojHpQQA@Y?mTv(*ZO+ofn;Yx ztvZCMx2i4Lvn|c3CNJXaAko~CIr>vXq4XX%;EE$`N*Wf6D}vs-EyrCL0s($_ZQ1GM z%G5>*ml!<8aNZdy$Kq*6$3|uxW!9K}>)Xkui5}iaOI*(>#l>But`pg<2|nXHr868S z(J`gQxJncJayoHzKGn=C=eiwver+39`{*$u#WT)KRODo4IHT1sUnUelkt5&&&k#4> zr`E3%w4l7_NrLeXQX@iN#gk?4 zH6+Z1v20%5ksBenQE?>iza4vyQCoNLSjJkpzn*Z6UV{)%CC+4I#-?>#IvU%`J<>UI zb@C3c5EWPcOijZ`aCXM0i<||}b&7kWpDjD0-7`{(;%Mvlx`S~Kuj{mnP1Fx*ukNTV zrih}H5lOqBfal$O;^xLvFhDn%QmR8XJeo|hu3>uC$z;L6~*uW_}2qZ4SmMvXoqW7z`_TMlMU)LB^b*S9XMT}R|x+u$OV;tPL1 zOo;Vi8!qZ-^76*o)=lEqaq*=XR}@qkx395#EXl`)%8k@{ePFaS^1PxhRP~5l4WEL> z%#%LOAdH;jO;;PVZIsL+Zo%Tv5$lPRxXe~6juW||hhJ|~ni$*(%>__m^koE$OE_GW z_AMTCkS`9%SZX^WGn`gjIbGYXDF&1ulFDYIv62g{ZYzpN-hP`Ba9zpVb>rB^9kgTO z1PI)$E6ZMUWg;P5NAL}@U~JxoI!-lK*YWyeh!W6|6O;3SEK*(47{GoeE03&hlK0@M zo|Z58xue~>BURG$=*Tcus&IqwXwn^#Nxk330NZpd_S~triG3BGb5fz5WVj!%T(AtC z$q-Jm!8yU;p`xyIa76NSCj+G*)b{t~!5x!xnDne}iy^1|@Vdng-0BmfwZfEd8AiOk zqG)lINnz769SK)&kFjaEXmrsOk|nGjI=U4w&v=z7rIYcmQYBof*=5wNq%3Rb2!C}8 zVZ?lfj-ev19vcv-qI5mV0N1fTD0!|IrO?VcPRY_iG;T#~$gwA8BqrKK-tax`nfa-M z_n$5gv1jav4BPBXSdRLNlT0`jO@Ld!Y1q%zb}s0^;uQ-d|I+YSu*&s|+;UVru=6|Ln7-nzaYi=+&Lyk08Tz8UL=dTyv!7HW zCVbg=0|OPs8=?z@(B@z!o=b^>?SXl0yFH1Fde=k(He*{;Dx79A;&i{c9kPC9x)YmbgF z9pYH23&jz+?~W8t8Bw<0;U+1nTZz}OA}E$nGEzYuOI^+qypV+$O#H*SQ&v&;DdNP$ zCFAyl3AKlKbd#Kin!4z537voqk}QItmF;ygX%8?(DqbkvR*!Tg=-Qv!wCddXW3?7W zyQQrXp#X$v*n-aTq+=bU_-RdA~*KK4av*dy+MlY6!=As1E84xK3i)x#P? zmCmO+1xa{HC-0+7Bdq=y)I>m zI>_oANd$FCis9V1b>G4Po8^D^4!83hTe>b^PM(TLI_;3|0MUp!vJiA|7ZYJKl`@dU z_#z+|Lw4a|F3N zdL3>u7DW**%+SN75c0FlI$t6MXXqxUB$)*pEa`BAlDZPP-Lk?MO!P;VP6A>{S;eQ9 z&m9XOPLmA{4@T5SUII_2bPC^g!eC(S*NMd|7Ro&d3Dz5ZI+LtTe7XMQ*GUN+pbeqh1p0%N84F^l{=LTFO$#VemaJn8f^THJoM3_kmVtWJ1R&m_Y zZ3~__#1$g*nZ9#NO3bXB0?83loD8x7&eM$^cl>};+XyRVfd14}1|F|-0= zr2J4ycc(iKlkw$frEInpm@~hy0Yb0)X11llv#lmCCLiAQ)zp=Pbbqb6E~fi^#6& z0QV`sUvesq3sZuVFYqZ1ENmLalX3r~@M^=2he>%*A=hnmV9kEQA60TZIC+GUGk5cKhPS>Sny= zU`puAQG_f=ML2;ZmV|?KsaqcoDGgqP6DVUzIQXB8r;~byuVP_dfj*XmLkLFJ8}{+U zDZ&Y4vLqZbG|D5066{4dVWpOYLy0)jMBsDhtg}|Aqi{%B-UaDG5hZov6G{i~a+D9or8iD(*FA!ZB8)Q~~b@1Fo6;CBfK?QArv zk7NQ%#}F{P1cV6|V~EbJaTr6u=^_X)FoGhfN$BP5w zP6j+6zl_LhEtYPx07S`JUIuXmMaQ+0_`*0^_1=hZb9d|mB|qc>Lsc#bi~}Zv9Org` zUn!QAI1srBO-N)$g7qU@7WA7)#7jXt$_L-oPKS1SIUfY9Ol1 z5l4dCSVpnQaYPBck^ci}R03JMaWPe!C_Isn{R!Hk!gK<4R06S5BXJ}o%0O&@oj9fx za1scl5{PlT2!v~Mrb2Hv4l5s{$pnmO-xe#-Zpm691#u$hqOTm(NtYrY0nI1C2}oHI zj&eDUsG{Jue*hEEvNRYf55ORCt11j9U`B9?rDuawWseB>f#HuPqgJ!+>*FvaCw>PE zm3W9%gF)_%5a6*x@?iMNH~~OF%|ZYJLW|L(U~S1~+^SI%K|1gGtkA)D> zKT!f5O-CRUwlM#PS-4A3toaHGbfQNz5Eo3g2C^hL!Hh9D2w@gWK){=tG@X`=*@()P6yOg|N}4W3NRA=+~i*AzembSwrT-7BS%h~6)P2>4hG0@7-<;qMqQH44rL)+J?T zLP%0ORe8nj)_zfSXyf8?Zj%#zGWF~^zzMTi5)MWTyyj)dD2^vgsRZZ7D%zBQ-Q*^M zPOnLzR0EZWpBQ7Z#ZFc_nOI@_<9M2ABgp=U3qN*9hi2gLKR7DLkO?SKF>-)0E~A=& zBkr5i#sFn^tfTATge_E>+dMePT5zN37;9LZ8snLV>v?d{B#uZmJ_Bbiu5(R`0Sxm( z&?ioi1PoSvr>fGd+dW)0LCX_62ySTm`73%!pfGD;2bCc`pHi;l@T-N4x4>JJ>o2}y zBC~-DspRXEAJRrd;z8)FJtXpTs z!U`E;{U*qnuiHLSW;=^YL<&BWBxW7dW4T>Nzk$VA-BxFP%%Mq6-brnN_Hs%?4k9?|D=h0SG7+&8N<)#St}d5+RwqD7mN@r{-vf%m zh=@!h8EX+rp!=o90+e>WL5(c8$YCsDeU^bDt4D^Rup0~H+7ib?miaxmU_nfM+wqRa zOOT{cZWrgv6EV941WLDe26bX!JXYNp0#=uRfMr+ub;n%87y?EYLg=BjXigefWQt=5 z*jxmGTT`RX2+&Cz1g7A4e1K5ao?N=FSecUc1PW8yzPeuzqfpUlfO5l%$P}Ea4jVhjA?s5xKtRow2M?naL7bI#s0`<7_O#6h~Ygs*r zy~@ZIE@^Wz*0qUoxuA{$2IZb;kF+zwO13p^ufXbD76tSkh9nzoO9F>9OKbdF_4 z5g6NI5R_jSQ}YuGd|W3WgzdKwg67c}QkuldgC&Cq`)?r#=7AF>Q8NCX?Wo113V-k| z1i>gs{Lvy&y*E!8mDncqAS8dJ6=TE7kQz3gTfoUC9G)F7-MFEc>Menj7L1((htT}` z1Z#+uAIPzi$`l$;sO~CJ;Ns5qHrgEvadSW;x#9lT8)Re!PiF_G3(Hi17KY>s#a>RP z$G#-R7}*Td&1A<%GQBXY0LayeeIn5dvSwtZB0Y&0BpsrR`R)m6c1Uo&26k)tYefQ zBj9)m7`W7;D8(7u+raX1guSo?3<|U%i?;IHsza>(UVzvfF##$Xb97UUaFAckx9FWn1U%vbTXf}AZB5G!#=hWZxd}FbEr}Fb>~Y)eUbv|I4QG!Hs-dO!$_ZRVDciaVN|+t#!(;| z4*K=6>aP^K!uHM~(AZ*0)2C$=_lh5-1HsL((e0u1r#SCkUf>68wP6 z(1UQoLz$AaM)wy_*)HS*SN4skOuaO-qWOrzbTL~{rMOSF>po7p@~btv z4s>c1?bKFAs-Yv!1s$wF#Pm);axtvtL?siT08PD4DrvUj4P1a-*tGdiDy|`Hd6324 z$0#lzdeeMd3=d^x+vMIQ5_18y&^+&`@Rz^lZc zfUk>GjZ9!@FcFFzsz&Tav_587GTKOarz@mmA1A>P*bpV!jYl|{IiCS*QQSthgmR*; zLLOv>8*9Ib*)4_O7k*wZyp%}#h2c>$rNO^U(zaXna32X{$aXwHST|XzLcNF%XLU`0*g9nNZM5~`f2AbGeg+nH={K*POi!n>e-Udd`qN$FIi#9_Y7Fm$e=0VJ4 zndpX|94psWsc=)ZHa2oYgXurcR$r56Hh0CPew6G-D17 zY(jCTagP)kR#Q5onvitxkiqT2!Zr?{YjTZ34utG&ThX36r!diPB8Xm_|0h>)uJ?%#&&Xf!<4Ow z&Pil;!}Rl^H+aN(8-H^Q&EW}dqgq^}L`7SATZ%-2OEE~?C?)7sEH%Q|t34a3)kjuq z5}FwvTJAvjI0uA7dRY!avpZFVVh*Tcf9SC_XtF8c>+9MFQq>drF}@$JBJ#rc7~=^kc&^2oKm%Mhb=CqiK&K>jbIhD>omCv78`m zrP2m@^qQ2|?T}z8y=5g*ilMfInsgwjgehxIEZa!6I{bBxq(blFil)eyYqxJ*LmBE$ zj>HWG|Kc&Z)-sjP^r0n?ONdfY{HcyB`st#$xwaa${I==P$*C?%loK!*Muw)yO6z@D zJ1S5t$1EB+iqOI1wk^^~q)hi^ul!)EH^7HU|T3=C}viX6^tv7&USN%%dZgavL_27qi} zDhPBNbvR~n&ZrO#IwMHV)4Vu`&Z&go>&8a9#X+A)Z$Fjn-%DEG@9B&-8Ocx3}Sp_dFoXCl+a zX6V(QU^l`Okqs~wkyeIudVWYk zZdo?SZ}fSsUxrtf4X87K4sw_X_gLK&X=F0OMKR#(tGF{pVJL1qE+u%&4=Iptb4Yn~ zP_n>2TiTI^q> z7YqR@rIB7W>vTuNkL7qb!f+zd>UEiuC2Ca>2|SsN)^1Ko2a-gf`smI)<$;}7Jx2+q zLQaau@z8!poYMTaj8=l6>`s#>5hPq96SsJ3Qy4!Pt?Mna)luBoQ(F;&*Hq|I>{#IS zjTm>V>lkr<9V{jiy*)3D1$=W*g(os=)dlNuv{ap1BsVCj9agVw+r=S}E5X%`0SOnU z6ACRQlJ=~~pFUVFFW;Y3f4Kpb_c(`zc|OQh4V5I+_56*j^X@wdfc35J3vfy~Hu zXl+~~z?w~*k1yA`X?w(;(rYNKq3Kl$cRmp{{Ny6*!>O_^sFpTLC#hk^WU&BA8j|Ux zfrDCLYMe_(r*oJ>ho}ki5TYirK1Q!|luO(HoI=%CwpzT}U)JexE^68UEseY4lYTzY@nc6rP0b zk!`h+Z;@mGKuj4G*Doz499Hc2$*A_ggT6aKD>jVc=w49lP?&|n(vXvIG#;DNsLeRx zEOvnrd9HHWN%bUd8!&=s0&hco!mef1(kIRx0oTrT6{l4m6)Vvjp`gPUQ#TD&;T$NC zwaH{fd?w;7E+kEADh^!^!SX=-;Z(wF%ybh*f?bEos}yQODz*@MuFdh9m{j6*fxuRe zGI1D(cMb?6Y@rqo6S;ZmniyT_*{j!)YpHI}RfCGsCAADXu?$6AZwN0UpObjKDWX)% zKmuOj^5W|8h8d7Bz7OxkJ)25tK0O@=!72feoO97%i|iO;fZLHK$u)}|0nsQ!tz37J z-!78ZGH;wfpx@rUrEDz6&mFglyB8DV4TP+EM7Vn8`F+BnpBCIT;X#x_ay$K_b>+Mt zE1oCJfeaG(Jfg;zFYHx31dhPBAwdkH9DL_boBS9aH?G2*w7`_WgzruPXrG5 z2*Oo^Y~;h$x-k;1krI+b zUm3}YbOJO9ZT835`R&^>*qrz7;2^4}EQ=g0VX@JUQwwL@Rx;p@XzI$&rrSxYm!Djh zvPY+f%U}cj-B^7hbVa8&L;~;1-)5g(Sr;%Sc`HPr55|sM%Ey$tQ#)Zc~^*6gyhTf zI^Jb)!V|frw%XnHU`&n3hm{_uQk6t#7!;{pd@I@kt%xw%Yza2DI97=_IZ<*IRh}F& zJXDpE2q0{=2X$qWIPf1vLHW(TJO$>1$PYHSgo6&Ki&JJzgFl0!dqItDCZ*USGQcd>MWM zh!X^H4@q32vb)7hNy^SZjz}q>O}C!1*HdWQNZdwR7q{Qi??~_^jzVFm6&2Uzpq)+N z@BkNtCVIo^3TBJ6^Vtb$c5!GS?Uk!6S`r1$Hi!Mes73zDXog7p!w-7(R+FSjD`X4N zb~4|wv9?8G8i9V`s?3{D&)nSZE{t28Jx4>^OiVvK>BG-Rgz zm}zjfNf9ZWV+U!n!NN06bApi%o~RAsV+H`Znw!)*=GYl|AuKok<-21Gc9G|T!$Bf! zYY7vS@~RX3R_Ym27$g3An?7=3(i3Nj)}+_!u}FoizVMN!&|ky+EeSG-Twwi|FEfJh zRJJ7*%t*;kHlsq{Q;WviKwhR+7WDN)lH+ZB3Htx+z{`+X`s$=EyOa=PE1)EvYSq2HZgncUw@F=kNi5GQd?r~UO* z?aXe!-frPszQ3OM9#LYUPZ9GyhygJZYY1AF^s0nFNckIXi)ici_e_l2RC%T%LWcy$ z`|FCxgv;xc`eMU<_Eg>7L90a#MBLW*_fP~p(qc`?JJ8u@Pl~B^Nsv8M&c*#bvxSZh z={ak+?6x35C1*&1t=O`d$jPMe(%z9vqL9Px>M$USCJm6z|3a=u=imUZZ>9wsN!$blA9>bvwP8 zu6C`24AAnCmUDakJ$5&b6iVZgyyV#z$|(yQF<$?$=+*oycM6is4G|XL0k7xe98COlTv40iyUk2v!~Ve zY<5*xa=#n3!M%E-P*J?W=0CNvtO;SNQj;kk$b=Fl$$Zy*lxQ;9>e`j)Fkc^ zS_tyO?yqO7t?d830m+~D*zPvb59D7TO1wKM6q`}@A~HE~6nQscQTb?W}sC1a*_Rk_9ty}zF5s_@An zy~NDLME4u+HAz8MNaI`Ig@J|+GZu?25=2@DY8={NesUE&n7zv1FhC_i3uV(+of zD)}D@e6&|Y61DcNt>9WpHsf)lPZgm34Ht14=N_UCx#I4xXB*bp?~x~kx;OK?8ZkJ3 z+<;tA)E$x%iW}ejj+H24XA*?eN3XaCa_y1aHB+B-`8JQqjoGhLjctGPY(Wb+`C(4L z)-kth73XB1kvF`{6@K4bjKnjfb4GGTbea3iN)%ymR=V=3%6`o4X-Alkv$lV-+mCJWopn;{^Ej#BygFFBJtTbQ zyuO*+G#|*~mc5%4vA{3&a&;GrZJb`;*<8Jj5&VXbH~W!rIP>XN#Ye(uxuHXB`BR7A z@~1hPg)CvsVWfvUaP8==%cP<@YO7H7_0CP@#GU(nvM9C`5&Ad>{lL*Z8zEDz-#ogY zksIXkWgsnRbF?@bS! zKBiJa_^vbzx|O~zj$-C}W1#*R%TJHwS-wbEPOoZ_e5*&5T2zl`rcvdn%B}p;U0_8u z0ROcP&3p{`SJREH^{4F%&1dczmv;jTm2HymHMN;G)sw4eRyn=db}xMM@#DviB(LMA zjvqhs;OUbOoJc<8?eSyBPMdh<|^WpR1o& ztKD;#`|u9_Idbpx@%wEXyU+BSA=TbUn>YJ*hxvQu-eW8GKdn<+E!^vF{u%i;`DfOy z^xRJzs?{E*-Iu5XuY35J_uL<+&CmFD^PYPz{eP1-|GwO=VjeI2{95gc`O#}0yjSww zN!kp{?JD5Ci#AV|+m-Ml{C%fyqvz^nc-buCPpJF;CE97+Ke$9YmbUgIRqaaa@jlx9 z8125|g}mXVF7wvo{j~Y8Z#NHrT8|&2&CitERp9S8Y4h1~yAu9h2E4nzpjLY|KYE4d zR=_($n^w7937*#DqHkjW`Bk+ZBBz@(?N(OqFRk0FX!qn2?bPH$OSF42?fza>yVAP- z7qt5!+WnkwyVw5x3~hebw+r|y;YIU3EaW6F;RTlU<`xc54-YR4dyTJt!|43mnh#xg zL-E52{0cbrv7JdU@m0{iF%2eRb_?UQ)YQt9_~_ zI(yCc9t!`C)-P>tY;9cGK62kfUw&jlWzrjF*gHbO<6ESM*<_i|XV3imBiS?Wd1bA) z`y0dEkKXhCXMi%??H|c@8}|-(U)p=N&OiNo`SZx=1E1W!ix2Mp+?~B=8?@-(&Bw3I z`1qySvl)N*59nh}Ug^GmZu^VwdEGYyw>EqhKr8oVA9!x(Kj^#O?$2k>9zOA0_AFqY zZQPqZ^Rq|Z@%w7|S^eTW`{d()mp{Z7@2vfOet)688_EZsyXXBE)pECahT(7D`^=fEJ719PemdLzS8lBCi+kSxDq1~rX1epm z+1V#vxdVXEt} zK@cqlpt+gi+<#y=H$2+c&uzc>!&w2_?`6gsO7`p%;QEPsZPdU2?KaOa#BBG^KKD(U z-`k!!b7<$SHibd{fp7Y&=bz7ZS(0p5i?jRa(G?NHJ3oE~;K%v7v-b7;cEli_?cUu3 zjvcAIj(6^}xA5+m^=R_$P4;fWyRWi$kA%x_5W;w@%W-wb%P5ulE0nWMdomPHg8WKZk2-CD{3^3a&UG za9?<5?S2;vwig5N8HBxPkuN2k*MgAkF)@p?f#Os-ZA@T_(5&TS|EW>>D%4ksQeD{ z_$3c6p%frxyW7wO)bQBHwKi|#=T2Ljhwa^)`F+9Oo#yvj?VScPws!-5kL=w;{O;Sk zZ{)Z8_8RZH_Sw7nExO8ICwb#m)V;f#zrWf(%UARbzUiI(8{4>dT7{0aRx82IUsZ5d z_>vX2chaq94qH!+5ZybitAov(THaFct6;m9wwjk;pw+zPgLP^;P~WVh=q*QN zRohzI{#v~F-*l#?=&Ltb<%Symw+a`1ld5g!=g00ZXS<*A3-t?;hijolPInrCX(&QW zttN8KUyt*~A=SOp^d7U%a;{B)>Wy3XuU~%6_x@<@`RCO-y$EP$96qE4FTT=Cz#V*b z_>isv#aDU(kPvYA&=2!lt^e`&ZTw8FmhU<@YCZXgo}P$V`sVNW{fi&IeYj@K zkH3s(@~^e2rI!P>IDAMm)$1Sr@Mr!*>?P);m$k8XS}ylGVq>e-9?d^sJa^R6S%_2) z9}*i93;e-f``R0E7T0~RyJlu#Cuf+&xo`ibD|dxiJn4J6(>0xi#((&bNKbRW=M!HA z+sWtttnX!Q3K)|x9WnONUp(~D*ehQlYg53OB;vz|9Q%YF|F^&Uw_~q=>Yrt83eS>! z7oYX--t^u-h`m1Mds&;pvurgD8)|a=r~Z#SVy{p8Uipe6MEXy-B4{lVQCQS}_>fja zuix4IUeF}k((6CFe@s4cpS^-LbFVTSF}TBrgk!y4^v>^sAaXeO`(A3}KI_hfBZ@eD zC|{v}^L?-V%e)U1<$I}(gY#4oP9kdCiXReV)H;3U!yow$M`LJ}U=})@YlxsnN;~Bx zd>YrH)w{QKZ=e<(ta@3S!dlp26lm-dAG-67*b7P5Uhcq3cjXuHd3@ITul~_@#$G?> zds&;pvtDMs>^JX5ANjSn#9sfx_j2E+&(bcB&-%)>^FJATeaiQ;Hic(>ap=XH+Jk@k zsb7q}e%tr5Hu}2ufBR2nY3vnz8#&2$|KYE)MRMA>+rLqpB4ye>I;3lwUZ4KAKYTv+ z`cmIZZQR?(bAYuYB{+g`_>jLv)ovX5WGnAet8M#UYEyi=#FE2@v^(_rt*!rUCHDF* z-%D-W+n*{tT|IuO@JY)3Ucry->lZAc62yCL1TMqgm=}>@qNqXdC+N!sfD|kxB1L| z?$vEGUw8$g|Ge#@1al={XLD_BOfX)psVdd>&OhLRqsd3PohSLoFmv?yY^%aYu2s^_ zk1~Fe4-Y@WIvJ@Nw@rh2?%ZR|mB)^qYL5qXqAMs5EJ4y4HGPkV)|5m@ecqIi zdaT?c`M|XZ5IipOzx_DTkP^eHrKqFfrkZg+vj=;W@*I(32}#FfD>qz^Dng#x6jEt4 zaJLi}K6l)Tj4LUerQX@1#{ALN*rF|cmN@@F!uN%kb@FuwEaCxNr+OmU<5nco;am3Z zo%JUR4;+(Jzk~NIzD!=$J9k#XUIB@OP~kGOcKO2U)j)EXBr`mk^S_N0x*Ho;udn5C zVL6fe0amssYL}~;y!rUaf(Ch!UitK~)2Gnc@RDBnOH8l)F#KoLZ^~4h)JM7tZ09nc zZ&Rz#D}O)V{c@>Ym0nrG(7QQz|J7k@MMsWuB4X|t2&d*6};EW z+9ijyKD)qAi+11b+lm#=d+ra==Er=ydCwKI`(Jz;-rB3`xe`Wxwbag@TN>YkwEG>} zy-Knruf4|iM%ujDx7%xcBj3hBtj5b5dCf6nGt^}h0hc9^MH2yMQq+^)2~5;FRHz zc^+QAlr|3}?W*WhXq);rytP*qz349dcG`V1fj95D|0iw!BxzUmT&>4Ta;d~UwsL>` zUFhKTwEG{mFuVkI-g93AzxXmQvxN06;aSgZ`!<57m&OO

xLcGfT7e|`O8NnAzVMl! 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

C?F+T( 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

  • 9H0AzHZo6??sg|{?z4~>O)tR6r(S}Vf*lZ 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

    }_ePQKSFU7UDQQY5UE+g&--+t};y=L48DK5s? z;{G0U8D(t2hpSs#Tw@d$V{GdZ`$qt1P7j>YwY;$n;~ULP|T#*V? zjGgN*%+(rCGWCCHeS*c+js{#Xgt2q&hl|(K5>GOB9{X~b#dW&k+7BPe!zs!|wb)5H z_$e@!oOeeo?r-pD+I+=D7<&$W#$5Ct3e;x4v*hz1BnQjNDlWM^T2>54?XyNX_*dpK za`5eOXT0;7nS%)x7GrEV_&IYKIha>-YL3Nqm*QfKEeBD-5HF)VZy)hw%!=0^6c=Ia z@%oavW+Glxx!(^jfnX0PGCLI4myP1}6@0Bex6RX^=wF)gdQWjN=Kmq?OTeS3(zPq3 z17Wixpn~GqVAKEtfv_Z^kWRXj3Uro{usAFsgg~MpiAgofxFvQc(o@F4QLp

    - - - diff --git a/bin/CITests/08_archiv/01_templates/index.txt b/bin/CITests/08_archiv/01_templates/index.txt deleted file mode 100644 index 3cf56a1c..00000000 --- a/bin/CITests/08_archiv/01_templates/index.txt +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Regression plots - - -
    - %for model in html_model: -
  • ${model}

  • - %endfor -
    - - - \ No newline at end of file diff --git a/bin/CITests/08_archiv/01_templates/layout_index.txt b/bin/CITests/08_archiv/01_templates/layout_index.txt deleted file mode 100644 index ee4fbfc8..00000000 --- a/bin/CITests/08_archiv/01_templates/layout_index.txt +++ /dev/null @@ -1,86 +0,0 @@ - - - - Page Layout - - - - - - -
    -
    Regresiontests
    - -
    - - - - - -
    -
    - %for package in single_package: -
  • ${package}

  • - %endfor -
    -
    - - - \ No newline at end of file diff --git a/bin/CITests/08_archiv/PR_IPBSA_Merge.py b/bin/CITests/08_archiv/PR_IPBSA_Merge.py deleted file mode 100644 index 0a1c5efe..00000000 --- a/bin/CITests/08_archiv/PR_IPBSA_Merge.py +++ /dev/null @@ -1,116 +0,0 @@ -import requests -import json -import argparse -import os -import sys - - -class GET_API_GITHUB(object): - - def __init__(self, correct_branch,github_repo, working_branch): - self.github_repo = github_repo - self.correct_branch = correct_branch - self.working_branch = working_branch - - def get_github_username(self): - url = f'https://api.github.com/repos/{self.github_repo+}/branches/{self.correct_branch}' - payload = {} - headers= {} - response = requests.request("GET", url, headers=headers, data = payload) - branch = response.json() - commit = branch["commit"] - author = commit["commit"] - author = author["committer"] - login = author["name"] - return login - - def return_owner(self): - owner = self.github_repo - owner = owner.split("/") - return owner[0] - -class PULL_REQUEST_GITHUB(object): - - def __init__(self, github_repo, working_branch, owner, github_token, page_url): - self.github_repo = github_repo - self.working_branch = working_branch - self.github_token = github_token - self.owner = owner - self.page_url = page_url - - def _post_pull_request(self): - url = f'https://api.github.com/repos/{self.github_repo}/pulls' - payload = '{\n \"title\": \"IBPSA Merge ' + self.Working_Branch + '\",\n \"body\": \"**Following you will find the instructions for the IBPSA merge:**\\n 1. Please pull this branch IBPSA_Merge to your local repository.\\n 2. As an additional saftey check please open the AixLib library in dymola and check whether errors due to false package orders may have occurred. You do not need to translate the whole library or simulate any models. This was already done by the CI.\\n 3. If you need to fix bugs or perform changes to the models of the AixLib, push these changes using this commit message to prevent to run the automatic IBPSA merge again: **`fix errors manually`**. \\n 4. You can also output the different reference files between the IBPSA and the AixLib using the CI or perform an automatic update of the referent files which lead to problems. To do this, use one of the following commit messages \\n **`Trigger CI - give different reference results`** \\n **`Trigger CI - Update reference results`** \\n The CI outputs the reference files as artifacts in GitLab. To find them go to the triggered pipeline git GitLab and find the artifacts as download on the right site. \\n 5. If the tests in the CI have passed successfully, merge the branch IBPSA_Merge to development branch. **Delete** the Branch ' + self.Correct_Branch + '\",\n \"head\": \"' + self.OWNER + ':' + self.Correct_Branch + '\",\n \"base\": \"' + self.Working_Branch + '\"\n \n}' - headers = { - 'Authorization': 'Bearer '+self.GITHUB_TOKEN, - 'Content-Type': 'application/json' - } - response = requests.request("POST", url, headers=headers, data = payload) - return response - - - def _get_pull_request_number(self, pull_request_response): - pull_request_number = pull_request_response.json() - pull_request_number = pull_request_number["number"] - return pull_request_number - - def _update_pull_request_assignees(self,pull_request_number,assignees_owner): - url = f'https://api.github.com/repos/{self.github_repo}/issues/{str(pull_request_number)}' - payload = '{ \"assignees\": [\r\n \"'+assignees_owner+'\"\r\n ],\r\n \"labels\": [\r\n \"CI\", \r\n \"IBPSA_Merge\"\r\n \r\n ]\r\n}' - - headers = { - 'Authorization': 'Bearer '+self.github_token, - 'Content-Type': 'application/json' - } - response = requests.request("PATCH", url, headers=headers, data = payload) - print(f'User {assignees_owner} assignee to pull request Number {str(pull_request_number)}') - - def _post_comment_show_plots(self, pr_number): - url = f'https://api.github.com/repos/{self.github_repo}/issues/{str(pr_number)}/comments' - message = f'Reference results have been displayed graphically and are created under the following page {self.page_url}' - #payload = "{\"body\":\"Errors in regression test. Compare the results on the following page " + page_url + "\"}" - payload = "{\"body\":\"" + message + "\"}" - headers = { - 'Authorization': 'Bearer ' + self.github_repo, - 'Content-Type': 'application/json' - } - response = requests.request("POST", url, headers=headers, data=payload) - print(response.text) - - - - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description = "Set Github Environment Variables") # Configure the argument parser - check_test_group = parser.add_argument_group("Arguments to set Environment Variables") - check_test_group.add_argument("-CB", "--correct-branch", default ="${Newbranch}", help="Branch to correct your Code") - check_test_group.add_argument("-GR", "--github-repo", default="RWTH-EBC/AixLib", help="Environment Variable owner/RepositoryName" ) - check_test_group.add_argument('-WB',"--working-branch",default="${TARGET_BRANCH}", help="Your current working Branch") - check_test_group.add_argument('-GT',"--github-token",default="${GITHUB_API_TOKEN}", help="Your Set GITHUB Token") - check_test_group.add_argument("--prepare_plots", help="Plot new models with new created reference files", action="store_true") - check_test_group.add_argument("--show-plots", help="Plot new models with new created reference files", - action="store_true") - check_test_group.add_argument("--merge-request", help="Comment for a IBPSA Merge request", action="store_true") - check_test_group.add_argument('-GP', "--gitlab-page", default="${GITLAB_Page}", help="Set your gitlab page url") - args = parser.parse_args() # Parse the arguments - - #GET_API_DATA = GET_API_GITHUB(GITHUB_REPOSITORY = args.GITHUB_REPOSITORY, Correct_Branch = args.Correct_Branch, Working_Branch = args.Working_Branch) - #owner = GET_API_DATA.return_owner() - #PULL_REQUEST = PULL_REQUEST_GITHUB(GITHUB_REPOSITORY = args.GITHUB_REPOSITORY, Correct_Branch = args.Correct_Branch, Working_Branch = args.Working_Branch, GITHUB_TOKEN = args.GITHUB_TOKEN, OWNER = owner) - #pull_request_response = PULL_REQUEST.post_pull_request() - #pull_request_number = PULL_REQUEST.get_pull_request_number(pull_request_response) - #assignees_owner = GET_API_DATA.get_GitHub_Username() - #PULL_REQUEST.update_pull_request_assignees(pull_request_number,assignees_owner) - #print("Pull Request") - #exit(0) - - GET_API_GITHUB - - - if args.prepare_plots is True: - page_url = f'{args.GITLAB_Page}/{args.working_branch}/plots' - if args.show_plot is True: - - - - diff --git a/bin/CITests/08_archiv/PR_plot_regression_models.py b/bin/CITests/08_archiv/PR_plot_regression_models.py deleted file mode 100644 index 3bb56369..00000000 --- a/bin/CITests/08_archiv/PR_plot_regression_models.py +++ /dev/null @@ -1,106 +0,0 @@ -import requests -import json -import argparse -import os -import sys - - -class Pull_Request_Github(object): - - def __init__(self, github_repo, working_branch, owner, github_token): - self.github_repo = github_repo - self.working_branch = working_branch - self.github_token = github_token - self.owner = owner - - def post_pull_request(self): - url = f'https://api.github.com/repos/{self.GITHUB_REPOSITORY}/pulls' - payload = '{\n \"title\": \"IBPSA Merge ' + self.Working_Branch + '\",\n \"body\": \"###Following you will find the instructions for the IBPSA merge:\n 1. Please pull this branch IBPSA_Merge to your local repository.\n 2. As an additional saftey check please open the AixLib library in dymola and check whether errors due to false package orders may have occurred. You do not need to translate the whole library or simulate any models. This was already done by the CI.\n 3. If you need to fix bugs or perform changes to the models of the AixLib, push these changes using this commit message to prevent to run the automatic IBPSA merge again: **`fix errors manually`**. \n 4. You can also output the different reference files between the IBPSA and the AixLib using the CI or perform an automatic update of the referent files which lead to problems. To do this, use one of the following commit messages \n **`Trigger CI - give different reference results`** \n * **`Trigger CI - Update reference results`** \n The CI outputs the reference files as artifacts in GitLab. To find them go to the triggered pipeline git GitLab and find the artifacts as download on the right site. \n 5. If the tests in the CI have passed successfully, merge the branch IBPSA_Merge to development branch. **Delete** the Branch ' + self.Correct_Branch + '\",\n \"head\": \"' + self.OWNER + ':' + self.Correct_Branch + '\",\n \"base\": \"' + self.Working_Branch + '\"\n \n}' - headers = { - 'Authorization': 'Bearer ' + self.GITHUB_TOKEN, - 'Content-Type': 'application/json' - } - response = requests.request("POST", url, headers=headers, data=payload) - print(response.text.encode('utf8')) - return response - - def get_pull_request_number(self, pull_request_response): - pull_request_number = pull_request_response.json() - pull_request_number = pull_request_number["number"] - print(pull_request_number) - return pull_request_number - - def update_pull_request_assignees(self, pull_request_number, assignees_owner): - url = "https://api.github.com/repos/" + self.GITHUB_REPOSITORY + "/issues/" + str(pull_request_number) - - payload = '{ \"assignees\": [\r\n \"' + assignees_owner + '\"\r\n ],\r\n \"labels\": [\r\n \"CI\", \r\n \"IBPSA_Merge\"\r\n \r\n ]\r\n}' - - headers = { - 'Authorization': 'Bearer ' + self.GITHUB_TOKEN, - 'Content-Type': 'application/json' - } - - response = requests.request("PATCH", url, headers=headers, data=payload) - - print("User " + assignees_owner + " assignee to pull request Number " + str(pull_request_number)) - - def _get_pull_branch(Working_branch, GITHUB_REPOSITORY): - url = "https://api.github.com/repos/"+GITHUB_REPOSITORY+"/pulls" - payload = {} - headers = { - 'Content-Type': 'application/json' - } - response = requests.request("GET", url, headers=headers, data=payload) - pull_request_json = response.json() - for i in pull_request_json: - name = (i["head"]) - name = (name.get("ref")) - if name == Working_branch: - print(name) - return (i["number"]) - - def update_pull_request_assignees(self, pull_request_number): - url = "https://api.github.com/repos/" + self.GITHUB_REPOSITORY + "/issues/" + str(pull_request_number) - - payload="\"body\": \"Please pull these awesome changes in!\"" - - headers = { - 'Authorization': 'Bearer ' + GITHUB_TOKEN, - 'Content-Type': 'application/json' - } - - response = requests.request("PATCH", url, headers=headers, data=payload) - print("User " + assignees_owner + " assignee to pull request Number " + str(pull_request_number)) - - def post_comment(pr_number, page_url, GITHUB_TOKEN , GITHUB_REPOSITORY): - url = "https://api.github.com/repos/" + GITHUB_REPOSITORY + "/issues/" + str(pr_number)+"/comments" - - payload="{\"body\":\"Errors in regression test. Compare the results on the following page "+ page_url +"\"}" - headers = { - 'Authorization': 'Bearer ' + GITHUB_TOKEN, - 'Content-Type': 'application/json' - } - - response = requests.request("POST", url, headers=headers, data=payload) - - print(response.text) - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description="Set Github Environment Variables") # Configure the argument parser - check_test_group = parser.add_argument_group("Arguments to set Environment Variables") - check_test_group.add_argument("-GR", "--GITHUB-REPOSITORY", default="RWTH-EBC/AixLib", - help="Environment Variable owner/RepositoryName") - check_test_group.add_argument('-WB', "--Working-Branch", default="${TARGET_BRANCH}", - help="Your current working Branch") - check_test_group.add_argument('-GT', "--GITHUB-TOKEN", default="${GITHUB_API_TOKEN}", help="Your Set GITHUB Token") - check_test_group.add_argument('-GP', "--GITLAB-Page", default="${GITLAB_Page}", help="Set your gitlab page url") - args = parser.parse_args() # Parse the arguments - - page_url = f'{args.GITLAB_Page}/{args.Working_Branch}/plots' - print(f'Setting page url: {page_url}') - pr_number = _get_pull_branch(args.Working_Branch, args.GITHUB_REPOSITORY) - print(f'Setting Pull Request Number: {pr_number}') - - - - post_comment(pr_number, page_url, args.GITHUB_TOKEN, args.GITHUB_REPOSITORY) diff --git a/bin/CITests/08_archiv/_sort_models.py b/bin/CITests/08_archiv/_sort_models.py deleted file mode 100644 index e20c6d85..00000000 --- a/bin/CITests/08_archiv/_sort_models.py +++ /dev/null @@ -1,46 +0,0 @@ -import os -import sys - -import codecs - -class git_models(object): - - def __init__(self, file_type,package): - self.file_type = file_type - self.package = package - - def sort_mo_models(self): - list_path = 'bin'+os.sep+'03_WhiteLists'+os.sep+'changedmodels.txt' - #print(list_path) - changed_models = codecs.open(list_path, "r", encoding='utf8') - modelica_models = [] - Lines = changed_models.readlines() - Line= str(Lines) - Line = Line.split(":") - for i in Line: - if i.rfind(".mos")>-1: - continue - if i.rfind(".mo")> -1: - #define modelica models - model_number = i.rfind(self.package) - model_name = i[model_number:] - model_name = model_name.lstrip() - model_name = model_name.replace(os.sep,".") - model_name = model_name[:model_name.rfind(".mo")] - model_name = model_name.replace("..",".") - modelica_models.append(model_name) - continue - else: - continue - changed_models.close() - if len(modelica_models) == 0: - print("No Models to check") - exit(0) - return modelica_models - -if __name__ == '__main__': - # Import git_model class - from sort_models import git_models - list_mo_models = git_models(".mo","AixLib") - list_mo_models.sort_mo_models() - \ No newline at end of file diff --git a/bin/CITests/08_archiv/autoMergeRequest.sh b/bin/CITests/08_archiv/autoMergeRequest.sh deleted file mode 100644 index eb950521..00000000 --- a/bin/CITests/08_archiv/autoMergeRequest.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash -set -e - -if [ -z "$GL_TOKEN" ]; then - echo "GL_TOKEN not set" - echo "Please set the GitLab Private Token as GL_TOKEN" - exit 1 -fi - -# Extract the host where the server is running, and add the URL to the APIs -[[ $CI_PROJECT_URL =~ ^https?://[^/]+ ]] && HOST="${BASH_REMATCH[0]}/api/v4/projects/" - -# Look which is the default branch -#TARGET_BRANCH=`curl --silent "${HOST}${CI_PROJECT_ID}" --header "PRIVATE-TOKEN:${GL_TOKEN}" | jq --raw-output '.default_branch'`; -#TARGET_BRANCH = $TARGET_BRANCH - - -# The description of our new MR, we want to remove the branch after the MR has -# been closed -BODY="{ - \"id\": ${CI_PROJECT_ID}, - \"source_branch\": \"${CI_COMMIT_REF_NAME}\", - \"target_branch\": \"${TARGET_BRANCH}\", - \"remove_source_branch\": true, - \"title\": \"WIP: ${CI_COMMIT_REF_NAME}\", - \"assignee_id\":\"${GITLAB_USER_ID}\", - \"labels\": [\"fix HTML code\" , \"CI\" ] - -}"; - -# Require a list of all the merge request and take a look if there is already -# one with the same source branch -LISTMR=`curl --silent "${HOST}${CI_PROJECT_ID}/merge_requests?state=opened" --header "PRIVATE-TOKEN:${GL_TOKEN}"`; -COUNTBRANCHES=`echo ${LISTMR} | grep -o "\"source_branch\":\"${CI_COMMIT_REF_NAME}\"" | wc -l`; - -# No MR found, let's create a new one -if [ ${COUNTBRANCHES} -eq "0" ]; then - curl -X POST "${HOST}${CI_PROJECT_ID}/merge_requests" \ - --header "PRIVATE-TOKEN:${GL_TOKEN}" \ - --header "Content-Type: application/json" \ - --data "${BODY}"; - - echo "Opened a new merge request: WIP: ${CI_COMMIT_REF_NAME} and assigned to you"; - exit; -fi - -echo "Merge Request ist already open. No new merge request opened"; -exit 1 \ No newline at end of file diff --git a/bin/CITests/08_archiv/autoPullRequest.sh b/bin/CITests/08_archiv/autoPullRequest.sh deleted file mode 100644 index 4e3190d2..00000000 --- a/bin/CITests/08_archiv/autoPullRequest.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -#POST /repos/:owner/:repo/pulls -#{ -# "title": "Amazing new feature", -# "body": "Please pull these awesome changes in!", -# "head": "username:branch", -# "base": "TARGET_BRANCH" -#} -set -e - - -echo "Create a Pull request ${Newbranch} to ${TARGET_BRANCH}" - - -curl -X POST "https://api.github.com/repos/${Github_Repository}/pulls" \ - --header "Authorization:Bearer ${GITHUB_API_TOKEN}" \ - --header "Content-Type: application/json" \ - --data "{ - \"title\": \"Merge the corrected HTML Code in branch ${TARGET_BRANCH}\", - \"body\": \"Merge the corrected HTML Code. After confirm the pull request, **pull** your branch to your local repository.\", - \"head\": \"${GitHub_Username}:${Newbranch}\", - \"base\": \"${TARGET_BRANCH}\" -}" -echo ${GitHub_Username} -echo "Create pull request. Merge ${Newbranch} into ${TARGET_BRANCH}. " -exit 0 diff --git a/bin/CITests/08_archiv/checkVariables.sh b/bin/CITests/08_archiv/checkVariables.sh deleted file mode 100644 index 02c1540b..00000000 --- a/bin/CITests/08_archiv/checkVariables.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env bash - -set -e -echo "Check Variables" - -if [ -z "$GL_TOKEN" ]; then - echo "GL_TOKEN not set" - echo "Please set the GitLab Private Token as GL_TOKEN" - exit 1 -fi - - -echo "GL_TOKEN is set" - - - -if [ -z "$GITHUB_API_TOKEN" ]; then - echo "GITHUB_API_TOKEN not set" - echo "Please set the GitHub Private Token as GITHUB_API_TOKEN" - exit 1 -fi - -echo "GITHUB_API_TOKEN is set" - -if [ -z "$Github_Repository" ]; then - echo "Github_Repository not set" - echo "Please set your Token (e.g. owner/project) as Github_Repository" - exit 1 -fi - -echo "Github_Repository is set" - -if [ -z "$GITHUB_PRIVATE_KEY" ]; then - echo "GITHUB_PRIVATE_KEY not set" - echo "Please set the Github private ssh-Token as GITHUB_PRIVATE_KEY" - exit 1 -fi - -echo "GITHUB_PRIVATE_KEY is set" - -echo "Configurations are correct." - -exit 0 \ No newline at end of file diff --git a/bin/CITests/08_archiv/delete_merged_branches.sh b/bin/CITests/08_archiv/delete_merged_branches.sh deleted file mode 100644 index 62e98f37..00000000 --- a/bin/CITests/08_archiv/delete_merged_branches.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash - -#Note: DELETE /projects/:id/repository/branches/:branch -#$CI_API_V4_URL="https://git.rwth-aachen.de/api/v4" -# curl --request DELETE --header "PRIVATE-TOKEN: " https://gitlab.example.com/api/v4/projects/5/repository/branches/newbranch -echo "Delete merged Branch ${Newbranch}" - -set -e - - -curl --request DELETE --header "PRIVATE-TOKEN:${GL_TOKEN}" $CI_API_V4_URL/projects/${CI_PROJECT_ID}/repository/branches/${Newbranch} - -echo "Branch ${Newbranch} was deleted" \ No newline at end of file diff --git a/bin/CITests/08_archiv/git_commands.py b/bin/CITests/08_archiv/git_commands.py deleted file mode 100644 index c621413e..00000000 --- a/bin/CITests/08_archiv/git_commands.py +++ /dev/null @@ -1,38 +0,0 @@ -#from git import repo -import git - -class Git_Repository_Clone(object): - """work with Repository in Git""" - def __init__(self, Repository): - self.Repository = Repository - - def _CloneRepository(self): - git_url = "https://github.com/ibpsa/modelica-ibpsa.git" - repo_dir = "IBPSA" - repo = Repo.clone_from(git_url, repo_dir) - print(repo) - - def _git_push_WhiteList(self): - WhiteList_file = "bin"+os.sep+"03_WhiteLists"+os.sep+"WhiteList_CheckModel.txt" - repo_dir = "" - try: - repo = Repo(repo_dir) - commit_message = "Update new WhiteList [ci skip]" - repo.git.add(WhiteList_file) - repo.index.commit(commit_message) - origin = repo.remote('origin') - origin.push('master') - repo.git.add(update=True) - print("repo push succesfully") - except Exception as e: - print(str(e)) - -class collect_diff_files(object): - def __init__(self) - - - -if __name__ == '__main__': - hcommit = repo.heads.commit - hcommit.diff() # diff tree against index - hcommit.diff('HEAD~1') \ No newline at end of file diff --git a/bin/CITests/08_archiv/list_extended_models.py b/bin/CITests/08_archiv/list_extended_models.py deleted file mode 100644 index 951cff95..00000000 --- a/bin/CITests/08_archiv/list_extended_models.py +++ /dev/null @@ -1,469 +0,0 @@ -import os -import argparse -import platform -import sys -from CheckPackages.sort_models import git_models -import glob -import fnmatch -import time - -class Extended_model(object): - - def __init__(self, package, library, DymolaVersion): - self.package = package - self.library = library - self.DymolaVersion = DymolaVersion - - def _remove_duplicate(self): - reg_list = [] - ### Referencefiles - ref_file = Extended_model._change_txt_files(self) - ### ChangedUsedModels - usedmodel = Extended_model._list_used_models(self) - ### Mos Scripts - mos_files = Extended_model._change_mos_script(self) - ### Changed Examples - reg_models = Extended_model.list_regression_tests(self) - ### Create a final list - print("******************************") - print("Changed reference txt files :") - for r in ref_file: - print(' ' +r) - reg_list.append(r) - print("Changed bottom level examples :") - for d in usedmodel: - print(' ' +d) - reg_list.append(d) - print("Changed mos files :") - for m in mos_files: - print(' ' +m) - reg_list.append(m) - print("Changed regression examples :") - for l in reg_models: - print(' ' +l) - reg_list.append(l) - - print("******************************") - regression_models = list(set(reg_list)) - - models = [] - if len(regression_models) >0: - for l in regression_models: - #model = l[:l.rfind(".")] - - Num_Example = l.rfind(".Examples") - Num_Validation = l.rfind(".Validation") - if Num_Example > Num_Validation: - model = l[:Num_Example+9] - else: - model = l[:Num_Validation+11] - #model = l[:l.rfind("Validation")] - models.append(model) - testmodels = list(set(models)) - regression_models = testmodels - return regression_models - - - def _change_txt_files(self): - list_path = ".."+os.sep+'bin'+os.sep+'03_WhiteLists'+os.sep+'changedmodels.txt' - list_mo_models = git_models(".txt",self.package,list_path) - model_list = list_mo_models.sort_reference_txt() - return model_list - - def _change_mos_script(self): - list_path = ".."+os.sep+'bin'+os.sep+'03_WhiteLists'+os.sep+'changedmodels.txt' - list_mo_models = git_models(".mos",self.package,list_path) - model_list = list_mo_models.sort_mos_script() - - # Modified models are reproduced, which have also been stored as regression tests - return model_list - - - def _list_used_models(self): - #changed_model_list = Extended_model.list_changed_models(self) - changed_model_list = Extended_model.list_used_changed_models(self) - mos_list = [] - if platform.system() == "Windows": - _setEnvironmentVariables("PATH", os.path.join(os.path.abspath('.'), "Resources", "Library", "win32")) - sys.path.insert(0, os.path.join('C:\\', - 'Program Files', - 'Dymola '+ self.DymolaVersion, - 'Modelica', - 'Library', - 'python_interface', - 'dymola.egg')) - print("operating system Windows") - else: - print("operating system Linux") - _setEnvironmentVariables("LD_LIBRARY_PATH", os.path.join(os.path.abspath('.'), "Resources", "Library", "linux32") + ":" + - os.path.join(os.path.abspath('.'),"Resources","Library","linux64")) - sys.path.insert(0, os.path.join('opt', - 'dymola-'+self.DymolaVersion+'-x86_64', - 'Modelica', - 'Library', - 'python_interface', - 'dymola.egg')) - sys.path.append(os.path.join(os.path.abspath('.'), "..", "..", "BuildingsPy")) - - DymolaVersion = self.DymolaVersion - from dymola.dymola_interface import DymolaInterface - from dymola.dymola_exception import DymolaException - if platform.system() == "Windows": - dymola = DymolaInterface(showwindow=True) - else: - dymola = DymolaInterface(dymolapath="/usr/local/bin/dymola") - - - dymola.ExecuteCommand("Advanced.TranslationInCommandLog:=true;") - dym_sta_lic_available = dymola.ExecuteCommand('RequestOption("Standard");') - lic_counter = 0 - while dym_sta_lic_available == False: - print("No Dymola License is available") - dymola.close() - print("Check Dymola license after 180.0 seconds") - time.sleep(180.0) - ### Sets the Dymola path to activate the GUI - if platform.system() == "Windows": - dymola = DymolaInterface(showwindow=True) - else: - dymola = DymolaInterface(dymolapath="/usr/local/bin/dymola") - dym_sta_lic_available = dymola.ExecuteCommand('RequestOption("Standard");') - lic_counter = lic_counter +1 - if lic_counter > 30: - if dym_sta_lic_available == False: - print("There are currently no available Dymola licenses available. Please try again later.") - dymola.close() - exit(1) - print("Dymola License is available") - - # Load AixLib - LibraryCheck = dymola.openModel(self.library) - if LibraryCheck == True: - print("Found AixLib Library") - elif LibraryCheck == False: - print("Library Path is wrong. Please Check Path of AixLib Library Path") - exit(1) - - # Load ModelManagement - if platform.system() == "Windows": - dymola.ExecuteCommand('cd("C:\Program Files\Dymola '+self.DymolaVersion+'\Modelica\Library\ModelManagement 1.1.8\package.moe");') - else: - dymola.ExecuteCommand('cd("/opt/dymola-'+self.DymolaVersion+'-x86_64/Modelica/Library/ModelManagement 1.1.8/package.moe");') - package = self.package.replace("AixLib.","") - resource_file_path = "Resources"+os.sep+"Scripts"+os.sep+"Dymola"+os.sep+package - ### Search for all .mos examples - - for subdir, dirs, files in os.walk(resource_file_path): - for file in files: - filepath = subdir + os.sep + file - if filepath.endswith(".mos"): - example = filepath[filepath.find("Dymola"):] - example = example.replace("Dymola","AixLib") - example = example.replace(os.sep,".") - example = example.replace("..",".") - #example = example.replace(".mos",".mo") - example = example.replace(".mos","") - mos_list.append(example) - - #print(mos_list) - #print(changed_model_list) - test_regression_model = [] - for mos in mos_list: - for z in changed_model_list: - if mos == z: - mos_list.remove(z) - for l in mos_list: - list = [] - #print("Example : " +l) - usedmodels = dymola.ExecuteCommand('ModelManagement.Structure.Instantiated.UsedModels("'+l+'");') - for i in usedmodels: - lib = i.split(".") - if lib[0] == "Modelica": - continue - if i == l: - continue - if i == "Integer": - continue - if i == "Boolean": - continue - if i == "Real": - continue - if i == "String": - continue - else: - for z in changed_model_list: - if z == i: - list.append(l) - continue - else: - continue - if len(list) > 0: - test_regression_model.append(l) - dymola.close() - return test_regression_model - - - - - - - - def list_regression_tests(self): - ### List all models, that have changed before - changed_model_list = Extended_model.list_changed_models(self) - ### List and compare all regression examples that have changed, but no changes in the used classes - regression_model_list = Extended_model.list_changed_examples(self,changed_model_list) - - models_test_regression = [] - - if platform.system() == "Windows": - _setEnvironmentVariables("PATH", os.path.join(os.path.abspath('.'), "Resources", "Library", "win32")) - sys.path.insert(0, os.path.join('C:\\', - 'Program Files', - 'Dymola '+ self.DymolaVersion, - 'Modelica', - 'Library', - 'python_interface', - 'dymola.egg')) - print("operating system Windows") - else: - print("operating system Linux") - _setEnvironmentVariables("LD_LIBRARY_PATH", os.path.join(os.path.abspath('.'), "Resources", "Library", "linux32") + ":" + - os.path.join(os.path.abspath('.'),"Resources","Library","linux64")) - sys.path.insert(0, os.path.join('opt', - 'dymola-'+self.DymolaVersion+'-x86_64', - 'Modelica', - 'Library', - 'python_interface', - 'dymola.egg')) - sys.path.append(os.path.join(os.path.abspath('.'), "..", "..", "BuildingsPy")) - - - if len(regression_model_list) == 0: - print("No modified regression models") - #exit(0) - else: - ## Load AixLib Library - DymolaVersion = self.DymolaVersion - from dymola.dymola_interface import DymolaInterface - from dymola.dymola_exception import DymolaException - if platform.system() == "Windows": - dymola = DymolaInterface(showwindow=True) - else: - dymola = DymolaInterface(dymolapath="/usr/local/bin/dymola") - - dymola.ExecuteCommand("Advanced.TranslationInCommandLog:=true;") - dym_sta_lic_available = dymola.ExecuteCommand('RequestOption("Standard");') - lic_counter = 0 - while dym_sta_lic_available == False: - print("No Dymola License is available") - dymola.close() - print("Check Dymola license after 180.0 seconds") - time.sleep(180.0) - ### Sets the Dymola path to activate the GUI - if platform.system() == "Windows": - dymola = DymolaInterface(showwindow=True) - else: - dymola = DymolaInterface(dymolapath="/usr/local/bin/dymola") - dym_sta_lic_available = dymola.ExecuteCommand('RequestOption("Standard");') - lic_counter = lic_counter +1 - if lic_counter > 30: - if dym_sta_lic_available == False: - print("There are currently no available Dymola licenses available. Please try again later.") - dymola.close() - exit(1) - print("Dymola License is available") - - # Load AixLib - LibraryCheck = dymola.openModel(self.library) - if LibraryCheck == True: - print("Found AixLib Library and regression test starts") - elif LibraryCheck == False: - print("Library Path is wrong. Please Check Path of AixLib Library Path") - exit(1) - - # Load ModelManagement - if platform.system() == "Windows": - dymola.ExecuteCommand('cd("C:\Program Files\Dymola '+self.DymolaVersion+'\Modelica\Library\ModelManagement 1.1.8\package.moe");') - else: - dymola.ExecuteCommand('cd("/opt/dymola-'+self.DymolaVersion+'-x86_64/Modelica/Library/ModelManagement 1.1.8/package.moe");') - - ### Modified regression examples - for l in regression_model_list: - # print("Check model for regression test: "+l) - ## Search for all used classes in the example - ## Start CheckLibrary in ModelManagement - usedmodels = dymola.ExecuteCommand('ModelManagement.Structure.Instantiated.UsedModels("'+l+'");') - #extendedmodels = dymola.ExecuteCommand('ModelManagement.Structure.AST.ExtendsInClass("'+l+'");') - regression_model = Extended_model.compare_change_used_models(self,usedmodels,l,changed_model_list) - if regression_model is None: - continue - elif len(regression_model) > 0: - models_test_regression.append(regression_model) - dymola.close() - - if len(models_test_regression) > 0: - print("These models have been changed and a regression test is started") - for l in models_test_regression: - print(' Check Example: "'+l+'"') - - - return models_test_regression - - #def set_package(self): - - - def list_used_model(self): - result = Extended_model.extended_modelmanagement(self) - usedmodels = result[0] - extendedmodels = result[1] - model_list = Extended_model.list_changed_models(self) - return usedmodels, model_list - - def compare_change_used_models(self,usedmodel,regression_model,model_list): - #result = Extended_model.list_used_model(self) - #usedmodel = result[0] - #changed_model_list = result[1] - aixlib_used_model = [] - for i in usedmodel: - lib = i.split(".") - if lib[0] == "Modelica": - continue - if i == "Real": - continue - if i == "Integer": - continue - if i == "Boolean": - continue - if i == "String": - continue - ### List all used models from aixlib library - if i == regression_model: - continue - else: - aixlib_used_model.append(i) - # loop for used classes - #ErrorCount = 0 - list = [] - for l in aixlib_used_model: - ## loop for changed models - for i in model_list: - ## if changed model is a used model in a example a new regression test is not possible - if i == l: - #print("***************************************") - list.append(i) - #print("\nThe used models "+ l+" in the example "+ regression_model +" have changed.\n You have to adapt your .mos file under AixLib\Resources\Scripts\Dymola with your changed classes.") - #ErrorCount = ErrorCount + 1 - continue - else: - continue - - if len(list) > 0: - print("***************************************") - print("Model " + regression_model + " have the following used models, that have changed") - for z in list: - print("Used Model " + z) - print("Cannot perform a new regression test.") - #print("nA used class in the example was changed.\nEither a new reference file must be created or the modified used class must be reset to its original state.") - if len(list) == 0: - #print("Start Regression test for model: " + regression_model) - return regression_model - - - - - - def list_changed_examples(self, changed_model_list): - - mos_list = [] - package = self.package.replace("AixLib.","") - resource_file_path = "Resources"+os.sep+"Scripts"+os.sep+"Dymola"+os.sep+package - ### Search for all .mos examples - - for subdir, dirs, files in os.walk(resource_file_path): - for file in files: - filepath = subdir + os.sep + file - if filepath.endswith(".mos"): - mos_list.append(filepath) - ### List all models, that have changed before - #changedmodel = Extended_model.list_changed_models(self) - mos_list_model = [] - # list all .mos model in Aixlib form - for i in mos_list: - if i.find("Dymola")>-1: - i = (i[i.find("Dymola"):i.find(".mos")]) - i = i.replace("Dymola","AixLib") - i = i.replace(os.sep,".") - mos_list_model.append(i) - #print(mos_list_model) - regression_model_list = [] - for l in mos_list_model: - for i in changed_model_list: - if l == i: - regression_model_list.append(l) - - # Modified models are reproduced, which have also been stored as regression tests - return regression_model_list - - def list_used_changed_models(self): - list_path = ".."+os.sep+'bin'+os.sep+'03_WhiteLists'+os.sep+'changedmodels.txt' - pack = "AixLib" - list_mo_models = git_models(".mo",pack,list_path) - model_list = list_mo_models.sort_mo_models() - return model_list - - - def list_changed_models(self): - list_path = ".."+os.sep+'bin'+os.sep+'03_WhiteLists'+os.sep+'changedmodels.txt' - - #list_mo_models = git_models(".mo","AixLib",list_path) - list_mo_models = git_models(".mo",self.package,list_path) - - model_list = list_mo_models.sort_mo_models() - return model_list - - def extended_modelmanagement(self, regression_model_list): - - # Start CheckLibrary in ModelManagement - usedmodels = dymola.ExecuteCommand('ModelManagement.Structure.Instantiated.UsedModels("'+regression_model_list+'");') - extendedmodels = dymola.ExecuteCommand('ModelManagement.Structure.AST.ExtendsInClass("'+regression_model_list+'");') - #Modelmanagement Commands - #ModelManagement.Structure.AST.ExtendsInClass("AixLib.Airflow.AirHandlingUnit.Examples.AHU") - #ModelManagement.Structure.AST.ComponentsInClass("AixLib.Airflow.AirHandlingUnit.Examples.AHU"); - #ModelManagement.Structure.Instantiated.UsedModels("Modelica.Mechanics.Rotational.Examples.CoupledClutches"); - dymola.close() - return usedmodels, extendedmodels - -### Add to the environemtn variable 'var' the value 'value' -def _setEnvironmentVariables(var,value): - import os - import platform - - if var in os.environ: - if platform.system() == "Windows": - os.environ[var] = value + ";" + os.environ[var] - else: - os.environ[var] = value + ":" + os.environ[var] - else: - os.environ[var] = value - -if __name__ == '__main__': - """Parser""" - # Configure the argument parser - parser = argparse.ArgumentParser(description = "Check the Style of Packages") - check_test_group = parser.add_argument_group("arguments to run check tests") - check_test_group.add_argument("-t", "--tool", metavar="dymola",default="dymola", help="Tool for the Checking Tests. Set to Dymola") - check_test_group.add_argument('-s',"--single-package",metavar="AixLib.Package", help="Test only the Modelica package AixLib.Package") - check_test_group.add_argument("-p","--path", default=".", help = "Path where top-level package.mo of the library is located") - check_test_group.add_argument("-DS", "--DymolaVersion",default="2020", help="Version of Dymola(Give the number e.g. 2020") - - # Parse the arguments - args = parser.parse_args() - - from list_extended_models import Extended_model - func_list_models = Extended_model(package = args.single_package, - library = args.path, - DymolaVersion = args.DymolaVersion) - - # Set path for python-dymola-interface: Operating System windows and linux - func_list_models._remove_duplicate() diff --git a/bin/CITests/08_archiv/list_remote_mirror.sh b/bin/CITests/08_archiv/list_remote_mirror.sh deleted file mode 100644 index 2a0e4292..00000000 --- a/bin/CITests/08_archiv/list_remote_mirror.sh +++ /dev/null @@ -1,2 +0,0 @@ -LISTMR='curl --header "PRIVATE-TOKEN:${GL_TOKEN}" $CI_API_V4_URL/projects/${CI_PROJECT_ID}/remote_mirrors' -echo $LISTMR diff --git a/bin/CITests/08_archiv/runUnitTests.py b/bin/CITests/08_archiv/runUnitTests.py deleted file mode 100644 index f39cabcc..00000000 --- a/bin/CITests/08_archiv/runUnitTests.py +++ /dev/null @@ -1,509 +0,0 @@ -#!/usr/bin/env python -####################################################### -# Script that runs all unit tests or, optionally, -# only checks the html syntax or the validity of -# the simulation parameters of the models -# -# To run the unit tests, this script -# - creates temporary directories for each processor, -# - copies the library directory into these -# temporary directories, -# - creates run scripts that run all unit tests, -# - runs these unit tests, -# - collects the dymola log files from each process, -# - writes the combined log file 'unitTests.log' -# in the current directory, -# - checks whether all unit tests run successfully, -# and produced the same results as the reference -# results, and -# - exits with the message -# 'Unit tests completed successfully.' or with -# an error message. -# -# If no errors occurred during the unit tests, then -# this script returns 0. Otherwise, it returns a -# non-zero exit value. -# -# MWetter@lbl.gov 2011-02-23 -# TSNouidui@lbl.gov 2017-04-11 -####################################################### - - -def _validate_experiment_setup(path): - import buildingspy.development.validator as v - val = v.Validator() - retVal = val.validateExperimentSetup(path) - -def _validate_html(path): - import buildingspy.development.validator as v - val = v.Validator() - errMsg = val.validateHTMLInPackage(path) - n_msg = len(errMsg) - for i in range(n_msg): - if i == 0: - print("The following malformed html syntax has been found:\n%s" % errMsg[i]) - else: - print(errMsg[i]) - - if n_msg == 0: - return 0 - else: - return 1 - -def _setEnvironmentVariables(var, value): - """ Add to the environment variable `var` the value `value` - """ - import os - import platform - if var in os.environ: - if platform.system() == "Windows": - os.environ[var] = value + ";" + os.environ[var] - else: - os.environ[var] = value + ":" + os.environ[var] - else: - os.environ[var] = value - - -def create_ReferenceResults( tool, package, path, n_pro, show_gui): - from reference_check import Reg_Reference - import buildingspy.development.regressiontest as u - ref_check = Reg_Reference(package = args.single_package, - library = args.path) - - CRED = '\033[91m' - CEND = '\033[0m' - green = "\033[0;32m" - mos_list = ref_check._compare_ref_mos() - - ut = u.Tester(tool=tool) - ut.batchMode(False) - ut.setLibraryRoot(".") - - exitFile = ".."+os.sep+"bin"+os.sep+"06_Configfiles"+os.sep+"exit.sh" - Exit = open(exitFile, "w") - Ref_List = [] - - - Ref_Whitelist = open(".."+os.sep+"bin"+os.sep+"03_WhiteLists"+os.sep+"ref_Whitelist.txt", "r") - WhiteList = [] - - for x in Ref_Whitelist: - x = x.strip() - if len(x) == 0: - continue - else: - WhiteList.append(x) - - Ref_Whitelist.close() - - if mos_list is not None: - for z in mos_list: - print(CRED+"No Reference result for Model "+CEND +z) - - for i in mos_list: - name = i - name = name[:name.rfind(".")] - Ref_List.append(name) - Ref = list(set(Ref_List)) - - Err_List = [] - for z in Ref: - for i in WhiteList: - if z.find(i) > -1: - print(green+"Don´t Create Reference results for Package "+CEND+z+ green+" : This Package is on the WhiteList"+CEND) - Err_List.append(z) - else: - continue - for x in Err_List: - Ref.remove(x) - - if len(Ref) == 0: - print(green+"All Reference files exists, except the Models on WhiteList."+CEND) - Exit.write("#!/bin/bash"+"\n"+"\n"+"exit 0") - Exit.close() - exit(0) - - print(green+"Create reference results for following Examples:"+CEND) - for x in Ref: - print(' '+x) - - - for i in Ref: - print(green+"Generate new Reference File for "+CEND+i) - ut.setSinglePackage(i) - ut.setNumberOfThreads(n_pro) - ut.pedanticModelica(False) - ut.showGUI(False) - retVal = ut.run() - continue - - - Exit.write("#!/bin/bash"+"\n"+"\n"+"exit 1") - Exit.close() - print("Check the new reference results") - if len(mos_list) == 0: - print("All Reference files exists.") - Exit.write("#!/bin/bash"+"\n"+"\n"+"exit 0") - Exit.close() - sys.exit(0) - -def _update_ref(batch, tool, package,path, n_pro, show_gui): - import buildingspy.development.regressiontest as u - ut = u.Tester(tool=tool) - ut.batchMode(batch) - ut.setLibraryRoot(path) - Errorlist = [] - green = "\033[0;32m" - CRED = '\033[91m' - CEND = '\033[0m' - if package is not None: - ut.setSinglePackage(package) - ut.setNumberOfThreads(n_pro) - ut.pedanticModelica(False) - ut.showGUI(show_gui) - retVal = ut.run() - - - return retVal - - -def _runUnitTests(batch, tool, package, path, n_pro, show_gui, modified_models): - - import buildingspy.development.regressiontest as u - - ut = u.Tester(tool=tool) - ut.batchMode(batch) - ut.setLibraryRoot(path) - Errorlist = [] - green = "\033[0;32m" - CRED = '\033[91m' - CEND = '\033[0m' - - - - if modified_models == False: - if package is not None: - ut.setSinglePackage(package) - ut.setNumberOfThreads(n_pro) - ut.pedanticModelica(False) - ut.showGUI(show_gui) - #ut._check_fmu_statistics("y") - # ut.get_test_example_coverage() - # Below are some option that may occassionally be used. - # These are currently not exposed as command line arguments. - # ut.setNumberOfThreads(1) - # ut.deleteTemporaryDirectories(False) - # ut.useExistingResults(['/tmp/tmp-Buildings-0-fagmeZ']) - - # ut.writeOpenModelicaResultDictionary() - # Run the regression tests - - retVal = ut.run() - # comment out this line for local usage - ut.get_test_example_coverage() - return retVal - - if modified_models == True: - #regression_models = func_list_models.list_regression_tests() - regression_models = func_list_models._remove_duplicate() - - if len(regression_models) == 0: - print("No models to start a regression test") - retVal = 0 - - if len(regression_models) > 0: - print("Number of checked packages: "+ str(len(regression_models))) - print("Check examples : ") - for l in regression_models: - print(l) - if len(regression_models) > 10: - print("Over 10 changed models. Check all models in AixLib package "+package) - if package is not None: - ut.setSinglePackage(package) - ut.setNumberOfThreads(n_pro) - ut.pedanticModelica(False) - ut.showGUI(show_gui) - retVal = ut.run() - ut.get_test_example_coverage() - #return retVal - else: - for l in regression_models: - if l.rfind("package")> -1: - print("packages") - continue - #print("\n*****************************\nRegression test for model: "+l) - #model_package = l[:l.rfind(".")] - model_package = l - ut.setSinglePackage(model_package) - ut.setNumberOfThreads(n_pro) - ut.pedanticModelica(False) - ut.showGUI(show_gui) - # ut.get_test_example_coverage() - # Below are some option that may occassionally be used. - # These are currently not exposed as command line arguments. - # ut.setNumberOfThreads(1) - # ut.deleteTemporaryDirectories(False) - # ut.useExistingResults(['/tmp/tmp-Buildings-0-fagmeZ']) - - # ut.writeOpenModelicaResultDictionary() - # Run the regression tests - - retVal = ut.run() - if retVal == 1: - Errorlist.append(l) - print(CRED+"Regression test for model "+l+ " was not successfull"+CEND) - if retVal != 0: - print(green+"Regression test for model "+l+ " was successful"+CEND) - # comment out this line for local usage - ut.get_test_example_coverage() - if len(Errorlist) > 0: - retVal = 1 - print(CRED+"Regression test failed"+CEND) - print("The following packages "+CRED+"failed"+CEND) - for l in Errorlist: - print(CRED+" Error: "+CEND+l) - else: - retVal = 0 - print(green+"Regression test was successful"+CEND) - - return retVal - - -def _run_coverage_only(batch, tool, package, path, n_pro, show_gui): - import buildingspy.development.regressiontest as u - - ut = u.Tester(tool=tool) - ut.batchMode(batch) - ut.setLibraryRoot(path) - if package is not None: - ut.setSinglePackage(package) - # ut.setNumberOfThreads(n_pro) - # ut.pedanticModelica(True) - # ut.showGUI(show_gui) - ut.get_test_example_coverage() - return 0 - - -def _runOpenModelicaUnitTests(): - import buildingspy.development.regressiontest as u - ut = u.Tester() - ut.batchMode(batch) - ut.test_OpenModelica(cmpl=True, simulate=True, - packages=['Examples'], number=-1) - - - -def createFolder(directory): - try: - if not os.path.exists(directory): - os.makedirs(directory) - except OSError: - print ('Error: Creating directory. ' + directory) - - - -if __name__ == '__main__': - import multiprocessing - import platform - import argparse - import os - import sys - import time - - # Configure the argument parser - parser = argparse.ArgumentParser(description='Run the unit tests or the html validation only.') - unit_test_group = parser.add_argument_group("arguments to run unit tests") - - unit_test_group.add_argument("-b", "--batch", - action="store_true", - help="Run in batch mode without user interaction") - unit_test_group.add_argument('-t', "--tool", - metavar="dymola", - default="dymola", - help="Tool for the regression tests. Set to dymola or jmodelica") - unit_test_group.add_argument('-s', "--single-package", - metavar="Modelica.Package", - help="Test only the Modelica package Modelica.Package") - unit_test_group.add_argument("-p", "--path", - default = ".", - help="Path where top-level package.mo of the library is located") - - unit_test_group.add_argument("-n", "--number-of-processors", - type=int, - default = multiprocessing.cpu_count(), - help='Maximum number of processors to be used') - unit_test_group.add_argument("--show-gui", - help='Show the GUI of the simulator', - action="store_true") - unit_test_group.add_argument("--coverage-only", - help='Only run the coverage test', - action="store_true") - unit_test_group.add_argument("--check-ref", - help='checks if all reference files exist', - action="store_true") - unit_test_group.add_argument("--update-ref", - help='update all reference files', - action="store_true") - unit_test_group.add_argument("--modified-models", - help='Regression test only for modified models', - default=False, - action="store_true") - - unit_test_group.add_argument("-DS", "--DymolaVersion",default="2020", help="Version of Dymola(Give the number e.g. 2020") - - html_group = parser.add_argument_group("arguments to check html syntax only") - html_group.add_argument("--validate-html-only", - action="store_true") - - experiment_setup_group = parser.add_argument_group("arguments to check validity of .mos and .mo experiment setup only") - experiment_setup_group.add_argument("--validate-experiment-setup", - action="store_true") - - # Set environment variables - if platform.system() == "Windows": - _setEnvironmentVariables("PATH", - os.path.join(os.path.abspath('.'), - "Resources", "Library", "win32")) - else: - # For https://github.com/lbl-srg/modelica-buildings/issues/559, we add - # 32 and 64 bit resources to run the Utilities.IO.Python27 regression tests. - _setEnvironmentVariables("LD_LIBRARY_PATH", - os.path.join(os.path.abspath('.'), - "Resources", "Library", "linux32") + ":" + - os.path.join(os.path.abspath('.'), - "Resources", "Library", "linux64")) - - # The path to buildingspy must be added to sys.path to work on Linux. - # If only added to os.environ, the Python interpreter won't find buildingspy - sys.path.append(os.path.join(os.path.abspath('.'), "..", "..", "BuildingsPy")) - - - # Parse the arguments - args = parser.parse_args() - - from list_extended_models import Extended_model - func_list_models = Extended_model(package = args.single_package, - library = "package.mo", - DymolaVersion = args.DymolaVersion) - - - - if args.validate_html_only: - # Validate the html syntax only, and then exit - ret_val = _validate_html(args.path) - exit(ret_val) - - if args.validate_experiment_setup: - # Match the mos file parameters with the mo files only, and then exit - ret_val = _validate_experiment_setup(args.path) - exit(ret_val) - - if args.single_package: - single_package = args.single_package - else: - single_package = None - - if args.check_ref: - - ret_val = create_ReferenceResults(tool = args.tool, - package = single_package, - path = args.path, - n_pro = args.number_of_processors, - show_gui = args.show_gui) - exit(0) - - if args.update_ref: - - ret_val = _update_ref(batch = args.batch, - tool = args.tool, - package = single_package, - path = args.path, - n_pro = args.number_of_processors, - show_gui = args.show_gui) - package = single_package - new_ref_path = ".."+os.sep+"New_Reference_Files" - ref_dir = ".."+os.sep+"AixLib"+os.sep+"Resources"+os.sep+"ReferenceResults"+os.sep+"Dymola" - import os - from datetime import date - import shutil - ref_files = os.listdir(ref_dir) - current_date = date.today() - - ref_list = [] - createFolder(new_ref_path) - - for i in ref_files: - if i.find(package): - t = ref_dir+os.sep+i - for line in open(t, 'r'): - if line.find("last-generated=") > -1: - if line.find(str(current_date))> -1: - shutil.copy2(t,new_ref_path) - continue - - - exit(ret_val) - - elif args.coverage_only: - ret_val = _run_coverage_only(batch = args.batch, - tool = args.tool, - package = single_package, - path = args.path, - n_pro = args.number_of_processors, - show_gui = args.show_gui) - exit(ret_val) - else: - from dymola.dymola_interface import DymolaInterface - from dymola.dymola_exception import DymolaException - - dymola = None - try: - - print("1: Starting Dymola instance") - if platform.system() == "Windows": - dymola = DymolaInterface() - else: - dymola = DymolaInterface(dymolapath="/usr/local/bin/dymola") - - ### Writes all information in the log file, not only the last entries - dymola.ExecuteCommand("Advanced.TranslationInCommandLog:=true;") - dym_sta_lic_available = dymola.ExecuteCommand('RequestOption("Standard");') - lic_counter = 0 - - green = "\033[0;32m" - CRED = '\033[91m' - CEND = '\033[0m' - - while dym_sta_lic_available == False: - print(CRED+"No Dymola License is available"+CEND) - dymola.close() - print("Check Dymola license after 60.0 seconds") - time.sleep(180.0) - ### Sets the Dymola path to activate the GUI - if platform.system() == "Windows": - dymola = DymolaInterface() - else: - dymola = DymolaInterface(dymolapath="/usr/local/bin/dymola") - dym_sta_lic_available = dymola.ExecuteCommand('RequestOption("Standard");') - lic_counter = lic_counter +1 - if lic_counter > 30: - if dym_sta_lic_available == False: - print(CRED+"There are currently no available Dymola licenses available. Please try again later."+CEND) - dymola.close() - exit(1) - print(("2: Using Dymola port " + str(dymola._portnumber))) - print(green+"Dymola License is available"+CEND) - retVal = _runUnitTests(batch = args.batch, - tool = args.tool, - package = single_package, - path = args.path, - n_pro = args.number_of_processors, - show_gui = args.show_gui, - modified_models = args.modified_models) - exit(retVal) - except DymolaException as ex: - print(("2: Error: " + str(ex))) - finally: - if dymola is not None: - dymola.close() - dymola = None diff --git a/bin/CITests/08_archiv/showMergeRequest.sh b/bin/CITests/08_archiv/showMergeRequest.sh deleted file mode 100644 index 4a13c58b..00000000 --- a/bin/CITests/08_archiv/showMergeRequest.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env bash -set -e - -if [ -z "$GL_TOKEN" ]; then - echo "GL_TOKEN not set" - echo "Please set the GitLab Private Token as GL_TOKEN" - exit 1 -fi - -echo "GL_TOKEN is set" - -# Extract the host where the server is running, and add the URL to the APIs -[[ $CI_PROJECT_URL =~ ^https?://[^/]+ ]] && HOST="${BASH_REMATCH[0]}/api/v4/projects/" - -# Look which is the default branch -#TARGET_BRANCH=`curl --silent "${HOST}${CI_PROJECT_ID}" --header "PRIVATE-TOKEN:${GL_TOKEN}" | jq --raw-output '.default_branch'`; -#TARGET_BRANCH = $TARGET_BRANCH - - -# The description of our new MR, we want to remove the branch after the MR has -# been closed -BODY="{ - \"id\": ${CI_PROJECT_ID}, - \"source_branch\": \"${Newbranch}\", - \"target_branch\": \"${TARGET_BRANCH}\", - \"remove_source_branch\": true, - \"title\": \"WIP: ${CI_COMMIT_REF_NAME}\", - \"assignee_id\":\"${GITLAB_USER_ID}\" -}"; -echo "$BODY" -echo -# Require a list of all the merge request and take a look if there is already -# one with the same source branch -LISTMR=`curl --silent "${HOST}${CI_PROJECT_ID}/merge_requests?state=opened" --header "PRIVATE-TOKEN:${GL_TOKEN}"`; -echo "$LISTMR" -COUNTBRANCHES=`echo ${LISTMR} | grep -o "\"${Newbranch}\":\"${CI_COMMIT_REF_NAME}\"" | wc -l`; -#COUNTBRANCHES=`echo ${LISTMR} | grep -o "\"source_branch\":\"${CI_COMMIT_REF_NAME}\"" | wc -l`; - -echo "$COUNTBRANCHES" -# No MR found, let's create a new one -if [ ${COUNTBRANCHES} -eq "0" ]; then - echo "No merge request is open"; - exit 0; -fi - -echo "Merge Request ist already open. No new merge request opened"; -exit 1 \ No newline at end of file diff --git a/bin/CITests/08_archiv/sort_models.py b/bin/CITests/08_archiv/sort_models.py deleted file mode 100644 index 8814fa91..00000000 --- a/bin/CITests/08_archiv/sort_models.py +++ /dev/null @@ -1,38 +0,0 @@ -import os -import sys - - -class git_models(object): - - def __init__(self, file_type): - self.file_type = file_type - - def sort_mo_models(self): - list_path = 'bin'+os.sep+'03_WhiteLists'+os.sep+'changedmodels.txt' - #print(list_path) - changed_models = open(list_path, "r") - modelica_models = [] - Lines = changed_models.readlines() - for i in Lines: - - if i.rfind(".mo")>-1: - #define modelica models - model_number = i.rfind(" ") - model_name = i[model_number:] - model_name = model_name.lstrip() - #model_name = model_name.replace(os.sep,".") - model_name = model_name.replace('/',".") - model_name = model_name[:model_name.rfind(".mo")] - modelica_models.append(model_name) - continue - else: - continue - print(modelica_models) - return modelica_models - -if __name__ == '__main__': - # Import git_model class - from sort_models import git_models - list_mo_models = git_models(".mo") - list_mo_models.sort_mo_models() - \ No newline at end of file diff --git a/bin/CITests/08_archiv/sort_models_check.py b/bin/CITests/08_archiv/sort_models_check.py deleted file mode 100644 index 17023e23..00000000 --- a/bin/CITests/08_archiv/sort_models_check.py +++ /dev/null @@ -1,118 +0,0 @@ -import os -import sys -import codecs - -class git_models(object): - - def __init__(self, file_type,package,list_path): - self.file_type = file_type - self.package = package - self.list_path = list_path - - def sort_mos_script(self): - changed_models = codecs.open(self.list_path, "r", encoding='utf8') - mos_scripts = [] - Lines = changed_models.readlines() - Line= str(Lines) - Line = Line.split(":") - for i in Line: - if i.rfind(".mos")> -1: - - if i.rfind("Scripts")>-1: - #define modelica models - i = i.replace("/",".") - i = i.replace(os.sep,".") - i = i.replace("..",".") - i = i.replace("Dymola","AixLib") - model_number = i.rfind(self.package) - if i.find(".package") > -1: - continue - if model_number > -1: - model_name = i[model_number:] - model_name = model_name.lstrip() - model_name = model_name.replace(os.sep,".") - model_name = model_name[:model_name.rfind(".mos")] - model_name = model_name.replace("..",".") - mos_scripts.append(model_name) - continue - else: - continue - else: - continue - changed_models.close() - return mos_scripts - - def sort_reference_txt(self): - #list_path = ".."+os.sep+'bin'+os.sep+'03_WhiteLists'+os.sep+'changedmodels.txt' - changed_models = codecs.open(self.list_path, "r", encoding='utf8') - reference_files = [] - Lines = changed_models.readlines() - Line= str(Lines) - Line = Line.split(":") - package = self.package.replace(".","_") - for i in Line: - if i.rfind(".txt")> -1: - if i.rfind("ReferenceResults")>-1: - #define modelica models - i = i.replace("/",".") - i = i.replace(os.sep,".") - i = i.replace("..",".") - model_number = i.rfind(package) - if i.find(".package") > -1: - continue - if model_number > -1: - model_name = i[model_number:] - model_name = model_name.lstrip() - model_name = model_name.replace(os.sep,".") - model_name = model_name[:model_name.rfind(".txt")] - model_name = model_name.replace("..",".") - model_name = model_name.replace("_",".") - reference_files.append(model_name) - continue - else: - continue - else: - continue - changed_models.close() - return reference_files - - def sort_mo_models(self): - #list_path = ".."+os.sep+'bin'+os.sep+'03_WhiteLists'+os.sep+'changedmodels.txt' - changed_models = codecs.open(self.list_path, "r", encoding='utf8') - modelica_models = [] - Lines = changed_models.readlines() - Line= str(Lines) - Line = Line.split(":") - for i in Line: - if i.rfind(".mo")> -1: - #define modelica models - i = i.replace("/",".") - i = i.replace(os.sep,".") - i = i.replace("..",".") - model_number = i.rfind(self.package) - if i.find(".package") > -1: - continue - if model_number > -1: - model_name = i[model_number:] - model_name = model_name.lstrip() - model_name = model_name.replace(os.sep,".") - model_name = model_name[:model_name.rfind(".mo")] - model_name = model_name.replace("..",".") - modelica_models.append(model_name) - continue - else: - continue - else: - continue - changed_models.close() - return modelica_models - -if __name__ == '__main__': - # Import git_model class - #list_path = ".."+os.sep+'bin'+os.sep+'03_WhiteLists'+os.sep+'changedmodels.txt' - list_path = 'bin'+os.sep+'03_WhiteLists'+os.sep+'changedmodels.txt' - - from sort_models import git_models - list_mo_models = git_models(".mo","AixLib.Utilities",list_path) - list_mo_models.sort_mo_models() - \ No newline at end of file diff --git a/bin/CITests/08_archiv/time.py b/bin/CITests/08_archiv/time.py deleted file mode 100644 index 15cb0fde..00000000 --- a/bin/CITests/08_archiv/time.py +++ /dev/null @@ -1,21 +0,0 @@ - -import time - -def time_counter(): - print("test") - value = False - Counter = 0 - while value == False: - print("This is printed immediately.") - time.sleep(2.4) - print("This is printed after 2.4 seconds.") - Counter = Counter +1 - if Counter > 5: - value = True - print("fertig") - - - - -if __name__ == '__main__': - time_counter() \ No newline at end of file diff --git a/bin/CITests/README.md b/bin/CITests/README.md deleted file mode 100644 index 369102c9..00000000 --- a/bin/CITests/README.md +++ /dev/null @@ -1,135 +0,0 @@ -# Here you find the Documentation for the CI Test for AixLib -## What is it? -At this time are five different Checks implemented. - - -## What is implement? - -## [_config.py](_config.py) -The files `_config.py` contains file references and set variables which are important for the tests as well as the creation of CI templates. - -Before the templates are created with the command - -`python bin/CITests/07_ci_templates/ci_templates.py`, - -the variables `image_name` and `variable_main_list` in the file `_config.py` should be checked to see if they are set correctly for the current repository. - -## [01_CleanUp](01_CleanUp) - -### cleanmodelica - -This script deletes following files: - - 'buildlog.txt', 'dsfinal.txt', 'dsin.txt', 'dslog.txt', - 'dsmodel*', 'dymosim', 'dymosim.lib', 'dymosim.exp', - 'dymosim.dll', 'dymola.log', 'dymosim.exe', '*.mat', '*.mof', - '*.bak-mo', 'request.', 'status.', 'status', 'failure', - 'success.','stop', 'stop.','fmiModelIdentifier.h', 'modelDescription.xml', - 'fmiFunctions.o', 'CSVWriter.csvWriter.csv', 'test.csv', - -### setting_check - -Checks if all necessary variables and files are set or exist. - -The test is performed by the commit `git commit -m "ci_setting"`. - -Then the templates are created based on the CI_setting.toml file and pushed into the current branch. - -## [02_UnitTests](02_UnitTests) -Scripts that simulate and validate modelica models using dymola - -### reference_check.py -The regression test is implemented with the following command: -`cd AixLib && python ../bin/CITests/02_UnitTests/reference_check.py -n 2 --tool dymola --single-package "AixLib.Airflow" --library AixLib --batch -DS 2020` - -Further information can be found under the following [link](../Documentation/How_to_integrate_new_tests.md) and explains among other things how to create new UnitTests. - -### validatetest.py -This test checks the models and simulates the packages "examples" and "validations". - -The following command is used to check the models except models that are on the whitelist : - -`python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package "Airflow" --library AixLib -DS 2020 --wh-library IBPSA --filterwhitelist` - -The following command is used to check the models without a whitelist: - -`python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package Airflow --library AixLib -DS 2020` - -The following command is used to simulate the examples except models that are on the whitelist : - -`python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package Airflow --library AixLib -DS 2020 --wh-library IBPSA --filterwhitelist --simulateexamples` - -The following command is used to simulate the examples without a whitelist: - -`python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package Airflow --library AixLib -DS 2020 --simulateexamples` - -## [03_SyntaxTests](03_SyntaxTests) -This folder evaluated and correct the code in the AixLib. - -### html_tidy_errors.py -At this point the HTML code in the Aixlib modelica Models is corrected. -Additionally the code is corrected the HTML Code to the HTML5 syntax. This include following Warning and Errors: - - Warning:

    attribute "align" not allowed for HTML5 - Warning: element removed from HTML5 - Warning:

    I|bZ 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⪻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 Ym2;uW3FlgWTyx-oArDW} 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 QT<=o&PY99yA0XTRA6kId(EtDd diff --git a/bin/CITests/04_api_script/README.md b/bin/CITests/04_api_script/README.md deleted file mode 100644 index bc73430a..00000000 --- a/bin/CITests/04_api_script/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# What is it? -The python script api_githuy.py creates independently a pull request for the current branch or comments messages into a pull request. \ No newline at end of file diff --git a/bin/CITests/04_api_script/api_github.py b/bin/CITests/04_api_script/api_github.py deleted file mode 100644 index 00f1ff4c..00000000 --- a/bin/CITests/04_api_script/api_github.py +++ /dev/null @@ -1,209 +0,0 @@ -import requests -import json -import argparse -import os -import sys -import time - -class GET_API_GITHUB(object): - - def __init__(self, github_repo, working_branch): - self.github_repo = github_repo - self.working_branch = working_branch - - def _get_pr_number(self): - url = f'https://api.github.com/repos/{self.github_repo}/pulls' - payload = {} - headers = { - 'Content-Type': 'application/json' - } - response = requests.request("GET", url, headers=headers, data=payload) - pull_request_json = response.json() - for pull in pull_request_json: - name = pull["head"].get("ref") - if name == self.working_branch: - return pull["number"] - - def _get_github_username(self): - branch = self.working_branch.replace("Correct_HTML_", "") - url = f'https://api.github.com/repos/{self.github_repo}/branches/{branch}' - payload = {} - headers = {} - response = requests.request("GET", url, headers=headers, data=payload) - branch = response.json() - commit = branch["commit"] - commit = commit["author"] - if commit is not None: - login = commit["login"] - return login - - def return_owner(self): - owner = self.github_repo.split("/") - return owner[0] - -class PULL_REQUEST_GITHUB(object): - - def __init__(self, github_repo, working_branch, github_token): - self.github_repo = github_repo - self.working_branch = working_branch - self.github_token = github_token - self.correct_branch = f'Correct_HTML_{self.working_branch}' - - def _post_comment_IBBSA_merge(self, owner, base_branch): - url = f'https://api.github.com/repos/{self.github_repo}/pulls' - #payload = '{\n \"title\": \"IBPSA Merge ' + self.working_branch + '\",\n \"body\": \"**Following you will find the instructions for the IBPSA merge:**\\n 1. Please pull this branch IBPSA_Merge to your local repository.\\n 2. As an additional saftey check please open the AixLib library in dymola and check whether errors due to false package orders may have occurred. You do not need to translate the whole library or simulate any models. This was already done by the CI.\\n 3. If you need to fix bugs or perform changes to the models of the AixLib, push these changes using this commit message to prevent to run the automatic IBPSA merge again: **`fix errors manually`**. \\n 4. You can also output the different reference files between the IBPSA and the AixLib using the CI or perform an automatic update of the referent files which lead to problems. To do this, use one of the following commit messages \\n **`Trigger CI - give different reference results`** \\n **`Trigger CI - Update reference results`** \\n The CI outputs the reference files as artifacts in GitLab. To find them go to the triggered pipeline git GitLab and find the artifacts as download on the right site. \\n 5. If the tests in the CI have passed successfully, merge the branch IBPSA_Merge to development branch. **Delete** the Branch ' + self.correct_branch + '\",\n \"head\": \"' + self.OWNER + ':' + self.correct_branch + '\",\n \"base\": \"' + self.working_branch + '\"\n \n}' - title = f'\"title\": \"IBPSA Merge {self.working_branch}\"' - body = f'\"body\":\"**Following you will find the instructions for the IBPSA merge:**\\n 1. Please pull this branch IBPSA_Merge to your local repository.\\n 2. As an additional saftey check please open the AixLib library in dymola and check whether errors due to false package orders may have occurred. You do not need to translate the whole library or simulate any models. This was already done by the CI.\\n 3. If you need to fix bugs or perform changes to the models of the AixLib, push these changes using this commit message to prevent to run the automatic IBPSA merge again: **`fix errors manually`**. \\n 4. You can also output the different reference files between the IBPSA and the AixLib using the CI or perform an automatic update of the referent files which lead to problems. To do this, use one of the following commit messages \\n **`ci_dif_ref`** \\n **`ci_update_ref`** \\n The CI outputs the reference files as artifacts in GitLab. To find them go to the triggered pipeline git GitLab and find the artifacts as download on the right site. \\n 5. If the tests in the CI have passed successfully, merge the branch IBPSA_Merge to development branch. **Delete** the Branch {self.working_branch}\"' - head = f'\"head\":\"{owner}:{self.working_branch}\"' - base = f'\"base\": \"{base_branch}\"' - message = f'\n {title},\n {body},\n {head},\n {base}\n' - payload = "{" + message + "}" - - headers = { - 'Authorization': 'Bearer '+self.github_token, - 'Content-Type': 'application/json' - } - response = requests.request("POST", url, headers=headers, data=payload) - return response - - def _post_pr_correct_html(self, owner): - branch = self.working_branch.replace("Correct_HTML_", "") - title = f'\"title\":\"Corrected HTML Code in branch {self.working_branch}\"' - body = f'\"body\":\"Merge the corrected HTML Code. After confirm the pull request, **pull** your branch to your local repository. **Delete** the Branch {self.working_branch}\"' - head = f'\"head\":\"{owner}:{self.working_branch}\"' - base = f'\"base\":\"{branch}\"' - message = f'\n {title},\n {body},\n {head},\n {base}\n' - url = f'https://api.github.com/repos/{self.github_repo}/pulls' - payload = "{"+message+"}" - headers = { - 'Authorization': 'Bearer ' + self.github_token, - 'Content-Type': 'application/json' - } - response = requests.request("POST", url, headers=headers, data=payload) - return response - - def _update_pr_assignees_correct_html(self, pr_number, assignees_owner): - url = f'https://api.github.com/repos/{self.github_repo}/issues/{str(pr_number)}' - assignees = f'\"assignees\":[\"{assignees_owner}\"]' - labels = f'\"labels\":[\"CI\", \"Correct HTML\"]' - payload = "{\r\n" + assignees + ",\r\n" + labels + "\r\n}" - headers = { - 'Authorization': 'Bearer ' + self.github_token, - 'Content-Type': 'application/json' - } - response = requests.request("PATCH", url, headers=headers, data=payload) - print(response.text.encode('utf8')) - print("User " + assignees_owner + " assignee to pull request Number " + str(pr_number)) - - def _update_pr_assignees_IPBSA_Merge(self, pr_number, assignees_owner): - url = f'https://api.github.com/repos/{self.github_repo}/issues/{str(pr_number)}' - assignees = f'\"assignees\":[\"{assignees_owner}\"]' - labels = f'\"labels\":[\"CI\", \"IBPSA_Merge\"]' - payload = "{\r\n" + assignees + ",\r\n" + labels + "\r\n}" - headers = { - 'Authorization': 'Bearer ' + self.github_token, - 'Content-Type': 'application/json' - } - response = requests.request("PATCH", url, headers=headers, data=payload) - print(f'User {assignees_owner} assignee to pull request Number {str(pr_number)}') - - - def _post_comment_regression(self, pr_number, page_url): - url = f'https://api.github.com/repos/{self.github_repo}/issues/{str(pr_number)}/comments' - message = f'Errors in regression test. Compare the results on the following page\\n {page_url}' - body = f'\"body\":\"{message}\"' - payload = "{"+body+"}" - headers = { - 'Authorization': 'Bearer ' + self.github_token, - 'Content-Type': 'application/json' - } - response = requests.request("POST", url, headers=headers, data=payload) - print(response.text) - - def _post_comment_show_plots(self, pr_number, page_url): - url = f'https://api.github.com/repos/{self.github_repo}/issues/{str(pr_number)}/comments' - message = f'Reference results have been displayed graphically and are created under the following page {page_url}' - payload = "{\"body\":\"" + message + "\"}" - headers = { - 'Authorization': 'Bearer ' + self.github_token, - 'Content-Type': 'application/json' - } - response = requests.request("POST", url, headers=headers, data=payload) - print(response.text) - - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description="Set Github Environment Variables") # Configure the argument parser - check_test_group = parser.add_argument_group("Arguments to set Environment Variables") - check_test_group.add_argument("-CB", "--correct-branch", default ="${Newbranch}", help="Branch to correct your Code") - check_test_group.add_argument("-GR", "--github-repo", default="RWTH-EBC/AixLib", help="Environment Variable owner/RepositoryName" ) - check_test_group.add_argument('-WB', "--working-branch",default="${TARGET_BRANCH}", help="Your current working Branch") - check_test_group.add_argument("--base-branch", default="master", - help="your base branch (master or develpment)") - check_test_group.add_argument('-GT', "--github-token", default="${GITHUB_API_TOKEN}", help="Your Set GITHUB Token") - check_test_group.add_argument("--prepare-plot", help="Plot new models with new created reference files", action="store_true") - check_test_group.add_argument("--show-plot", help="Plot new models with new created reference files", - action="store_true") - check_test_group.add_argument("--post-pr-comment", help="Plot new models with new created reference files", - action="store_true") - check_test_group.add_argument("--create-pr", help="Plot new models with new created reference files", - action="store_true") - check_test_group.add_argument("--correct-html", help="Plot new models with new created reference files", - action="store_true") - check_test_group.add_argument("--ibpsa-merge", help="Plot new models with new created reference files", - action="store_true") - check_test_group.add_argument("--merge-request", help="Comment for a IBPSA Merge request", action="store_true") - check_test_group.add_argument('-GP', "--gitlab-page", default="${GITLAB_Page}", help="Set your gitlab page url") - args = parser.parse_args() # Parse the arguments - - from api_github import GET_API_GITHUB - from api_github import PULL_REQUEST_GITHUB - - if args.post_pr_comment is True: - get_api = GET_API_GITHUB(github_repo=args.github_repo, working_branch=args.working_branch) - pr_number = get_api._get_pr_number() - print(f'Setting pull request number: {pr_number}') - page_url = f'{args.gitlab_page}/{args.working_branch}/plots' - print(f'Setting gitlab page url: {page_url}') - pull_request = PULL_REQUEST_GITHUB(github_repo=args.github_repo, working_branch=args.working_branch, - github_token=args.github_token) - if args.prepare_plot is True: - pull_request._post_comment_regression(pr_number, page_url) - if args.show_plot is True: - pull_request._post_comment_show_plots(pr_number, page_url) - if args.create_pr is True: - if args.correct_html is True: - pull_request = PULL_REQUEST_GITHUB(github_repo=args.github_repo, working_branch=args.working_branch, - github_token=args.github_token) - get_api = GET_API_GITHUB(github_repo=args.github_repo, working_branch=args.working_branch) - owner = get_api.return_owner() - pr_response = pull_request._post_pr_correct_html(owner) - time.sleep(3) - pr_number = get_api._get_pr_number() - print(f'Setting pull request number: {pr_number}') - assignees_owner = get_api._get_github_username() - if assignees_owner is not None: - print(f'Setting login name: {assignees_owner}') - else: - assignees_owner = "ebc-aixlib-bot" - print(f'Setting login name: {assignees_owner}') - pull_request._update_pr_assignees_correct_html(pr_number, assignees_owner) - exit(0) - if args.ibpsa_merge is True: - pull_request = PULL_REQUEST_GITHUB(github_repo=args.github_repo, working_branch=args.working_branch, - github_token=args.github_token) - get_api = GET_API_GITHUB(github_repo=args.github_repo, working_branch=args.working_branch) - owner = get_api.return_owner() - base_branch = "development" - pr_response = pull_request._post_comment_IBBSA_merge(owner, base_branch) - time.sleep(3) - pr_number = get_api._get_pr_number() - print(f'Setting pull request number: {pr_number}') - assignees_owner = get_api._get_github_username() - if assignees_owner is not None: - print(f'Setting login name: {assignees_owner}') - else: - assignees_owner = "ebc-aixlib-bot" - print(f'Setting login name: {assignees_owner}') - pull_request._update_pr_assignees_IPBSA_Merge(pr_number, assignees_owner) - exit(0) \ No newline at end of file diff --git a/bin/CITests/05_Converter/README.md b/bin/CITests/05_Converter/README.md deleted file mode 100644 index ec5d40f8..00000000 --- a/bin/CITests/05_Converter/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# What is it? -### lock_model -The script sets all models of the library for which a whitelist has been created to read-only mode. - -### google_charts -The script visualizes the deviation of failing models that failed the regression test. It also creates graphs of the generated values based on the reference files. \ No newline at end of file diff --git a/bin/CITests/05_Converter/google_charts.py b/bin/CITests/05_Converter/google_charts.py deleted file mode 100644 index aaf312ce..00000000 --- a/bin/CITests/05_Converter/google_charts.py +++ /dev/null @@ -1,629 +0,0 @@ -import matplotlib.pyplot as plt -from matplotlib.widgets import CheckButtons -import numpy as np -import sys, difflib -import os -from git import Repo -from shutil import copyfile -import shutil -import pathlib -import glob -import pandas as pd -import argparse - -class Plot_Charts(object): - - def __init__(self, package, library): - self.package = package - self.library = library - sys.path.append('bin/CITests') # Set files for informations, templates and storage locations - from _config import chart_dir, chart_temp_file, index_temp_file, layout_temp_file, ch_file, new_ref_file, show_ref_file, update_ref_file - self.new_ref_file = new_ref_file - self.ch_file = ch_file - self.chart_temp_file = chart_temp_file # path for google chart template - self.index_temp_file = index_temp_file - self.layout_temp_file = layout_temp_file - self.f_log = f'{self.library}{os.sep}unitTests-dymola.log' # path for unitTest-dymola.log, important for errors - self.csv_file = f'reference.csv' - self.test_csv = f'test.csv' - self.show_ref_file = show_ref_file - self.update_ref_file = update_ref_file - self.chart_dir = chart_dir # path for layout index - self.temp_chart_path = f'{chart_dir}{os.sep}{self.package}' # path for every single package - self.funnel_path = f'{self.library}{os.sep}funnel_comp' - self.ref_path = f'{self.library}{os.sep}Resources{os.sep}ReferenceResults{os.sep}Dymola' - self.index_html_file = f'{self.temp_chart_path}{os.sep}index.html' - self.layout_html_file = f'{self.chart_dir}{os.sep}index.html' - self.green = '\033[0;32m' - self.CRED = '\033[91m' - self.CEND = '\033[0m' - - def _read_show_reference(self): - if os.path.isfile(self.show_ref_file) is False: - print(f'File {self.show_ref_file} directonary does not exist.') - exit(0) - else: - print(f'Plot results from file {self.show_ref_file}') - file = open(self.show_ref_file, "r") - lines = file.readlines() - ref_list = [] - for line in lines: - if len(line) == 0: - continue - else: - ref_list.append(f'{self.ref_path}{os.sep}{line.strip()}') - continue - file.close() - if len(ref_list) == 0: - print(f'No reference files in file {self.show_ref_file}. Please add here your reference files you want to update') - exit(0) - return ref_list - - def _prepare_data(self, results): # prepare data from reference results(.txt) - distriction_values = results[0] # Value Number with Legend - distriction_time = results[1] # Value time with time sequence - X_Axis = results[3] # Number value - time_list = [] - var_list = [] - value_list = [] - for y in X_Axis: - time_list.append(y) - for x in distriction_values: - t = ((distriction_values[x].split(","))) - var_list.append(t) - new = zip(time_list, zip(*var_list)) - result_set = list(new) - for a in result_set: - a = str(a) - a = a.replace("(", "") - a = a.replace("[", "") - a = a.replace("]", "") - a = a.replace(")", "") - a = a.replace("'", "") - a = a.replace("\\n", "") - value_list.append("[" + a + "]") - value_list = map(str, (value_list)) - return value_list - - def _read_data(self, ref_file): # Read Reference results in AixLib\Resources\ReferenceResults\Dymola\${modelname}.txt - Value_List = [] - X_Axis, Y_Axis = [], [] - distriction_values = {} - distriction_time = {} # searches for values and time intervals - for line in open(ref_file, 'r'): - if line.find("last-generated=") > -1: - continue - if line.find("statistics-simulation=") > -1: - continue - values = (line.split("=")) - if len(values) < 2: - continue - legend = values[0] - numbers = values[1] - if legend.find("time") > -1: - distriction_time[legend] = numbers - continue - distriction_values[legend] = numbers - Value_List.append(legend) - continue - for i in Value_List: - y = distriction_values.get(i) - y = y.split(",") - for v in y: - v = v.replace("[", "") - v = v.replace("]", "") - v = v.replace("\n", "") - v = v.replace("'", "") - v = v.lstrip() - Y_Axis.append(v) - x = distriction_time.get("time") - if x is None: - return distriction_values, distriction_time, Value_List, X_Axis, ref_file - else: - x = x.replace("[", "") - x = x.replace("]", "") - x = x.replace("\n", "") - x = x.replace("'", "") - x = x.lstrip() - x = x.split(",") - time_end = float((x[len(x) - 1])) - time_beg = float((x[0])) - time_int = time_end - time_beg - if len(Value_List) == 0: - return distriction_values, distriction_time, Value_List, X_Axis, ref_file - else: - tim_seq = time_int / (float(len(Y_Axis)) / float(len(Value_List))) - num_times = time_beg - times_list = [] - t = ((float(len(Y_Axis)) / float(len(Value_List)))) - i = 0 - while (i) < t: - times_list.append(num_times) - num_times = num_times + tim_seq - i = i + 1 - X_Axis = times_list - - return distriction_values, distriction_time, Value_List, X_Axis, ref_file - - def _get_updated_reference_files(self): - if os.path.isfile(self.update_ref_file) is False: - print(f'File {self.update_ref_file} directonary does not exist.') - exit(0) - else: - print(f'Plot results from file {self.update_ref_file}') - file = open(self.update_ref_file, "r") - lines = file.readlines() - ref_list = [] - for line in lines: - line = line.strip() - if line.find(".txt") > -1 and line.find("_"): - ref_list.append(f'{self.ref_path}{os.sep}{line.strip()}') - continue - file.close() - return ref_list - - def _get_new_reference_files(self): - if os.path.isfile(self.new_ref_file) is False: - print(f'File {self.new_ref_file} directonary does not exist.') - exit(0) - else: - print(f'Plot results from file {self.new_ref_file}') - file = open(self.new_ref_file, "r") - lines = file.readlines() - ref_list = [] - for line in lines: - line = line.strip() - if line.find(".txt") > -1 and line.find("_"): - ref_list.append(f'{line.strip()}') - continue - return ref_list - - def _get_values(self, lines): - time_list = [] - measure_list = [] - for line in lines: # searches for values and time intervals - if line.find("last-generated=") > -1: - continue - if line.find("statistics-simulation=") > -1: - continue - if line.split("="): - line = line.replace("[", "") - line = line.replace("]", "") - line = line.replace("'", "") - values = (line.replace("\n", "").split("=")) - if len(values) < 2: - continue - else: - legend = values[0] - measures = values[1] - if legend.find("time") > -1: - time_str = f'{legend}:{measures}' - else: - measure_len = len(measures.split(",")) - measure_list.append(f'{legend}:{measures}') - return time_str, measure_list, measure_len - - def _get_time_int(self, time_list, measure_len): - - time_val = time_list.split(":")[1] - time_beg = time_val.split(",")[0] - time_end = time_val.split(",")[1] - time_int = float(time_end) - float(time_beg) - tim_seq = time_int / float(measure_len) - time_num = float(time_beg) - time_list = [] - for time in range(0, measure_len + 1): - time_list.append(time_num) - time_num = time_num + tim_seq - return time_list - - def _createFolder(self, directory): - try: - if not os.path.exists(directory): - os.makedirs(directory) - except OSError: - print(f'Error: Creating directory. {directory}') - - def _read_unitTest_numerical_log(self): - log_file = open(self.f_log, "r") - lines = log_file.readlines() - model_list = [] - for line in lines: - if line.find("*** Warning:") > -1: - if line.find("*** Warning: Numerical Jacobian in 'RunScript") > -1 and line.find(".mos") > -1: - model = line[line.rfind((os.sep)) :line.find(".mos")].lstrip() - model_list.append(model) - return model_list - - def _read_unitTest_log(self): # Read unitTest_log from regressionTest, write variable and modelname with difference - log_file = open(self.f_log, "r") - lines = log_file.readlines() - model_var_list = [] - for line in lines: - if line.find("*** Warning:") > -1: - if line.find(".mat") > -1: - model = line[line.find(("Warning:")) + 9:line.find(".mat")] # modelname - var = line[line.find((".mat:")) + 5:line.find("exceeds ")].lstrip() # variable name - model_var_list.append(f'{model}:{var}') - if line.find("*** Warning: Numerical Jacobian in 'RunScript") > -1 and line.find(".mos") > -1: - model = line[line.rfind(os.sep)+1 :line.find(".mos")].lstrip() - var = "" - model_var_list.append(f'{model}:{var}') - return model_var_list - - def _get_ref_file(self, model): - for file in os.listdir(self.ref_path): - if file.find(model) > -1: - return file - else: - continue - - def _sort_mo_var(self, dic): # Search for variables in referencefiles - mo_list = [] - var_mod_dic = {} - for i in dic: - mo_list.append(i) - for file in os.listdir(self.ref_path): - for l in mo_list: - if file.find(l) > -1: - var_mod_dic[self.ref_path + os.sep + file] = dic[l] - return var_mod_dic - - def _read_csv_funnel(self, url): # Read the differenz variables from csv_file and test_file - csv_file = f'{url.strip()}{os.sep}{self.csv_file}' - test_csv = f'{url.strip()}{os.sep}{self.test_csv}' - try: - var_model = pd.read_csv(csv_file) - var_test = pd.read_csv(test_csv) - temps = var_model[['x', 'y']] - d = temps.values.tolist() - c = temps.columns.tolist() - test_tmp = var_test[['x', 'y']] - e = test_tmp.values.tolist() - e_list = [] - for i in range(0, len(e)): - e_list.append((e[i][1])) - - result = zip(d, e_list) - result_set = list(result) - value_list = [] - for i in result_set: - i = str(i) - i = i.replace("(", "") - i = i.replace("[", "") - i = i.replace("]", "") - i = i.replace(")", "") - value_list.append("[" + i + "]") - return value_list - except pd.errors.EmptyDataError: - print(f'{csv_file} is empty') - - def _check_folder_path(self): - if os.path.isdir(self.funnel_path) is False: - print(f'Funnel directonary does not exist.') - else: - print(f'Search for results in {self.funnel_path}') - if os.path.isdir(self.temp_chart_path) is False: - if os.path.isdir(self.chart_dir) is False: - os.mkdir(self.chart_dir) - os.mkdir(self.temp_chart_path) - print(f'Save plot in {self.temp_chart_path}') - else: - print(f'Save plot in {self.temp_chart_path}') - - def _get_var(self, model): - folder = os.listdir(f'{self.funnel_path}') - var_list = [] - for ref in folder: - if ref[:ref.find(".mat")] == model: - var = ref[ref.rfind(".mat") + 5:] - var_list.append(var) - return var_list - - def _get_funnel_model(self, model): - folder = os.listdir(f'{self.library}{os.sep}funnel_comp') - funnel_list = [] - for ref in folder: - if ref.find(model) > -1: - funnel_list.append(ref) - return funnel_list - - def _mako_line_html_chart(self, model, var): # Load and read the templates, write variables in the templates - from mako.template import Template - if var == "": - path_list = os.listdir((f'{self.library}{os.sep}funnel_comp'.strip())) - for file in path_list: - if file[:file.find(".mat")] == model: - path_name = (f'{self.library}{os.sep}funnel_comp{os.sep}{file}'.strip()) - var = file[file.find(".mat") + 5:] - if os.path.isdir(path_name) is False: - print(f'Cant find folder: {self.CRED}{model}{self.CEND} with variable {self.CRED}{var}{self.CEND}') - else: - print(f'Plot model: {self.green}{model}{self.CEND} with variable:{self.green} {var}{self.CEND}') - value = Plot_Charts._read_csv_funnel(self, path_name) - mytemplate = Template(filename=self.chart_temp_file) # Render Template - hmtl_chart = mytemplate.render(values=value, var=[f'{var}_ref', var], model=model, - title=f'{model}.mat_{var}') - file_tmp = open(f'{self.temp_chart_path}{os.sep}{model}_{var.strip()}.html', "w") - file_tmp.write(hmtl_chart) - file_tmp.close() - else: - path_name = (f'{self.library}{os.sep}funnel_comp{os.sep}{model}.mat_{var}'.strip()) - if os.path.isdir(path_name) is False: - print(f'Cant find folder: {self.CRED}{model}{self.CEND} with variable {self.CRED}{var}{self.CEND}') - else: - print(f'Plot model: {self.green}{model}{self.CEND} with variable:{self.green} {var}{self.CEND}') - value = Plot_Charts._read_csv_funnel(self, path_name) - mytemplate = Template(filename=self.chart_temp_file) # Render Template - hmtl_chart = mytemplate.render(values=value, var=[f'{var}_ref', var], model=model, - title=f'{model}.mat_{var}') - file_tmp = open(f'{self.temp_chart_path}{os.sep}{model}_{var.strip()}.html', "w") - file_tmp.write(hmtl_chart) - file_tmp.close() - - def _mako_line_html_new_chart(self, ref_file, value_list, legend_List): # Load and read the templates, write variables in the templates - from mako.template import Template - if os.path.isfile(ref_file) is False: - print(f'Cant find folder: {self.CRED}{ref_file[ref_file.rfind(os.sep)+1:]}{self.CEND} with variables: {self.CRED}{legend_List}{self.CEND}') - else: - print(f'Plot model: {self.green}{ref_file[ref_file.rfind(os.sep)+1:]}{self.CEND} with variables:\n{self.green}{legend_List}{self.CEND}\n') - mytemplate = Template(filename=self.chart_temp_file) # Render Template - hmtl_chart = mytemplate.render(values=value_list, var=legend_List, model=ref_file, title=ref_file) - file_tmp = open(f'{self.temp_chart_path}{os.sep}{ref_file[ref_file.rfind(os.sep):].replace(".txt", ".html")}', "w") - file_tmp.write(hmtl_chart) - file_tmp.close() - - def _mako_line_ref_chart(self, model, var): # Load and read the templates, write variables in the templates - from mako.template import Template - - path_name = (f'{self.library}{os.sep}funnel_comp{os.sep}{model}.mat_{var}'.strip()) - - folder = os.path.isdir(path_name) - if folder is False: - print(f'Cant find folder: {self.CRED}{model}{self.CEND} with variable {self.CRED}{var}{self.CEND}') - else: - print(f'Plot model: {self.green}{model}{self.CEND} with variable:{self.green} {var}{self.CEND}') - value = Plot_Charts._read_csv_funnel(self, path_name) - - mytemplate = Template(filename=self.chart_temp_file) # Render Template - hmtl_chart = mytemplate.render(values=value, var=[f'{var}_ref', var], model=model, - title=f'{model}.mat_{var}') - file_tmp = open(f'{self.temp_chart_path}{os.sep}{model}_{var.strip()}.html', "w") - file_tmp.write(hmtl_chart) - file_tmp.close() - - def _create_index_layout(self): # Create a index layout from a template - from mako.template import Template - html_file_list = [] - for file in os.listdir(self.temp_chart_path): - if file.endswith(".html") and file != "index.html": - html_file_list.append(file) - mytemplate = Template(filename=self.index_temp_file) - if len(html_file_list) == 0: - print(f'No html files') - os.rmdir(self.temp_chart_path) - exit(0) - else: - hmtl_chart = mytemplate.render(html_model=html_file_list) - file_tmp = open(self.index_html_file, "w") - file_tmp.write(hmtl_chart) - file_tmp.close() - print(f'Create html file with reference results.') - - def _create_layout(self): # Creates a layout index that has all links to the subordinate index files - package_list = [] - for folder in os.listdir(self.chart_dir): - if folder == "style.css" or folder == "index.html": - continue - else: - package_list.append(folder) - - from mako.template import Template - mytemplate = Template(filename=self.layout_temp_file) - if len(package_list) == 0: - print(f'No html files') - exit(0) - else: - hmtl_chart = mytemplate.render(single_package=package_list) - file_tmp = open(self.layout_html_file, "w") - file_tmp.write(hmtl_chart) - file_tmp.close() - - def _check_file(self): - file_check = os.path.isfile(self.f_log) - if file_check is False: - print(f'{self.f_log} does not exists.') - exit(1) - else: - print(f'{self.f_log} exists.') - - def _get_lines(self, ref_file): - ref = open(f'{ref_file}', "r") - lines = ref.readlines() - ref.close() - return lines - - def _get_funnel_comp(self): - folder = os.listdir(self.funnel_path) - return folder - -def _delte_folder(): - sys.path.append('bin/CITests') - from _config import chart_dir - - if os.path.isdir(chart_dir) is False: - print(f'directonary {chart_dir} does not exist.') - else: - folder_list = os.listdir(chart_dir) - print(folder_list) - for folder in folder_list: - if folder.find(".") > -1: - os.remove(chart_dir + os.sep + folder) - continue - else: - shutil.rmtree(chart_dir + os.sep + folder) - - -if __name__ == '__main__': - green = "\033[0;32m" # Set colors - CRED = '\033[91m' - CEND = '\033[0m' - parser = argparse.ArgumentParser(description='Plot diagramms') # Initialize a Parser - unit_test_group = parser.add_argument_group("arguments to plot diagrams") - - unit_test_group.add_argument("--line-html", - help='plot a google html chart in line form', - action="store_true") - unit_test_group.add_argument("--create-layout", - help='plot a google html chart in line form', - action="store_true") - unit_test_group.add_argument("--line-matplot", - help='plot a google html chart in line form', - action="store_true") - unit_test_group.add_argument("-m", "--modellist", - metavar="Modelica.Model", - help="Plot this model") - unit_test_group.add_argument("--new-ref", - help="Plot new models with new created reference files", - action="store_true") - unit_test_group.add_argument("-pM", "--plotModel", - help="Plot this model", - action="store_true") - unit_test_group.add_argument("--all-model", - help='Plot all model', - action="store_true") - unit_test_group.add_argument("-e", "--error", - help='Plot only model with errors', - action="store_true") - unit_test_group.add_argument("--show-ref", - help='Plot only model with errors', - action="store_true") - unit_test_group.add_argument("--update-ref", - help='Plot only updated models', - action="store_true") - unit_test_group.add_argument("--show-package", - help='Plot only updated models', - action="store_true") - - unit_test_group.add_argument('-s', "--single-package", - metavar="Modelica.Package", - help="Test only the Modelica package Modelica.Package") - unit_test_group.add_argument("-L", "--library", default="AixLib", help="Library to test") - unit_test_group.add_argument('-fun', "--funnel-comp", - help="Take the datas from funnel_comp", - action="store_true") - unit_test_group.add_argument('-ref', "--ref-txt", - help="Take the datas from reference datas", - action="store_true") - - args = parser.parse_args() # Parse the arguments - from google_charts import Plot_Charts - charts = Plot_Charts(package=args.single_package, library=args.library) - - - if args.library is None: - print(f'Please set a library (e.g. --library AixLib') - exit(0) - else: - print(f'Setting library: {args.library}') - if args.single_package is None: - print(f'Please set a package (e.g. --single-package Airflow)') - exit(0) - else: - print(f'Setting package: {args.single_package}') - - if args.line_html is True: # Create Line chart html - _delte_folder() - if args.error is True: # Plot all data with an error - charts._check_file() - model_var_list = charts._read_unitTest_log() - charts._check_folder_path() - print(f'Plot line chart with different reference results.\n') - for model_var in model_var_list: - list = model_var.split(":") - model = list[0] - var = list[1] - if args.funnel_comp is True: # Data from funnel comp - charts._mako_line_html_chart(model, var) - if args.ref_txt is True: # Data from reference files - ref_file = charts._get_ref_file(model) - if ref_file is None: - print(f'Referencefile for model {model} does not exist.') - continue - else: - lines = charts._get_lines(ref_file) - result = charts._get_values(lines) - time_list = result[0] - measure_list = result[1] - measure_len = result[2] - time_list = charts._get_time_int(time_list, measure_len) - charts._mako_line_ref_chart(model, var) - charts._create_index_layout() - charts._create_layout() - - if args.new_ref is True: # python bin/02_CITests/Converter/google_charts.py --line-html --new-ref --single-package AixLib --library AixLib - charts._check_folder_path() - ref_list = charts._get_new_reference_files() - print(f'\n\n') - for ref_file in ref_list: - if os.path.isfile(ref_file) is False: - print(f'File {ref_file} does not exist.') - continue - else: - print(f'\nCreate plots for reference result {ref_file}') - results = charts._read_data(ref_file) - value_list = charts._prepare_data(results) - legend_List = results[2] # Legend name - ref_file = results[4] # Reference File - charts._mako_line_html_new_chart(ref_file, value_list, legend_List) - charts._create_index_layout() - charts._create_layout() - - if args.update_ref is True: # python bin/02_CITests/Converter/google_charts.py --line-html --update-ref --single-package AixLib --library AixLib - charts._check_folder_path() - ref_list = charts._get_updated_reference_files() - print(f'\n\n') - for ref_file in ref_list: - if os.path.isfile(ref_file) is False: - print(f'File {ref_file} does not exist.') - continue - else: - print(f'\nCreate plots for reference result {ref_file}') - results = charts._read_data(ref_file) - value_list = charts._prepare_data(results) - legend_List = results[2] # Legend name - ref_file = results[4] # Reference File - charts._mako_line_html_new_chart(ref_file, value_list, legend_List) - charts._create_index_layout() - charts._create_layout() - - if args.show_ref is True: # python bin/02_CITests/Converter/google_charts.py --line-html --show-ref --single-package AixLib --library AixLib - charts._check_folder_path() - ref_list = charts._read_show_reference() - print(f'\n\n') - for ref_file in ref_list: - if os.path.isfile(ref_file) is False: - print(f'File {ref_file} does not exist.') - continue - else: - print(f'\nCreate plots for reference result {ref_file}') - results = charts._read_data(ref_file) - value_list = charts._prepare_data(results) - legend_List = results[2] # Legend name - ref_file = results[4] # Reference File - charts._mako_line_html_new_chart(ref_file, value_list, legend_List) - charts._create_index_layout() - charts._create_layout() - - if args.show_package is True: # python bin/02_CITests/Converter/google_charts.py --line-html --show-package --funnel-comp --single-package ThermalZone - charts._check_folder_path() - folder = charts._get_funnel_comp() - for ref in folder: - model = ref[:ref.find(".mat")] - var = ref[ref.rfind(".mat") + 5:] - if args.funnel_comp is True: # Data from funnel comp - charts._mako_line_html_chart(model, var) - charts._create_index_layout() - charts._create_layout() - if args.create_layout is True: - charts._create_layout() diff --git a/bin/CITests/05_Converter/lock_model.py b/bin/CITests/05_Converter/lock_model.py deleted file mode 100644 index 333701b2..00000000 --- a/bin/CITests/05_Converter/lock_model.py +++ /dev/null @@ -1,160 +0,0 @@ -import os -from pathlib import Path -import argparse -import sys - -class Lock_model(object): - - def __init__(self, library, wh_library): - self.library = library - self.wh_library = wh_library - sys.path.append('bin/CITests') - - from _config import html_wh_file - self.html_wh_file = html_wh_file - - def _read_wh(self): # Read whitelist and return a list - wh = open(self.html_wh_file, "r") - wl_lines = wh.readlines() - wh.close() - return wl_lines - - def _sort_list(self, wl_lines): # Sort List of models - model_list = [] - for line in wl_lines: - if len(line) == 1: - continue - if line.find("package.mo") > -1: - continue - if line.find("package.order") > -1: - continue - if line.find("UsersGuide") > -1: - continue - else: - line = line.replace(self.wh_library, self.library) - mo = line.replace(".", os.sep, line.count(".")-1) - mo = mo.lstrip() - mo = mo.strip() - model_list.append(mo) - return model_list - - def _add_icon(self, mo_li): # Add ibpsa icon and search a suitable line - entry = " extends AixLib.Icons.ibpsa;" - for i in mo_li: - if Lock_model._exist_file(self, i) == True: - print(i) - f = open(i,"r+") - lines = f.readlines() - f.close() - mo = i[i.rfind(os.sep)+1:i.rfind(".mo")] - y = [] - c = 0 - num = 0 - semi = 0 - ano = 0 - for t in lines: - c = c + 1 - if t.find(mo) > -1: # ModelName == Zeile Mit Modelname - if len(y) == 0: - if t.find("type ") > -1: - y = [] - break - if t.find("function ") > -1: - y = [] - break - if t.find("record ") > -1: - y = [] - break - if t.find("package ") > -1: - y = [] - break - if t.find("=") > -1: - y = [] - break - else: - if t.count('"') == 2: - y.append(c) - continue - else: - ano = 1 - y.append(c) - continue - if len(y) == 1 and ano == 1: - if t.count('"') == 2: - y.append(c) - continue - if t.find(";")> -1 and semi == 1: - y.append(c) - semi = 0 - continue - if t.find("parameter") > -1: - break - if t.find("annotation")> -1 : - break - if t.find("extends") > -1: - num = 1 - if t.find("extends AixLib.Icons.ibpsa;") == -1: - if t.find(";") > -1: - y.append(c) - continue - else: - semi = 1 - y.append(c) - - if t.find("extends AixLib.Icons.ibpsa;") > -1: - y = [] - break - if num == 1: - if len(t) == 0: - y.append(c) - break - if len(y)==0: - continue - else: - lines.insert(y[len(y)-1] , "\n" + entry + "\n") - f = open(i, "w") - f.writelines(lines) - f.close() - else: - print("\n************************************") - print(i) - print("File does not exist.") - - def _exist_file(self, file): # File exist - f = Path(file) - if f.is_file(): - return True - else: - return False - - def _lock_model(self, mo_li): # lock ibpsa models - entry = ' __Dymola_LockedEditing="ibpsa");' - old_text = '"));' - new_text = '"), ' +"\n" + entry - replacements = {old_text : new_text} - for model in mo_li: - if Lock_model._exist_file(self, model) is True: - print(f'lock object: {model}') - infile = open(model, "r").read() - outfile = open(model, 'w') - for i in replacements.keys(): - infile = infile.replace(i, replacements[i]) - outfile.write(infile) - outfile.close() - else: - print(f'\n************************************\n{model}\nFile does not exist.') - continue - -if __name__ == '__main__': - # python bin/02_CITests/Converter/ibpsa_icon.py --library "AixLib" --wh-library "IBPSA" - parser = argparse.ArgumentParser(description='Lock models.') - unit_test_group = parser.add_argument_group("arguments to run class Lock_model") - unit_test_group.add_argument("-L", "--library", default="AixLib", help="Library to test") - unit_test_group.add_argument("-wh-l", "--wh-library", help="Library to test") - args = parser.parse_args() - - from lock_model import Lock_model - lock = Lock_model(library=args.library, wh_library=args.wh_library) - wl_lines = lock._read_wh() - mo_li = lock._sort_list(wl_lines) - lock._lock_model(mo_li) diff --git a/bin/CITests/06_deploy/IBPSA_Merge/copy_conversion_script.py b/bin/CITests/06_deploy/IBPSA_Merge/copy_conversion_script.py deleted file mode 100644 index 339f5b12..00000000 --- a/bin/CITests/06_deploy/IBPSA_Merge/copy_conversion_script.py +++ /dev/null @@ -1,239 +0,0 @@ -import os -import sys -import shutil -import glob -import argparse - -def copy_mos(ibpsa_dir,dst): - #IBPSA/Resources/Scripts/Dymola/ConvertIBPSA_from_3.0_to_4.0.mos - # D:\01_Arbeit\04_Github\01_GitLabCI\master\GitLabCI\IBPSA\IBPSA\Resources\Scripts\Dymola - #D:\01_Arbeit\04_Github\01_GitLabCI\master\GitLabCI - ''' Copy the ConvertIBPSA mos Script''' - if os.path.isdir(dst) : - pass - else: - os.mkdir(dst) - #for file in glob(ibpsa_dir): - file = (glob.glob(ibpsa_dir)) - # Look which ConvertScript is the latest - if len(file)==0: - print("Cant find a Conversion Script in IBPSA Repo") - exit(0) - - if len(file)>1: - list = [] - for i in file: - i = i.replace(".mos","") - list.append(i) - - data = (sorted(list, key=lambda x: float(x[x.find("_to_")+4:]))) - data = (data[len(data)-1]) - i = data+".mos" - data = data.split(os.sep) - data = data[len(data)-1] - data = dst +os.sep+ data+".mos" - - shutil.copy(i,dst) - if len(file) == 1: - for i in file: - shutil.copy(i, dst) - file = file[len(file)-1] - data = file.split(os.sep) - data = data[len(data)-1] - data = dst +os.sep+ data - - - return data - - - '''for root, subdirs, files in os.walk('D:\\01_Arbeit\\04_Github\\01_GitLabCI\\master'): - - for d in subdirs: - if d == "IBPSA": - print(root) - print(files) - ''' -# Read the last aixlib mos sciprt -def read_aixlib_convert(aixlib_dir): - filelist = (glob.glob(aixlib_dir+os.sep+"*.mos")) - list = [] - for i in filelist: - i = i.replace(".mos","") - list.append(i) - - - data = (sorted(list, key=lambda x: float(x[x.find("_to_0")+6:]))) - data = (data[len(data)-1]) - - d = data[data.find("_to_0")+6:data.rfind(".")] - last_conv_list = [] - for i in list: - num = i[i.find("_to_0")+6:i.rfind(".")] - if num == str(d): - last_conv_list.append(i) - continue - data = (sorted(last_conv_list, key=lambda x: int(x[x.rfind(".")+1:]))) - data = (data[len(data)-1]) - data = data.split(os.sep) - data = (data[len(data)-1])+".mos" - return data - -# change the paths in the script from IBPSA.Package.model -> AixLib.Package.model -def create_convert_aixlib(data,dst,l_conv_aix,comp): - - if comp is False: - print("The latest conversion script is up to date from the IBPSA") - if comp is True: - conv_number = l_conv_aix[l_conv_aix.find("ConvertAixLib_from_")+19:l_conv_aix.rfind(".mos")] - # Update FROM Number - - from_numb = str("0.")+((conv_number[conv_number.find("_to_0")+6:])) - - # Update TO Number - to_numb = int((conv_number[conv_number.find("_to_0")+6:conv_number.rfind(".")])) + 1 - to_numb = "0."+str(to_numb)+"." + str(0) - new_conv_number = str(from_numb)+"_to_"+str(to_numb) - file_new_conv = "ConvertAixLib_from_"+new_conv_number+".mos" - - aixlib_mos = dst+os.sep+file_new_conv - f = open(data, "r") - r = open(aixlib_mos,"w+") - for line in f: - if line.find("from:") > -1 and line.find(" Version") > -1 : - r.write("// from: Version " + from_numb + "\n") - continue - if line.find("to") > -1 and line.find(" Version") > -1 : - r.write("// to: Version " + to_numb+ "\n") - continue - else: - r.write(line.replace("IBPSA","AixLib")) - f.close() - r.close() - return aixlib_mos -# D:\01_Arbeit\04_Github\01_GitLabCI\master\GitLabCI\AixLib\Resources\Scripts -def copy_aixlib_mos(aixlib_mos,aixlib_dir,dst): - shutil.copy(aixlib_mos, aixlib_dir) - shutil.rmtree(dst) -def compare_conversions(data,aixlib_dir,l_conv_aix): - ipbsa_conv = data - aix_conv = aixlib_dir+os.sep+l_conv_aix - f = open(ipbsa_conv, "r") - r = open(aix_conv,"r") - IBPSA = f.readlines() - aixlib = r.readlines() - f.close() - r.close() - x = 0 - list = [] - if len(IBPSA) == len(aixlib): - for i in IBPSA: - i = i.replace("IBPSA","AixLib") - if i.find("from:") > -1 and i.find(" Version") > -1 : - x = x+1 - continue - - if i.find("to") > -1 and i.find(" Version") > -1 : - x = x+1 - continue - if i != aixlib[x]: - list.append(i) - x = x+1 - continue - - x = x+1 - else: - list.append(x) - - if len(list)>0: - return True - if len(list)==0: - return False -def _read_package(): - file = open("AixLib"+os.sep+"package.mo", "r") - list = [] - for line in file: - if line.find("conversion(from(") > -1: - list.append(line) - counter = 1 - continue - if line.find('.mos")),') >-1 and counter == 1: - - version_number = line[line.find("_to_")+4:line.find(".mos")] - return version_number - #list.append(version_number) - - #return list -def add_conv_to_package(aixlib_mos,aixlib_dir): - file = open("AixLib"+os.sep+"package.mo", "r") - list = [] - counter = 0 - number_beg = aixlib_mos[aixlib_mos.find("_to_")+4:aixlib_mos.find(".mos")] - - number = aixlib_mos[aixlib_mos.find("from")+5:aixlib_mos.find("_to")] - version_number = _read_package() - - #ConvertAixLib_from_0.11.0_to_0.12.0.mos")), - aixlib_mos = aixlib_mos[aixlib_mos.find("ConvertAixLib"):] - - for line in file: - if line.find('version =') and line.find(version_number) > -1: - list.append(line.replace(version_number,number_beg)) - - elif line.find("conversion(from(") > -1: - list.append(line) - counter = 1 - continue - elif line.find('.mos")),') >-1 and counter == 1: - ent = line.replace('.mos")),','.mos",') - list.append(ent) - version = ' version="'+number+'", script="modelica://'+aixlib_dir.replace(os.sep,"/")+'/' +aixlib_mos +'")),\n' - #print(version) - list.append(version) - counter = 0 - continue - else: - list.append(line) - continue - #for i in list: - # print(i) - file.close() - pack = open("AixLib"+os.sep+"package.mo", "w") - for i in list: - pack.write(i) - pack.close() -if __name__ == '__main__': - #aixlib_dir = "D:\\01_Arbeit\\04_Github\\01_GitLabCI\\master\\GitLabCI\\AixLib\\Resources\\Scripts" - #ibpsa_dir = 'D:\\01_Arbeit\\04_Github\\01_GitLabCI\\master\\GitLabCI\\modelica-ibpsa\\IBPSA\\Resources\\Scripts\\Dymola\\ConvertIBPSA_*' - #dst = "D:\\01_Arbeit\\04_Github\\01_GitLabCI\\master\\GitLabCI\\Convertmos" - - parser = argparse.ArgumentParser(description = "Set Github Environment Variables") - check_test_group = parser.add_argument_group("Arguments to set Environment Variables") - check_test_group.add_argument("-dst", "--dst", default ="Convertmos", help="temp folder") - check_test_group.add_argument("-ad", "--aixlib-dir", default="AixLib\\Resources\\Scripts", help="path to the aixlib scripts" ) - check_test_group.add_argument('-id',"--ibpsa-dir",default='modelica-ibpsa\\IBPSA\\Resources\\Scripts\\Dymola\\ConvertIBPSA_*', help="path to the ibpsa scripts") - - # Parse the arguments - args = parser.parse_args() - - dst = args.dst - aixlib_dir = args.aixlib_dir - ibpsa_dir = args.ibpsa_dir - - data = copy_mos(ibpsa_dir,dst) - l_conv_aix = read_aixlib_convert(aixlib_dir) - comp = compare_conversions(data,aixlib_dir,l_conv_aix) - aixlib_mos = create_convert_aixlib(data,dst,l_conv_aix,comp) - if aixlib_mos is None: - print("please check when the last merge took place") - shutil.rmtree(dst) - else: - copy_aixlib_mos(aixlib_mos,aixlib_dir,dst) - add_conv_to_package(aixlib_mos,aixlib_dir) - print("New Aixlib Conversion skrip was created") - - _read_package() - #aixlib_mos = "ConvertAixLib_from_0.11.0_to_0.12.0.mos" - #aixlib_dir = "D:\01_Arbeit\04_Github\01_GitLabCI\IBPSA_Merge\GitLabCI\AixLib\Resources\Scripts" - #aixlib_dir = "AixLib\Resources\Scripts" - - #add_conv_to_package(aixlib_mos,aixlib_dir) \ No newline at end of file diff --git a/bin/CITests/06_deploy/IBPSA_Merge/correct_userguide.py b/bin/CITests/06_deploy/IBPSA_Merge/correct_userguide.py deleted file mode 100644 index b3b0ef41..00000000 --- a/bin/CITests/06_deploy/IBPSA_Merge/correct_userguide.py +++ /dev/null @@ -1,36 +0,0 @@ -import os -import glob - -def folder_userguide(aixlib_dir): - #file = (glob.glob(ibpsa_dir)) - for root, dirs, files in os.walk(aixlib_dir): - #print(root[root.rfind(os.sep)+1:]) - #g = root.split(os.sep) - #print(dirs) - if root[root.rfind(os.sep)+1:] == "UsersGuide": - for file in files: - if file == "package.order": - #print(file) - #print(root+os.sep+file) - order_file = root+os.sep+file - print(order_file) - f = open(order_file, "r") - lines = f.readlines() - f.close() - new_order_file = open (order_file,"w") - - for line in lines: - #print(line) - #if line.find("UsersGuide") > -1 : - if line.strip("\n") != "UsersGuide": - new_order_file.write(line) - print(line) - new_order_file.close() - - - -if __name__ == '__main__': - - aixlib_dir = "AixLib" - - folder_userguide(aixlib_dir) \ No newline at end of file diff --git a/bin/CITests/06_deploy/IBPSA_Merge/diff_reference.py b/bin/CITests/06_deploy/IBPSA_Merge/diff_reference.py deleted file mode 100644 index d94ef9d1..00000000 --- a/bin/CITests/06_deploy/IBPSA_Merge/diff_reference.py +++ /dev/null @@ -1,176 +0,0 @@ - -import numpy as np -import sys, difflib -import os -from git import Repo -from shutil import copyfile -import shutil -import pathlib -import glob - - - - - - -class Return_diff_files(object): - - def __init__(self, library, wh_library): - self.library = library - self.wh_library = wh_library - - sys.path.append('bin/CITests') - from _config import ref_file_dir, new_ref_file, resource_dir, artifacts_dir - self.artifacts_dir = artifacts_dir - self.ref_file_dir = ref_file_dir - self.new_ref_file = new_ref_file - self.resource_dir = resource_dir - self.path_lib_script = f'{self.library}{os.sep}{self.resource_dir}' - self.path_wh_lib_script = f'modelica-ibpsa{os.sep}{self.wh_library}{os.sep}{self.resource_dir}' - - self.diff_ref_dir = f'{self.artifacts_dir}{os.sep}diff_ref' - self.diff_mos_dir = f'{self.artifacts_dir}{os.sep}diff_mos' - self.new_mos_dir = f'{self.artifacts_dir}{os.sep}new_mos' - - def _CloneRepository(self): - git_url = "https://github.com/ibpsa/modelica-ibpsa.git" - repo_dir = "modelica-ibpsa" - if os.path.exists(repo_dir): - print(f'{self.wh_library} folder exists already!') - else: - print(f'Clone {self.wh_library} Repository.') - repo = Repo.clone_from(git_url, repo_dir) - - def _diff_mos(self): - lib_mos_list = glob.glob(f'{self.path_lib_script}{os.sep}**/*.mos', recursive=True) - wh_mos_list = glob.glob(f'{self.path_wh_lib_script}{os.sep}**/*.mos', recursive=True) - wh_lib_list = [] - lib_list = [] - for wh_mos in wh_mos_list: # Give double mos files - wh_lib_list.append(wh_mos.split(os.sep)[-1]) - for lib_mos in lib_mos_list: - lib_list.append(lib_mos.split(os.sep)[-1]) - set_lib = set(lib_list) - set_wh_lib = set(wh_lib_list) - inter_set = set_lib.intersection(set_wh_lib) - mos_list = list(inter_set) - for mos in mos_list: - lib_list = glob.glob(f'{self.path_lib_script}{os.sep}**/*{os.sep}{mos}', recursive=True) - wh_lib_list = glob.glob(f'{self.path_wh_lib_script}{os.sep}**/*{os.sep}{mos}', recursive=True) - for lib_mos in lib_list: - ibpsa = f'modelica-ibpsa{os.sep}{lib_mos.replace(self.library, self.wh_library)}' - result = f'{self.diff_mos_dir}{os.sep}{lib_mos}' - result = result.replace(self.path_lib_script, "") - #createFolder(result[:result.rfind(os.sep)]) - output_file = open(result, "w") - input_lib_file = open(aix, "r") - input_wh_lib_file = open(ibpsa, "r") - lib_line = input_lib_file.readline() - wh_lib_line = (input_wh_lib_file.readline()).replace(self.wh_library, self.library) - while lib_line != "" or wh_lib_line != "": - if lib_line != wh_lib_line: - output_file.write(f'{self.library}: {lib_line}') - output_file.write(f'{self.wh_library: {wh_lib_line}}\n') - line1 = inputFile1.readline() - line3 = inputFile2.readline() - input_lib_file.close() - input_wh_lib_file.close() - output_file.close() - if os.stat(result).st_size == 0: - os.remove(result) - - new_ref_list =(set_lib ^ set_wh_lib) & inter_set - new_mos_list = [] - for ref in new_ref_list: - if ref.find("ConvertIBPSA") > -1: - continue - else: - ibpsa = glob.glob(self.path_wh_lib_script+os.sep+'**/*'+os.sep+i, recursive=True) - new_mos_list.append(ibpsa) - source = self.new_mos_dir +os.sep+i - for l in ibpsa: - shutil.copy2(l,source) - - - def _diff_ref(self, path_aix, path_ibpsa, path_diff, path_new): - aix_ref_files = os.listdir(path_aix) - ibpsa_ref_files = os.listdir(path_ibpsa) - ibpsa_list = [] - for i in ibpsa_ref_files: # Give double reference files - i = i.replace(self.wh_library, self.library) - ibpsa_list.append(i) - set1 = set(aix_ref_files) - set2 = set(ibpsa_list) - set3 = set1.intersection(set2) - list3 = list(set3) - for f in list3: - aix_ref = f - ibpsa_ref = f.replace(self.library, self.wh_library) - aix_ref = path_aix+os.sep+ aix_ref - ibpsa_ref = path_ibpsa+os.sep+ibpsa_ref - result = path_diff +os.sep+f - outputFile = open(result, "w") - inputFile1 = open(aix_ref, "r") - inputFile2 = open(ibpsa_ref, "r") - line1 = inputFile1.readline() - line2 = inputFile2.readline() - while line1 != "" or line2 != "": - if line1 != line2: - outputFile.write(f'{self.library}: {line1}') - outputFile.write(f'{self.wh_library}: {line2} \n') - line1 = inputFile1.readline() - line2 = inputFile2.readline() - inputFile1.close() - inputFile2.close() - outputFile.close() - for root, dirs, files in os.walk(path_diff): - for name in files: - filename = os.path.join(root,name) - if os.stat(filename).st_size == 0: - os.remove(filename) - diff_ref = os.listdir(path_diff) - new_ref =(set1^set2)&set2 - for i in new_ref: - i = i.replace(self.library, self.wh_library) - source = path_ibpsa+os.sep+i - shutil.copy2(source, path_new) - new_ref =os.listdir(path_new) - return diff_ref, new_ref - - def _add_new_ref(self, diff_ref,new_ref,path_aix,path_ibpsa,path_new,path_diff): - new_ref_list = [] - for i in new_ref: - source = path_new+os.sep+i - ibp = path_new+os.sep+i.replace(self.wh_library, self.library) - file = pathlib.Path(ibp) - if file.exists(): - new_ref_list.append(file) - continue - if i.find(self.wh_library) > -1 : - i = i.replace(self.wh_library, self.library) - i = path_new+os.sep+i - os.rename(source, i) - else: - i = path_new+os.sep+i - new_ref_list.append(i) - for i in new_ref_list: # Copy New Files - path = path_aix - shutil.copy2(i, path) - for i in diff_ref: - path = path_aix - i = i.replace(self.library, self.wh_library) - source = path_ibpsa+os.sep+i - target = path+os.sep+i.replace(self.wh_library, self.library) - shutil.copy2(source, target) - - -if __name__ == '__main__': - createFolder(path_new_mos) - _CloneRepository() - results = diff_ref(path_aix, path_ibpsa, path_diff, path_new) - diff_ref = results[0] - new_ref = results[1] - add_new_ref(diff_ref, new_ref, path_aix, path_ibpsa, path_new, path_diff) - mos_results = diff_mos(path_aix_mos, path_ibpsa_mos, path_diff_mos, path_new_mos) - removeRoot = True - removeEmptyFolders(path_diff_mos, removeRoot) diff --git a/bin/CITests/06_deploy/README.md b/bin/CITests/06_deploy/README.md deleted file mode 100644 index da7d8bee..00000000 --- a/bin/CITests/06_deploy/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# What is it? -Copied a new library into the current library. Likewise, a new conversion script is created and included in the package.mo. -The last step is to update the whitelists and set the models to read-only mode. \ No newline at end of file diff --git a/bin/CITests/06_deploy/deploy_artifacts.py b/bin/CITests/06_deploy/deploy_artifacts.py deleted file mode 100644 index f8da4724..00000000 --- a/bin/CITests/06_deploy/deploy_artifacts.py +++ /dev/null @@ -1,89 +0,0 @@ -import os -import codecs -import sys -import shutil -import argparse -import glob - -class Deploy_Artifacts(object): - - def __init__(self, library): - self.library = library - self.folder = 'Referencefiles' - - self.green = '\033[0;32m' - self.CRED = '\033[91m' - self.CEND = '\033[0m' - - sys.path.append('bin/CITests') - from _config import new_ref_file, update_ref_file - self.new_ref_file = new_ref_file - self.update_ref_file = update_ref_file - - def _get_changed_ref(self): # list all changed reference results to a list - changed_file = codecs.open(self.new_ref_file, "r", encoding='utf8') - lines = changed_file.readlines() - changed_ref = [] - for line in lines: - if line.find("txt") > -1 and line.find("ReferenceResults") > -1 and line.find("Resources") > -1: - line = line.strip() - ref = line[line.find(self.library):line.rfind("txt") + 3] - changed_ref.append(ref) - continue - else: - continue - changed_file.close() - return changed_ref - - def _get_update_ref(self): - updated_file = codecs.open(self.update_ref_file, "r", encoding='utf8') - lines = updated_file.readlines() - updated_ref = [] - for line in lines: - if line.find("txt") > -1: - line = line.strip() - updated_ref.append(f'{self.library}{os.sep}Resources{os.sep}ReferenceResults{os.sep}Dymola{os.sep}{line.strip()}') - continue - else: - continue - updated_file.close() - return updated_ref - - def copy_txt(self, changed_ref): # Copy reference results from AixLib\Resources\ReferenceResults\Dymola\* to Referencefiles\\* - if os.path.exists(self.folder) is False: - os.mkdir(self.folder) - else: - files = os.listdir(self.folder) - for file in files: - os.remove(f'{self.folder}{os.sep}{file}') - for ref in changed_ref: - destination = self.folder + os.sep + ref[ref.rfind(os.sep):] - try: - shutil.copy(ref, destination) - continue - except FileNotFoundError: - print(f'{self.CRED}Cannot find folder:{self.CEND} {destination}') - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description='deploy artifacts') - unit_test_group = parser.add_argument_group("arguments to run deploy artifacts") - unit_test_group.add_argument("-L", "--library", default="AixLib", help="Library to test") - unit_test_group.add_argument("--ref", help='Deploy new reference files', action="store_true") - unit_test_group.add_argument("--new-ref", - help="Plot new models with new created reference files", - action="store_true") - unit_test_group.add_argument("--updated-ref", - help="Plot new models with new created reference files", - action="store_true") - args = parser.parse_args() - from deploy_artifacts import Deploy_Artifacts - - if args.ref is True: - ref_artifact = Deploy_Artifacts(library=args.library) - if args.new_ref is True: # python bin/02_CITests/deploy/deploy_artifacts.py --library AixLib --ref --new-ref - changed_ref = ref_artifact._get_changed_ref() - ref_artifact.copy_txt(changed_ref) - if args.updated_ref is True: # python bin/02_CITests/deploy/deploy_artifacts.py --library AixLib --ref --updated-ref - updated_ref = ref_artifact._get_update_ref() - ref_artifact.copy_txt(updated_ref) - diff --git a/bin/CITests/07_ci_templates/README.md b/bin/CITests/07_ci_templates/README.md deleted file mode 100644 index 00a37140..00000000 --- a/bin/CITests/07_ci_templates/README.md +++ /dev/null @@ -1,11 +0,0 @@ -## Create your own templates - -Execute the `python bin/CITests/07_ci_templates/ci_templates.py` command in the root directory of your repository. -The script will then ask you which tests and packages to check, adapting to your library. - -Also the variables in the `bin/CiTests/_config.py` should be checked before. -Important are the variables `image_name` and `variable_main_list`. These must be adapted to the current repo. The settings are then stored under `bin\Setting\CI_setting.toml`. -If changes should be made in the settings, these can be made in the toml file. - -Then the command `python bin/CITests/07_ci_templates/ci_templates.py --setting` must be executed. - diff --git a/bin/CITests/07_ci_templates/ci_templates.py b/bin/CITests/07_ci_templates/ci_templates.py deleted file mode 100644 index 623e944a..00000000 --- a/bin/CITests/07_ci_templates/ci_templates.py +++ /dev/null @@ -1,546 +0,0 @@ -import pandas as pd -import os -from mako.template import Template -import sys -import argparse -import toml - -class CI_yml_templates(object): - - def __init__(self, library, package_list, dymolaversion, wh_library, git_url, wh_path): - self.library = library - self.package_list = package_list - self.dymolaversion = dymolaversion - self.wh_library = wh_library - self.git_url = git_url - self.wh_path = wh_path - # except commits - self.update_ref_commit = "ci_update_ref" - self.show_ref_commit = "ci_show_ref" - self.dif_ref_commit = "ci_dif_ref" - self.html_commit = "ci_correct_html" - self.create_wh_commit = "ci_create_whitelist" - self.create_html_wh_commit = "ci_create_html_whitelist" - self.simulate_commit = "ci_simulate" - self.check_commit = "ci_check" - self.regression_test_commit = "ci_regression_test" - self.ci_html_commit = "ci_html" - self.ci_merge_except_commit = "fix errors manually" - self.ci_setting_commit = "ci_setting" - self.bot_merge_commit = "Update WhiteList_CheckModel.txt and HTML_IBPSA_WhiteList.txt" - self.bot_push_commit = "Automatic push of CI with new regression reference files. Please pull the new files before push again." - self.bot_create_ref_message = "New reference files were pushed to this branch. The job was successfully and the newly added files are tested in another commit." - self.bot_update_wh_commit = "Update or created new whitelist. Please pull the new whitelist before push again. [skip ci]" - self.bot_create_ref_commit = "Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results ${GITLAB_Page}/${TARGET_BRANCH}/plots/" - - self.except_commit_list = [self.update_ref_commit, self.dif_ref_commit, self.html_commit, self.create_wh_commit, - self.bot_merge_commit, self.bot_push_commit, self.bot_create_ref_message, self.show_ref_commit, self.regression_test_commit, self.check_commit, self.simulate_commit, - self.create_html_wh_commit, self.ci_html_commit, self.ci_setting_commit] - # except branches - if self.wh_library is None: - self.merge_branch = None - else: - self.merge_branch = self.wh_library + "_Merge" - - sys.path.append('bin/CITests') # files - from _config import ch_file, wh_file, reg_temp_file, write_temp_file, sim_temp_file, page_temp_file, ibpsa_temp_file, main_temp_file, \ - temp_dir, exit_file, new_ref_file, chart_dir, image_name, variable_main_list, main_yml_file, stage_list, eof_file, html_temp_file, html_wh_file,\ - style_check_temp_file, setting_file, setting_temp_file - self.ch_file = ch_file.replace(os.sep, "/") - self.wh_file = wh_file.replace(os.sep, "/") - self.eof_file = eof_file.replace(os.sep, "/") - self.html_wh_file = html_wh_file.replace(os.sep, "/") - - self.reg_temp = reg_temp_file.replace(os.sep, "/") - self.write_temp = write_temp_file.replace(os.sep, "/") - self.sim_temp = sim_temp_file.replace(os.sep, "/") - self.page_temp = page_temp_file.replace(os.sep, "/") - self.ibpsa_temp = ibpsa_temp_file.replace(os.sep, "/") - self.main_temp = main_temp_file.replace(os.sep, "/") - self.temp_dir = temp_dir.replace(os.sep, "/") - self.exit_file = exit_file.replace(os.sep, "/") - self.new_ref_file = new_ref_file.replace(os.sep, "/") - self.chart_dir = chart_dir.replace(os.sep, "/") - self.html_temp_file = html_temp_file.replace(os.sep, "/") - self.style_check_temp_file = style_check_temp_file.replace(os.sep, "/") - self.setting_temp_file = setting_temp_file.replace(os.sep, "/") - self.main_yml = main_yml_file - self.setting_file = setting_file - - self.image_name = image_name - #self.project_name = project_name - self.variable_main_list = variable_main_list - self.stage_list = stage_list - - def _write_page_template(self): - mytemplate = Template(filename=self.page_temp) - yml_text = mytemplate.render() - yml_tmp = open(self.page_temp.replace(".txt", ".gitlab-ci.yml"), "w") - yml_tmp.write(yml_text.replace("\n", "")) - yml_tmp.close() - - def _write_setting_template(self): - mytemplate = Template(filename=self.setting_temp_file) - yml_text = mytemplate.render(GITHUB_PRIVATE_KEY="${GITHUB_PRIVATE_KEY}", GITLAB_USER_EMAIL="${GITLAB_USER_EMAIL}", - GITLAB_USER_NAME="${GITLAB_USER_NAME}", Github_Repository="${Github_Repository}", - ci_setting_commit=self.ci_setting_commit) - yml_tmp = open(self.setting_temp_file.replace(".txt", ".gitlab-ci.yml"), "w") - yml_tmp.write(yml_text.replace("\n", "")) - yml_tmp.close() - - def _write_html_template(self): - if self.wh_library is not None: - merge_branch = "- " + self.merge_branch - git = f'--git-url {self.git_url} --wh-library {self.wh_library}' - else: - git = "" - merge_branch = "" - - - mytemplate = Template(filename=self.html_temp_file) - yml_text = mytemplate.render(merge_branch=merge_branch, - except_commit_list=self.except_commit_list, GITLAB_USER_NAME="${GITLAB_USER_NAME}", - GITLAB_USER_EMAIL="${GITLAB_USER_EMAIL}", CI_PROJECT_NAME="${CI_PROJECT_NAME}", - Github_Repository="${Github_Repository}", exit_file=self.exit_file, - GITHUB_PRIVATE_KEY="${GITHUB_PRIVATE_KEY}", library=self.library, Newbranch="${Newbranch}", - Target_Branch="${Target_Branch}", Praefix_Branch="${Praefix_Branch}", CI_COMMIT_REF_NAME="${CI_COMMIT_REF_NAME}", - GITHUB_API_TOKEN="${GITHUB_API_TOKEN}", html_commit=self.html_commit, create_html_wh_commit=self.create_html_wh_commit, - html_wh_file=self.html_wh_file, ci_html_commit=self.ci_html_commit, git=git) - yml_tmp = open(self.html_temp_file.replace(".txt", ".gitlab-ci.yml"), "w") - yml_tmp.write(yml_text.replace("\n", "")) - yml_tmp.close() - - def _write_style_template(self): - if self.merge_branch is not None: - merge_branch = "- " + self.merge_branch - else: - merge_branch = "" - mytemplate = Template(filename=self.style_check_temp_file) - yml_text = mytemplate.render(merge_branch=merge_branch, - except_commit_list=self.except_commit_list, library=self.library, dymolaversion=self.dymolaversion, - ch_file=self.ch_file) - yml_tmp = open(self.style_check_temp_file.replace(".txt", ".gitlab-ci.yml"), "w") - yml_tmp.write(yml_text.replace("\n", "")) - yml_tmp.close() - - def _write_merge_template(self): - mytemplate = Template(filename=self.ibpsa_temp) - yml_text = mytemplate.render(git_url=self.git_url, merge_branch=self.merge_branch, - dymolaversion=self.dymolaversion, - except_commit_list=self.except_commit_list, GITLAB_USER_NAME="${GITLAB_USER_NAME}", - GITLAB_USER_EMAIL="${GITLAB_USER_EMAIL}", CI_PROJECT_NAME="${CI_PROJECT_NAME}", - Github_Repository="${Github_Repository}", Merge_Branch="${Merge_Branch}", - IBPSA_Repo="${IBPSA_Repo}", - GITHUB_PRIVATE_KEY="${GITHUB_PRIVATE_KEY}", library=self.library, - Target_Branch="${Target_Branch}", wh_library=self.wh_library, - GITHUB_API_TOKEN="${GITHUB_API_TOKEN}", bot_commit=self.bot_merge_commit, ci_merge_except_commit=self.ci_merge_except_commit) - yml_tmp = open(self.ibpsa_temp.replace(".txt", ".gitlab-ci.yml"), "w") - yml_tmp.write(yml_text.replace("\n", "")) - yml_tmp.close() - - def _write_regression_template(self): - if self.merge_branch is not None: - merge_branch = "- " + self.merge_branch - else: - merge_branch = "" - - mytemplate = Template(filename=self.reg_temp) - yml_text = mytemplate.render(library=self.library, lib_package="${lib_package}", - dymolaversion=self.dymolaversion, - except_commit_list=self.except_commit_list, package_list=self.package_list, - update_commit=self.update_ref_commit, merge_branch=merge_branch, - TARGET_BRANCH="${TARGET_BRANCH}", GITLAB_Page="${GITLAB_Page}", - GITHUB_API_TOKEN="${GITHUB_API_TOKEN}", Github_Repository="${Github_Repository}", - GITLAB_USER_NAME="${GITLAB_USER_NAME}", GITLAB_USER_EMAIL="${GITLAB_USER_EMAIL}", - CI_PROJECT_NAME="${CI_PROJECT_NAME}", exit_file=self.exit_file, - ch_file=self.ch_file, bot_create_ref_message=self.bot_create_ref_message, - bot_create_ref_commit=self.bot_create_ref_commit, new_ref_file=self.new_ref_file, - chart_dir=self.chart_dir, GITHUB_PRIVATE_KEY="${GITHUB_PRIVATE_KEY}", show_ref_commit=self.show_ref_commit, update_ref_commit=self.update_ref_commit, - regression_test_commit=self.regression_test_commit, eof_file=self.eof_file) - yml_tmp = open(self.reg_temp.replace(".txt", ".gitlab-ci.yml"), "w") - yml_tmp.write(yml_text.replace("\n", "")) - yml_tmp.close() - - def _write_check_template(self): - if self.wh_library is not None: - wh_library = self.wh_library - filterflag = "--filterwhitelist" - wh_flag = "--wh-library " + self.wh_library - merge_branch = "- " + self.wh_library + "_Merge" - if self.wh_path is not None: - wh_path = "--wh-path " + self.wh_path - git_url = "" - elif self.git_url is not None: - git_url = "--git-url " + self.git_url - wh_path = "" - else: - wh_path = "" - git_url = "" - else: - wh_library = self.library - wh_flag = "" - git_url = "" - filterflag = "" - wh_path = "" - merge_branch = "" - mytemplate = Template(filename=self.write_temp) - yml_text = mytemplate.render(package_list=self.package_list, library=self.library, lib_package="${lib_package}", - dymolaversion=self.dymolaversion, package_name="${package_name}", wh_flag=wh_flag, - filterflag=filterflag, except_commit_list=self.except_commit_list, - merge_branch=merge_branch, wh_commit=self.create_wh_commit, - wh_library=wh_library, wh_path=wh_path, git_url=git_url, - wh_file=self.wh_file, ch_file=self.ch_file, - bot_update_wh_commit=self.bot_update_wh_commit, - TARGET_BRANCH="$CI_COMMIT_REF_NAME", GITHUB_PRIVATE_KEY="${GITHUB_PRIVATE_KEY}", - GITLAB_USER_NAME="${GITLAB_USER_NAME}", GITLAB_USER_EMAIL="${GITLAB_USER_EMAIL}", - Github_Repository="${Github_Repository}", CI_PROJECT_NAME="${CI_PROJECT_NAME}", - exit_file=self.exit_file, check_commit=self.check_commit) - yml_tmp = open(self.write_temp.replace(".txt", ".gitlab-ci.yml"), "w") - yml_tmp.write(yml_text.replace("\n", "")) - yml_tmp.close() - - def _write_simulate_template(self): - if self.wh_library is not None: - filterflag = "--filterwhitelist" - wh_flag = "--wh-library " + self.wh_library - merge_branch = "- " + self.merge_branch - else: - merge_branch = "" - filterflag = "" - wh_flag = "" - mytemplate = Template(filename=self.sim_temp) - yml_text = mytemplate.render(package_list=self.package_list, library=self.library, lib_package="${lib_package}", - dymolaversion=self.dymolaversion, package_name="${package_name}", wh_flag=wh_flag, - filterflag=filterflag, except_commit_list=self.except_commit_list, - merge_branch=merge_branch, git_url=self.git_url, - wh_commit=self.create_wh_commit, wh_library=self.wh_library, ch_file=self.ch_file, simulate_commit=self.simulate_commit) - yml_tmp = open(self.sim_temp.replace(".txt", ".gitlab-ci.yml"), "w") - yml_tmp.write(yml_text.replace("\n", "")) - yml_tmp.close() - - def _write_main_yml(self, image_name, stage_list, variable_list, file_list): - mytemplate = Template(filename=self.main_temp) - yml_text = mytemplate.render(image_name=image_name, stage_list=stage_list, variable_list=variable_list, - file_list=file_list) - yml_tmp = open(self.main_yml, "w") - yml_tmp.write(yml_text.replace("\n", "")) - yml_tmp.close() - - def _get_variables(self): - variable_list = self.variable_main_list - return variable_list - - def _get_image_name(self): - image_name = self.image_name - return image_name - - def _get_yml_templates(self): - file_list = [] - for subdir, dirs, files in os.walk(self.temp_dir): - for file in files: - filepath = subdir + os.sep + file - if filepath.endswith(".yml") and file != ".gitlab-ci.yml": - filepath = filepath.replace(os.sep, "/") - file_list.append(filepath) - if len(file_list) == 0: - print(f'No templates') - exit(1) - return file_list - - def _get_stages(self, file_list): - stage_list = [] - for file in file_list: - infile = open(file, "r") - lines = infile.readlines() - stage_content = False - for line in lines: - line = line.strip() - if len(line.strip()) == 0: - continue - elif line.find("stages:") > -1: - stage_content = True - elif line.find(":") > -1 and line.find("stages:") == -1: - stage_content = False - elif stage_content is True: - line = line.replace("-", "") - line = line.replace(" ", "") - stage_list.append(line) - else: - continue - if len(stage_list) == 0: - print(f'No stages') - exit(1) - stage_list = list(set(stage_list)) - new_list = [] - for stage in self.stage_list: - for st in stage_list: - if stage == st: - new_list.append(stage) - return new_list - - def _write_settings(self, image_name, stage_list, variable_list, file_list, config_list, git_url): # write CI setting - mytemplate = Template(filename=self.setting_file) - yml_text = mytemplate.render(library=self.library, wh_library=self.wh_library, dymolaversion=self.dymolaversion, - package_list=self.package_list, stage_list=stage_list, merge_branch=self.merge_branch, - image_name=image_name, variable_main_list=variable_list, - except_commit_list=self.except_commit_list, file_list=file_list, config_list=config_list, git_url=git_url, wh_path=self.wh_path) - yml_tmp = open(self.setting_file.replace("_template.txt", ".toml"), "w") - yml_tmp.write(yml_text.replace("\n", "")) - yml_tmp.close() - - -def _get_package(library): - for subdir, dirs, files in os.walk(library): - return dirs - - -def _config_test(): - config_list = [] - response = input(f'Config template: check html Syntax in models? (y/n) ') - if response == "y": - print(f'Create html template') - config_list.append("html") - response = input(f'Config template: check style of models? (y/n) ') - if response == "y": - print(f'Create style template') - config_list.append("style") - response = input(f'Config template: check models? (y/n) ') - if response == "y": - print(f'Create check template') - config_list.append("check") - response = input(f'Config template: simulate examples? (y/n) ') - if response == "y": - print(f'Create simulate template') - config_list.append("simulate") - response = input(f'Config template: regression test? (y/n) ') - if response == "y": - print(f'Create regression template') - config_list.append("regression") - response = input(f'Config template: Merge Update? (y/n) ') - if response == "y": - print(f'Create merge template') - config_list.append("Merge") - return config_list - -def _config_settings_check(): - library = input(f'Which library should be tested? (e.g. AixLib)') - print(f'Setting library: {library}') - package_list = _get_package(library) - package_list_final = [] - for package in package_list: - response = input(f'Test package {package}? (y/n) ') - if response == "y": - package_list_final.append(package) - continue - print(f'Setting packages: {package_list_final}') - dymolaversion = input(f'Give the dymolaversion (e.g. 2020): ') - print(f'Setting dymola version: {dymolaversion}') - response = input( - f'Create whitelist? Useful if your own library has been assembled from other libraries. A whitelist is created, where faulty models from the foreign library are no longer tested in the future and are filtered out. (y/n) ') - if response == "y": - wh_config = True - while wh_config is True: - wh_library = input(f'What library models should on whitelist: Give the name of the library: ') - print(f'Setting whitelist library: {wh_library}') - - response = input(f'If the foreign library is local on the PC? (y/n) ') - if response == "y": - wh_path = input(f'Specify the local path of the library (eg. D:\..path..\AixLib) ') - print(f'path of library: {wh_path}') - git_url = None - else: - git_url = input(f'Give the url of the library repository (eg. "https://github.com/ibpsa/modelica-ibpsa.git"): ') - print(f'Setting git_url: {git_url}') - wh_path = None - - response = input(f'Are settings okay(y/n)? ') - if response == "y": - wh_config = False - return library, package_list_final, dymolaversion, wh_library, git_url, wh_path - wh_library = None - git_url = None - wh_path = None - return library, package_list_final, dymolaversion, wh_library, git_url, wh_path - - -def _delte_yml_files(temp_dir): - for subdir, dirs, files in os.walk(temp_dir): - for file in files: - filepath = subdir + os.sep + file - if filepath.endswith(".yml") and file != ".gitlab-ci.yml": - os.remove(filepath) - - -def _read_setting_file(): - setting_file = f'bin{os.sep}09_Setting{os.sep}CI_setting.toml' - data = toml.load(setting_file) - return data - -def _read_library(data): - library = data["library"] - library = library["library_name"] - print(f'Setting library: {library}') - return library - -def _read_wh_library(data): - wh_library = data["whitelist_library"] - wh_library = wh_library["wh_library_name"] - print(f'Setting whitelist_library: {wh_library}') - return wh_library - -def _read_package_list(data): - packagelist = data["Package"] - packagelist = packagelist["packagelist"] - print(f'Setting packagelist: {packagelist}') - return packagelist - -def _read_dymolaversion(data): - dymolaversion = data["dymola_version"] - dymolaversion = dymolaversion["dymolaversion"] - print(f'Setting dymolaversion: {dymolaversion}') - return dymolaversion - -def _read_stages(data): - stages = data["stages"] - stages = stages["stagelist"] - print(f'Setting stages: {stages}') - return stages - -def _read_merge_branch(data): - Merge_Branch = data["Merge_Branch"] - Merge_Branch = Merge_Branch["merge_branch"] - print(f'Setting merge branch: {Merge_Branch}') - return Merge_Branch - -def _read_image_name(data): - image_name = data["image_name"] - image_name = image_name["image"] - print(f'Setting image: {image_name}') - return image_name - -def _read_variable_list(data): - variable_list = data["variable_list"] - variable_list = variable_list["variablelist"] - print(f'Setting variables: {variable_list}') - return variable_list - -def _read_ci_commands(data): - ci_commit_commands = data["ci_commit_commands"] - ci_commit_commands = ci_commit_commands["commitlist"] - print(f'Setting ci commands: {ci_commit_commands}') - return ci_commit_commands - -def _read_file_list(data): - file_list = data["File_list"] - file_list = file_list["filelist"] - print(f'Setting yaml file list: {file_list}') - return file_list - -def _read_config_list(data): - config_list = data["config_list"] - config_list = config_list["configlist"] - print(f'Setting config list: {config_list}') - return config_list - -def _read_git_url(data): - git_url = data["git_url"] - giturl = git_url["giturl"] - print(f'Setting git whitelist url: {giturl}') - return giturl - -def _read_wh_path(data): - wh_path = data["wh_library_path"] - wh_path = wh_path["wh_path"] - print(f'Setting git whitelist url: {wh_path}') - return wh_path - -if __name__ == '__main__': - # python bin/CITests/07_ci_templates/ci_templates.py - parser = argparse.ArgumentParser(description="Set Github Environment Variables") # Configure the argument parser - check_test_group = parser.add_argument_group("Arguments to set Environment Variables") - check_test_group.add_argument("--setting", help="Create the CI from file bin\9_Setting\CI_setting.txt", - action="store_true") - args = parser.parse_args() # Parse the arguments - - from ci_templates import CI_yml_templates - sys.path.append('bin/CITests') - from _config import setting_file, temp_dir - - _delte_yml_files(temp_dir) - if args.setting is False: - config_list = _config_test() - if len(config_list) == 0: - exit(0) - result = _config_settings_check() - library = result[0] - package_list = result[1] - dymolaversion = result[2] - wh_library = result[3] - git_url = result[4] - wh_path = result[5] - CI_Class = CI_yml_templates(library, package_list, dymolaversion, wh_library, git_url, wh_path) - CI_Class._write_setting_template() - for temp in config_list: - if temp == "check": - CI_Class._write_check_template() - if temp == "simulate": - CI_Class._write_simulate_template() - if temp == "regression": - CI_Class._write_regression_template() - if temp == "html": - CI_Class._write_html_template() - if temp == "style": - CI_Class._write_style_template() - if temp == "Merge" and wh_library is not None: - CI_Class._write_merge_template() - CI_Class._write_page_template() - variable_list = CI_Class._get_variables() - print(f'Setting variables: {variable_list}') - image_name = CI_Class._get_image_name() - print(f'Setting image: {image_name}') - file_list = CI_Class._get_yml_templates() - print(f'Setting yml files: {file_list}') - stage_list = CI_Class._get_stages(file_list) - print(f'Setting stages: {stage_list}') - CI_Class._write_main_yml(image_name, stage_list, variable_list, file_list) - CI_Class._write_settings(image_name, stage_list, variable_list, file_list, config_list, git_url) - print(f'The CI settings are saved in file {setting_file}') - - if args.setting is True: - data = _read_setting_file() - wh_path = _read_wh_path(data) - if wh_path == "None": - wh_path = None - library = _read_library(data) - wh_library = _read_wh_library(data) - if wh_library == "None": - wh_library = None - package_list = _read_package_list(data) - dymolaversion = _read_dymolaversion(data) - stage_list = _read_stages(data) - Merge_Branch = _read_merge_branch(data) - image_name = _read_image_name(data) - variable_list = _read_variable_list(data) - ci_commit_commands = _read_ci_commands(data) - file_list = _read_file_list(data) - config_list = _read_config_list(data) - git_url = _read_git_url(data) - if git_url == "None": - git_url = None - CI_Class = CI_yml_templates(library, package_list, dymolaversion, wh_library, git_url, wh_path) - CI_Class._write_setting_template() - for temp in config_list: - if temp == "check": - CI_Class._write_check_template() - if temp == "simulate": - CI_Class._write_simulate_template() - if temp == "regression": - CI_Class._write_regression_template() - if temp == "html": - CI_Class._write_html_template() - if temp == "style": - CI_Class._write_style_template() - if temp == "Merge" and wh_library is not None: - CI_Class._write_merge_template() - CI_Class._write_page_template() - CI_Class._write_main_yml(image_name, stage_list, variable_list, file_list) diff --git a/bin/CITests/08_archiv/01_templates/google_chart.txt b/bin/CITests/08_archiv/01_templates/google_chart.txt deleted file mode 100644 index 9a3bdcc0..00000000 --- a/bin/CITests/08_archiv/01_templates/google_chart.txt +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - -

  • Text ', 1) - line = (line.replace('">', '
    attribute "align" not allowed for HTML5 - Warning: The summary attribute on the element is obsolete in HTML5 - -If the test was not successfull, CI creates a new branch and push the corrected code to the new branch. -For this process you have to create new variables in your repository. - -![E.ON EBC RWTH Aachen University](../Documentation/Images/PipelineProcess.png) - - -For the implementation of the html_tidy errors.py the following step must be done. - -#### $GL_TOKEN -1. Log in to GitLab. -2. In the upper-right corner, click your avatar and select Settings. -3. On the User Settings menu, select Access Tokens. -4. Choose a name and optional expiry date for the token. -5. Choose the desired scopes. -6. Click the Create personal access token button. -7. Save the personal access token somewhere safe. Once you leave or refresh the page, you won’t be able to access it again - -[Create a GL_TOKEN](https://docs.gitlab.com/ce/user/profile/personal_access_tokens.html#creating-a-personal-access-token) - -![E.ON EBC RWTH Aachen University](../Documentation/Images/CreateNewBranch.png) - -### StyleChecking.py - -This Script evaluated the documentation of the AixLib Models in dymola. The script operated with the ModelManagement in Dymola. - -To work with this Script type following Command: - -`python bin/CITests/03_SyntaxTests/StyleChecking.py -s AixLib -p AixLib/package.mo -DS 2020` - - -![E.ON EBC RWTH Aachen University](../Documentation/Images/ModelManagement_StyleChecking.PNG) - -At this time the models are not up to date to pass the tests StyleCheck successfully. Therefore the tests are only applied to new models in the short term to ensure that the styles are correct and correspond to the settings. -In the future, the models that fail the test will have to be revised and adapted. -If the Test failed, Gitlab export two log files with a errorlist. - - - - -### IBPSA [Merge](06_deploy/IBPSA_Merge) -As soon as the branch IBPSA_Merge is created the automatic merging of the IBPSA repo starts. First the models of the IBPSA are copied into the AixLib and then a suitable conversion skirpt. In the next stage the white lists are updated. Finally a pull request is created. The user should now check the AixLib again locally. At the same time, the CI runs and checks and simulates models, as well as performs a regression test. If certain models or scripts need to be adjusted manually, the user should do so with the comment message "fix errors manually". - - -## Overall process - -The entire CI test looks as follows. - -![E.ON EBC RWTH Aachen University](../Documentation/Images/Pipeline.PNG) - - -# What is done? - -- Simulate Modeles -- Check Models -- Regression test of models -- HTML Check and Correction -- Check the style of modelica models - diff --git a/bin/CITests/_config.py b/bin/CITests/_config.py deleted file mode 100644 index 91b41879..00000000 --- a/bin/CITests/_config.py +++ /dev/null @@ -1,56 +0,0 @@ -import os -# image_name -image_name = 'registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:miniconda-latest' -variable_main_list = ['Github_Repository: RWTH-EBC/AixLib', 'GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/AixLib'] - - -#[Whitelist files] -ch_file = f'bin{os.sep}Configfiles{os.sep}ci_changed_model_list.txt' -exit_file = f'bin{os.sep}Configfiles{os.sep}exit.sh' -eof_file = f'bin{os.sep}Configfiles{os.sep}EOF.sh' -new_ref_file = f'bin{os.sep}Configfiles{os.sep}ci_new_created_reference.txt' -ref_file = f'bin{os.sep}Configfiles{os.sep}ci_reference_list.txt' - -artifacts_dir = f'bin{os.sep}templates{os.sep}04_artifacts' -wh_file = f'bin{os.sep}ci_whitelist{os.sep}model_whitelist.txt' -ref_whitelist_file = f'bin{os.sep}ci_whitelist{os.sep}reference_check_whitelist.txt' -html_wh_file = f'bin{os.sep}ci_whitelist{os.sep}html_whitelist.txt' -show_ref_file = f'bin{os.sep}interact_CI{os.sep}show_ref.txt' -update_ref_file = f'bin{os.sep}interact_CI{os.sep}update_ref.txt' - -# Ci Templates -reg_temp_file = f'bin{os.sep}templates{os.sep}03_ci_templates{os.sep}02_UnitTests{os.sep}regression_test.txt' -write_temp_file = f'bin{os.sep}templates{os.sep}03_ci_templates{os.sep}02_UnitTests{os.sep}check_model.txt' -sim_temp_file = f'bin{os.sep}templates{os.sep}03_ci_templates{os.sep}02_UnitTests{os.sep}simulate_model.txt' -page_temp_file = f'bin{os.sep}templates{os.sep}03_ci_templates{os.sep}01_deploy{os.sep}gitlab_pages.txt' -ibpsa_temp_file = f'bin{os.sep}templates{os.sep}03_ci_templates{os.sep}01_deploy{os.sep}IBPSA_Merge.txt' -style_check_temp_file = f'bin{os.sep}templates{os.sep}03_ci_templates{os.sep}03_SyntaxTest{os.sep}style_check.txt' -html_temp_file = f'bin{os.sep}templates{os.sep}03_ci_templates{os.sep}03_SyntaxTest{os.sep}html_check.txt' -main_temp_file = f'bin{os.sep}templates{os.sep}03_ci_templates{os.sep}gitlab-ci.txt' -setting_temp_file = f'bin{os.sep}templates{os.sep}03_ci_templates{os.sep}04_CleanUpScript{os.sep}ci_setting.txt' -main_yml_file = f'.gitlab-ci.yml' - -temp_dir = f'bin{os.sep}templates{os.sep}03_ci_templates' - -# Charts -chart_temp_file = f'bin{os.sep}templates{os.sep}01_google_templates{os.sep}google_chart.txt' -index_temp_file = f'bin{os.sep}templates{os.sep}01_google_templates{os.sep}index.txt' -layout_temp_file = f'bin{os.sep}templates{os.sep}01_google_templates{os.sep}layout_index.txt' - -chart_dir = f'bin{os.sep}templates{os.sep}02_charts' - -# Reference files -ref_file_dir = f'Resources{os.sep}ReferenceResults{os.sep}Dymola' -resource_dir = f'Resources{os.sep}Scripts{os.sep}Dymola' - -# Setting file -setting_file = f'bin{os.sep}Setting{os.sep}CI_setting_template.txt' - - -stage_list = ["check_setting", "build_templates", "Ref_Check", "build", "HTML_Check", "IBPSA_Merge", "create_html_whitelist", "Update_WhiteList", "Release", "StyleCheck", "check", "openMR", "post", "create_whitelist", "simulate", "RegressionTest", "Update_Ref", "plot_ref", "prepare", "deploy"] - - -gitlab_ci_variables = ["GITHUB_API_TOKEN", "GITHUB_PRIVATE_KEY", "GL_TOKEN"] # Set these Token with this name in your gitlab ci under CI/Variables - - - diff --git a/bin/Configfiles/EOF.sh b/bin/Configfiles/EOF.sh deleted file mode 100644 index 2492c9fb..00000000 --- a/bin/Configfiles/EOF.sh +++ /dev/null @@ -1,119 +0,0 @@ -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y \ No newline at end of file diff --git a/bin/Configfiles/README.md b/bin/Configfiles/README.md deleted file mode 100644 index faef8c3f..00000000 --- a/bin/Configfiles/README.md +++ /dev/null @@ -1,11 +0,0 @@ -## What is it? -This config files are neccessary for gitlab CI. -## What is implemented? - - -### exit.sh -This file contains only the content exit 0 or exit 1, which is rewritten with the HTML check on each pass. - -Hereby the CI automatically determines whether a new branch must be created to correct the incorrect HTML code, which can later be merged back into the original branch. - - diff --git a/bin/Configfiles/ci_changed_model_list.txt b/bin/Configfiles/ci_changed_model_list.txt deleted file mode 100644 index a761fc3c..00000000 --- a/bin/Configfiles/ci_changed_model_list.txt +++ /dev/null @@ -1,8 +0,0 @@ -:100644 100644 7c121b53e 0a950fe3f M AixLib/Airflow/AirHandlingUnit/Examples/AHU.mo -:100644 100644 7047fb520 e329ab729 M AixLib/Airflow/FacadeVentilationUnit/FacadeVentilationUnit.mo -:100644 100644 0b3ccc127 cc28b043a M AixLib/BoundaryConditions/SolarGeometry/BaseClasses/Examples/AltitudeAngle.mo -:100644 100644 f5f26fc91 bfe97f68b M AixLib/Resources/ReferenceResults/Dymola/AixLib_Airflow_AirHandlingUnit_Examples_AHU.txt -:100644 100644 562489e43 603c57505 M bin/02_CITests/02_UnitTests/reference_check.py -:100644 100644 b91f45783 6d2cf5f4d M bin/06_Configfiles/ci_reference_list.txt -:100644 100644 c7172ef66 000000000 M bin/06_Configfiles/exit.sh -:100644 100644 941b35144 db8b04ef1 M bin/07_templates/03_ci_templates/02_UnitTests/regression_test.gitlab-ci.yml diff --git a/bin/Configfiles/ci_difference_result.txt b/bin/Configfiles/ci_difference_result.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/bin/Configfiles/ci_new_created_reference.txt b/bin/Configfiles/ci_new_created_reference.txt deleted file mode 100644 index 241d9d28..00000000 --- a/bin/Configfiles/ci_new_created_reference.txt +++ /dev/null @@ -1,5 +0,0 @@ -AixLib\Resources\ReferenceResults\Dymola\AixLib_Airflow_Multizone_BaseClasses_Examples_WindPressureLowRise.txt -AixLib\Resources\ReferenceResults\Dymola\AixLib_Airflow_Multizone_BaseClasses_Examples_PowerLaw.txt - -AixLib\Resources\ReferenceResults\Dymola\AixLib_Airflow_Multizone_BaseClasses_Examples_PowerLawFixedM.txt -AixLib\Resources\ReferenceResults\Dymola\AixLib_Airflow_AirHandlingUnit_Examples_AHU.txt \ No newline at end of file diff --git a/bin/Configfiles/ci_reference_list.txt b/bin/Configfiles/ci_reference_list.txt deleted file mode 100644 index 6d2cf5f4..00000000 --- a/bin/Configfiles/ci_reference_list.txt +++ /dev/null @@ -1,1152 +0,0 @@ - -AixLib.Airflow.AirHandlingUnit.Examples.AHU - -AixLib.Airflow.Multizone.BaseClasses.Examples.PowerLaw - -AixLib.Airflow.Multizone.BaseClasses.Examples.PowerLawFixedM - -AixLib.Airflow.Multizone.BaseClasses.Examples.WindPressureLowRise - -AixLib.Airflow.Multizone.Examples.ChimneyShaftNoVolume - -AixLib.Airflow.Multizone.Examples.ChimneyShaftWithVolume - -AixLib.Airflow.Multizone.Examples.ClosedDoors - -AixLib.Airflow.Multizone.Examples.CO2TransportStep - -AixLib.Airflow.Multizone.Examples.NaturalVentilation - -AixLib.Airflow.Multizone.Examples.OneEffectiveAirLeakageArea - -AixLib.Airflow.Multizone.Examples.OneOpenDoor - -AixLib.Airflow.Multizone.Examples.OneRoom - -AixLib.Airflow.Multizone.Examples.Orifice - -AixLib.Airflow.Multizone.Examples.ReverseBuoyancy - -AixLib.Airflow.Multizone.Examples.ReverseBuoyancy3Zones - -AixLib.Airflow.Multizone.Examples.ZonalFlow - -AixLib.Airflow.Multizone.Validation.DoorOpenClosed - -AixLib.Airflow.Multizone.Validation.OpenDoorBuoyancyDynamic - -AixLib.Airflow.Multizone.Validation.OpenDoorBuoyancyPressureDynamic - -AixLib.Airflow.Multizone.Validation.OpenDoorPressure - -AixLib.Airflow.Multizone.Validation.OpenDoorTemperature - -AixLib.Airflow.Multizone.Validation.ThreeRoomsContam - -AixLib.Airflow.Multizone.Validation.ThreeRoomsContamDiscretizedDoor - -AixLib.BoundaryConditions.InternalGains.Examples.HumansSenTDep - -AixLib.BoundaryConditions.InternalGains.Examples.HumansSenTIndep - -AixLib.BoundaryConditions.InternalGains.Examples.HumansTotTDep - -AixLib.BoundaryConditions.InternalGains.Examples.Lights - -AixLib.BoundaryConditions.InternalGains.Examples.Machines - -AixLib.BoundaryConditions.InternalGains.Examples.OneOffice - -AixLib.BoundaryConditions.SkyTemperature.Examples.BlackBody - -AixLib.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle - -AixLib.BoundaryConditions.SolarGeometry.BaseClasses.Examples.Declination - -AixLib.BoundaryConditions.SolarGeometry.BaseClasses.Examples.IncidenceAngle - -AixLib.BoundaryConditions.SolarGeometry.BaseClasses.Examples.SolarAzimuth - -AixLib.BoundaryConditions.SolarGeometry.BaseClasses.Examples.SolarHourAngle - -AixLib.BoundaryConditions.SolarGeometry.BaseClasses.Examples.WallSolarAzimuth - -AixLib.BoundaryConditions.SolarGeometry.BaseClasses.Examples.ZenithAngle - -AixLib.BoundaryConditions.SolarGeometry.Examples.IncidenceAngle - -AixLib.BoundaryConditions.SolarGeometry.Examples.ZenithAngle - -AixLib.BoundaryConditions.SolarIrradiation.BaseClasses.Examples.BrighteningCoefficient - -AixLib.BoundaryConditions.SolarIrradiation.BaseClasses.Examples.DiffuseIsotropic - -AixLib.BoundaryConditions.SolarIrradiation.BaseClasses.Examples.RelativeAirMass - -AixLib.BoundaryConditions.SolarIrradiation.BaseClasses.Examples.SkyBrightness - -AixLib.BoundaryConditions.SolarIrradiation.BaseClasses.Examples.SkyClearness - -AixLib.BoundaryConditions.SolarIrradiation.Examples.DiffuseIsotropic - -AixLib.BoundaryConditions.SolarIrradiation.Examples.DiffusePerez - -AixLib.BoundaryConditions.SolarIrradiation.Examples.DirectTiltedSurface - -AixLib.BoundaryConditions.Validation.BESTEST.WD100 - -AixLib.BoundaryConditions.Validation.BESTEST.WD200 - -AixLib.BoundaryConditions.Validation.BESTEST.WD300 - -AixLib.BoundaryConditions.Validation.BESTEST.WD400 - -AixLib.BoundaryConditions.Validation.BESTEST.WD500 - -AixLib.BoundaryConditions.Validation.BESTEST.WD600 - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.CheckBlackBodySkyTemperature - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.CheckCeilingHeight - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.CheckPressure - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.CheckRadiation - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.CheckRelativeHumidity - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.CheckSkyCover - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.CheckTemperature - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.CheckWindDirection - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.CheckWindSpeed - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.ConvertRadiation - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.ConvertRelativeHumidity - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.ConvertTime - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.ConvertTimeNegativeStart - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.ConvertTimePositiveStart - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.EquationOfTime - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.GetAbsolutePath - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.GetHeaderElement - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.GetTimeSpanTMY3 - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.GetTimeSpanTMY3LongHeader - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.GetTimeSpanTMY3_NonzeroStart - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.LimitMin - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.LocalCivilTime - -AixLib.BoundaryConditions.WeatherData.BaseClasses.Examples.SolarTime - -AixLib.BoundaryConditions.WeatherData.Examples.ReaderTMY3 - -AixLib.BoundaryConditions.WeatherData.Validation.DecemberToJanuary - -AixLib.BoundaryConditions.WeatherData.Validation.OverAYear_usingOneYearData - -AixLib.BoundaryConditions.WeatherData.Validation.ReaderTMY3HDirNor - -AixLib.BoundaryConditions.WeatherData.Validation.ThreeYears_usingTwoYearData - -AixLib.BoundaryConditions.WeatherData.Validation.ThreeYears_usingTwoYearDataNegativeStart - -AixLib.BoundaryConditions.WeatherData.Validation.ThreeYears_usingTwoYearDataPositiveStart - -AixLib.Controls.Continuous.Examples.LimPID - -AixLib.Controls.Continuous.Examples.LimPIDWithReset - -AixLib.Controls.Continuous.Examples.NumberOfRequests - -AixLib.Controls.Continuous.Examples.OffTimer - -AixLib.Controls.Continuous.Examples.PIDHysteresis - -AixLib.Controls.Continuous.Examples.PIDHysteresisTimer - -AixLib.Controls.Continuous.Examples.SignalRanker - -AixLib.Controls.Continuous.Validation.LimPIDReset - -AixLib.Controls.Continuous.Validation.OffTimerNonZeroStart - -AixLib.Controls.Discrete.Examples.BooleanDelay - -AixLib.Controls.SetPoints.Examples.OccupancySchedule - -AixLib.Controls.SetPoints.Examples.SupplyReturnTemperatureReset - -AixLib.Controls.SetPoints.Examples.Table - -AixLib.Controls.SetPoints.Validation.OccupancyScheduleNegativeStartTime - -AixLib.Controls.SetPoints.Validation.OccupancySchedulePositiveStartTime - -AixLib.Electrical.Examples.ExamplePVSystem - -AixLib.Electrical.Validation.ValidationPVSystem - -AixLib.Fluid.Actuators.BaseClasses.Examples.EqualPercentageDerivativeCheck - -AixLib.Fluid.Actuators.Dampers.Examples.Damper - -AixLib.Fluid.Actuators.Dampers.Examples.MixingBox - -AixLib.Fluid.Actuators.Dampers.Examples.VAVBoxExponential - -AixLib.Fluid.Actuators.Dampers.Validation.PressureIndependent - -AixLib.Fluid.Actuators.Motors.Examples.IdealMotor - -AixLib.Fluid.Actuators.Valves.Examples.ThreeWayValves - -AixLib.Fluid.Actuators.Valves.Examples.TwoWayValvePressureIndependent - -AixLib.Fluid.Actuators.Valves.Examples.TwoWayValves - -AixLib.Fluid.Actuators.Valves.Examples.TwoWayValvesMotor - -AixLib.Fluid.Actuators.Valves.Examples.TwoWayValvesTable - -AixLib.Fluid.Actuators.Valves.Examples.TwoWayValveTable - -AixLib.Fluid.Actuators.Valves.Validation.ThreeWayValveParameterization - -AixLib.Fluid.Actuators.Valves.Validation.TwoWayValveParameterization - -AixLib.Fluid.BaseClasses.FlowModels.Validation.BasicFlowFunction_dp_DerivativeCheck - -AixLib.Fluid.BaseClasses.FlowModels.Validation.BasicFlowFunction_dp_DerivativeCheck2 - -AixLib.Fluid.BaseClasses.FlowModels.Validation.BasicFlowFunction_m_flow_DerivativeCheck - -AixLib.Fluid.BaseClasses.FlowModels.Validation.BasicFlowFunction_m_flow_DerivativeCheck2 - -AixLib.Fluid.BaseClasses.FlowModels.Validation.InverseFlowFunctions - -AixLib.Fluid.BaseClasses.FlowModels.Validation.InvertingBasicFlowFunction_dp - -AixLib.Fluid.BaseClasses.FlowModels.Validation.InvertingBasicFlowFunction_m_flow - -AixLib.Fluid.BaseClasses.Validation.MassFlowRateMultiplier - -AixLib.Fluid.BoilerCHP.Examples.CHPSystemNoControl - -AixLib.Fluid.Chillers.Examples.Carnot_TEva - -AixLib.Fluid.Chillers.Examples.Carnot_y - -AixLib.Fluid.Chillers.Examples.Chiller - -AixLib.Fluid.Chillers.Validation.CarnotVerifyCOP - -AixLib.Fluid.Chillers.Validation.CarnotVerifyEtaCarnot - -AixLib.Fluid.Chillers.Validation.Carnot_TEva_2ndLaw - -AixLib.Fluid.Chillers.Validation.Carnot_TEva_etaPL - -AixLib.Fluid.Chillers.Validation.Carnot_TEva_HighTemperature - -AixLib.Fluid.Chillers.Validation.Carnot_TEva_LimitedCapacity - -AixLib.Fluid.Chillers.Validation.Carnot_TEva_reverseFlow - -AixLib.Fluid.Chillers.Validation.Carnot_y_etaPL - -AixLib.Fluid.Delays.Examples.Delay - -AixLib.Fluid.DistrictHeatingCooling.Demands.Examples.OpenLoopHeatPumpCarnot - -AixLib.Fluid.DistrictHeatingCooling.Demands.Examples.OpenLoopVarTSupplyDp - -AixLib.Fluid.DistrictHeatingCooling.Demands.Examples.OpenLoopVarTSupplyDpBypass - -AixLib.Fluid.DistrictHeatingCooling.Demands.Examples.OpenLoopVarTSupplyDpFixedTempDifferenceBypass - -AixLib.Fluid.DistrictHeatingCooling.Pipes.Examples.DHCPipe - -AixLib.Fluid.DistrictHeatingCooling.Pipes.Examples.PlugFlowPipeEmbedded - -AixLib.Fluid.DistrictHeatingCooling.Pipes.Examples.PlugFlowPipeZeta - -AixLib.Fluid.DistrictHeatingCooling.Pipes.Examples.StaticPipe - -AixLib.Fluid.Examples.GeothermalHeatPump - -AixLib.Fluid.Examples.ResistanceVolumeFlowReversal - -AixLib.Fluid.Examples.SimpleHouse - -AixLib.Fluid.Examples.FlowSystem.Basic - -AixLib.Fluid.Examples.FlowSystem.Simplified1 - -AixLib.Fluid.Examples.FlowSystem.Simplified2 - -AixLib.Fluid.Examples.FlowSystem.Simplified3 - -AixLib.Fluid.Examples.FlowSystem.Simplified4 - -AixLib.Fluid.Examples.FlowSystem.Simplified5 - -AixLib.Fluid.Examples.FlowSystem.Simplified6 - -AixLib.Fluid.Examples.Performance.Example1v1 - -AixLib.Fluid.Examples.Performance.Example1v2 - -AixLib.Fluid.Examples.Performance.Example2 - -AixLib.Fluid.Examples.Performance.Example3 - -AixLib.Fluid.Examples.Performance.Example4 - -AixLib.Fluid.Examples.Performance.Example5 - -AixLib.Fluid.Examples.Performance.Example6 - -AixLib.Fluid.Examples.Performance.Example7 - -AixLib.Fluid.Examples.Performance.Example8 - -AixLib.Fluid.Examples.Performance.PressureDrop.ParallelDp - -AixLib.Fluid.Examples.Performance.PressureDrop.ParallelDpOptimised - -AixLib.Fluid.Examples.Performance.PressureDrop.ParallelFlow - -AixLib.Fluid.Examples.Performance.PressureDrop.ParallelFlowOptimised - -AixLib.Fluid.Examples.Performance.PressureDrop.SeriesDp - -AixLib.Fluid.Examples.Performance.PressureDrop.SeriesDpOptimised - -AixLib.Fluid.Examples.Performance.PressureDrop.SeriesFlow - -AixLib.Fluid.Examples.Performance.PressureDrop.SeriesFlowOptimised - -AixLib.Fluid.Examples.Performance.PressureDrop.SeriesParallelDp - -AixLib.Fluid.Examples.Performance.PressureDrop.SeriesParallelDpOptimised - -AixLib.Fluid.Examples.Performance.PressureDrop.SeriesParallelFlow - -AixLib.Fluid.Examples.Performance.PressureDrop.SeriesParallelFlowOptimised - -AixLib.Fluid.FixedResistances.BaseClasses.Validation.PlugFlowCore - -AixLib.Fluid.FixedResistances.Examples.CheckValve - -AixLib.Fluid.FixedResistances.Examples.CompareFixedResistances - -AixLib.Fluid.FixedResistances.Examples.FlowJunction - -AixLib.Fluid.FixedResistances.Examples.HydraulicDiameter - -AixLib.Fluid.FixedResistances.Examples.PlugFlowPipe - -AixLib.Fluid.FixedResistances.Examples.PressureDrop - -AixLib.Fluid.FixedResistances.Examples.SimplePipe - -AixLib.Fluid.FixedResistances.Validation.FlowJunctionSteadyState - -AixLib.Fluid.FixedResistances.Validation.FlowJunctionSteadyStateNoPressureDrop - -AixLib.Fluid.FixedResistances.Validation.LosslessPipe - -AixLib.Fluid.FixedResistances.Validation.PressureDropsExplicit - -AixLib.Fluid.FixedResistances.Validation.PressureDropsExplicitLinearized - -AixLib.Fluid.FixedResistances.Validation.PressureDropsParallel - -AixLib.Fluid.FixedResistances.Validation.PressureDropsSeries - -AixLib.Fluid.FixedResistances.Validation.PlugFlowPipes.FlowReversal - -AixLib.Fluid.FixedResistances.Validation.PlugFlowPipes.MSLAIT - -AixLib.Fluid.FixedResistances.Validation.PlugFlowPipes.MSLAIT2Nodes - -AixLib.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowAIT - -AixLib.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowULg - -AixLib.Fluid.FixedResistances.Validation.PlugFlowPipes.TransportWaterAir - -AixLib.Fluid.FixedResistances.Validation.PlugFlowPipes.Data.TestData - -AixLib.Fluid.FMI.Adaptors.Examples.ThermalZoneHVACNoExhaust - -AixLib.Fluid.FMI.Adaptors.Examples.ThermalZoneHVACWithExhaust - -AixLib.Fluid.FMI.Conversion.Validation.AirToOutlet - -AixLib.Fluid.FMI.Conversion.Validation.AirToOutletFlowReversal - -AixLib.Fluid.FMI.Conversion.Validation.InletToAirDryAir - -AixLib.Fluid.FMI.Conversion.Validation.InletToAirDryAirCO2 - -AixLib.Fluid.FMI.Conversion.Validation.InletToAirMoistAir - -AixLib.Fluid.FMI.Conversion.Validation.InletToAirMoistAirCO2 - -AixLib.Fluid.FMI.Validation.FlowSplitter_u - -AixLib.Fluid.FMI.Validation.HeaterFan - -AixLib.Fluid.FMI.Validation.HeaterFanPressureDriven - -AixLib.Fluid.FMI.Validation.HeaterFan_noReverseFlow - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Examples.InternalHEXOneUTube - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Examples.InternalHEXTwoUTube - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Examples.InternalResistancesOneUTube - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Examples.InternalResistancesTwoUTube - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Functions.Validation.ConvectionResistanceCircularPipe - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Functions.Validation.InternalResistancesOneUTube - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Functions.Validation.InternalResistancesOneUTubeNegative - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Functions.Validation.InternalResistancesTwoUTube - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Functions.Validation.InternalResistancesTwoUTubeNegative - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Functions.Validation.MultipoleThermalResistances_OneUTube - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Functions.Validation.MultipoleThermalResistances_TwoUTube - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.Examples.BoreholeDynamics - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.Examples.BoreholeOneUTube - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.Examples.BoreholeTwoUTube - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.LoadAggregation.Validation.AggregationCellTimes - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.LoadAggregation.Validation.AggregationWeightingFactors - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.LoadAggregation.Validation.CountAggregationCells - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.LoadAggregation.Validation.ShiftAggregationCells - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.LoadAggregation.Validation.TemperatureResponseMatrix - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.LoadAggregation.Validation.TemporalSuperposition - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.Validation.CylindricalHeatSource - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.Validation.CylindricalHeatSource_Integrand - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.Validation.FiniteLineSource - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.Validation.FiniteLineSource_Erfint - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.Validation.FiniteLineSource_Integrand - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.Validation.FiniteLineSource_Integrand_Length - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.Validation.GFunction_100boreholes - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.Validation.GFunction_1borehole_5meters - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.Validation.GFunction_SmallScaleValidation - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.Validation.InfiniteLineSource - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.Validation.ShaGFunction - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.Validation.TimeGeometric - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.Validation.Analytic_20Years - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.Validation.Cylindrical - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.Validation.FiniteDifference_1Week - -AixLib.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.Validation.Measured_SmallScale - -AixLib.Fluid.Geothermal.Borefields.Examples.Borefields - -AixLib.Fluid.Geothermal.Borefields.Examples.RectangularBorefield - -AixLib.Fluid.Geothermal.Borefields.Validation.ConstantHeatInjection_100Boreholes - -AixLib.Fluid.Geothermal.Borefields.Validation.Sandbox - -AixLib.Fluid.HeatExchangers.ActiveBeams.BaseClasses.Examples.Convector - -AixLib.Fluid.HeatExchangers.ActiveBeams.BaseClasses.Examples.DerivateCubicSpline - -AixLib.Fluid.HeatExchangers.ActiveBeams.BaseClasses.Examples.ModificationFactor - -AixLib.Fluid.HeatExchangers.ActiveBeams.Examples.CoolingAndHeating - -AixLib.Fluid.HeatExchangers.ActiveBeams.Examples.CoolingOnly - -AixLib.Fluid.HeatExchangers.ActiveBeams.Examples.HeatingOnly - -AixLib.Fluid.HeatExchangers.ActiveBeams.Validation.NumberOfBeams - -AixLib.Fluid.HeatExchangers.ActiveBeams.Validation.NumberOfBeamsDynamics - -AixLib.Fluid.HeatExchangers.BaseClasses.Examples.HACoilInside - -AixLib.Fluid.HeatExchangers.BaseClasses.Examples.HADryCoil - -AixLib.Fluid.HeatExchangers.BaseClasses.Examples.HANaturalCylinder - -AixLib.Fluid.HeatExchangers.Examples.AirHeater_T - -AixLib.Fluid.HeatExchangers.Examples.AirHeater_u - -AixLib.Fluid.HeatExchangers.Examples.DryCoilEffectivenessNTUMassFlow - -AixLib.Fluid.HeatExchangers.Examples.DryCoilEffectivenessNTUPControl - -AixLib.Fluid.HeatExchangers.Examples.HeatingRod - -AixLib.Fluid.HeatExchangers.Examples.WaterCooler_T - -AixLib.Fluid.HeatExchangers.Examples.WaterHeater_T - -AixLib.Fluid.HeatExchangers.Examples.WaterHeater_u - -AixLib.Fluid.HeatExchangers.Radiators.Examples.RadiatorEN442_2 - -AixLib.Fluid.HeatExchangers.Validation.ConstantEffectiveness - -AixLib.Fluid.HeatExchangers.Validation.DryCoilEffectivenessNTU - -AixLib.Fluid.HeatExchangers.Validation.EvaporatorCondenser - -AixLib.Fluid.HeatExchangers.Validation.HeaterCooler_u - -AixLib.Fluid.HeatExchangers.Validation.PrescribedOutlet - -AixLib.Fluid.HeatExchangers.Validation.PrescribedOutlet_dynamic - -AixLib.Fluid.HeatPumps.Calibration.ScrollWaterToWater - -AixLib.Fluid.HeatPumps.Compressors.BaseClasses.Validation.TemperatureProtection - -AixLib.Fluid.HeatPumps.Compressors.Validation.ReciprocatingCompressor - -AixLib.Fluid.HeatPumps.Compressors.Validation.ReciprocatingCompressor_ZeroInput - -AixLib.Fluid.HeatPumps.Compressors.Validation.ScrollCompressor - -AixLib.Fluid.HeatPumps.Compressors.Validation.ScrollCompressor_ZeroInput - -AixLib.Fluid.HeatPumps.Examples.Carnot_TCon - -AixLib.Fluid.HeatPumps.Examples.Carnot_y - -AixLib.Fluid.HeatPumps.Examples.HeatPump - -AixLib.Fluid.HeatPumps.Examples.ScrollWaterToWater_OneRoomRadiator - -AixLib.Fluid.HeatPumps.Validation.Carnot_TCon_etaPL - -AixLib.Fluid.HeatPumps.Validation.Carnot_TCon_LimitedCapacity - -AixLib.Fluid.HeatPumps.Validation.Carnot_TCon_LowTemperature - -AixLib.Fluid.HeatPumps.Validation.Carnot_TCon_reverseFlow - -AixLib.Fluid.HeatPumps.Validation.Carnot_y_etaCar - -AixLib.Fluid.HeatPumps.Validation.Carnot_y_etaPL - -AixLib.Fluid.HeatPumps.Validation.ReciprocatingWaterToWater_Dynamic - -AixLib.Fluid.HeatPumps.Validation.ReciprocatingWaterToWater_ScalingFactor - -AixLib.Fluid.HeatPumps.Validation.ReciprocatingWaterToWater_Static - -AixLib.Fluid.HeatPumps.Validation.ReciprocatingWaterToWater_VariableSpeed - -AixLib.Fluid.HeatPumps.Validation.ScrollWaterToWater_Dynamic - -AixLib.Fluid.HeatPumps.Validation.ScrollWaterToWater_ScalingFactor - -AixLib.Fluid.HeatPumps.Validation.ScrollWaterToWater_Static - -AixLib.Fluid.HeatPumps.Validation.ScrollWaterToWater_TemperatureProtection - -AixLib.Fluid.HeatPumps.Validation.ScrollWaterToWater_VariableSpeed - -AixLib.Fluid.Humidifiers.Examples.Humidifier_u - -AixLib.Fluid.Humidifiers.Validation.SprayAirWasher_X - -AixLib.Fluid.Humidifiers.Validation.SprayAirWasher_X_dynamic - -AixLib.Fluid.Humidifiers.Validation.SteamHumidifier_X - -AixLib.Fluid.Humidifiers.Validation.SteamHumidifier_X_dynamic - -AixLib.Fluid.Interfaces.Examples.ConservationEquation - -AixLib.Fluid.Interfaces.Examples.EightPortHeatMassExchanger - -AixLib.Fluid.Interfaces.Examples.FourPortHeatMassExchanger - -AixLib.Fluid.Interfaces.Examples.HeaterCooler_u - -AixLib.Fluid.Interfaces.Examples.Humidifier_u - -AixLib.Fluid.Interfaces.Examples.PrescribedOutlet - -AixLib.Fluid.Interfaces.Examples.PrescribedOutlet_TSetOnly - -AixLib.Fluid.Interfaces.Examples.PrescribedOutlet_Water - -AixLib.Fluid.Interfaces.Examples.PrescribedOutlet_X_wSetOnly - -AixLib.Fluid.Interfaces.Examples.ReverseFlowHumidifier - -AixLib.Fluid.Interfaces.Examples.ReverseFlowMassExchanger - -AixLib.Fluid.Interfaces.Examples.StaticTwoPortConservationEquation - -AixLib.Fluid.MassExchangers.Examples.ConstantEffectiveness - -AixLib.Fluid.MassExchangers.MembraneBasedEnthalpyExchangers.Examples.Test_EnthalpyExchanger - -AixLib.Fluid.MassExchangers.MembraneBasedEnthalpyExchangers.Validation.DynamicValidation - -AixLib.Fluid.MassExchangers.MembraneBasedEnthalpyExchangers.Validation.StaticValidation - -AixLib.Fluid.MassExchangers.Validation.ConstantEffectivenessZeroFlow - -AixLib.Fluid.MassExchangers.Validation.ConstantEffectivenessZeroFlowBothStreams - -AixLib.Fluid.MixingVolumes.BaseClasses.Validation.MixingVolumeHeatMoisturePort - -AixLib.Fluid.MixingVolumes.BaseClasses.Validation.MixingVolumeHeatPortAir - -AixLib.Fluid.MixingVolumes.BaseClasses.Validation.MixingVolumeHeatPortWater - -AixLib.Fluid.MixingVolumes.Examples.MixingVolumeHeatConduction - -AixLib.Fluid.MixingVolumes.Examples.MixingVolumeMoistAir - -AixLib.Fluid.MixingVolumes.Examples.MixingVolumePrescribedHeatFlowRate - -AixLib.Fluid.MixingVolumes.Validation.CoupledVolumesAir - -AixLib.Fluid.MixingVolumes.Validation.CoupledVolumesGlycol47 - -AixLib.Fluid.MixingVolumes.Validation.CoupledVolumesSpecializedAirPerfectGas - -AixLib.Fluid.MixingVolumes.Validation.CoupledVolumesSpecializedWaterConstantProperties_pT - -AixLib.Fluid.MixingVolumes.Validation.CoupledVolumesSpecializedWaterTemperatureDependentDensity - -AixLib.Fluid.MixingVolumes.Validation.CoupledVolumesWater - -AixLib.Fluid.MixingVolumes.Validation.MixingVolume - -AixLib.Fluid.MixingVolumes.Validation.MixingVolumeAdiabaticCooling - -AixLib.Fluid.MixingVolumes.Validation.MixingVolumeHeatReverseFlow - -AixLib.Fluid.MixingVolumes.Validation.MixingVolumeHeatReverseFlowPrescribedHeatFlowRate - -AixLib.Fluid.MixingVolumes.Validation.MixingVolumeInitialization - -AixLib.Fluid.MixingVolumes.Validation.MixingVolumeMassFlow - -AixLib.Fluid.MixingVolumes.Validation.MixingVolumeMFactor - -AixLib.Fluid.MixingVolumes.Validation.MixingVolumeMoistureReverseFlow - -AixLib.Fluid.MixingVolumes.Validation.MixingVolumeMoistureReverseFlowPrescribedHeatFlowRate - -AixLib.Fluid.MixingVolumes.Validation.MixingVolumeSteadyStateMass - -AixLib.Fluid.MixingVolumes.Validation.MixingVolumeTraceSubstance - -AixLib.Fluid.MixingVolumes.Validation.MixingVolumeTraceSubstanceReverseFlow - -AixLib.Fluid.MixingVolumes.Validation.MixingVolumeTraceSubstanceReverseFlowPrescribedHeatFlowRate - -AixLib.Fluid.MixingVolumes.Validation.MixingVolumeZeroFlow - -AixLib.Fluid.MixingVolumes.Validation.MoistureMixingConservationDynamicBalance - -AixLib.Fluid.MixingVolumes.Validation.MoistureMixingConservationSteadyState - -AixLib.Fluid.MixingVolumes.Validation.TraceSubstanceConservationDynamicBalance - -AixLib.Fluid.MixingVolumes.Validation.TraceSubstanceConservationSteadyState - -AixLib.Fluid.Movers.BaseClasses.Validation.FlowMachineInterface - -AixLib.Fluid.Movers.BaseClasses.Validation.PowerInterface - -AixLib.Fluid.Movers.DpControlledMovers.Examples.DpControlled_dpConst - -AixLib.Fluid.Movers.DpControlledMovers.Examples.DpControlled_dpVar - -AixLib.Fluid.Movers.Examples.ClosedLoop_y - -AixLib.Fluid.Movers.Examples.MoverContinuous - -AixLib.Fluid.Movers.Examples.MoverParameter - -AixLib.Fluid.Movers.Examples.MoverStages - -AixLib.Fluid.Movers.Examples.PumpsParallel - -AixLib.Fluid.Movers.Examples.PumpsSeries - -AixLib.Fluid.Movers.Examples.SpeedControlled_y_pumpCurves - -AixLib.Fluid.Movers.PumpsPolynomialBased.Examples.PumpHeadControlled - -AixLib.Fluid.Movers.PumpsPolynomialBased.Examples.PumpSpeedControlled - -AixLib.Fluid.Movers.PumpsPolynomialBased.Examples.PumpSpeedControlledDpV - -AixLib.Fluid.Movers.Validation.ControlledFlowMachine - -AixLib.Fluid.Movers.Validation.ControlledFlowMachineDynamic - -AixLib.Fluid.Movers.Validation.FlowControlled_dp - -AixLib.Fluid.Movers.Validation.FlowControlled_dpSystem - -AixLib.Fluid.Movers.Validation.FlowControlled_m_flow - -AixLib.Fluid.Movers.Validation.PowerExact - -AixLib.Fluid.Movers.Validation.PowerSimplified - -AixLib.Fluid.Movers.Validation.PumpCurveConstruction - -AixLib.Fluid.Movers.Validation.PumpCurveDerivatives - -AixLib.Fluid.Movers.Validation.Pump_Nrpm_stratos - -AixLib.Fluid.Movers.Validation.Pump_stratos - -AixLib.Fluid.Movers.Validation.SpeedControlled_Nrpm - -AixLib.Fluid.Movers.Validation.SpeedControlled_y - -AixLib.Fluid.Movers.Validation.SpeedControlled_y_linear - -AixLib.Fluid.Sensors.Conversions.Examples.To_VolumeFraction - -AixLib.Fluid.Sensors.Examples.Density - -AixLib.Fluid.Sensors.Examples.EnthalpyFlowRate - -AixLib.Fluid.Sensors.Examples.EntropyFlowRate - -AixLib.Fluid.Sensors.Examples.MassFraction - -AixLib.Fluid.Sensors.Examples.MoistAirEnthalpyFlowRate - -AixLib.Fluid.Sensors.Examples.PPM - -AixLib.Fluid.Sensors.Examples.Pressure - -AixLib.Fluid.Sensors.Examples.RelativeHumidity - -AixLib.Fluid.Sensors.Examples.SpecificEnthalpy - -AixLib.Fluid.Sensors.Examples.SpecificEntropy - -AixLib.Fluid.Sensors.Examples.TemperatureDryBulb - -AixLib.Fluid.Sensors.Examples.TemperatureWetBulb - -AixLib.Fluid.Sensors.Examples.TraceSubstances - -AixLib.Fluid.Sensors.Examples.Velocity - -AixLib.Fluid.Sensors.Examples.VolumeFlowRate - -AixLib.Fluid.Sources.Examples.MassFlowSource_WeatherData - -AixLib.Fluid.Sources.Examples.Outside - -AixLib.Fluid.Sources.Examples.Outside_CpLowRise - -AixLib.Fluid.Sources.Examples.PropertySource_h - -AixLib.Fluid.Sources.Examples.PropertySource_T - -AixLib.Fluid.Sources.Examples.TraceSubstancesFlowSource - -AixLib.Fluid.Sources.Validation.Boundary - -AixLib.Fluid.Sources.Validation.BoundaryWithXi_in - -AixLib.Fluid.Sources.Validation.BoundaryWithX_in - -AixLib.Fluid.Storage.BaseClasses.Examples.IndirectTankHeatExchanger - -AixLib.Fluid.Storage.Examples.BufferStorage - -AixLib.Fluid.Storage.Examples.ExpansionVessel - -AixLib.Fluid.Storage.Examples.Stratified - -AixLib.Fluid.Storage.Examples.StratifiedEnhancedInternalHex - -AixLib.Fluid.Storage.Examples.StratifiedUnloadAtMinimumTemperature - -AixLib.Fluid.Storage.Validation.HeatExchangerDynamics - -AixLib.Fluid.Storage.Validation.HeatExchangerLocation - -AixLib.Fluid.Storage.Validation.StratifiedLoadingUnloading - -AixLib.Fluid.Storage.Validation.StratifiedNonUniformInitial - -AixLib.Media.Antifreeze.Validation.EthyleneGlycolWater - -AixLib.Media.Antifreeze.Validation.PropyleneGlycolWater - -AixLib.Media.Examples.AirDerivativeCheck - -AixLib.Media.Examples.AirProperties - -AixLib.Media.Examples.AirTemperatureEnthalpyInversion - -AixLib.Media.Examples.PropyleneGlycolWaterDerivativeCheck - -AixLib.Media.Examples.PropyleneGlycolWaterProperties - -AixLib.Media.Examples.PropyleneGlycolWaterTemperatureEnthalpyInversion - -AixLib.Media.Examples.WaterDerivativeCheck - -AixLib.Media.Examples.WaterProperties - -AixLib.Media.Examples.WaterTemperatureEnthalpyInversion - -AixLib.Media.Refrigerants.Validation.R410A_dSpecificVolumeVap_pT - -AixLib.Media.Specialized.Air.Examples.PerfectGasDerivativeCheck - -AixLib.Media.Specialized.Air.Examples.PerfectGasTemperatureEnthalpyInversion - -AixLib.Media.Specialized.Water.Examples.TemperatureDependentDensityDerivativeCheck - -AixLib.Media.Specialized.Water.Examples.TemperatureDependentDensityProperties - -AixLib.Media.Specialized.Water.Examples.TemperatureDependentDensityTemperatureEnthalpyInversion - -AixLib.Media.Specialized.Water.Examples.WaterProperties_pT - -AixLib.Systems.HeatPumpSystems.Examples.HeatPumpSystem - -AixLib.ThermalZones.HighOrder.Examples.OFDHeatLoad - -AixLib.ThermalZones.HighOrder.Examples.RoomGFOw2_DayNightMode - -AixLib.ThermalZones.HighOrder.Examples.ASHREA140.CompareDynamicAndStaticSolarFrac_Case270 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case210 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case220 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case230 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case240 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case250 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case270 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case280 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case300 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case320 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case395 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case400 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case410 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case420 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case430 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case440 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case600 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case600FF - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case620 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case640 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case650 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case650FF - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case800 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case810 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case900 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case900FF - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case920 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case940 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case950 - -AixLib.ThermalZones.HighOrder.Validation.ASHRAE140.Case950FF - -AixLib.ThermalZones.HighOrder.Validation.EmpiricalValidation.TwinHouseN2 - -AixLib.ThermalZones.HighOrder.Validation.EmpiricalValidation.Warehouse - -AixLib.ThermalZones.ReducedOrder.Examples.MultizoneMoistAirCO2 - -AixLib.ThermalZones.ReducedOrder.Examples.MultizoneMoistAirCO2Equipped - -AixLib.ThermalZones.ReducedOrder.Examples.SimpleRoomFourElements - -AixLib.ThermalZones.ReducedOrder.Examples.SimpleRoomFourElementsTraceSubstance - -AixLib.ThermalZones.ReducedOrder.Examples.SimpleRoomOneElement - -AixLib.ThermalZones.ReducedOrder.Examples.SimpleRoomThreeElements - -AixLib.ThermalZones.ReducedOrder.Examples.SimpleRoomTwoElements - -AixLib.ThermalZones.ReducedOrder.Validation.RoomSteadyState - -AixLib.ThermalZones.ReducedOrder.Validation.RoomWithLatentGain - -AixLib.ThermalZones.ReducedOrder.Validation.RoomWithoutLatentGain - -AixLib.ThermalZones.ReducedOrder.Validation.VDI6007.TestCase1 - -AixLib.ThermalZones.ReducedOrder.Validation.VDI6007.TestCase10 - -AixLib.ThermalZones.ReducedOrder.Validation.VDI6007.TestCase11 - -AixLib.ThermalZones.ReducedOrder.Validation.VDI6007.TestCase12 - -AixLib.ThermalZones.ReducedOrder.Validation.VDI6007.TestCase2 - -AixLib.ThermalZones.ReducedOrder.Validation.VDI6007.TestCase3 - -AixLib.ThermalZones.ReducedOrder.Validation.VDI6007.TestCase4 - -AixLib.ThermalZones.ReducedOrder.Validation.VDI6007.TestCase5 - -AixLib.ThermalZones.ReducedOrder.Validation.VDI6007.TestCase6 - -AixLib.ThermalZones.ReducedOrder.Validation.VDI6007.TestCase7 - -AixLib.ThermalZones.ReducedOrder.Validation.VDI6007.TestCase8 - -AixLib.ThermalZones.ReducedOrder.Validation.VDI6007.TestCase9 - -AixLib.Utilities.Cryptographics.Validation.SHA1 - -AixLib.Utilities.Diagnostics.Validation.CheckEquality - -AixLib.Utilities.IO.Files.Examples.CSVReader - -AixLib.Utilities.IO.Files.Examples.CSVWriter - -AixLib.Utilities.IO.Files.Examples.JSONWriter - -AixLib.Utilities.IO.SignalExchange.Examples.FirstOrder - -AixLib.Utilities.IO.SignalExchange.Examples.WeatherStation - -AixLib.Utilities.Math.Examples.Average - -AixLib.Utilities.Math.Examples.BesselJ0 - -AixLib.Utilities.Math.Examples.BesselJ1 - -AixLib.Utilities.Math.Examples.BesselY0 - -AixLib.Utilities.Math.Examples.BesselY1 - -AixLib.Utilities.Math.Examples.Bicubic - -AixLib.Utilities.Math.Examples.Binomial - -AixLib.Utilities.Math.Examples.Biquadratic - -AixLib.Utilities.Math.Examples.BooleanReplicator - -AixLib.Utilities.Math.Examples.ExponentialIntegralE1 - -AixLib.Utilities.Math.Examples.Factorial - -AixLib.Utilities.Math.Examples.FallingFactorial - -AixLib.Utilities.Math.Examples.IntegerReplicator - -AixLib.Utilities.Math.Examples.IntegratorWithReset - -AixLib.Utilities.Math.Examples.InverseXRegularized - -AixLib.Utilities.Math.Examples.Polynominal - -AixLib.Utilities.Math.Examples.PowerLinearized - -AixLib.Utilities.Math.Examples.QuadraticLinear - -AixLib.Utilities.Math.Examples.RegNonZeroPower - -AixLib.Utilities.Math.Examples.SmoothBlocks - -AixLib.Utilities.Math.Examples.SmoothExponential - -AixLib.Utilities.Math.Examples.SmoothHeaviside - -AixLib.Utilities.Math.Examples.SmoothLimit - -AixLib.Utilities.Math.Examples.SmoothMin - -AixLib.Utilities.Math.Examples.Splice - -AixLib.Utilities.Math.Examples.VectorFunctions - -AixLib.Utilities.Math.Functions.Examples.BesselJ0 - -AixLib.Utilities.Math.Functions.Examples.BesselJ1 - -AixLib.Utilities.Math.Functions.Examples.BesselY0 - -AixLib.Utilities.Math.Functions.Examples.BesselY1 - -AixLib.Utilities.Math.Functions.Examples.Binomial - -AixLib.Utilities.Math.Functions.Examples.CubicHermite - -AixLib.Utilities.Math.Functions.Examples.ExponentialIntegralE1 - -AixLib.Utilities.Math.Functions.Examples.Factorial - -AixLib.Utilities.Math.Functions.Examples.FallingFactorial - -AixLib.Utilities.Math.Functions.Examples.InverseXDerivativeCheck - -AixLib.Utilities.Math.Functions.Examples.InverseXDerivative_2_Check - -AixLib.Utilities.Math.Functions.Examples.InverseXRegularized - -AixLib.Utilities.Math.Functions.Examples.IsMonotonic - -AixLib.Utilities.Math.Functions.Examples.Polynomial - -AixLib.Utilities.Math.Functions.Examples.PowerLinearized - -AixLib.Utilities.Math.Functions.Examples.QuinticHermite - -AixLib.Utilities.Math.Functions.Examples.RegNonZeroPower - -AixLib.Utilities.Math.Functions.Examples.RegNonZeroPowerDerivativeCheck - -AixLib.Utilities.Math.Functions.Examples.RegNonZeroPowerDerivative_2_Check - -AixLib.Utilities.Math.Functions.Examples.RegStep - -AixLib.Utilities.Math.Functions.Examples.SmoothExponentialDerivativeCheck - -AixLib.Utilities.Math.Functions.Examples.SmoothHeavisideDerivatives - -AixLib.Utilities.Math.Functions.Examples.SpliceFunction - -AixLib.Utilities.Math.Functions.Examples.SpliceFunctionDerivativeCheck - -AixLib.Utilities.Math.Functions.Examples.TrapezoidalIntegration - -AixLib.Utilities.Psychrometrics.Examples.Density_pTX - -AixLib.Utilities.Psychrometrics.Examples.DewPointTemperature - -AixLib.Utilities.Psychrometrics.Examples.HumidityRatioPressure - -AixLib.Utilities.Psychrometrics.Examples.MassFraction_pTphi - -AixLib.Utilities.Psychrometrics.Examples.Phi_pTX - -AixLib.Utilities.Psychrometrics.Examples.SaturationPressure - -AixLib.Utilities.Psychrometrics.Examples.SaturationPressureLiquid - -AixLib.Utilities.Psychrometrics.Examples.SublimationPressureIce - -AixLib.Utilities.Psychrometrics.Examples.TotalAirDryAir - -AixLib.Utilities.Psychrometrics.Examples.TWetBul_TDryBulPhi - -AixLib.Utilities.Psychrometrics.Examples.TWetBul_TDryBulXi - -AixLib.Utilities.Psychrometrics.Functions.BaseClasses.Examples.DewPointTemperatureDerivativeCheck - -AixLib.Utilities.Psychrometrics.Functions.BaseClasses.Examples.DewPointTemperatureDerivativeCheck_amb - -AixLib.Utilities.Psychrometrics.Functions.BaseClasses.Examples.InverseDewPointTemperatureDerivativeCheck_amb - -AixLib.Utilities.Psychrometrics.Functions.BaseClasses.Examples.SaturationPressureDerivativeCheck - -AixLib.Utilities.Psychrometrics.Functions.BaseClasses.Examples.WaterVaporPressureDerivativeCheck - -AixLib.Utilities.Psychrometrics.Functions.Examples.Density_pTX - -AixLib.Utilities.Psychrometrics.Functions.Examples.phi_pTX - -AixLib.Utilities.Psychrometrics.Functions.Examples.pW_TDewPoi - -AixLib.Utilities.Psychrometrics.Functions.Examples.pW_TDewPoi_comparison - -AixLib.Utilities.Psychrometrics.Functions.Examples.pW_X - -AixLib.Utilities.Psychrometrics.Functions.Examples.SaturationPressure - -AixLib.Utilities.Psychrometrics.Functions.Examples.X_pSatpphi - -AixLib.Utilities.Time.Examples.CalendarTime - -AixLib.Utilities.Time.Examples.ModelTime - -AixLib.Utilities.Time.Validation.CalendarTimeMonths - -AixLib.Utilities.Time.Validation.CalendarTimeMonthsMinus - -AixLib.Utilities.Time.Validation.CalendarTimeMonthsPlus diff --git a/bin/Configfiles/exit.sh b/bin/Configfiles/exit.sh deleted file mode 100644 index c7172ef6..00000000 --- a/bin/Configfiles/exit.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exit 1 \ No newline at end of file diff --git a/bin/Documentation/How_to_integrate_new_tests.md b/bin/Documentation/How_to_integrate_new_tests.md deleted file mode 100644 index 5087bcc0..00000000 --- a/bin/Documentation/How_to_integrate_new_tests.md +++ /dev/null @@ -1,485 +0,0 @@ -How to integrate new tests ? -====== - -The YAML file (.gitlab-ci.yml) is used to control the -integrated CI in Gitlab and refers to certain tests that -are to be performed. -The tests can be performed in several stages to prove -which tests have been successfully performed or failed. - -The following is a simple example of a YAML file: - -```yml -stages: -- analysis -test_dymola_thermalzones: -image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:latest - stage: analysis - services: - - docker - - before_script: - - sudo apt-get update - - sudo apt-get install xvfb xfonts-100dpi xfonts-75dpi xfonts-cyrillic xorg dbus-x11 -y - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - sudo python -m pip install setuptools - - sudo python -m pip install pathlib - - - script: - - cd script/Python - - python Test.py -artifacts: - paths: - - Reference -``` - -In this example only one stage "analysis" -with a job "test_dymola_thermalzones" is given. -Under image the Docker Image is specified, -with which the container is later created and in -which the scripts and tests are executed. -Here the integrated Docker Registry of Gitlab is -referenced: - -![E.ON EBC RWTH Aachen University](Images/RegistryIntegrate.png) - -The stage to be processed and the service docker -are then specified. -Before the scripts in the repository are -executed, additional installations such as Python -libraries can be done under before_script as -well as the command - ` Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && ` -because otherwise Dymola will not be started correctly and it can lead to an error. - -Under script, a reference to the script to be run is now executed and then these are run. If the script ran correctly, the job was executed successfully. - -So the most important keywords for a YAML file are here: - -``` - - Image - - services - - stages - - types - - Before_script - - After_script - - variables - - cache -``` - -In addition to the keywords, there are also configurations that can be used in the -are described in more detail in the documentation Gitlab CI/CD commands. - -In the following the current YAML file for the Aixlib is shown. -Here several packages of the Aixlib are tested with a UnitTest, i.e. the models are compared with reference data to avoid possible unwanted changes. - -![E.ON EBC RWTH Aachen University](Images/Aixliblib.png) - - -In this test the packages "Airflow", "FastHVAC", "Fluid", "Media", "Systems", "ThermalZones", "Electrical" and "BoundaryConditions" are tested in their own stages. -The tests are used using the buildingspy of the "Berkeley Lab" in the Python language and uses the Python interface for Modelica. This means that tests can be controlled and executed via Python in Dymola. The different jobs differ only in the different packages. - - - - -```yml - test_dymola_Airflow: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:conda-integration - stage: test - services: - - docker - # variables: - # CI_DEBUG_TRACE: "true" - - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python27 - - python -V # Print out python version for debugging - - dir - - export PYTHONIOENCODING=utf-8 # just in case - - script: - - cd AixLib && python ../bin/runUnitTests.py -n 2 --batch --single-package AixLib.Airflow --tool dymola - - artifacts: - when: on_failure - paths: - - AixLib/simulator-dymola.log - - retry: - max: 2 - when: runner_system_failure - - - test_dymola_BoundaryConditions: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:conda-integration - stage: test - services: - - docker - # variables: - # CI_DEBUG_TRACE: "true" - - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python27 - - python -V # Print out python version for debugging - - dir - - export PYTHONIOENCODING=UTF8 # just in case - - script: - - cd AixLib && python ../bin/runUnitTests.py -n 2 --batch --single-package AixLib.BoundaryConditions --tool dymola - - artifacts: - when: on_failure - paths: - - AixLib/simulator-dymola.log - - retry: - max: 2 - when: runner_system_failure - - - test_dymola_Controls: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:conda-integration - stage: test - services: - - docker - # variables: - # CI_DEBUG_TRACE: "true" - - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python27 - - python -V # Print out python version for debugging - - dir - - export PYTHONIOENCODING=UTF8 # just in case - - script: - - cd AixLib && python ../bin/runUnitTests.py -n 2 --batch --single-package AixLib.Controls --tool dymola - - artifacts: - when: on_failure - paths: - - AixLib/simulator-dymola.log - - retry: - max: 2 - when: runner_system_failure - - - test_dymola_Electrical: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:conda-integration - stage: test - services: - - docker - # variables: - # CI_DEBUG_TRACE: "true" - - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python27 - - python -V # Print out python version for debugging - - dir - - export PYTHONIOENCODING=UTF8 # just in case - - script: - - cd AixLib && python ../bin/runUnitTests.py -n 2 --batch --single-package AixLib.Electrical --tool dymola - - artifacts: - when: on_failure - paths: - - AixLib/simulator-dymola.log - - retry: - max: 2 - when: runner_system_failure - - - test_dymola_FastHVAC: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:conda-integration - stage: test - services: - - docker - # variables: - # CI_DEBUG_TRACE: "true" - - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python27 - - python -V # Print out python version for debugging - - dir - - export PYTHONIOENCODING=UTF8 # just in case - - script: - - cd AixLib && python ../bin/runUnitTests.py -n 2 --batch --single-package AixLib.FastHVAC --tool dymola - - artifacts: - when: on_failure - paths: - - AixLib/simulator-dymola.log - - retry: - max: 2 - when: runner_system_failure - - - test_dymola_Fluid: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:conda-integration - stage: test - services: - - docker - # variables: - # CI_DEBUG_TRACE: "true" - - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python27 - - python -V # Print out python version for debugging - - dir - - export PYTHONIOENCODING=UTF8 # just in case - - script: - - cd AixLib && python ../bin/runUnitTests.py -n 2 --batch --single-package AixLib.Fluid --tool dymola - - artifacts: - when: on_failure - paths: - - AixLib/simulator-dymola.log - - retry: - max: 2 - when: runner_system_failure - - - test_dymola_Media: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:conda-integration - stage: test - services: - - docker - # variables: - # CI_DEBUG_TRACE: "true" - - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python27 - - python -V # Print out python version for debugging - - dir - - export PYTHONIOENCODING=UTF8 # just in case - - script: - - cd AixLib && python ../bin/runUnitTests.py -n 2 --batch --single-package AixLib.Media --tool dymola - - artifacts: - when: on_failure - paths: - - AixLib/simulator-dymola.log - - retry: - max: 2 - when: runner_system_failure - - - test_dymola_Systems: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:conda-integration - stage: test - services: - - docker - # variables: - # CI_DEBUG_TRACE: "true" - - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python27 - - python -V # Print out python version for debugging - - dir - - export PYTHONIOENCODING=UTF8 # just in case - - script: - - cd AixLib && python ../bin/runUnitTests.py -n 2 --batch --single-package AixLib.Systems --tool dymola - - artifacts: - when: on_failure - paths: - - AixLib/simulator-dymola.log - - retry: - max: 2 - when: runner_system_failure - - - test_dymola_ThermalZones: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:conda-integration - stage: test - services: - - docker - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python27 - - python -V # Print out python version for debugging - - dir - - export PYTHONIOENCODING=UTF8 # just in case - - script: - - cd AixLib && python ../bin/runUnitTests.py -n 2 --batch --single-package AixLib.ThermalZones --tool dymola - - artifacts: - when: on_failure - paths: - - AixLib/simulator-dymola.log - - retry: - max: 2 - when: runner_system_failure -``` - - -The other Aixlib packages must also be checked for future tests. -For this purpose, current reference data for the respective models or packages must be -created and stored in order to compare them later. -For this purpose .mos scripts are used in Dymola. -This means that a .mos script must be created for each individual model with -the respective variables to be examined. -The following is an example for the model "AixLib.Airflow.AirHandlingUnit.Examples.AHU". - - - - - simulateModel("AixLib.Airflow.AirHandlingUnit.Examples.AHU", stopTime=86400, outputInterval=60, method="lsodar", tolerance=1e-6, resultFile="AHU"); - - createPlot( - id=1, - position={917, 10, 693, 691}, - y={"ahu.allCond"}, - range={0.0, 90000.0, 0.89, 1.11}, - grid=true, - filename="TestAHU.mat", - colors={{28,108,200}}, - markers={MarkerStyle.SmallSquare}); - - createPlot( - id=2, - position={60, 18, 727, 669}, - y={"ahu.startState.active", "ahu.deHuHRS_true.active", "ahu.deHuHRS_false.active", "ahu.onlyHeatingHRS_true.active", "ahu.onlyHeatingHRS_false.active"}, - range={0.0, 90000.0, -0.05, 1.05}, - grid=true, - filename="TestAHU.mat", - colors={{28,108,200}, {238,46,47}, {0,140,72}, {217,67,180}, {0,0,0}}, - markers={MarkerStyle.SmallSquare, MarkerStyle.SmallSquare, MarkerStyle.SmallSquare, MarkerStyle.SmallSquare, MarkerStyle.SmallSquare}); - - createPlot( - id=3, - position={821, 15, 744, 666}, - y={"ahu.onlyCoolingHRS_true.active", "ahu.onlyCoolingHRS_false.active", "ahu.huPreHHRS_true.active", "ahu.huPreHHRS_false.active", "ahu.huCHRS_true.active", "ahu.huCHRS_false.active"}, - range={0.0, 90000.0, -0.05, 1.05}, - grid=true, - filename="TestAHU.mat", - colors={{28,108,200}, {238,46,47}, {0,140,72}, {217,67,180}, {0,0,0}, {162,29,33}}, - markers={MarkerStyle.SmallSquare, MarkerStyle.SmallSquare, MarkerStyle.SmallSquare, MarkerStyle.SmallSquare, MarkerStyle.SmallSquare, MarkerStyle.SmallSquare}); - - createPlot( - id=4, - position={77, 62, 1429, 635}, - y={"ahu.QflowC", "ahu.QflowH"}, - range={0.0, 88000.0, -100000.0, 2100000.0}, - grid=true, - filename="TestAHU.mat", - colors={{28,108,200}, {238,46,47}}); - - createPlot( - id=5, - position={50, 59, 1411, 632}, - y={"ahu.X_oda", "ahu.X_supMin", "ahu.X_supMax"}, - range={0.0, 88000.0, 0.0058000000000000005, 0.0102}, - grid=true, - filename="TestAHU.mat", - colors={{28,108,200}, {238,46,47}, {0,140,72}}, - markers={MarkerStyle.SmallSquare, MarkerStyle.SmallSquare, MarkerStyle.SmallSquare}); - - createPlot( - id=6, - position={31, 19, 1416, 654}, - y={"ahu.T_6", "ahu.T_oda", "ahu.T_supplyAirOut"}, - range={0.0, 88000.0, 8.0, 30.0}, - grid=true, - filename="TestAHU.mat", - colors={{28,108,200}, {238,46,47}, {28,108,200}}, - markers={MarkerStyle.SmallSquare, MarkerStyle.SmallSquare, MarkerStyle.None}); - - -The mos. scripts for the models can be found under Aixlib/Resources/Scripts/Dymola/... . -The generated reference files, with which the simulation results are later compared, are located under the path Aixlib/Resources/ReferenceResults/Dymola in the form of a text file (.txt). -Basically, the runUnitTests.py script compares all variables plotted by a *.mos script with the reference results. If the results have changed by more than 1E-3 absolute or relative errors, a warning is written to the console and a plot with the reference results and the new results is displayed to the user. The results are then played back in a log file. - -To enable an automatic component test, certain conditions must be met. - -1. provide a package in the example of a Modelica model -2. make a Modelica script available in Aixlib/Resources/Scripts/Dymola/.../Examples. The script must execute the model and display the results. -3. undertake to cite the new reference results generated in Aixlib/Resources/ReferenceResults/Dymola when performing the component tests. - -Each model must also meet the following requirements: - -- The experiment annotation must be present for the JModelica and OpenModelica unit tests. -- The Tolerance annotation must be present for the JModelica unit tests. -- The Tolerance must be smaller than 1e-6 for the JModelica unit tests. -- The StopTime annotation must be present to add the model to the unit tests of OpenModelica. -- The StartTime, and StopTime of the experiment annotation are not allowed to use multiplication (e.g. StartTime=6*86400), only literal values are allowed. This is required by JModelica and OpenModelica -- The Tolerance, StartTime, and StopTime defined in the Modelica model must match the tolerance, startTime, and stopTime defined in the corresponding Modelica script. -- The __Dymola_Commands annotation will add an item to Dymola's pull-down menu. The Modelica script needs to contain a plot command that plots model results. Only plotted results will be included in when comparing the new results with reference results. For example, the script to run the unit test for the model Damper is as follows: - -Here is an example - - within AixLib.Airflow.AirHandlingUnit.Examples; - model AHU - - ... - ... - ... - - annotation (Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-100, - -100},{100,100}}), graphics={ - Text( - extent={{-60,80},{-22,54}}, - lineColor={28,108,200}, - fontSize=6, - textString="Heat Cool Dehu Hu HRS - 1 1 1 1 1 - 1 1 1 0 1 - 1 1 0 1 1 - 1 1 0 0 1 - 1 0 0 0 1 - 0 1 0 0 1 - 0 0 0 0 1 - 1 1 1 1 0 - 1 1 1 0 0 - 1 1 0 1 0 - 1 1 0 0 0 - 1 0 0 0 0 - 0 1 0 0 0 - 0 0 0 0 0 - "), Text( - extent={{-60,96},{-16,86}}, - lineColor={28,108,200}, - textString="Use the following Table for investigation of all possible modes. - Check whether variable allCond is always 1.")}), - experiment( - StopTime=86400, - Interval=60, - Tolerance=1e-06), - __Dymola_Commands(file="modelica://AixLib/Resources/Scripts/Dymola/Airflow/AirHandlingUnit/Examples/AHU.mos" - "Simulate and plot") - - - -For further information on how to use theUnitTest, please refer to the following link -https://github.com/ibpsa/modelica-ibpsa/wiki/Unit-Tests - diff --git a/bin/Documentation/Images/Aixliblib.png b/bin/Documentation/Images/Aixliblib.png deleted file mode 100644 index 11c898259cbc5003710cb91e82af3e868c77b501..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29114 zcmeFa1z42p+WtL=H6kE`l$5|w0#eeYh``X&As`GXB_N&Z5Yi0YA}QS+(hU;QAuZiq z{|8*I*n6$D*ZRKw?*09b@AWu52F96Zo~i4;?(_Vem+xexM9^>Cxd8%!&|#uNvLMhU zEf5GL_4-xd8jM4hG~fcoQdUF|l+{VJ0Q_=U|B>V)5GdCl?O5vy@H_aWsEQ?U)4KD& zC{1RmIv|j_G)(A`ysgGcrKXR%i1WP2-G?M^?lP9!-OPE^?}yh65AZlDunR~HmoKpQ zBH4OHN-p6FqMM-Cs3f;it!957<~4kS4?VMmBE> zts^_AXc=KG34uahA%`bvi_sHnHffz)R^>;r;+sb(FH9#6x6--ipN$`;cE-r1oKE#C zVSvF4-4dkFPSTA}2QQPTXQ`Lto?Y@MFR2oNE6ig;+!5Q?sYUT=Uc(N%uMX@PWJuIb z(E-m71X3moU^>5a1-l|p&VP^qL2sU4KEHGqc&&gx*dQ?K`DHjr6#xA4)8&V?=a(R= z_o}u0BTmC(l@|SDm5%*m@vjy#%1<^T0<1erT=w3^&2A4&oT=E%FK*@HT-+l-UK}4B zUcOT$y>?LWa&@kpzjC^Fq;t%+Erlb7=NLWCdCcjs@{FqJ(#6e@_TX{}2s{1r)pez@ z6w*iEAJzgm$k-bqis!3`jOA)Sojv^y#JWX%@H&d+K=q2Ly5qf~MSUaZ)|g1M2AjZ2 zNe&)1%P5D9N?oH>shG_by(rTzlTtfPbyyn)lT>aV!?h?HdbxiA>E(%uI}r61-iStW8*^Rne@+YJDufai(*QS`$tT zzZAiQP4oJ3f+QXnBDyixo34kKpNg-}#rXs!*)-d`Zb1FL`qU;>RvZr%;t^kk1E&2-a{`%y5 zh4jt}$#hY2Rz~s%r8f*)$q$KrK28s9F5}-|7Af?V8PZmZ3kqd!;=~~+rG1yH{YAE5 z@f5_Vu}Ep$bn(JoGb@S0lWJ0=+#S_ZMVZE7E-MTV(8f89?b4sbO%#1J>Vw$GY%h{h zWlk80ZTQ0a0&e#15=i*2uApaNtJ#96cOWrU*g(9m0Fj)(u8(MlHtvXQX)ps4_s(0a z-m97uyQTayGgKM(l6&u&p?O$Jni$7=%reZT7(Jg#=awCPT-or(bh@$V!>T*pD7%zT z=}Puvx%(LJ^@;BBgXj`fYrhdZhhJWoy~Es7F(^5Yel z7V*OlUd-YqwAFzOWC^eMxgk`#R>aK6dIPXgpp^;F)_7dPODPjVtS|wAvW!ZMGSmHv zZ)F`;N&~Q65wls&vH=oTh1_Ta`t@)g+p)26yH2OWZr0V^FL>H*_Z1z#IUS)o(J4|c zkk>neW|ejs8Y+H5Y@2jAon&s0-?$5U9_~|tKiNFyM}$j-Dg9o%NB-4OW+;<%_$L@{ zotS5g=aIHzVFwIRxYABOE@b(R)g5M>P=d3A6QhGLaoY~LbEDMH4qha zGf1fU4|B_!illUAgj$ghYCB1Z za-Zi{geoOsf&z11n}e88b|AviHKezgY*rL(_G^Mxj4;aB2C+zyAD|NAV)$n!W+Fwh zjp=4{>@$x1O_`#g7tJj=j}G)G={>~_1#cgemun+~gAy|2z7^ljf4ylDl+)x>s>PHn zQnccou!%-qsyH~Ev?s_uo4aWzX0^3aws~(UVz6>veSk88A*=S|UcCAlCrFv^3#3sE z3wSF=TpEaD_clW`SU)eyOF0g!A=|{lJsRjTGg|CP?&n)c5`!KxYHjw?@fp66(_P8P zq~?jNhZFN16m3L0b{Az&7`I>bBBP|2XpMJ%)ahy5E;!N+(QC@{YlbK4JaH3Z2{oY~ z6%?g>$1$IRt(RrgoU%`zoJMiPvUA;BGEbnLv5=S*1EeTXiRhMFzjnEOrFuClAJL$6 zQTE;gZ_c=v!NX6ZKLgwtBFJK_hZJ@?&&^lkIOF>IH@YoCfR;>AIDNwOWv;w1( zuO{0AFV>ggqJ%&Ep!&U3e(HYxuZp_s3-FQgo}tZNtBTFurizV6Pg4HsZj-*?Fjt*} zxa@}&-_>VM{67lv3or$WW%2ml0$&_%=a}O_ijAZFNGYM&!FIAZq2pHX&iBXn_))kE zs-Xhvq!(xZ3V2p!SGa^f8Mwfl%lI#@`zFJv6;^@py~Q-FiHyzCbY~w+MlTwvKeEog zSq|Pe&zWb}p9^`7^&2$0P>* z7sjv%$^0;q6n%-2>t@^}9P6DX568=2@9TVS?6;48+@x~FEZK>OP#=zJy8cp*L2DcJ znE8_Mk$6wPu&&SLT+Vi<)ih2$@bm^@;I>^U8$BmL96xbdRISoiEFlh?3P5 zpPRI)Bkc(FtF4M`t@{-p_WdkmPKbBC`7WN~Cn;x2Ovu%KEC?|fjUcDNmo!$h-h0UA zcJJ$wS%Q&yp3c|ci?&6)Jnn++PfaM~iw67W6Ls5}rJe|zifLyk7v9diSOV<9BO4HQ zL0}aitf;XepukYGv=LL4c&4&Ao>ovxHqlhg;gm6GO4T7$A8lfq#;LYdlxDz|KSNdSx1=Cwq0B8URd6f9zi&h_VCxG5&i*>=uw11!z>FEuGt&5ux%kA&ptS*I+vjn^wdZcY^3I29?BmKeIPsE$ zpLd01^oX~p0N+jqg54VVE{?Lc^;($i%n?2-8x;0pYBAg)>QTlp=R4C1VF@1^WXXow z9nH11>Q@tE(<*xH*3p~F#zPRNDEO84mn9pMTC!p!)Wj?v%MeH-OWm&ynQ69zB#X3> zNt<&{0cc;w<$P3Lh#&YGg9(zhx&xVL)0aF0p~B+I-Wf(C5qqaZZk8`bJWGxbx^-8q zK3mnzKN&E|Dle1D6R@Xi>aN@cWq8d(je&1&&C=>_r{!v|f2?_NcGWF4RUb}KuCLWQ zt+EunMKSgha{XA8a$#4XU@c8vGErI$y$UZ~{}h|{q-roWe5mTAR3_a5M8mSFji9jM zu}}`@<$di1lj~k7R;}gLxzWI#NZ5=i5fYds{ zkj47?CWb|GVkeW~E=j6b?y$U3zoA`bCX9==?Hg?W@uj(}%Et8PdjfWWnp?^!x2n@s z6^Ra84-vvUBGWVt32CgjLECpMk6f^=Z(~J@)sk!NWX=zMf{Qs*>MOhRQf2p2A+bwj ztLvBz^S)qLLPrLArW32$5z??`)P_Zp5$?c1Y+7-#=ovQV6_z(Rw{}>pq=aj)HllpG z+y}hHS6qOXsZeQb@|tu}wn{sqD=%PNE+TxN2MKMpy&_&j2XpiLXu9(BW?`Cw*Sr>U zWVs#1i@*|OvQEPQ`q^4@)wGI5dyM_Gw$EDm6Etd2Z1gj%U^B(qHzmPTLV?xgbW|`d zu2yb0XK`ji8b%JVLwh*kRk*#*NEPS3>bpoIH$Dw}Mjbg4y0{d1j)^R~?7Y}_V-Dk1 z>d2v~d(rl!!#n<{u3vy6QGwI#>RNiDG&*U=sJXx<9`JUR;nVdt!FY*r?q~-x+1hRj zoDVUlf#v&HWsr=D;Ll>RyL+-P+HZ?zXyf?n4>2#<^HQZXO|vkEE~v%A^O08{h97T> zNk@K_SK%>QYVo7mP!^G{GO3`_ELd6MAk2TQEeb{pvPjhoU?nHa|7=}=7|P9{*uS&@$$hxJeVRzT?O-YHi;>MnSPW zVk}>pht*CkQ3yNmV4hdq=Ui!&KE>pBZZQ>~A7?Ip1jk>;I2UMrvqImvx-AO?I@E4P%^@4UIbYlBtU$ zRbmWlMKP3ec>G)EmwEX2t;yYwp-d1anQs8-#1CExsc33>rePz!)x_Sp@aNm;tsz_?=k*d!#JP%bPS)_Hd1(@K_628?~a z1CseLlp4Vyi_3F29X%9{heChJQ!?IZ(X^KMd<(!DrN_u8)fHZZHU5g%^lQwBYlRK! zM$3EO%pFb-zx*5H5=WfuosCyVzfL9to#?gwiw923^tF$7!mqUb*pcHjJ{QQ|#P1~v z>|*fU{{8F8YFJLrrR2-Y%D^@*NA=&=^RHi>cw&oVyjqyzQ6d{^s!&vmt7~XE9^5e) zO;ere;zfuk+d62UZ#Z?I%0n!SBsMX6gLva)+*IT4(bn;3nYA*Q#%$_?6Hv$| zg*Oz*-`Dj{bZdNGUr;kp?39JcRSHh`S}158shxZ#M;JA)WhZ{Ha3_2}&F}V}j9Kpc zk&@iZ)bhzI#lF~Z)1#%&!QQCf2t2$nKivR6ANE%V@lhOdswYhyZHM_v_Uw!e?_w>U zoG9H&6LwaPM&5lgB<7|Dg~Prjiekl^1{CZ%ahV=RY1dYO@DWtgJvswY$qbaGWT`&X zEzcgmT`p$SbEQ&aZjrUy;%|0)u}0fSUzl_(T!irHIrt_T9{k0sUKEl*nen8*aHZYB z#jlpD&_w9j>G8L`UG8sXlUpB_*ay_rsfS1_L#DrJIDixzEFkQ6pRazkvT>N_+FKCm zDj8AI^khJ%7vQ7QirCDwL#9L<=n8o;uQfH!+RKiEK#~8sjvuue9Hm-I?hy5gFke3! z#2Y%JWZ|yc4BzB7A?JEcx5GmeM5V^pEuQDZz$dlXCb1uk;FZZ(&CSFn;0nx3tcPh} z_ui*aMtRC8H?IRVeoh3Ec=)5GRd@J8?7XgXr258;;!e#5^7iROAXMmsM2lRU!A=Mk zn>i{}TNw-WVL%Ywo6Qa}Q4{mGL%UkJaCXG^UJHny_`)!O*3i_rXX zx<6Iq?*hn^N`$(j7in$lLapKHBp>DB3f`D~VhAH7`>mz)`qHGEK3x2~zJdaP=KA7? zm#_Zcs5a~4$Y2A91RkY0|ICZSxdQuY(NCk9drtOUDQ=b=6FUpUapTsjjcWXr3q4mS zj$b)l-0pL{M(zC|1Uef23S*1(z_p7jiGgQj`p6IKyt$9dx>$Qa+A1K>{u{5#t*xayHnjpJY!g zB8DC~d>3QZlc&v5*G8|-R1$hhUo|n#Y~p$qt+1{)+>~q1&i?f(CdU_uu)rr$is!&C z#Kc729cnnIy5`mMz(A}>9V};N*4rV~;dCGLwfWzz!x+3>;|6c}K#~Ae<`oaJL{Y05|41Iac*W8tSuZK?d3BXT(6w_ zf>zba1w_QS11XxOG)B0VzU8oeyT-yrJ8T)1zgslf|7=uhM&bp0%VLL9sc9lIU7^S^ z>a$C$Sw0Lyj$g4C^!dM8hY3P+a8)=4?rSX-3MzzBcQ<;fe%hX2B3d&W0NIwr|Mzqk zadD|+(b|Ib0tn@7YXPC0zf%5H?Is*XN|hHl^vPM2m)7x-fp`=|r6YlLwKJ1od5K6b z)9NpfIWRV7i?%X27u#I3J*|ifoWSeQZsZn-+vrK5nQ(VR6(K~7nl|Ah(yd?2N3Nr9ebg-zp1`B{tiaU?Z`+$M+CrWvI^SLvOn(ph;p zBbRsC_372d%0R9U|0i1Q3~0B5IUQ0lO)p9#ke6QYO6eUn=}?@Jf&fo9oLr{+qi-(% zr;4&3*rIoQE}#6iVpfSUyNzY8>X+kGetHF*#hnJmf~Una4U2f*s;ztAVu~8L)PJFC z{@#en09#VCClBsEH$9`YIU#~6JDz(3AdnXzbL`(1K!o(V^&Zzbh;5HBmhFhrX+kxw z&BuNns6*>&486GF-KPxSwe+vwerV_a)EWPf-yaqtoQjSL${l7i${h|e${#QEsMs7$ zvy!buPgYXWcJB(?Wbu=#T?j28SRo?NwN!2GXggLKZQitMsh5Ypa%I%F*wMZ>3BBrI z;qc<|-#-Qx5-Knu?r%!*4;}qCB28G1xJIq;b)b&Jqz4$`9E1F`wN-<`W*l4mRJIhW zy70KKB_P}DhU_oqe1jV>nqRz~t?g_c;?|Zkh%1YFc`bA?tgStHNZh}dHQ5BgLF`Xx zJI{W1ZS0{Viviq-uQPr+;|)hIzn^b@E((Wj3DCkFqMYKR03ErZQ34C)M=r1B=tLTz zNj6vy`eqHsupp;DVTeD5l9ZjAdbI?-5|*+*>S*xME>`xm@b_X|5$qlqja3uX>OR zs8ySaRE0(paZ?UaWc`l(-XgHwQ1VinVUr~IS2Y0=j@cnWu42eQdOl< zH1PGQ(SKt%HKtoMwXHFkt`8qM<$f?b1+s69pF+(M1Qy;{6n5cHB+F(cgru?7n5#}C zfCTY??G2@FlV?}|Xve-}K+1Y?y_f8_giPu-ab_qV90kPmfFO*j+?vINwgvr>E-!5E z&K;dI8R+h}0%#WKjqs@foxj^0G|y$B!&; zcYZXXnA)5d2`e0UG=Lt5r(RsTy2#yf`Yn@4WN#QX=U!+~4zMr1mR&x=(^V=hVBa`a zbtq_TNDK3AR!V=)+}(P6zD*$);XAZdgx(Hr5|D{e(`wy| zQ*4tx>aj(!C2Gl@x!D%bG-EX^WN}Gp(T0;svdI2J7|`F^NB4zAtkZ(+-Ybv6)u>r4 z$aP`wf-0zz)rE5|eb7kmY!My�d&_wFf7pe8mJTq1`l|mI>0yhNZML_5JURK(j6yd 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

    SXe%l3ZBvF&golSRHF>3K3mRRF6^4 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%0Au22GDR5nc4Imh3$2Hk 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 {~GDEBYj~T-QVXv9SjqhaBTTM3~%3G@wZYj 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�!juATDgV+|0_V3b6)dJ7rC)Q z!kamSjqyJv#`Ojd%@`e>e2`a^q)@N2rkxKdiV}6aA4a0@Yal@34Qv*Y8mWY-lkxD_htS*%W;ecHxz;C`)UVxzI#9f&-ur9%^& z&i%C21FFSZU7k*+YvKo3CGwmH^?vL=knr-HsXL47+Hiepi*9nMJYtf>bDAxcK0WJ= z?=__4s!hZfJ4|7+-+H^$@t)E)YWMRIQAn?z_WTut@_vulvE&O``zyh4ZO4Ag>73T< zY3^l@L2!_iIBq>3E9`?UBlz%gn!?a+VrQbduO@={i|sL`h;>!+1LL!kx$^kmt~Fws z2aU5GQW&jDS9?J_7Q55soKhE&`X23nZ&H0f!izJal|d zwIBDUoRlGEKg1z*rxdlEsi(?T5&7|PN@kZ7g9}P3#-#f0XSMaF`Vv};(!=bswW1r+ zH13?~BY5T($dj`T$b2?MRk{^TgO+3*3h5 zzk1{GJ8D@`t3MIluCAx=GwQ!gnW?kwnpheJGxA!6fY0IhcP|s|+00oln8~;ZXP?_m z(RjD@7Mh)#1wV+K;)#qGyVh6(@11A9HShh(fh_O-B(`ODWoWP8^O3gpr}fedYC`U0 zS`*?`VB1>%*7GO^zUwAacKak=*a<=Diw`CkcU?B1ZX`{Hf#{=xDZUVuzu zl4;C?-SRoild;nz@=~x@L%X5u>)#wuOU(wObDgLPWK! zzN>ncI(L3X=v`-utY$`CYIaIzM+HaTpEm?=JRZfKX@T{HUymcYR@bP|o@`DNJh}3& z#sN+E7FjVsX2_@&hg}lJH0F?prkT5&I0WXx3zh>ZqY+K?0k7hyYVG{7xaBsK!)b5P zuIa1D%%xuA67SS>3@$=3?}dpqftQAsJ(TW8CZug7gt!%hr8jXW>cFlTjJ^LiLzrydpOG5XaH{@y(L z4ZME5E2lP@y=(mt%%`qg3JZCmY$($+ACsH<(ABe{c=s!=V)K}WELQpx|Jh`Car2T| zTFcj2Ot{fS1pm;`$!-t3&Mm&ByLjJ)>8VcCCHn&r&<3`l7IC~gO5LY=Usb{ftWuFt z`VV$zFWKGuuAV;nWmh2D4DvasA(q_jwDVB)#Q(YW*+|d- z;yUhp3YO6YXZQmPbLTU?bonfltkZX?;-}t?^n0u-o04AN4S1`$OkDp(`Ko=9Z4~!> z(=w*GyV?82J;b2%_SZ6IZnZ4PQ~?>+vJ9-*C2<=vw;vn`Ehy)frbbjquIqj1Oj%3* zV(Mx7H6jG5msF!`>{xlP>|)Kx)$A=|MHb8Jaj*X$z8QXT+*RiG zHs}Q#W{YHh(1L}qn*00iZ(Ey26Ypw63a@3g*MDx98(9SA#9gSe4MP_m=+7q0w#bG@ zvc78?l$w)M(C=+6lTy5Fq{BgwcW7>2A}#{&~=Y0ingH^sa435wF(M`gBb8u2R=oV&n2iCI)_rgL#!z zk^XM5$;yhL-uP#25$TM`Q{IlZikTcvZt}MT%AZ!-)#X;NDsEoqP5gN0d$=H6wp9DV zd?iPLQ?*n1KKGsNpK~9|nSr|0X_aBNqEClbyJ?`?k#^r>oafd>-m!08o?G6KvPY>V z8dhSlvDFnN(W!&JTeE0t4S^YC3RH!bdpl>j*qCrTnUxG{KO%ECce02XHPHSNX|7EM zy8Q-OH~U=&<*1!Vi(P4QPOvrK%@og;g_!mYG;!0h3uTJiHvop>+BTGbwdlSApVgcl zpnI>r*_zmBDck2#*mQKkaej=3e`jQr@@_7e$OH ziR)A-h`vKp37usfnO&!$d?6Ok^mt0Xulf56BgPJF`MR;33vFr>!?O4(SWF_vjYWzE z$=eB$lDO>H7NZ7tH_(4g6W^8fsR8V8yK1|>coyvXxsF<`d1xUVZKvtiGja`ITBJVW z?llrrU6R%XDTm)>AB);i$se9*p~U|NoAebYW4$r?D!0S6IJ+aW=)v?M!Mgn_+lwLH zYubwmbgc{)JL7DF$3sNPxoe@ZJSyx&O9{H8yOolpy?CdjFmJQWSP?<{tM@#TXW<^bAreF?S zI&C($y*(UDabt@ix`t&$4Nh#jiTJ5^Nos+fse-h8yWTW3B7f+oLbG0xSzD_*J;H9s z{9TrJ_a{yL=COvsEYkXY)6@)G=AEFQH4R&2IYnE?;MD?hMMu9wZG9u5ZAn)ie&5t5 zEVUR_EOEs}R$_;*nO0TM-F6=gXu%|6*ct`T$rcCnajpUlovNXCTMFz?_IBdQBSaQ4 z<(yl@MO8fGpbWFIC8gUQ<#|;mRk@paigk?@=W^ft&gjF+jZvJX8Y9PBWM1)InEpI4C4tAa-Ofwo=GjTV6wM77TbE)?&d9Of)MrjHh|LP<_UebxF8S*&>~ZTb5aHK8 zQ66_;A@TLCN|OR|_wib-2)#HQK6c}HB_nbaKvNK09s}K>i^e*AcW`6}d2klNrC_u7 z`MTrwWvyh5ijjZ6ZE09~Z~^IY!MpKSY6M^T*X{0jc(Q|8;zpNMsvS`OklyT11zbtT zo|q5jiU!fJi{kcvV_gHQ#|~^9u2Of#ff< zQomziN8(@xWpT!O#xt#Rcg62R@ezFKU(ae$wQlnV4wgf7hfz?Ic|}A+7Too2AGn(k zA$|otr9vAK;&v9zoGVM%BY2H<;pRAZt19t*&D-V1G`_>^4WZ@@cH>3!pN`zmULR^3 zHrq|(+-BSx~m(m#m?#>%iLVTA?ZZR}0jT8}e;Wa^U;MZhtu5>)<(X8xE z`cF@tiMO0#z+^=ZxQ8uOaXhT!h*_mH+|6`h1$>I0UilD0#{Nly{{va`32!O7*9&S& zjB8sNM>$4!Tb-zF!;r+FzU*jise0z}TfHy)iLKTtEtgzxnzUfN)TrHrrWCa((HF>c zRXEvPd>n?`+VRk()%}e&ZA+$nTsMbjmtea$8(}Phj=y_<2+!;Rfe_$TU~%w$cMP?E zuwDNRBle5mWIa1ICjh?51rq+jOm;eV#pk@9qggxb440FAQTbba)U`L!#YbJyKkQSD%YDkH8@PNSFsLI zBsxM(=SWNS%HK+ADr-}m+!2c@hsP+LQrV1MF$oeGM+a-aL%sySz7dGKrhN_B)mlv~ zOvs!YXK#s`WLMcP*3*T_KNoWCnuQ|x5@Bwhmc4M zLqqb)H)6FatPZuT+u9Lv^VnR}UxVdz%t|hY_5&8krUV%cx===sO&6wK`%!fMw<&_^ zMvz0>-pPB>n6ULHX!?x~s3fijNV4~wR0a?Suji&cf7|@y3Lf%0%h8KKzcBo}ksdr*qwe@WZ~GPrhZ+L6ed5WN;sq)0% zKcV#<_$sv4avEC@(Md7%(%fu+o=L8bGTRu+7T;DIh4<#>v>fK^K(~wW-;S1HOh>2? zjZXhtC`1@~kk7O&x&0!6j5k%t(9471dUtT!%dS!vXuewBB0Ptc^y)1s=%4BUqWVzS zn6%Q)zA6dSr8^m}7SxrsGQG}vQ*+YMuM(rgF}(@?-*&MSMa@(FX~o4Q632F?Fb}T} zB^y!;kNdXnn;@bh&?qF*A|6-;I7o+Bfv!6w`&!%-LnqLTOZ*0}X!w%-aKS#gI-Bv0DNHyc z)Kph{(v+EPiQDRM5Orko9td-R{t4`dLtr-WS$!+!Tl*eL$`pJ8Gd3DHffpr3=xZL$ z9B}SlPvb+Zt18-UCdy^@uDB3gE5HrW=6I;Mly4aW*-b|{exC{0yD~J}9!HS0r=eVy zC?nl}oxgrx5@aWv(|*Pzhi@zGLXn07nthXDBQz8X!Rg_2r#B~L4WN%0lB06$U)pY- zq=#Z_2Q6ExpnASg3Au%lIYnT6^FYVat=*+)6G=I@^Dsz*{{fr#;&~F~Io@tHk(8I7 zE+Rx!XHSXW=o8sv85(tP18UV?WlEm~luVTHOJl%%@Su7Oka zm>3S~iO}8wreOQf_sg$P+6Rn}-e*6O5!|=rl7&@8>$glWn{W#++F{i+H+ke~m&K+o znLe6R+Hr5j=~r0tX9d0RXmca3KNj*n?ftqD?Zp%Z1~I4uvA&Hp?ufK6mg2TV&28GW z+)62~=7tM}2m$Q&6vRWcF!kh{b-z&aK@G+06p$v;SQZhJ8^af7 z`s_EwAK`Zcw?X9HYwA=-B?=LMu(@iN(*&``zy7dwe7)H|z@2}dk9)id0ceZ(^b#HK zfhpe79Tc%oUfCzN7kk;+1It!~IBI@{c!VGM%4 z6hsA=E-82ayDi+y{qn?e1W%Im|Iyx;$3xk^eP1L(rBb&_MP(_w#AMfkkd%^SEnD`z z2{VXFr6OftEBi7dvJEps$-b0*ow19-6lMlvX5N$T`}cdE=l%Ttd*A<_e}-%3nrqJU zIFI!_j`Mr`G7?+GZSSrxV=vnQuUwq`P|RI)%Hh4%+T_7yeR*B>BQl$d{apF@wl~_c z5usqY_C)f*`uq-5oLy{eZttSFJ?~GncqWAlV z)QoM)XIwo0nLTD((aWaJ-6OWo<|YTX+%*juEY!ViQ_S^SP2c~yc@GZ*w3B4{-Tu{7 zd++DX0~)XvLclw`awca*9#$0JPH}g?^V?yIV z!6h7Cmwyp4yf#CRC_+di8P5$5XU-V-HpKdogvL$OO!-g`+BnL?7Hf_1hjT>D?rw<> z^!T*=8?c?QDcx%q)Q)rcjM`8orN)}#TFf}W|zk zqcqgV)*Mor&ve=IB{#bmp8}66rz9{Wa|wkK!o{qmqaI({c6+y1XQ&_KF?0Mg4o?I` z5tdg^`Fn0WX;F$Z@07B}ot{?hu)de|+)&P}ZJ_nm6@^nU7jKuPwvxsUlXEnM!B$wu z=m*gW%G9#T-Cs|m(DvTVY#M{5FH1uG==&;tyOD_OW=|{zBDpUEp6>U5A%!t#n^ z$-eDZvo_g-%ZUHUY-PGJo8FAloSyzmX%aQ1Q9`t0P?3LlH-;?=Sf& zmj_P=UagOIbUUKPOUJ-9lugfwZ}DwEcT0I$ZC4tye{`l977VBVyt%P&+hbSQe^UqE zZToS*8pUUhKFP=%D2=kb9{Bb8-x}siLpU87o%gWMTVTwf^|J!k+n(e$*KY`GYwmI} zqFTg;g?4IaX@W;;t#*rEU0et0@nW;2bxZOxtuV>$HvIW5v(eTVpJ~*nb5-b&!tIZa z9ivvBeb%dhFDieI<709hi$$@6ok0vY4e9*PL zn^T84pufebkk-l{lW{qOmpdzc&G>xgg0yvWLalQqLWOuG)G4NPrKxhoCNC>rVqv82 zO4oG(d|f&Z!jp*fGlV148ewx|x$Z@4bI{zwb49*j4_M zj>UI&;T$urYu!7+_O~V$oqoLY(qABz46N1aVeg$hjwKuW!Vvw=;+eyA>6rQb|84z& zIan#)+-@ITh30@pmjJ2WQ$lf8TNfd6Z=jDSHr4y@Uq`RG{fQ@m-3Z|k-lEpOonrLy zM*&g5-sy#W1@7CsNCThrL9jEj<>l60V&6CFx#?a_bRPM~iQm+Pz!5)ie(P@8^g$IB z6%dJC-1PlKYX0~(76EKIT)+Z%Wz4^X{477tkQtRW92qR_f8`d<@7{Yy!CdO*hI^XK1KMK%de|cuj z+ossMf|H9YDJf~Id10g;0Q+3oLjA3{0NT;om7N&YB}f!MhlF)NaR32`A3ugKLD$qbY16&w zqHm2cdOey^|1P5nz=4uUq~)h2p=O^5PfgsJy&!4`8?XTaS%5p-ub@Eub5ECyd9k3ybX9)h z_}R?Q!~HP+_m!DRrV*nj8&u4#TfRsp`xp*WmGQTJ6&4+&@K-MTma9Q^0(xT5O|5VI zHmEb#`9k$RMt5H?In(w%!{-nzm^aJc*jC~5CuId#xxHL&dxGBjUo%$^SUheQ?|*|_ z7QhX>xNh1Hdkz%Y5%X7=`|y;~dAF4Un=^cn*QHHnt2z1o*-_{b1wQSVJqKc+w|{2?D@*Lh2)PkLtOa%L73k~qfB z3rPsqaXh?lLtm68t;fl39)g+v6UCyg;-AkJ)C zCbEQ5h-<7=MtvF_u|`y5WNur+PBWIRrGi)WJ$f&n#o4hz-N!?Pz}mdxA64uaX3m#u zjJH@C1R>XqM1>aB=47qUIV?$Pt`R+we?QqCcNDui-4#Htx<9Zj&ix_7%i}IcO6hHh z{IwFHT75n~?C_EvEE372vur^Va**TdjW##3rqWWoGf(4MC8{R9&DiIeyD}K=dz?HMnjC1G6#=`ph|+fKk=5^h zzr?t97G>;AzfXg5Z0@aD%KB{h?1z?j3T%IYx*X%vQZwa;iLylJOmqSxwea-;V&a7?uOax3LC<9W41C|{`xHh(b~-pfk4}4#vvb-YBrS1pVdJGXrME%1is;>j%0&X3=AtI>2& z$7&wzZ#tza=PM!T%d)kC)y66x3HbRQBb896zT_7Tpv|hnW6`gIyxzXF<%2F<`n4^D zCue{Nfllyc)0qKW4{N7b&Ix(gTbjrSC7Gv_^(rxwO($o4r|mmuYu%D`7@~zIz#2{q zQiVT}G1ihUvCxb~dHQ3~njJx>ZNrltk{+o2Oc(o#yZ)u^;gcicu}Y+|8C9Fl$X_A8 zd=KB}&p1pxi8O+=XDl2_}S z+59Kp=+4!SzK&jM0Du@5cPrPuc5X=?(UXelQF70c<`Efspf!Dj7dp5ZR_25h?Hf%F z-e%Ex@;lj@buuMykX!D97*YOd^#04%Epf~3a!~pa4oz_5plD5`RldJd=02NG;N-o1 z9u4hroDC%@Qe!LTpX;h_lF89SyR8VN8~?-D;cz~w>T#~vxY#r(SZ>Bq#RR8XgJ!Of zu~|TQfZ!RZaJgxYRsOWqx?zB+_vnOF;7^`51KwdaE6Swd8Rw$lmiAqeig_G*Z|#Dv(_MOmdv1fCr`Mrklr3s_h;JvLCbQfQgf zn-Ttio_K(DXKi)YP$2QQNi!)X?Mk2jiMtw!`evOi5dvrqe6v z&4%TW5~-gZ9u6lDW9^ZwW?CPf8sFLlll1=$tI^AB=$}*e0S%p=yVwiA`Pr?t$C4fR zU2Xo@jK2Kl&PkD+c%jA-(3kBd093qrn6ySlL34qA&8K8iC893ZOJd-Tyg`}Db`7c(nroK(^ z1yQ<#AJSpgfgV)8Di6(z#Zx9mgwKnaTrezs__av{7ahh&Cd{_6Q(manXpI9u^t>-O z^z1}5|4qS$gHaE`HpAv*KRlb{=&6_I6gkE%x93tE6msf>^7&G)mu%1fHL=TAA;=zV zqlEqh_5spj|L0L3zOZ)fyQYzP2HF?Nad5{614wKCo8T(|fO>l+O=INFhvEuBKIjy1pEn7mKUzi1*Gsq0zzvn)s=JT6Oxau|B{j#8 z+l#Uaif<_^*b)1aeR?Tti*UT8v>OvwIh#)3>svNZ294`ticHy~uKihpQ|Esvj{$2| z$Ss!E+20mEqDd_;-&e-P)0#> zsqrM`D@KUR?|6v`WJ=!ATP{^6TS6-{Sw5%*ke@&?Jk%|biPSK@TsxVE# z@ipkX47zcgbBbIAvv;Fkfk6vcUq#7S{@B-@tZq}zC*)?UK^N@j`Gtj)b6y|l)=Pu^ zpj85vK^+oe{M4mrl1%_!pUSNYR=(UG>&=m5L_QRSay*iEJ-P!Lmqfkmi8g8rlokRI zA>Maj=CLcK@88!N-sg>svAf+l3XqacyUe+i^z;ZjYO#Z`>SLZid-Abk$L^H)kpvA) z@g=^LAp=v~NYzqdrlbJs=aAyLpNemEDj!Zzj|mp+y~7QOf{@a=E$-R+BBzUntF59? zud8x=F-EcW(_&cfgTR5?_jcB$9GUdKT*ajcr5%Pxjja@A@m>2sDI=h+Ulp6*M zhSwl&5OH?Li==)1`ZbBO3_V<7-?RS8Mak8o%4;OiP_Wm1pg3USsYyZ~hGMRi!t!*S zi!&m_r#ijjWbRk2V39JGt3r2#%t}vtu+R4hqzJkMLgz(lHWwsuDKi%r9vik+lqAiI z4V3bgI7Ct^`xH%^BXU;R`u!Nxs`wak8|VieQDmK@iH_Ks8U;6V!?F4uCJ*NKZM-|v zz&K7upRx3*drD~DXMih#jy07Ym>D(&UClbvEGi4e@%RMr88upL4I0ux9h} z$^L@xeAk0nRD!I<#wwQ!tg*3ntaiTfg0IGbzTV#0S8oHoI^?M4f**B^BU)@+J_V2T? zxjALMi;r&?dAKx?ws^uE}f^GSMjuOH%ToMs5@$l#WWh$S?_BmFO}6JM8%IY z7^r|?Rz7IbHpN9xV|-!GXjHL!M(CEG?h_>mLo>xRP48);ShTsO+GiI}_;jhcRaliB zA&FkjC@&Gxv&7ybnk!|>+*z>>Ms^HJCsl9ndyzz2Zx>H=InaoZI<(C2zYc~5|KZ+w z`#1hEk0hInXPTDe#W&=roI_@xO)o%6oPP^jGybquah}I;2Qvzjqw4pAD>s5@WI6EG zIi;NC4{##x{nju=6cJ+#>Me_HhG!#RS1n-~Xp7H8d!dac69cLyx@2r#px$x>OP-1l zWh0Q6o=jW~RP(Df&o!{yP0o}tPhRg?7B9sMD+K!t6Mln)^B} zW7`a0t{;Uz(jGcx?LM8=ATiVHX?pRtV1D^wTGxQk-8Hd}wU|fh(^+obOg2;8P6Z-R z0CAF`^b1Zc$t4sw`JwKQ$M)g)9xk`RhJrW7g8ILg{LBD04XR7BFlnSbBH!T(F<5_Q zDv=Q9i@HyCZng)IMoTAgM8MQ%hsqq%Tw=3O>%xA1Msst7Zj+W9nxy-f$scX1>*3*NA`M9E zH={BSx!*d}dUsxgzxBzIs6?#q)Rho>4V++1?K@DL;48MsijMaw%d7d|w!6&N#nrsV zQvX-jP(ydd^}b$*4+{$={X87y=ANR3^(F{**9cGeR8C7NpUaJb*03~77b)`xaWX;! z8jU&Oj}0_z9))?j!b|KgpdSP6oF~&&!j|4Ve`dRuXlA&^+EDn7Yc1c(Zy8nxaddJf}v&A6)Sp^r0OX&!$Fn^r#82K zPN25f-J-WI>REOrVeXmDtyAb5L0vc)dSqr@F}K7j714_%t}&`@2h;HLO)%mej6~Jp z0nG#LsO#URTGg+}A$fXVCN6N4T#F&2Y#-TkC*^55-?aIGE=*=^DNLQZ(uKyZJrVEC zMzy^a;j*GPx=@>uXsZMjRvYW#TuQ_(J2d6%s_g6G{f)?JrFcOupZ5r5yGO3#=bmR? zIZ+|?UZH8t)B9Sxc2$HYzk>M-lWB_=Zamf{$&p$^T>A%w&s8dxXuktzDL@I9C92BI zVv(@2;G0tSn%^9S6qSE^@j?X&J$&(#$eF?|ZDf*tv|kYTl8P{@RpK83N&HMzM z7fL%h7rNFur$?tH5SJ(EA&UZBAKf`#?sDSJyGjRG2oU6q+R#cqHh^3qrx_mYdGOOd zGI#;wh$m2oPs6eO)Yc^OivBpJ%EN{(PF?`2UCHljvlc1|sS?mWi1e^{TN#e{I)_A= z#bQ>l-Lk6U%=KCq6~f_T12GA~2jNJzyJi^Ca`(l#>1D+z*-yIL-^8ZRt*ne~@oN64 z_J%E4hSjMU*@j_8!Zca!T>0xy;e0PMxO8=%>gYTb^{T+bhu-s{1%tmPcKf+dE8X4Z z=1g)W1B~(J@hbGv?haMv2%72HpBZUMn-?UNx$mT1l^yjaS0&182B|s3GN!8-R%!{) z|14vidbno>8x(cWY7yh|aHcB1SAEri*0W5&jDG5C53C@~hg*SvO&#FXLG%c+8nt)4 zJirt+gt51?D=*`^CTI}|T)p!>z^{b%pyWC3RcV^HzZ#tXJUqMI`IQTqz5i?u#+BLf zh7;1dU%%&B`Of*oUmuCAsoaGj_+snMxYT-w?1Mqb0Zcc(HPvh2QJTsa%ui>UWw+?qHFI;a=tq$|dD)sa~T3+Kx|+CDN`DVlGrTZ*I> zH~7h=IBncDIMiC{d;HbYuBBMp{m{!pV1ezyDc8hxjK=ThMh`!-L0W~EcTn|}cNPv- z+t=GiX5#|da1A5prd|dzTVw}s5G!RU3{t~UBJ)$%;z+Se!|1Q?pUT?|kUkIQ0%04G zUF5{!03+vH=5vC5t%=LsuT!duS#IR-9%%?g3bw4f9JQXGHsUvW$md1_A$q-eidez? zgv!h}CSqs10v928H68$;2wg=^40gkZWSA2!#>+uO49kycVYbdDz7f=%Kx1a75n|Ts zDO?CveSR9!yq>VMG~V5Z8e!EX-O#m+Td$>XrTWu?)fZB`fApy>^^VVPK$F*sTKZIh zx^IjFJM-+&9!2yDN*}qL7+f)WoK|1(5a;OsRUT%@q#z^cN*ilN?yM4_k?t!0w=fwO z29=3lZ7SqSMsyYLN@6lY=``i_`kB9Em+O^NNmf|07c7!>J#a3*th>)Kc%!wFm);vV zq0$N(9ZxRiqeD(^VPR9zh;i9S`JdB`dF&IReO$u{4zb9IjmRGGm#-B5lya zpRS2Yr{DG-1Lw5>3;CJtzCz`Nv~Kf&90+f3ff161Y04fccN)5dmLR3}31l+Y=8UX2 zer7EUi8D9ae>b!y;6XzL8PY zz`f+#JwNC-hn3BGjXO?h%fBHGSb&+_-G^S6)pWzN+P+19+`ZeLnMBN=!LE_7Vw5Qq zN#h1Wyb5(4+_ceU>yDYsg(>WMnpyknt4HuJVo*@voJ(H@E|3w_FdV;5HOVEnYS7=u zS(7ZKU$K}U!mFoVy(}2POmzvg8zPyVHx?i2Z~|%D=rdO}CRQE?uryTF#jIAJZtEll z@hW!W6~W{TwcV6pfc)M0F_?II%6Hl*lj(1lF((_b123P0X2sWqf@=V|6$i&V~Li`ydh{i+K z`_CqsqN+&+Q!tk6nzUwlUony8+O|z#0m1raIf9;_3sUSO9XKTEmXWFYzEyWxsn{tK zwu}MI4aJapFW05Le@k21Chg`5?69=YTmR-{tZ1EuqobqJ z?^ZXUkq4#X(;vX$p!4T>=PbjdULp}4^MT4;WJv1z{{4GT&y!ODR3!BKB>#V*}^Ny`V+zoakph%i`(Uh&bXBuk~EMY;N2qA+Z`hYl*JK zgbpFQ)UX!9QtV#y*xEZEZbzRIsVUq2VY8d!E@3v*v4K3$S&Urt?lQdu@@q{2~^xGb9T#{WYYTW-_-Vq?u(CqM$ zjYsTKz3|)AR;1UtxpLbPus^Xl z?7G)I&s8d1V7ohuXW!`Do5H!6kV_!Byv5s_Y_r2HG0{QHyl?*YuX)h^cmVJ%iFGb; z;cFZUN84x>+Gaov9C@BkRyQghrx;me(_UpxHO49u9&;P7?)H4d(c}EWD5Ov_u-@L)!md})vp)ecSD>p)U$u;3ns0HGzVc9yqH*$JRpWJ57*@uX-BAzr@(RtxUdU^{_ z8&fMmyCzv$ZG*HBn*#^BPz#XYT-gmDS`X3MbNXcrJhgIdtx5_1kTxwq1|m{MD7!&e zU(+lI#uyIGFCuN1dCyQ&{fsPV1P@#{lERnq>MWttj|hNu26dKtOlZk{sxu8jy)Sp7 zk*m>gb3V(U<=mt+{0*^=YO4yDZ$}HsWkK#h+F$PEyZq4v{M=~kSJMux@Q~K6QFo`3 zIaEo8cT17DV#0Q=~S{YO)V7^S5v3)YyYSC^)&9xqb}my}S%}M^4o~ zqNR3pUuH+lBqVS={95c9F&s;CiPpJ(`m`XnUXX;muJ&EF0c8E7MTp%)CipC*cCEy3?Gl z(|M6_S$Ou3_4}{VBrFf4$McW$K#&Mf=l{sk|9xeOf*`~*P@ECM5pj)Ot&GLV4TbP* zZuJP)KIAz3FR6s~z5FjS`aiFvE|{V=cFFD01>(9X!{BpCQwY-7ER4_!)jq{Gt+8*9 z?ux~xR{%lWI_x{srT*j9%RHC1CC;dG|GJ?*Ml$cJjA+vvsBZh8@81c{16!hdPJ&z| zm>&o?UW38C-1GsWY%)Z1RKO7AFKqqxX2b`?wQk4%=Pw$Dux%CUK$k@}=MNG;mY}+L z^PleR|Bv3tbaHVq$TS97AC-P^#D8!wZ))z)R<+MK*vrRm)Tb7H@#P3W|`hUS_>oH@rk6 zNF-8M0C<$JI2d;3k0ZCeuUcnG=oKV&@#tNXmW`?FZ%*WM`KvG&J!14gH-Ux61~yz5 zefr_l;M=?G+B&U!4sxHiy&J_*$B-HkZ}I+pBRJ}gW8sdx<~<&kVfl~Z>?^I%e)e~I z3eXT#a|zmJeN)upQ1$MBffHW<^u|tpx`@x4Me$yV;xH7g1gp%JOBw%c3MjE<-nnVX^Y=FOfX=KYi} z8WNwU(brLB8JfiI=n;2V8Exgtu6*L283@{t2BSwMmThne9HDfhw_9!zytwEe9l z9T2EwDrnSmrz0}3F#Ei3LRQ_4d|-n1*3|fPJ@Y#{+?8Xz zmBSXD26XSrco2(vMnasa@%3efukPl%W>*zz^Mzj&B|Xf?5?qyr7RqK^WM{mZ&YnGH zQ02d8NKwm*FC2si{53U6YK?v5D&<3f`fni4pzEa0!>vmA{W)D_&Ja|g3xo{XbN+u{ i|Ca*)fdZq;%R&N|LnE*yU-W>WL3-L(FQG2jg#I7IvJp1` diff --git a/bin/Documentation/Images/GITLABCI.png b/bin/Documentation/Images/GITLABCI.png deleted file mode 100644 index 7a352bc4f19192b95623f767f39e277a981d3ab0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84134 zcmbTecQ~Bi^EZygYFVQ9PL${gtGDQ)mm~zyMO(d>RilfD5}oMLqs3yE=z<`6SiMJY zA@aMu-=EL-`99B|KiB2rw)dGcXJ*cvnb*t_qobvAkARi{0|Vopn(7lh3=ACLSFABS zEDQ`xF>3#G;0e=1PelQvdW3!(c)+%ke=3iGQI|w`^Xl$Ze3lBfidY8s_TC3590hlNKr41i$s|jgQyW ze-}eT-A^4Ga`^&Prcm)xQ&F)yOVoxaHhpPsZdgE`yAH2{G9eThcKf~k7084oG~Q_; zW8gmRmo==Xfj=cixH(ht|QdMJpUY~|K@ogcR5;-kgEQ1*T|r{Fi*YIArjPJH_Cav(i3NmQP=Fc3!N z1Jvedo*ge!#xAy2j@+@qp-zZwu(;hT`78+5iz|_R0psC6$~}Lt291M{^nRZ6-!SeD zs4_dZbIm^Hh#_;FN`6&^=4Bg9GCd3Qrm(3wK#N#ogPkWO!4;LWv?$Xn5dqW7oy7DJ z#PLpZmj6M}M>3($XN6-cY9B4A5=`5hEC&zw^+($;zSUG^3*Ur`v6VD8Q*}B{S91h~ z3HhJeQ)dbv;<`S@*fZ8L5g;hlg1Db|SBDA6Lf4O@OA)>&_tMj!(gbh$5AytQYzpQz z`t(d5_uDZRFv1tKi1u0^Q(T=J6Yp^6FzKnSw1Abrnk78=0^gHcuEND|wTN(@Z+ia1 zT3b8mhB9oLLd5AqIvX*BZ1FY5A+E9FWo}_vP=Z-kPH69QkC8_n_)-O>7Cz_UE=(gRgUNs-VA>c17~w{CPTs0PXz_=4gct7S_}lH z>){ttReVNzuGw%m+kq4g1X(bW?hv

    ~5>r|EBh_}|}O`8sbeuX!9$q3EZSoKxWE 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°qJ*FGM`>y4Hvdn{=Z^{nLZ^9<{@?`#47V5S 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 diff --git a/bin/Documentation/Images/GitLabCIWorkflow.png b/bin/Documentation/Images/GitLabCIWorkflow.png deleted file mode 100644 index 1848aa3fcab17d050dbbc91a65c000cf9d1195a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73058 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

    kCpH%qaCl$&RlYe7CVvul@|vG!J0YHkBs+S;@a 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�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 Z^ZEuheipVF;>zpRnHilrUS{YR@fY$&paTE^ diff --git a/bin/Documentation/Images/MergeProcess.PNG b/bin/Documentation/Images/MergeProcess.PNG deleted file mode 100644 index 81c427e55088273f43b8491ed1bec4a9961f2067..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21452 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Ŗj1F=|AHe}Az+EC)asRQ}NdR5^^rkoYKE zf8U>U>)pnX%v*!8O+C0Z?I0|={N1aNNz)V$yu^)6FTu;ZyQ_(b!yQ)?^TSys9Z+5kiX9ezky8aC zRcb-br9itDOIN^xiBROwu2@vTz>2_Ln7SWJ{J(!+^1XkaJnxg-_nYf} zeCC<3>-L}KUrn{Z0a3g`Q%MK*1+EF2($;Zz(RV`sD1_BsmZJf22kKp)4d&E~ zg`9eB$AY;(-p?8v$@YR9eLV;GBS@A%5B;__0N)s`X2 z)zQS#&ghn)ezGG<#MES1xYy{B^svrRaZ&|@pKOLJQg#^48}DDwxgsmU!z52ak#U3h zL;1Jl(?oZ1i2QH?Gge-6uCJ`hCgjO;raf04hL+?^wIZS5O2y3&)A)<`TbA<_%~~hu zaeL+^6}ZRLPk0zC=NcbE@HyMn5!b0()v@Tzk`>77BfTb_1@YeTWZ|&FuNdB0)8G-x zZyQHbJVI%oCvN(6dM0VTaE4IIlfI5!4t}OU#dkF^>{_eEi)!=e{%VR~`81Ype!oB2 ze6)FPJv0(T3q7EUwul1N;g=QC?C7MnW%z-;5oJ=+kC_cW_$yIP7pYon3Ja{U!{be+ z*m%SXqWaPKQs<>?#K}>vl&SYiat99@a3fzRP~yWCAOWYVJb&d$ii)B z@;WLA+7*{N7ohiBmX&3=R#S(x4}MZ&s&GnoY5?^jRi8G0zR^{QzYqkifl?01d}EzV zq;4x}r0#gBaXce^p-Nr!G-2O@fjcX4a{050=%%M7PO*9$gTe&Wt$?J*j>*O&yDO9F z)bYpHw`Om0YxXiO*XE!F#1s3G6vUi!fx{J;JJb=>PLLhviR_d&K8H_9nQky!9D%u} z*N9oPe5z_S9GD*btimyVk*zC7k`>-y5=kv0MeohvGW9M!jhq@0qYETLXC?`8L7R7z zlYQ74A)#JGWAnS$!Ye=@0F;8iLvme*53H3m$^k~5Z&$7#1`hV@m^-cbW$z4 zVS+aR-UQOy^0|W-P<2{DF}Ry-P2gIBUy9%++|hMus3JLR@^z?+=-*g>XP!(2m;^*t$old8>@U~9!NL72Nv`xW)7k-R@3OZPl@j@p!Wh) z{-LeN&~qJ1lT0WheSI@6Hl7_=`OX5^UF-7Q6wf*+cX{_J_A;?pCVJ$I&;2-okoDHB z`uUJ!^Dh4$vpr&@N0PTAkzfzrTm!7JsX;S3IFqHK#}$NWVbN^^Iot%mu0WdpW23Ue z-=G@)`wO(F=(Ub`_3a#c)@dicfGsby>H$3-tUjM7OY8zFyEOydp>)AKC=_`*iiT4`5Wh% zn3yg;d~nZ%iRol36VoYq<}-|*kgen{MsoseqN~MJ-ovxRcyrqIuEAX)jlgS>r}cI?*Y7hqa*TY4dQAKCk)_Pv7K&#gUPWDG)3(wWF+p zY)!gz2Izj*B~tHMvP{Z#FNGgxwjxh;sp?(8_IAw@dp@wN`njs?KCv*96snCt4^~u2L z$=Hq{mx6KnCqQRk__g3| zuj@xbFWHVQrX;r|`$`=wMgZOn-|#B0FOhH=u9@uj@yaTgT-)taz*d@Pf5Q(N1adw~ zVjt%W0H@US`z({|5ahE=Ott!Kt?8Frjepn$);wyTm=p*fzcr@Wv{o+j=mG*f*g{f% z(IvDmd&GE7@;R*_JuRikYEap0#czMGIAH6wzz}J54aTC%Ub9X8%~rl)f9du1`rcTS z2>au_$jbXm{iV=mf*SLWr^AYqvHYSd8aNG`S&q21nwu0=VL%xwStBEHJ0LJ2bHivQ zD4GN>Qd*$to`9q;KaA1CuG}J=X4p-Gc}D7-19p@A3$^)30G9~}h~22?F3JwaTQVoA z#x;rFXnPEUD)HUx|M_f8ceH@LfPbqKYWK>!f6DveYG5G%vTV1Pk8<|J@#q4?e1GY|qSA|0|K?TK z9^Fyb(W(AlVBZ!YR8zH@MYogKm;oG{rQdkwgvONJ#Y2&B_XHTBwqR3Jamqb|VX$#m zd**lDo!l2|{8gIGN10FRNpLslFMK7Uk2C~H5*#8d%E z3-<{T?vz8>P4EeXqNlTEacbgB8KHDQ{7gD$>j#eO9x{d=@k1gi(M>sq#O%>4 z^WIg>F1mYEY4iq&v`&>>-aTxBDB$$BG^9y6N6 z7I(_vW2-cugaaWVr(I9%i(|T)Rp2_W?m9SyHp8oL<%(fA$>mTj>4~Am8s}BhMXJ=4 ze%HK{IJUQ7i+%aC0^`H!!O{m7bsf_`cDg8mch1e+$-)Jd_?~29^2ioaZQW9f!+*V- za2kB$FWg5CAAH}YM7LPf8`SI`;lAf|aR4zLyNHCP1R zRTO`Xdn2B`v%$4snu2Sp3~K(zSFHrXsjhBEwpZh=Gy>^za-msgze%VFlHa?AaI_X1 z-aF^e36qq=YXbuRs9Z_va~x+`{C0^$YfdwOvmqq# z3Mxhv1BQ&FtJU^X7AzIK(u*4TT0hB_@nW+qKW@t*`{jq+SPE=3_vjlO84?x?vwths zMNk*5+er3pYFV;~Et!{op0=%DNIb9dzOc;Pyhi-=v*M>a=L|dNLI{g3LYHP=2JWxK zRKH56)GJ=;U#q%rS@JqEhAx!OHpkPULTPu zg)nLuPbcnEO-X-d3;LK`;%HS|Z`s-sKKCH_EKi_54ZR@KI=;TAvYKH-Nk1(6*n}Oc2tPXel?W4s%4~hH-m%cMEw{OjnCG_m3__{V z^94Rh)X~SbJ`3N{;k%*;(igjQp+xkpaYKy#mwr^)#Kzqftcv%X=hya+l#d5m+{)G! z&|)wE7uKR-0puZm^+?C;)X>uL{2sg;e}T(mY$dO|+Gt|bbj6#icp~f6ChAE0p2V~$ zi1PGOeea@*-y#JSwo;dBhfE}4?`$t1Z#_WfxNtJrA%7^y*q#R7?bgzjh%{duW| zlU0B1DJ!5jGMWo`eL-~nwe81u(dZF(-zS)&1>wvo%``w!e~72~4@x@7m3SwqY|=Xke`?rBNfT%D?jWo7=o~6r(p>q% z(Y>s8@d)|^f)cCIZlq@Xe5Es1Hr1&kOn;&HM#9s$?XSwcP6N)(#0px)@sAqNLbIx2zjE-T!dvJ0> z%BC;WSw`Hv2O$cVP(adn8BaKw+SrmY{7HV)2-HYzJ>RSNn9(g*-%u?NwQH zj2s0xV3b<&Kqx}J{XlE7phmGAko;yxB?Itji=)lvI(Qj*TgSk&u{T0_y`9WEl&$%Q zVVaWMu${?~;L>&v%qMVm_xGPY2wkGzTrNKX6(^4X`%2v~(vz%Ey>#FfUeDg%zIaHv zpI;=UWG3xGX}u9oPJ~AMq2bQy^xS%p94qumy4+7cgi~iZMfNk?DpO+iIy-)tV#=er z{@0L2*080TJ23A14T~6|_hAE$>5;iAhIeUs{JoCGHPWB15$nk@UZ2mm-Jm8#Ijb9<{Vr?ZidBLX$ z2^=P&aGE8$x@g)Erm!f+0@vQ6y#4?TT?>7!gH5s@-l}zuYgJN9)$~VP0X$+hLgXQH zFP+*A&WHtd1f@B?YVv)_7Vx7r!3oVp6o79u(prn9m8=R)jQE5}X!qn#_=fwLUaxf; zxb*t9WH48HIg_;!Vs>staqMrF$7^;Wi=;~rY^`h}MuC_Ugn$KXxp=U@zv-4#UDE6uw8wd?QEO)s40aNSWyc~#0PfA&s3 zYj@{oR*A2)I3dPY=~7z4lcZ_xCU3zAt4nRI84spqS<%DSHH?C@w})LejCjw86L`Cw zy!-5Fi%unmQ-Q>+zvJbvkGX1ep)I3EqXli8C}F+`J#US9j6j4rAJs2(J*iDzF6)tG zFswrH#@k!>+&M{kw`oSqKM8!|#5bHzrJ~QSS+UCw3@8pW-Lqt2VxBRdJ0Y?mx!c3$ z@kS{y#Fgn6#{`@$P8E3N^*a!gKR_OskjwhwTR)e#vQhrLf6I>ldOy%=~%0PN#xf8CmYEoAOjj5oPUpVNsXa$;1z*(cUmoh~J>{h#)%oQg9G|#Z*x?k|c zL!Ir9We8eh&l}~IMB7VT+s}KtYp1>`^X^*lU=L$?q^&lhy71n`87$@A&*f$c>hO+P z^V_Ch(3sNsoM!36{&mfZo_%%fhRmvWC0YYVt|nC~HgG1g9io8;iR))!CXye6`6d0e z$oS^bCMlvo5bT>(U3zJF#Zo8W2={`wM3X_++~TNi;h}$9vHAqR&p(UgyxROC=)GR> zXt}wC`s2Kw*w9QGUI2<=9T~8nHHveNfn+Bf`m4q1Gh58oP<}=}zD4aED-Nkg8n-w! zO8L)P&V?2oYnRl}S<#|ByQmk!U;1`=9041T zn)SY@Ww|l0a+hKiyw(olz?&#G2KXDq-+*v6PeExblddgeoWV&u47cFyKEX(@SL@dS zNfiEt_U=EE`oEj1&&_`K+xf{Myexb|dVb}{8_PIQ!vppr&XpK~1cB?Y4%!M+cs7{t zTdEB>Wui-s`RHjnZ3QGxjF6rzryL4n_?Fe1ntazX@jKRr*SA0WnRUJyE&tHT>wk3 z{{W{ebnnL{Ez5BC7FBNjW%w;KKO;(V&w_FfqM4HitXcY_!0D*Ix`8Jfj7SM%Qh{k&)F& zD!zx&BkJaJwop`p&uD2$uAyQfonKwBx!4u!_o{f5pu!vlU z)=;;C)orjBm%|9YoB`(4ljHag8vYXojUv>ZjxR^M;Z|^UrDZEN@@5al z`G-b?(VbxpXR9x}2CK(<qaUA``GCv1UIN-s9!H-S~t$_aE&v0y9YF1JX@Kt5z zriW~P8e85q?tar-o~GBn8n%q*XC!( zP2`-|T)x7T@$u@IloVsNYB>{!o3=9l=Ik^hrJnnmT3_PV+WhQog{=KQ^sK4>W_b3L z{cxanV&V2~>w1A$n%oJ|S(SD1hTQa8@Qt47$pa1VPCuAbdaI8%+^%zvK^_+HKdrz3`PR+CcDxUv&_jKr| z8#nTXKV>iKg_j`suY88UOtRWV_1n!z?1ZZ2yhA;moNA6%0x53%c!;lc&!^c9mmfcF z^)vK2!*4mXt6KTVv07C^cvkL8iS~uOU%YWtgtsLm(bo(TbJ~5PJ+b9en4`XW9vdGb zaN?h7bm!oib$N&3O~K!kwT5?*q2IXfd%fe#r~}HF%f0g0;lvxYn{7KVKZ#nK#|$Db z75|8hYq)J+0yv(5l1!|YC0BrLXx05pPV{=?l&?XGKe3iGchs`$HY{6 zUMuJ|bXaLM>{urJ`exSe?J;3y`g-mz^Y0!8bN-*T&o8$!h_dniA$22gqjB4Ce{bB| ziR+yMY7HEw6v+SNQAqEK4tpJ?H-O zH_XP!nktj|-bLvO@ku*yc>$cB~iSr0JqRoC*7TLTsC%*)iuKhb5by21aLeAI@jYq2QV2XeNSpze4-mku>n5tEdg z#-5*PZXp!~@MqK_(F{>1{S<%W#Ub`q0k$2lbpJ50>gvfe4hb7y5?gO-@&y=V{vDmu z6IHS@E>k?IVbRjZ@Zvq8h;O=O&04dobk^68l7;xw$(N7Z7v!!ycK6V*Al4?jC2sQz zXTBL2ih*b`W7P)6aAa=Rz6ji?=vnk0R1K1rh(ml!+2P*u;AFgvhwTZ2Ago0Otw%h^KMEf#b*mkIi6QOuS1?392j5vzt3iWBZi5!RR+yHj{3d`;)u9xv~H_xF2k2=bQOfli_@$I?6LzvpSYwl`jxB3 za3fzt&9LouZsJyN0^<7`9>8Z&JSKT4)^{@1q7ka8f%u91`n~D-o z8X^jKK=){ST9VcN!Hr9h1F-eTqb7HIyHGP}{rRr=v1L-ka4zZmU~?z>Z%V*{FGr6K z#AptsdvEzY3lJTti_O9$$X;tDDlPai4)f#Rn?;ZD5#yNkHMT#0Nyek{_3X&G_`7OR zFH_k>(aoRL&WW>|eA6|TmWK1Tm2UiHoV3PVux0!8qGJV5i5Bghf`%74QfvAL0CC#R zvs4FwWp)5q%pj)%|ICzeil10e=G#?|*S))+Xs^c&;>)vL<6w<>>!Z<=>d$!otrN#4 z*z09(QnlbqJ}D5*NtQS%7?t{0@am&h>D&~M>G_W@rp~250@ktal8t2k&cL&Ib7;vb z+`VU}kd-4DRZzNN`}ID*%8m3$GVxFRh00Z&ayV^yVu-P=rKcHd z^3eW$f<2i3^I>MFpMg`s1=Ph{L@WC-8Vs=gFC?KIBMsvwL;J!pKhTIRt#!vI3e@j5TqjIy;d05awnbh)Z4 z`NL}%!1<2}T(p_JPlez5jmIOncZ{RW>~I0}Wdpk3FbSZ21H70%+^cC|)ue6C>d$^S zxY;9x@g6nD+~IUBQU5}EI+Asffl`d=47mwh$ax$@f4fk>0KCo;sdp<1ta3Qqz?l`= z9Gd4A*rA}A|HmF~dlD?u=#{P7=k8l=y%J;}d|0>sc6bd88bcAjRj3~?XCjvkS`td? zx0oDEtk#_bc{hzfD7_#ZIu%`GPkXVy#5sK%Z`Ww&W~is9T;5I{%MHyu)ub1wsl^~H zDhA*s;)$p!uC=3v#|?*$qoC&r#oTaID{S>to9|Z z1AChx6PBRI>6y#}l&X$po^j?B4@W;OJU=rGT+9kROw0-6of#Fd%`w1gvLlFio_>|; zsg!FY{8}R(PEkRsJ?8z;q|rY4p}jNrx}vXquLx#X^-aRL84Dl;O`Q|bTr#k?@eipA z--LhnA{78vr_L|fhkg!-bE3NmeBe`NSQM>y+sQTCgl zY6BFldwl~+>7Rsq@6y9ILXrN6CoM(U9LWP_s>HGE%P*1Y=QXOhu&7ap5~#bV4RkQz z1l_T2>dJWYSY(a1Oi=2vZWL$j_qEv;2sQ)rLr%8{0-qoHOo!F;sPl{-e&bc-P zy{|m1Rg}rNcdxk8=roDnKRZ-<0Dn3vGTw+wpuw&-vONWTae*3u*91787uZh>;?Z}! zg`IQqC6$EqX&_6EmZk>rab{$9Cvif}{LQvMbB4O@05HB}NVqSAw^5wp%(%atyuWyJRjy#i|s;iwOk2SUh6nS?h zf04lw^x>zZQf?df)(T2`<}4PT6Zg~$ho{7a^1x*BLtytklJLDL_eL-Z#$9n(CD)a> z=dTKfW_@y6oS*TQv`kfUi3~Y*-hk7ie+kym-LxdR2MX`FuIetECJ~GqV(fl#SqQ`wd1X?^G7%n+hQr@6Un~d51k3ukvTKOV7R-k?Ia}ZjRo@j4b#S17?@}WuJNL zjDFs@-4j#_woR2#*5nMlj>t0AyhIjR`Z=|8mGIMru?kCVW~_o~&LfW^A9e{RJONKo ze!z?f2q)A{%{LD|rOQ6Ay6+JEJfQhws_dv!TvEHG4LlYkxmN~+^Gb&g2cLTFFw%HD z_4XsY-@})Ali#OuDjp`OTgKGe+bZ{7!QmoIOSwDqrb{7P0LZ?qji)ZF@=^l_l42X3 zClFpmQuEU)mjSd}wk7R4#6dI)NEsSPtgQ?;Rhm#XUwduC?b4HRF7Pd|eH+bok;c`G zBeUeU-xZ#_jk=kWGm>~=mtOA7#&17z2ci>H=fj>L`!V=>&%zqmSV*7-0gL>^lh8Id zi(kIz-xwPX?!_)U-I(Q@Ep5BQA5K@xb5hOsSijg$ijtocd`)bAG9@&9xeBfxtE*2$ z**Z-{49G0UI4ZUuKK0AAMmcgRcrrlW=Y-aQe$u%fx%ALQ7sm_ZpRELD9;aV1#g2gx z(Tdt781HkV{o~KEU$T}ClG2Dqs{<=8xKbtA3+al#<45*@xayY?VbAW3AoaY8BFO$q z2q_!LoDJ1qv6SjD@5JT?)NRbfMvVLiVz25lJB`E#{6wZqz8QpG^pGIgR42*~&U&CD z6!N4E&bY*0PXK+bCn#W^}Qnee7yn<_n{(RT9InTGB&8F z?HKxJbMhZm_p9F_#XwFzPH%-6Ia~Bi` z;Z+?Tk+TVH+IY-7Tx!LP^qDO8LMz2==`)MS3JG+ID|#%Y$jAcaRjtD0`FRlc*^)I& zpCl2t1vI-MtNz1{^93H=8D(POAYZ$mH}3roWDe|KNttDh)ys>2tlTHTzx&p|gk*9? z1P->x=4=Q~=rcqx3F)t;*=*hcpA`0v++KW-Ka2M{L<5K_vT^M?**$d~y)m8+5jJtauXpf7xQmEkgf`#95eyO<^! zL0Hcg8NCv;O}e=dGPvh8|N4%$uU0D z1_I3Pu<_?>OJZ?o(ZPk`iAAD%pecmroI^f+ZcJkP#@G&B2SBO65Zp^&X(^^xDofA0 z@5t4iF?xD@Vq3J7CYc9-H7}?86q#W&?eIr-Pbpe{{(K!P)^?Mwz9%s0iMDRf6|INU z7h$yzJMKTe|vAxL5SgqjdTc45ct}%&p>S*)Hw>qJ7)I#e#07?xhkR6V->V_U{sRUy=L3>c#0~si8=Ap#Q~XO9@X9 zDkkh%KA6`tvIc)&dBMd>L*}v(PW#Iv4>6Q?`l0@zpeza`rC`r|Pb&T^(&^ubCEzcWR6eQhXv^48q?T!e}bXvEU zib;WqB3~%OPiH>yb7mc!SIoEc&Vj9kZszLO*ximBnM%E8ld9C8h(v>N1BDB(`BCn9D?w z-F4Tzuv*Uci5(3mY5zK}WPLJEd(QmL)VNQPBGt%wL2KFJ+RO#fo3yeg5eHWIrEes!M+ScQ|uVlyqo1JxQdavW( zr~Q|g+S`}08seNbTT4BxoF685&TBf>d$uE#FS%HIl<|i`hXWtD9S2`oH z?qDJl#Sth?G=odqd8Mp_1U5R%e^{i+?T?j8KqWxVx0|_)cBXGDT!p7_g1vh31KC1n z3OX-cZZ+K&P)IKD(Epxhv~~^6YTor6txo|D&*UB;>zB}~7JJCq2j&Mcpn@2&?u6^w zqKZSf)f;NR-HguSu&rayW5XHI@*^TJaOkbQj+HpA>dCq;D}2EtU0W zHO@S^h-)@x{HyIwE#pP)X#@MJf8V`;^Bs2$Pu_@(UaD=MJHvrZ^l~1$_;d7^s}^%; z{5S#}iRNi&vxn*g6%sseX23P#cpJLVHmszo7id&ExfhggEh2*eJrkcEqDT*qg-u|r z{TF6^CAoLyt1yU83pZq7VOP+uyvh|s)|*pEo0Y~k0G0s035}(7kV&-SluBrZi^dM5 zkj>l#59m}6+(d#WY^E&aH_YkU+lk$1D}SKrem<(XqQcxG{1)^-wmK}OI2O-T4t)GTr7 z6Ds*Fx(AkWfhrc2yUmPORpG18J@4$zzJo?7&=69%b&2(hb1V(64S4z4d+FDvxQ5(+ z(^!pxISkLVZ`S4{F|DOG;1PeAa*Jdjlwa)z)%-257FWZQhGcn@QQx)-o!@+R^X+(G z3)N2M%h1Gi`~I8KQAV?0X1&pRfC3j#EH8ukh6ephb&pwaMdH6C_P_O&PHl2_|<40jxt)ic*i*C zy2&|*lBrESt1Y2Lp~^e*VaoN=a82|owe2^3S8Y8e4t@dQnLh_Lox}tNVYWFO zt%)H^fgRH!sL(k^j&DBpgB%YaM>+rdpcO7gMq?YpW~il*C2`;5z^057`g*&J6QF!| zeB<;!63#nU0k@^hV0QC@Ohu<%8h-KfI-(_ZKgDe(*7LDfeP)&3F4(bod?G@c#-8|KwQz zd!!0M>Uv1D9>V~f(lN4(;ukG6WCJfc-`?_k5!UbeLexwr!5K# z-XGs`8#-c}(X*$%3^jA=mzu5EStatUc?y)(QUP zu>I&@X~jB()qV~5cb-_q1}zKafN^Q-(<9%(>}b&wcdtQ1M%64*=uS5hxwt(#@CsPK zxelmCeFXt_hO&uTZI2`0O;pnC)`&qXclmmj+mZ_+0H2)s2u8D685$_CvXv}iDbZY503q0JWFM^GGX{tWl* zmzAc9%?He+9ktqbo3po`jdK}_>)GD(B+k4BY16HBbc)-vS8(*GrKuF{9&Ib_bGK1b0XgR{62&`za*oA%6%AZIo&X&8E4e$OoO`8%%kJn?m|-~fu-)WBuIxqf4l1G^nvt;b z5c_#sW9JHx>VNBMiM&X$K6Pm&{BVc1;-834R_2`wIIQX z@-Xx1Q6*4A6AQ*c`^|Dj8Zj*m3>S2X}F+<2Ukc63;k`P zp9dRMkXvc|IJ(l2mE9NNg(OrhxHe|(D&=^uRjnEgvtsAf9yZV}b~$HNp>wG`VQHX; z9`5Qw{Z1cJ&`7_S9$`k^-akj)u8>i!px%`9dp)mF z1GK?;krK_e;&B`DBbUTOla^vhWIEy@%gh@;4k!0gP`A;J1Ll1yE}KU$dtUd?wi+`H zg{psjZSZUkc@qUFM0Fp0TlHA~rgZs=E#FZ5|QtT%8=40b;zCNR8x_*VX*Qk;1tsB7KHF4fBZ6hO8g^S{x-Z}hp9JV(SH@8vPWCyF@P9HPL-njl-F=)K z0iEdW%Z3jU*B!FMlcW`!{qOP}mai9lC)?I?tbMtqC+z4_s7RAT4|)sfuzd@RQV+jb`Sro$PIZK=csQ$9)QekPa--a z`9ageu?tkZDi++1=HI3HYD5rrRpJ+LDRbUSx|$CvBc76(E;N*BTLGsxF1(E>h5cQB zHdPv~^|^-jYH7S6B8~Ku#a~B2#}Q8d9ML2v!{rEs)Ts-zpM$8=gRN0v`rm6q`&m~% zg+(GcZjw_zJbmnoQwr1PujcYDF4->F$~ZSUr#S@HppzXknu=&5Ex|px2&jH>)828( zxrU<2bPD0IVi~V|elw)Y^aqelwJ%^xuGLDP6jm4a8LEL%f?2JGtla~KWNEFEY2nR% z^(Kdvdvqm7`y5ugK-zT&_3ZW7WI)1>NHb;Yw(uHK!^j2dXtgRaFKel+;H3Tx{DBy< zSpqqb|1^w@7XgZpUnDJ$YqbBb9Ae#y8Q?B(<{c~md&|SlW;^1}>e<@?=efg8#dI?n}e#BWkA({VM<*CLyQv7hdm}R z6wT>^i>fX}=?(L>#a)ho8ylVm#gqO1Qz;q7%msF1a;14!x7t|U|6<{uWXIfE{fIG= zbmFQuOQ0rAv>ZgaxSjZ)-{kx^>Fq=nn>6f~!@=EGdBE4|#XwrnSL18Y_kUmOhd>M=E9iK;jLh78vn8@JT^sFKbI=2Spz9t7RFv@9PV4id}K+2I+Zt z!oKOO=uu=BNITWeWmtJm*oF2Z=EpS90I)NExZb6mP7NpVhVYgJ)5{2*2X`|L-Y7n! z%XjT6r}aCoC)sm~)IS3pYkA)o%nEV>*G`ni5vSQDp%VthJ7)HU5%!HDEykH&hj@;n zR;R)%2I3>$+sHjHd;W=i!6tE(^;^Yy^r5qDwxMQJ*x#A%<|4IOda8rg%J7GAF$?2G*)lyx2dTvi<*+MXMBf?Uzmty> zNJHUpAY^xNJt3R+S&?xUAts|E8*JIm`##9QTGc=GZGE4D-R5ZQBpR}_z06y&Z8{P5 zE*%D|!cpM<1R$eM(3yxrR;~%UnnEa+KpyCgn%cYfVM_}!orh&9oH5f2YFTi_ny8eV zCPsM&K7v+?#ARn`szaxR5Bdql8Y}c0PA~GE_QBI^fnUZ#;{BqU0-zPp(mJ2_x0f{A zxV9g|J8iEJP;o~q;HX6w&AO?b;0Be<)bis;1dzwHev zj}wYhj4ior>Q=JNQgxL+Go2lMUouqZ zZSB0@%ZvZ!B?2$0EIYWC>g5<|9n{wA0nYq}1HK~o9cyXP-EQrB(IIEc@x#&wK9a(U zLetfeLW$UVQ&fHBi-eyGnMB3Zk(Ll9y>Tui?B@iC7QIW0ny#7_isVy2 zWEvk?lMN0B56Vbx*?Lr7x@n*`)y;*EID#BybE+0@L*h)my)Kws!!F|(Hxu!oTs{qw zt(5ejd6#WxeVoMpiu*UE_R5T+M!n!P5s=q2s&rTi*sio>NZH0=A~(!h!)!vuXi&av zd}x+EyNtZ!pQ8*geA>p7U*FSb*%p|pjf&E6T@cz4!WQ8l&jZs@j{tX>pYuOMcWyng z3Dj15&ZiZ;B?fh*Ke7RqW4NhePB(Txbr)viDp6gf7DT!B0$gJeS2u}gWZJo|E7My0 z`4rj+IJGa2Gn2{>;@dv9Bd19C?nRSBobL|7U{dr0E2KH71}WnX%=gL}`U6OTE1L6~ z!e&aE^Bo821C#+@Ww>JI*1TMs<&JmzgwkOpg2PED|A~?0z*2iQoWChxAqOBoPYL>H zM&(8Lis$=MQA^-06(X)(5}b??aCtjDMUma#<_FKj(L>^} z5|vgp{IbQQJ;imvYG?OEl7{{=wx8lQvB^|*)uswqB&K|Z?4-uJ6dW5VdAFAt#!gh+ zSnd|I_MORRxoul$6$&BYRt9P&I4Drl&^3uYtUp|%B%gawt+{^t_ z=JhI-7seug zD3c_%Khwsc6Fit^+ezKqP@pbmNHjbz?3uxXNe-JY?|heUH)zUFTS-UM746xP9Ps{S z*-sNuPpDbf1HJqZzT21QzwZ6qsl z<{h3fMwIj)z6wc{kO#yWC88pxV0-d*(q@RCauBZ#P6$V>QOdvr@@5Yqc+(!cSdzUOs2Y5)t;c0$o=TZ z$fY-VCzp=-Z1c*Zu7j~>;e2aq0B6Rltj^Fd8KWf-i ziEDWtH<KW9=DhCx4JVkh4b@nr*yRywVe= zyOn}Aa*AxGu9Rpb-I_9Pm}*-nWG%|>;?mwhJ2ySk$b2~NW8cO25>pyMxuWG$mP`AD zP`^fmydus_UReKkRYDaThVk`2sSB!ksG(|aPKAiKKCOnH@}JAjn%QS2L6bJST0uM5qo#{-f)#|^6 zC#vkRz{JJhnD*0ln<`FT*ZckOOSg`@nfYmH{I7S7ROU71$&Lr-9*~!Gcfs$U@w)nA zm8rq{gvKMG{KxaK_#!29%{R(`bUAc?>~YP=Nb_%T7|3js(;H<-XFo^&agPGoK2SZN zppPIso8TO)y0Pa&T1p_rfmmTr6PRq=NV8CNH1PMs_Z*Hz!0Uim(KeUMIjF2_s3Lne z?&ZckQD%H;oI8l}6SBnnRLIL|@@KP@g42cHiqsnBSo6x!5X@++xRN|*H~d6{KfG$| zXMj$H`%IcWw^pr`!arKq+HrBqFURl-o={nyxcg7XvcJbVf*&!%>ZvbA1H2Z@PkVU~ zN;y#^xgTWL@C7Gs8g6>z((f&S9IIrET<9Oc>VK0a_@C-*zWu>Gb70rhOW8P;b#ypM z3k^55+9F7XA(4ku)AJiUQq7!7V~{WzpJh{eAy)L=qsC;nCDm-R(TCeAi8W_bcQZgo zzGd^8n93e&&CW48hEddt)1+W(X}iM>EnCwtu&vh!@-Vky9RU3?>Qbj!fk%qatSgZ zn>HuX)B!5#nR_!n{j}xpfTjV1X`5W7_vzmYJ-xOrDXo>a1cikedi=_(2SS+U&nZ@`$G?yBK9DZzZZYKUHXI1VU8(+`< zf^#xjGvM0&+#M1kL#!p2tHcRKc%&dNJ?JW59)(&_$PS+TQS>~C&8zNkmww-)F)pr| zv+lOlcfZW!mEg$s)C~(eZ%5Kt)R3C=ppK*sfpw=jDVFqJqYbYkMSf=GH!ym z#)<_w`+eeT(@hIEywymKJDgs=;Fw)qPRcJqa{N}1u{G3Iv)XA=M3v!JHH6$ePZ#R0h~PawSgziiZb@)~)NgV_?? zev;rjZOZNzD|*A-%TF-Nj0M84F zsIXJ7YKGA&?t>)nY04wzO0<$kz-j4ed_;%Qm?sa zKZkQRplns}5zz;{_k3HR)M^JQ8;}CG1<@KoFj>};>GVPl&6lAmIczDH;$21RF>g7`E zVm}rbo{J2l>sMPKb!F4&23?Tig=IvN;2WDXoEsbqVrjl~ z>_&QYY#qLnZH3U1Hxhg&-gAHNamN#rtb5Q$A#=_BO zZaR}Yyr79NQ7@>rC6!Oe=7NtZjCIw9Wv157WBE!Wdll;9KK>A$ziqFGUV*)cbq$zn zdN7p5A1;*iCLp{D^np6&wxCS$S`!@X*x+|UzxQlMc3r#X3jC1Z8Xk*E@fAzwwE%jnNH?%f3L}WS>ztFeOa2NerMtoW9zet= zC=n_uytX@LAlrtvJ~Z>B`g1|{L5f4N$SZc`xJG%q6@tG5#1Ssku zuLt^-j&HOd+vsHYW_4F%o!T9+;+Ni2OCL&WXPibl%AO|=Rp0dhzPF>uL(dbM-(~(& zSvukFm+&F5mMA^(rm}Y1XC`}P_SLJ*@k{KjeL4XlWk;_zraT0P4~j96iw%JPs^awj zTZZ&2>#fhB_6dqElR5dM7h%P%FZo?b@33<$EAQssWsMaymhep5WbM!HEdw8YoRKl$+5X8Pp&Vk4vx{3 z^jQpq1N@qz%Vb3&>|J}4YJffn^~JQ5YI(n;(VPXiXGG7@jR4>_bcct>e_9RsubLqh zK8Kl={)mQF%%cAf;@&&1sjOWac4jO%C`AyEDyV=|5$TvHh>RkjAkvAD0hC@0H6bd! zi}YqhL^>fL9TKHQdM5}3r1xHvknru`GtWDxedjs9^M1eYufT3=?X~Z<*4?h_)*Rfs zJ3J{a?TloR|K9#vP17>Q=n2ob>!4eM1zg`#;ktbhv#;W}N@8S{_4289{Jl+N|5@UW z`*g~1!i6pSj;Y?N^n9@Q7*V7h@~cAyg_Qzi5W}Le{d;YZSoY;vI!Z z9e2SF!2jU6kO zb5P`d9sxC>KWBfhpiqgYOlDRnc`p`Cc(J0eD-&UBvvPjL2Ff`2VtjAs_wm4F8R_J` z&FX~m4U725%v#~I8yr;A>^7HPTO8)_o(^`%PQeGB~o4otpndymuvJC=+Eox#}jGNL@ zVmmAPUan)V7iW{XOKzHNKC+2I36)aB{Yo!g7=Gp2UH!l$BDs{36+S zB!a4eibdS_zB1TDGJ4XM++(9U*V-5zW-eixog3|^BZAL_8`(R%I(+?%&ZYP*sBGzn zSCt{;*VIS6(A<$wo6$@^7@zGf@AQ_c!YO~_us04h zB53d)L#?svNNfJb#H)~*q{7-e0>)`gFv1JIlaR3wr~=eMb>EUzaqB^tfM?o_CPl{; z4>GIGa*>2SqV8jC=OQ;wAqR)-t!-8tFay!ahO&Ngwk?FG16Y6QQq=j8M0ZK~Foh^B z(r2~^aL3gQ($8I87=2~eKesPYr2ay$Gnh^COoY0z-L*q9+=mYlh?`Y}jVGU1V%LX>AgXXSSbL}#RCKWk zTB_^VqdN$~t+og2^&rFA77Zy+R^U9O>>;DBkSnACbg7Yl*7d3=@=z()Yh&x)wPo1( z4sOT|*+df8-6u;b``0Nw9u5?%A|OvFatYl#X9fwLcIeG6W7@t62%43YDWRd#ZYp#u z!6F}&i0A0ok#QeKZA(50t*WB7*NFjOXZkShE3}oR#0p7YMVD;^_}FvP&AY=xiR|%} z1<&#YwU|KV{!j%8gu_6K6n64M>G&^$Rx)scRB=JksEZXCbMR;uO7mY%A6X3O1o9pDb;qZ`N?hYPICFM7$Vv& zgKS)e01g+7;Z~0A^ohtBsD#?6ZA_fiBfDUlyRftM_Bm*G#r;qK09E3|W91Gi z;L5Tj-z)B#l@s?W z?iSciAC^4e*DHiJlv}MV!L-UV%1lCv-G>^|w)97y6WD>FR(&SuK#Z`f$>Ma5R2b}t zTI*dAoPji-^Dyd_3O8VGSRE;^e!{cHIdpUA!p|EV{t?OWVE(`2DS2wEW`vb>*&mLZ z(CRe&EQ@sP!zzS)-@-f_h~T7vvc|pUCFAoaAJX3v->T6 zJJ92Fu8}_@ddt1Okhxw+U~Biln`IXb2daArddPS#dsw0BC#9>c2!#FW3wWkc*?w{^ z8#Hb!1GV5CHajccY`}xeGwpXpkjy^TwpO=H$;?$OcWo}T>iHFJO=e$5cM#M%f}MG^ z;SSR@7Kg_o8J+6lNwqNg?|hL_u%1{p*uC4BcU;+!g$Go^Cp7 z?ra5H`g9vi^4`ozh-d-7pH^h}-TKnFU~|dA8(`Fvpr{bn`-(>Ha+_tB4dbgfhDMSJ zvHgxM&UUD#M08VJW&)7Bmg^lhH&C_6d)8)Ft@9pkRWVYAl#(?5&{hgJOL9n4_iIzt z?X+ytR9%(qs@T(Sw6(Ytx#69fqY~!rq0*Cmd?O9X6YW>NX4!Ukc~EX&sr8HoA_L%&PDBx7+G1)9)f)yA{oWy zA9bZaxy>0?)SvV*s>?QEF4;a~R-JHlQxaBtD1;r7s&fjHHp(hG;A`S7d%eYT*4eyslx(i|_xv22_1%mH-4)XScx){1<2#Vu3(6R)z zf#7mR9Jmsj2_a$&rl96YvP$6gUxF;{kKB9cBllj)a+#*SK+KnG%e{Z4hS5En{~5~Q zze@J|H;%pkcL3f0F=tW&)=O=>s-69|QfKe{1NZFzPt+fcwuf62c|1mZdgS!9gt7gF zVgyi;$BwOc|HLoTdCLAZwDte?y60^5bm%^vifnktajzd$x#Tpu(UA`3y0oH4q)b2e z^u5VCcNsCFxcgi{mSpt0ixjy9Ks=8f%YOQbB?`!$&MEkP0vfO&$lC)@NS>qF{$xS} zn88@;OP0Ke#IWlUjl+E-OYpfH3=<=%a1mod4Tom(ki-GcN?^@nk3M3Okm1TS2TX5- z%a;ou8J7=IJ!g9L5B1usMfJJ`DvO$la?R5a)MbEp8P>u$HigZ4i|gBfUtC`I&kbiETUB+h+sw zt`FV}+dx;QHtY3C7_yS$C$?!i-u~$t@A`#_i=U?}MF}dY7G4GcDd0`e>z8Nd$i(g? za*ppIb+3kw$@QhIRQv>_UTe4`{!dX)IE~m{z7R|2SH1S?*_D5y`8QWj zveJe9TJ$sF9vv6bjnkIj7wKd2QvQF4>i@|_D(>$w48&aM4~W05;^@!DFabdP7xQYu zJP;!{&)Pm%b*f%6HM~TlbGBA;VaE~cgN8KEz4;=L zkMKO8_#Dnt!LaXF&LeOzXWL%QIFe#djFm=aQ6yO#gkB?;#EFS0c%d(4kG0-(Zd%Rg z`079h@sIg2qM0X+<>zf37lUw{@!qTw^oNo>0$AzPsl~>xxtv(O{t9SMX*AjT5}xJo zpU16%j;;A_2^rBz1p1ISgf_R!YjkFW5{^!JJe|E*sD zy?tP@OJ7R&#(dGfdqhvn+0^!o_A9to04KpQU!YgvE@U7PxF#A*Q;hraBt|K&Do%<1 zk%wdfvQ7_H*00Q`lC_fcfg>+((wQYt{S%g7(*UN0F92c78v86eaAucD%`5v_Ht<)m zCriCbApHR^>-<^9uC`wV4leTrtm|0n00Z@OtpFgltxip?S+Aa3ovp4xa5L$A?HgIG zp6_$_>@&wl5tqbs*$(-`cE8`3#4`SJBm};5ZUO6h6GK7)gkO&itp899XYup#C7PR? z?{F-IK0E`^g{o6A$5~z7MC+fN zKP5xpOq#pzDq@Xc_MF}InRmX=kcibpEO-<}^E4!8>q&E#covB=cz(6h=g};LhyL?% zI@n8QoGC&>cdjj&cNocl6*dL`+%ZU>hcMp77pt3Z+i%C8_Hi}YKWDS#?W(+dozW(B zSW#>y9RA>lmE&cdJ30EUqU*C229XaT;*Dt{3FkqoavPjYIcd5z-%6n7%Wo5?fzS>8 zu(4@<8Pl$H+w$DVOg-#3{PCknJ)~kwidbJy9xV1>V8L*-kv~}4?uKW&S207Lup#e7 z+(p)P@sz0-Qv0VKS_iSbE6kqU!uURN`fMy3K+N|LU^`mYj=r9y{lE61F9vx2?oMB~ z=t71A#P5g$IqK=sH?vl{_#9hK78X2M{$9G;zzn`~27K&KCTl5cx{w^(eGtn+12_t5 zUEZ4CA&I~oYJ}ZI-LD=!t=RVed)5JM20Cjp8lYc(rr=q$4$$+Uscr7AfP9*dd+0V~ zbkI3Wgo@^&ord}lpufk84FDz>9udS^vRr_R_|IkZRL2C6xY1%S!tLx_AB8#h#xr;M zQ_Z7a<>KuHR(B%fw0x0f{ii2y?8I6vHm&8LdToWBtTidsHD_Oe>gt$4>ZS%2(PeA) z>jBJ;EmN8Llo)?o92r@bEin$kJY^q3#8J2ECq zBH@p67%cVseOx6F%qtz04NCN;hd4wy>#Nou&t$DjkpHNuBbRYzZ%my*fb}evvbVoi z7|JLtGf<-S1Ke#!>DL$E(-8}pTJk%!GdzH4&Azkr&~}J*75v+BTR4bPoriifnm1OK zpLnONGHOMA1duN+>6ZxeOHM~^U3OISI$JBs7a&6a_Y1)9;{?GCBt$P}6Z+o^PouIBG==Zk>}>UqFq-Z77s@R8&-qp_2B?$*L99 zB_tKC{~(c_6G$=ezzP2(>~YY(=8>imld}?UXwecdj(I{pBolB>%_Tu~yTkSt>$IV0 zs?nZ0cw3z)K!GBcC4>>7&p2GEdqCiOYwGi)X+vYhv;mnSi=6FB+ISXjMeBE^YvhT~ zT}T%L#5tNWhrs)%4xe7WZZBLfvii)gbhQn^{+a6>?M>WvJ3<8XD2wkir1%FBvk z7zgiU)8ZB=pq0hNJc>PX1?|l$CR7(Oe*HrBJI@Q5%lr31gWQ?Z#$(qC%G?X45L1x~ z?aDxNLsTv^kS$yN=9?(yW#pzV?cO=FtR`ZqyXt6DMM#yX1@gx!zc1|4Lk-0O0K%pv z;1G2Xi|j4%l!~Q+cXD+}Fll@9I~8R*Wz^2KgD41E-`-&CMGFtR@yK9ml2WWufg6wn z;gI}w#{IgW1T&1aZ1X+DUP0S~bmz;#4DKK?)+Oq7)eefPanK6RyySz?`V6!KU|QS{ zn{ho<)5AgJP@P_Zx$&G9`U>laP@2XqJfHLTm?&qO9qnWKa!y5vJJ3M8d?h@Jtsaf* zzPT5w`vSG!=uTurGtV6UK<=%1A`hYuUAKPmwTlg|VK8U?;X0>#{IdaPgA{T4tf?7( zkffiwEMZGf1-|c~g9}N5qrRlA%}Fe11;4*61B{X7$;2)pK?#)7XZ|>@pqpkCQ{<9! zR`f*;bzZ=v>EJN~b*LGE#J}kPJR-x>$Xf@=C{psQ^X!*vXGUTH8YhW>8RXqk{s3US zd!|dRWaf;Welc;`=m!Ir^o z1_}pVl7M9Yd9xc(IGE(B(DSEG0sT^!sf2R?`eIcKa`!X84e9AR)Mas4zfk{(_<}K*3 z1*HREmMjMbA24fgf)%LU%+xmvj3WsxJbg#vhpWz6LDL3scI8#pl{p`!> za(=5JYAS;X>D?TZhQCAtlV>7z*mXAuq-pVz0uZL{n)jtk&R(;#7JezCcFx~z!IbaY zckd6za|~E*vUS)~8T|{S#Vr6>S|Kp7;Q`lFf)lNU^kx!it$gG9Ng)!f;3vF^PlZ}9 z3)rW?53<=`1`k~Y-@SaO+(#x2k5h@`j@3cd%Y{Gzf|Vu(-A!rMUXPZ&$Z&?)t*^k) zKK5_RHfCs3@ArALGBEw>aMZmEhFtBUR;_l?zJo`oq2LXXb|3rHZE=+s*9B%ycrwMB zPic|im2mby#Zl7n$VaSSMO9XU4-_LKQ>#}(1VSwf)2n;$JZ(lYl{?&rw^q5?Iz%FsIlz-^ zW-7Qs;icQi&izpoPvYo(ozq;$Y{u6s?6mND2g}g!Gp%gR;W`9-E>gf-oF) z#hG$Co+zpnm)80x;lW`SSm;KDDE#uQ=%+%WjH6K4?47+UsUbU}tADNz9vH7y@^pf; z=$3e*(?1Bs#z~!?2OnFR1~bMlNuW-!3$l4CO0wo?(@tZ}9uLWDkA3+z7oNDx-R2Xj zG9gqTi34ut^2q(iLI`k%3s6o+sx%1c?R46#TskrH;mb8lC1{&RK!&xh_Lq7F(~Zslg@zo(UXSdr+W{ZI_XxOM72=-Sz3C3Tw5KkJ;Z*%8-ReY$U+=<)x6JQq zN9%aG>qz@s#5wRGX%$7=d?=64(Y;MZ9M~u-z8&{1rSw3&6nJ^N07A^VBMwx}6A-E+ zQflD&if;$k6;CIoKlwM={Q!d1Drtdb*9yG^`Uc!t50Em3{y-nj5f3NBQLD6V&coPM zSsYK;C1+6Q@dA#jEyau-FOwUl4%!U5=K@?NAFEZG9Coa3wDTlduv~gcSD#aF{5}C* z#P05()@aPm2o?{&G6vfCi^EQ$`5so9@JvvS;ZtQ_st1e4HL!;;{ z*Z4k_$KrQ=`6)T+GQT;21A*IR#Pw2t=!Q`}_U!e3XiTLN!@)eQ$lZ=rM@Z>7ab<~i zfA2dws6N88rYmTx1;SF(t9!1lsGSn2rbtVlSILxV7TBI7gj}7RRr5Pp)$SR^Q7;vY zb+W+8g9pu+B(|J9aDvHn~~)D1tVP_LQbs zK++Hn8Nv_FeoW_V%Z+wcnh^8TNSYN=Vyk~Lex=N(Q&-y0_YR!G^%0A?wA^I<;C_N_ zWZk8-P2*GndnxhH`@NV@qbI?1xiaAP3_#*2&TF*TRperm^XKQR%coz9gk6v>>eYb^ z)%AT4t>b63%y&F@@71U1yB|SmN%w0SpfZUo@0$7g^=_PuNeL*t8({lv1l3oA&X5Q* z`^sokmde}Jgp0>&Qa?8vZSj0_Go8KmXoPjO>6xQnJM0an-EhzhP1kc?p5}nxH42|N z$-2ynAq}NIJI^Y4DW>EWgQ?>w)+-+hgaQWe{M%6zr*!!}b;mw?Uhd#CWR0|&Q&`Ch zu+@;QI!DnXN zz8(22K4aFA32ZV4gqlNxSccUN)KdHL2iQIlHQ~??+rtCmU~bE@j@Gowyx%Q7r9St4 zXhD^NbS79`O_qQ7#4H?l6BQ4%eo}EK;F$yG((xE^$IN+-m}P2;+R!RpFfvr5O7|m* zFCl~p`v)(gr@_k%;TI#7JmhZzq9MjX(sK=qOruYWAqn<+<}<8j4B4`R0-jvR<1^O= zx9Rq$uXVPX;;NL;C!MfyR{;Mn__0wOdf=dqvGYhnUlP}fjbc(+P zGX!a={r%8pSI@D;lSlVQ0fuX8APlIxaSZ>GC8(pm8mNBq5_*fF!N$^@Zad3d46rOM zmI6lL2Nz3yv9VDiaH-1~@!u!tghCAb6xCcM zhkynrS8ceUa-W8c)|`Um0kCR+D3V!&QhVG=HPW@LYlZ8`S;5nm0#GOV+=lF|Ek(7JLDtIU2gCk&AY+56e7!kDI17UE21@G= z;`X1^>|6y?Qxn?>W~0BP_t~jFF^jUJnvDN6B!6%Lh+7ianfcc?dnw5m_4q5tw@{7d zM6;YgazdpW&8c-aZ|&gV@dZBCr<rlF z=q|>1N*eC{;xN<5L2!+d9Io;vVEr-Boc@kILieZj3^mebu#dTV*)=OLstC%ErMDmd zx@|90!>K1b--yU6gRkS*fn%(hM{{sM%9{N1vp>TeUr-*x6 zpO=d2w+J;{Ay9HcmECz8Y%_prB$(WiY5kZTXT}M*gsiLKWO@WX%svlvBnzGGVQO4I zYX75LGFT2t9Lc`o$$)DP9D`Q?Y2^jvN1pMgxM%#`#6PwwU>sdSm+fOrS@#&g|0o5* z+Tgbxi@pv_|mqmlm)lbO@1Bp#Jy!{+Ap6|JH?;aC)L9brrCSYN{CVT3$XQ z<`BB^KcPGdQxJPslPWGSzO%wvx+&vb)8YQu3FT2iU>4;B-uYOh1WSG0(`qbswJ7C| zp-rzG8&@JJYy3vC6+ay^A}eZ&p^~g=1ft_(^AfGJJ3}t33x#a$hOWVbocp^K zmV_ta3zf0H=K~$GiWd4R7CgNu?nQ^=5i`S{*EZsZcao?z1O+{*9dW1wcVF2STi~a? zk;GIb*Z3fr!6_Aqiq4ZW%T3M@!=^c|8M?dW$E#k601dcz&kPHO9a8g~>E)9cxo2pL z~p)P;)xX-G?7W3J^E_Behr{$uB*JS5R>AoX4?3+?6089J7{Ye)arE|0 zj%t1+?^GC`O0qkwrpB?zPqv>xM|pqC1a}UPRLM@Y!SC-RCvCu&F^+%PwOpd2e6{zV0d|Lg4if3f_(1>9ux zGGj-Me>A%W`|0DUJ^kKUFrOX1~|dq3S5Mq|W_ujvP8S^tWX zNtjZB|BrQ_{I~qRKWEIpiv;}5>-}{hU>$JPlIg_1he1}r6J7=bj$fYQOY}&@5r?pg z(7)lfw$s{Q{UnX6YJ&(g616>7(!h0fyGZRn4aq;4PFfXMVbHGM%{}!2r)+FA1WMw4 z6b_EKiN!9m4IkcQUtt3j-aR;u@}m&#;S8q|SDDrC?FFxSK#)`UL{kAcm_35-&u3$> z6gjT-NJLF4)KcWF^Q7jL?WGgXEQf?f2U+S9zTD85`&DrC=dPDl52#yTY)F246lY|i z@8%5p1@4NK(VcZ?L>6T;77cSg1gUu~6-Wn&PfD#0F{!*K5Ic04(Hg#I=bX~gwj1;N741flkCy~0s0f!sSdd``o!MTO4>gb)6fgMt zJ|K%v&jHC3imzBWTBA?RcYPgJ8^T4QUcqKzrrO5@Xw6)dt z(>=!)K;-#M7eFaHc1-S{0UF#PjY0&1B`gi}<7^>+l{(0)x-wOoqpV%n9D0Ly0vxD;=CA^j;IO_wS)zpNlG%eP$ zB~@Tl!#X~jE-}AN0s=4T9w}(^uRo-nop+}!#{a15&uuaa*KB$-F|rH0@{Y^X&Ut5o zt0}v!$UN=-GNJjcMd}895BieA3-C=#vmh{RnA=2vHr@$R00KQ^tuK02cS&N$UomYB zpFvHm?+wfDMej#XZS5-t`3PB2y$6CXjElY-(?m$P|Mj5to{-zOm{d}~-r2uLyzCV} zWF{1VKsGozmZ8{V>3i0O5!J_M<0>^`io+ASVb`>mS~PYshsRBx=g5jEX!)vUbm!d| z@j-t;+PJZS6A$r+941_xBaJDgf~N${We6@ zNV*4BoLPCxqq{Kh!1wCSHey%cf9|=^C0&e60^0cT%NBLjzXCg4x3S|{13q(wD1aS7 zP$PjY2eD3l_!J0Yo?HUf&r3^oQ&4&rjub~klb=UoX6Yip zujtQ3Yc(9cQ%oPC{L_}w>~ccf1D(#p2IpmzFA0~iXrnW^B30@kPiRw0l17DCEpF(a z^x(sH_4Hdz)>*~viwPktktmd3J zBM93Y&5Ch&*Ubx-z$Za$P*;7&?b(ik?*+TyHo9tYi}}A?Zhr>D=s5*{(+B8882TH{!6F%83f9BbySz|rTOds;V)1) z5I0!2-3KO8UzBvgAUtBlfRN(nZS{pLg7$g|^|!kS7Tn}-SFNrN6ICoF+`V(7 z(K=d1rUz1MBQpo?ki}Nvo~~ZG;?|U0*RTWRO4gX+K}`s}uKY9j2H1XP#|WIc+q_el zyomN#wU?&80G>Ivgx#(x_l_gKJydt*3^qg8bGy6E!#Iq`{J!4YeQ$4-0ze`#^CT|J$T>|v@+0sH3`&xl{^RrRaoK{O62%m7^c-P^bDD7T4Ynz0Wv^wP; z^^frq4z(J$2Ql48;0N$J6}#QF$xD$x6qqyZ2>u-7N^a5+^brqK>fD&_n0xgu4~45) zwsbelqZD%@WtE~=axw8#hi{C?xcpdtiEA9;?ls$K^ z5MGG@>x@6ujHItuC_>!OrNJ3b`&(KYvsdwaiG(ci$DHp=jlOP5a^53z1y_HauZ}u+ zEur#Q;Z!~|UnxicLa<^nOE0O3ligTbBolfP$@vuCJE7BeNzwg_caX2;_yrRf-2u?U z37aCAie_PFcLi?{GUm6X`ni3DycsPf7oMrFE%jLAk$i zs~YtPwfkFr8h|zLNEX}5*=Vl3TSeG8|4+0-L$7anv&Gfanxd4=Jb<;l{llQ=w)IY? zQh6PKn}pWow`cP*&GgLuiBkJJ-r@HR{j~PM=Zor04R{8-sYge6hhJ9g7qJj>XHL`T zFer5|!?D&dvROuU^%1T*s^OhK{N3E_(>zDHcefUCdIT)0L47)h&$6y^MsZBBj&wqT zQ9p_j{K*(!CNSuOeOT%qN=H2yTt~ENeBk|q4{5Xw1=Zd>cewrq-GqW0Lvx!h8ci|o zj8l5Gq=Xd)w};ciK?bN~uqJo-hbKTTKhp|&n4Zhu)~#S7v$Hy~s6SJ*tWwtFNL+d> zk|5oIWX%Lawg=u;yz*m`{R{QLkZZA-3h@N;)3b%iE#wxoN}be6u`O}GQP%{46_qAF zipxeqeOZLY&Qy5mR`b3;*nYXJWV+KbxmH9jFjM%BZnn!0zsX71?*ePb-Gos|_pE3rVI&|QJ&)4|yF1~y@{%_EY z@XFa5x0wCSX>})u!4p?G5q=YrVPF7Sb1`Ykor;}qrTUxVJno=0zzt^|c}uhP{tkQi z6HB4h)g+Ll!+rZG{k`-@(+?m12jGMDc5GP}T4gKa@iuC* zggk&XP#M2VyLWw1*6N<$&XUC7EwR|8oame3f=}b`;YtYxjogsNcI$E53jlM6=eqSS zAZ!R3!aG3HbXFLc5uH1*KRSgGCQG-*^^fOfHkp+d1-lM3vxWEB56o>22^B>rQ)nNZ zGtRlYQ<8lRgrcBMqZr47)ESeGdohV|gki56@#QwE@iY-=uz9ysz>bPAwNqY_%Q#0p zy^?DOV}PebF;*GDXB*17!zXGyURlFtg4igbGt#ibb|OnKD2>GUZT?dDcP=ftpy7S8 za*wS?%w3c*N?F*DP;LBp=|Qw6epr74C<04k&)oPlI`6Ry-_AIT?K^wDt?74?=Zc;{ zC!9EMZ-*k4QO-P61axH1oi797IAhUvvQgqci_u>*Slb;m?Q&cb#G?d0Hem9pecOB_CH^gmwbGCf9Z!ga^ zDjT0ZoI=f~!24A5H=c16#MHL?bmmmsjjpc)-k@x2It)U7k6OsObeks4=>11o)Y)=1 ziVyJ|k4b*u8|72X?wz`4_rQvLoPq&`sgE2hwkMz0Vw^nSiJj`LxQHu2c)N!C80WVq z1iLBfudBbTB3*=~epWU)miFJdQ|QGHA?DW)##0+SC5yf#AFdJQuyQ|K1T;X2evt(K zeQ^2~Z`za!PwCoh?XiCYYS?>EpjZR_yn zL+n<<@SN&s)?7^Ua-<9_i`r? zQ>p-G!&`XA45#4e+_w&En$`WTtQ}Gr8zwNqo(G?!!ts3cN7xGdq~aR>9rif@G}lev>#WGP!Odu@$het zF65^`w6_k}?VoCdCj@p5S1E3z8HW_p@wsR9lC_PuM#Bhd#LXp z0ZSY;3=$accFqZ^D%>?T9e-soD?Y8h4x=ueAdnt=uUi&sM_zzB7NnSrmzC>T7#kKN z=+zQUdCB#mA9(^H-L9;8jK-~P9%a=&metDARRr?g8){a1A~R|WXkBxusa(n)ED|Up zCTisnD|6p;24b}>GjGI8ZcZkdyvesS?>P5=z!fp%#XEV~Q#?(1PUY?}s|YvHw(Lz^ zRs{$~&+&j;obxKW#A(y3og_&qg;!tSI?3M^j%uxyhcLW2lOq#Qt!=L(Iwf&YM>VLWp?pHsBT$vRTp6I84Lpb#aS%r& z6E3J8X9CiyIP)Mczki4cR2)6%JMo^w#q39BpwxqYZDw{Eh$cr7Z}fP2Bs`d_%?*)x zfg~*z^hZaq(rzeM8+pO1$UGnmeFcz>4x>r*Ij9yfVOeBFjlV?YU*Z z964=o<)@xrb&xVw>beUfPpWpsx*Ki8#LkUSV(uFkMc99o0d?IWK58#@7h{K66)?Kn zK<64Fv5Z5&}SIc4p(He1+$Pu8KtJ!MZ|hD_mhjt zBwHseF)1vA;n(Zl8989yQ@Inzb2Lk&2_+=s{xc@K0X$|{Q8 z@qtx3m%aXj=IU?7Tb9jvZgDx=1EXV8Ru8AvjbKw=1C=6_P-GSs#>X3rD~RHKH#bIH z&g4oRHJp}hFaVeF8c(6}C~pr+acO;MaYO?414-zG;U6u zv>~CT$zjaU-$zbCwiuGL^+7V!vxuak0#?z{9E(=>E|*)rIP zjX$eo;sfcimw-6$3@vS$?gQ%UV^gs3h2SOdZYsHG=h0O(o*$k0hh%fBk(~C_6UY3e z-}!%y1VUU-Q_mbWu$r9|>P?Pa`2zpiaFXu6%hvGtQ7<)K+;@tTaqEQ2&m7}_y?WL3 zML}NV`&-z6YVwu7Ce9}U4-SNu$_}2VU@x0u)iIlaqZ2jfMYde7H6?CBhW7{oq$D0+ zvP`(FTM7vfsuZ;N9mJN{EDV>!M z32NGF#oXA2D$F&HmC=`O8`9S2v?erZ%CF`OZ zT(QH)$1e$7xb2cVG)C9SnJ(xH){a6X)k+C@zp+9wht=!7uLq1B1SsdMqU@>$VSM-A zq$pi)EM%c{V-~kIV3H@l4qSjG=4>y8YyxW zjq&;3=8Dd`zaD##dtKAu&H0_uAwBR-kiu#}a;8a98B)`nAs_Rtr(cy}6=uiZmOX1q z==w(KAiKnE>^k2fljb2^O(|VVA4UNm$rt}QddV!#DwfW!QwaUjP zrDQwMZ#DvK&@BL+%up1ie4cC1G}3VK{utz~I~g|K^=E-vh~uMG;Proe?c2X#$tvk8 z(h(Y}$3RJJ&`ISyclKBH))IMRaG=q)P|FTqr-r5RUWNzvi8+x$EtvlrhB@+Fy+xV^ zu2(mc#bf^9@*}hUmKf~g)PnJh(VDzj6TWjqP;WuI?U<%Kw{vYGvnngg zVkPh->Y|q~5`(1raA`R!4{p?Q!^B*qyak zpnG+Goco_<_WrA$&;RZ^Kt#X?4dB|L8vtsB*a7&@cgb{o!tZnk*RjuczTwA$7mO#bWOgD6ugi!&9??6oyve)Eu`6*Cc?Z z^SM(qy=$XlP|ei}_ZhmPlt^zj^1bwnMz(rU%5LxsN7yMoptUcqIJJE{7Sjb3E&fNW zvI3B}B#@g}#SXsD<$Znp{xdOfnIHW7+aa-!isIO95)UT|$w%#KDt}sg3Csoyj+P5? zNnel2&?qXMS3igcfD5%biXRU`Hm)234?iYr)~R{vbq=dw>>UI4CnoD&f|uvWe7E%X z*|GY3GqxqDD;VqP58bGu{jeEbXJ<2zS8}L>vhR0G>6eo_@6?Y+(nK7tyq`u@W>#J}{`exB!7I_I z(W)55dbN>`=di z#!oHHc~&xr9oGd{xu#hN$DG|%*};tg7^X2=pgpo`XhmBEqf98PO>*T`04XJw(Y^mU zE=P%Ck~EHa{8iDoDy zl8yqh7_%DKSfTqrTH1(h>T}}jxA&%Jx;#;b@EbSFy$7SS+dY31P+hR_1F{*pWY14w zHc(avk|0y}7cbzlRgTuzqvFZk5*F(9snOZ)1Ke|I0&G?2oF$hTxL4G-t*W`TQHg4u zPFL;An=lOATyk#SxB0@5TEwxr*^g>QQq?cU-4(v#rSqr!`F+}y=D&ipkg*+;iKz!^ zT%Zkq=ktQK9uZnpbCW2hnZ~L0wD-~4zfWujnT(~qd+Mhvmnes`-}cN)3RFj+`Sb@M zNF-=r-B!tZb&shkkj-T{`fiQ}P)R9v!U*g#4(A=O0((?k3wGZ7bI3K4x!T10)$X3+ zZYF<;4U*=?Qjw|5J=ZqueSfXILve>Ga4UB*#sg7RI=`2M;h3qze?VT{Lhz@*DOY%*WBQGT<}$kXlYd2j8FjF1)=r;95uWjrgp8*m`~`f-DgQJ)9Jeljd>0t@Qxg zMXsygOP%aeQe+Npww}(?gdDofF9yQf@$&@0=FMk9ZGE| zbT)XIN5g;P{SpekB*AFLkwadRddb|2xnz;_y5<%?KD-}t5!*d*7HvPnJ?C7RG+loh zW(B^Bbo**eC_NvmwwS$@GUUmTohLnmxpY1nyFXLE8*Cq8kkg1FyGZK+e!b>-=`y*_ zEUcMvHO3B^((M#SF`>SUx=CeJzYx9(u@FIuX{HS6JcO=WpX(Y`6)hR%wts)s?`v2l ze1E{I^x#3iqlLO2!RHvhI$2t&|JNKN+psvcnd~ZO0e3i;ayZ}P#gVPdO~IK$@4^1X zMvTOU_{@_J?3rmNdQbZA3RXR&wfnY)ul0fnM><#Ks|?kH3JF4$oI-dQ8D4@ho$+hsepygkU2l(n-aau|Tc6 z=fOe}7RZCy;-r~LZD!2=#lCQ2jMTbG)dvYJ<{+1zBr1vVVH732yC_pssyF1bmO`>> zh-+1th`aRwEMid!U>|v+LNmLzFSO85w@cNC;6j)pq3+(B&VL5E+dy*DGut&T545;L z3I$HjfxR{r3-f7ZDx8Qsn!Qr*1E6S8_BKJk#c|Aawkr%N##B0f-vL;ms`C_Q@Y@-i zDUZS*MSmxK8{t;c_e-JZ*q7of_y$lY6c^>$8MQ2@yM;QE3TlPgk3bK*j4u~D&p`V< z9b$K4=UgjwY}^vb0^{nXpuk}-IZ2u14dxI?dhEAH-inGvle7d@>Y2TPa;`|9cN@Ho z-dn0H>GuI*l{8X&87~R zIRi$yHdEuiLoV;53V?F;=$iEsBE3;SUb7xK^JoKO~~Q)N~!_T@Lb z%rO>l4Y@z?mF2jDW-$D6VjwC-JLc9XP6E@4TGiRflD=K#a)KS9NP5!Y*yP zyfBM5LNJ9<7U2;Y#36It9C27l6|0!cU8GGaKvK7yG88=Z6nWPB8UmPP3xUNFFA(}~ z1Jj5frzccu^Tj!9SfqRHyn}YV=H@80Mj$Qnd>_LF!b1^XytHez-_%@L5Th~~ z1{>&5liHjX8N6vz@Z`V^8j5JVJ`f!Jb^OgT7sC8zb10l??)Z#!oR?a<&nktc?scJ8 zm`p(H<7^JClr>XAWj?q2=kttw+8vPVrd*pswPaa{&E%Wigsned&*Z<2T*vKYi>%*_3<$MIVPN>VDPVW!j{Rw}lc z`}O;mcWZUVvZYPa@IDVn%2ziphoHJElH^W>Z@N4+!#Pf0X}~Ar!2+4QQSJ)weyfvL zGmgM4c0KF6?xEf4?@|etWo|)Dx38adIc5t$LqArwe6c)p2n7liANxYS7@+$z6!>HE zzf;ft{dpySmQLKZ3HCE``^4xRkjhU@bjRc5m`J~Wmcz+Q!mn1rdr0du)4!E%`d*@( zgZU4Rwv&=)IwntXta{fykK!M>`7pU6YpLsCl6t8H(OS!iUkoSfHf2opf;oz3QxsL- zb+7V5s6)eeC9B+G(P;4|C2#F?B~GnoEo7fZ~2@nd(#v2*-KyRF$@hzUbHB#BYwcV-6GlZI=x}Aqk=lgA6(4nP$G|O(r zuug)ieD<;v4O1DV`gSxXeE^onDE#SrPvMh1`r)UboeE8hh(JYidsPGqaFahV;Ep>=n67u z%IdfaZeYH4;wK^sIqrsupOa~?5{HfF7^et`UR4B1oo7CAA(Q+sU(*tAH#iOdT{&zr z9ApF8X$30|RKl;MheBWfY7($;`qO2Ya#bCK_q^*a!8kupsZ~$tUC{{~O;eRhi`}|7 zx=UFs!a5kl*^aB>>u{kGPz4D*|NFAfvK%eq!bd^=#m|?RS;O%o3K*>8X@Yv)=MNQ4 z5r1Hh=uEip9Wp~c0H1b=5dGbMYm!$xFBff}l?M`Ga}e_W>b%ZLuPtUZ#rUxG@7!qVVR=Bm zY(p0t?n6Lp5rWWezb&md73Okvw%UK*7ztCzTCI+t*F^wRtNJi99JGwBeIm((s5&H3 zD>fbP^gy;Q_DkZCC|Ce$!fzP$RXiM|h@#N8k>{$W@3T=4_G$?adMeJ>!eT-}BOI%$ zM)1|4pxTCWHW8EYMmMY+&2xZUJOWlGzz`NN%xXx7x93jD5nY>+bFSQe?s5XzgWT#} z(cGU_Mx<7Opr(kV3Hj&@NO+l%9{UsW#}S(Zxs>e2AI!6%!e;TZp2RtGbq$h!KEAst zp4AT-#porp|nc3?|?i>|7Yy2blLxCn8|OamR|3pSNCJ9tu1M(JINN+-Nn95;RZ{{}mHg zG*-DNQ`?R44}rXo);5Hdl=mfuDycYajl_z=kupoF!xZU-1;~=%88XM-SeM4pRTQa> zq2I5;%y2y@sZMJTvIsK;dMean(8*eL%{F3^uy!^;tr4 z5~V0}#xv3J4CWBseTnhiZ-^JB;#=xFx$fn~x0wK047t1t(fM8Lz{Q1~-8>>p&T;Br z9^bv7`suD0a_?^LZ<;?gQzGU!oLcKI9SR;9!&8xGmnaX|hW?f*GSwM_%nt+^l6l23 zPNlJS&X`CcnOY^8;{wA&y%UDE3!VD6B$!cK<;Ykc^Vbq}-LIoQpXWAjt+~%_saTiS z0y1yvQ|Jg(76!*h2?{jr)k1r;0ILQ*_uD%a)sa~+nDOMIw*QY9`Y&%`dOf5w-q=2a zK&0 z0a73=TVFkvWQgx^Zly|lyRQ?ZwRHFb6vTTC_)Q9PxA6`PxOZ$P06czY^B!fV>5z|u zv!f;2pA%F}z#s-ZZI3P0@ zv2N8kbM$#kugh`AP@=%pi^5>e4)L>2++;_9)7sHPUti6?{6`{l!1&mI>>2;Pcl^(v z-L8=vKR|8)a8Rf7!*~Pe(|SlK6|cS!-#kLQjL6WVo!Oj?|5o$^^ae1*@oc$Qt)u`# zXov^MUhTV=sE399L_W2B+HaDydU(Vl+<3kj6GPFYTa>9ad|^c6pLn`bs(SVWtM2QV zPoD-gP8o+*ln1d@GzxtWXoyE{K+WQbypp3Db)A}lRXMkT5BwfVu1r0OL};jKh8WNH z?oPI^Jy)91S!idY1WL6hmLxmpv)g#9P5}o2z6jTSt-s%zt9$nIP>GoU(3??amGls z^N+={LU`=p$q4*O`=BHAh&G=m{h%-|!K!;pmt=xkV>9(AAA}Yj;<08a0~l|{Rs5wM z=;WdSjqj)4GbeEm=YoY5+5w49KY!H(I>!IrNHMbk4Iu0TE#df zSKwSsii9$1etPCj4r0Y2gO;p!k?tA#wC`3@yoG34n1pud%2*t{YS9SbWW(>~GLdAl zb}|5Zjh5E_#!yxXIZ3rLbvB|D@NinHaqUlagikB3um~g5XBi{@_gmwWc$C5Umn1H4 zy1LcL`J5*l>YncE$rWz=aS{c|&O)XE&iLn_MKJqO!te#9g~y_HOW3oI<2;z(V{+iE zRw2Lzl#j&iDXWCwHaCS+HS9J}!L{MV=3#@RY!2e5ALT~uxPU17l3jDfSXF!o847TY zP>_M;L6*Qan6*qnV%LB$=M-1T%`TG+bG=Xm^27M{nkSG>Fv9OKj`4|m%lx&K>SeiM z&Suaq<&cq%v6U*Ze+6Kk_mn_SbfPCaLB}aGVjg7&3xcmZcwfPJT8w zz!kso2IlamI(oYa{h~nRW32`LsrlPe;YkWx84K#!#Tb6=Z~P4bHzgx7aN@muAe0C)&l&2v_X1y zCSUR#(BtnJE{tm<@3JVQF(6G_^qIYD)v?R?tIYDZ$qARr!wOKl=JN_o#>nhBE_oqP zf%~t3$GCP9VQ&!gNfwj2%8@bhbia`K(=k*Q4<_)qoOs1snbfM{BQY?x8=VGlgZ4T` z=$wdRQRc0qKJpyU;E~z)+2}+}bInVuwrGh@YFCph?VCb{Rz1{Z6HBGk<&>7^rTO>z z=vfV?OP%03y^!k=gaWfe)SBZ>SupXsbkHR9ntw^RlPS+(qD%z8%8kR)P+Vula#qB= zWGUV1#i;;$k{*8f@aEeQ-)uh3HD?jQRmD3J@%XEA_ZoQ<$XQ;MgCXUO{)<)f_^hP- zP%)+M^>;Z>V!4EIMHD32vNv7`>xWMcuo*w73A>9UlT~S%g4z0T)rxrA@gtgDX1b#T z7A-pWw3tmBZ!uFUYpMI8Ydk;H=TdbPiz*_}{C3B2Y|~Q*ist8asd=hVd-nscb4i34AwYUZcDLJvRY;gF9aW4||$d4td5`XzO#qJAJn*8aXTfP>%DOL5>>t5W~UvE>qB4YYL= z_A3RC`#f~1BGXj;T>eVX~JIrHmuI583UM7pu^z4f|;#(m%8ymg^T;G;*0vGe$3;oG~q`J^V?^3?-7$kr> zIfGuO)OLW(5M4Lch?Pa!@3H?d<1Pt|do0P<=6FnL{CE68eQrg`l=zu@-cDK<-<8*y z{gvt6dj1{$ys_$7K%%|Ms{eRFNvnxJS9@ znu`3%-hv3Twyj0=rlSz|%k>y7C?Pu+d(HV9~i{N`Mjm~!CAocScC1@a`N`T6+_R z(3f1{%@g2IqliAZL3M7JdE6)W3m3hino z^}}@r1){F3Pgr6Pmpg?YS?$nUMSvVrE*J+RK-*^#AXoi%U9}nW z3u_B95|Q} z0~8OL<12Huu8xd1Sbe+bA1&r+^F949=?Oj6SP*PpvFVks>Fn&*mG7aNd(k@GSv)&O zPob3^##< zDpHO~1VHKLN-<4ar=|tUIlY;7>jyk^42K_Z$OV{;!og)X71wqXp!$nIDTGisS+E9T zctgml*!hMvgxR7UUs6{GL7X9p&;;W};d3?q)mL5NWakQd&8)uHH9cWQP#1iF8Z+k{ zzP#25&n}u&a`Tl3x4gAg3pub{6-#^GGt(%F2Og$W>x}MtXvW zBID3{FEHQtxAPXU$Frob_HFnbaznwuj12D3&G{8w4g2ERk6SKFrSI-Y@RM(c+IIQ) z=_CQ}qjj|rvyhVPDBu<4Q|uAYmG&bS1)xDFr3cL6@luhjAJ>{QAKe8PB$5|E>Ciuw z-`lclw@yIY{rF!6Fs;?C#O!JZs_iS*e(v3Uuw2mR*w=r{(>1c=8fxiN#%1Q0zLF2j zf(B8ut}k$?Yr^&E{0TUgNIEM(X@iUg#Y{SiVlK+e0j^~OdP6~fs zTNu$sND3tQahQKf*Uu5Ve7(${ieMjO{|bGJA8VgHy$9WxuM%mF*J`b#mT!X;2A;8o zPJU;k-@jasN?H!+ssD|=PZOe91{Cz#jr0lDx+W@*&@X0cj<5MgWLotQk_l=%T@afO97D~`Yq?VKk_s#axVL-k5;YfEv#HyOl6!)f%7-~ zf4zZiy;griZJMk339HqX8i*g1^-XA+EcYGp$v}U#rO86vw4Rl;K>HKk)-kh;@IR1p z%)b&cjC39(WCw;bd6FGKty?(3cmoDj;wN^>ZvaVE|Nk0Jp}ZplwgZu_Ql$ z6s$pd`_2+Q4k6Q{^rg+$D}TK7R7`x>ge5K&_2^e5s+i0@5nD72Q&UXTzIzOoFZOvO zOhe~ak)F@6H&|rL`~!46;LDT#l)FsFy%NM|-Oqt1eKircHLg-^R50?>i62$s&4*5d zFks~*HO%Z*`od`JKu@=%vH+z81Os-z4uu-lnhA*DZz>)-NqVBP?g@mM1Lkw~GG4GM=hWyqkFQQ;vOaCqu(DQd z7~)sou-#wneP}#VIwo-b&bqk=qVE`S*%$l6kA!V%o zj8uV1QFwkh<a`U5Ccvo_V+u*XgH^=nifPJ{NES?3g}*TUGKHU$=iy?nxctH^s_o)Ir?@Wp9CGc zC~f#KyW8qTrV=#2B-OLJ;bKglae_ssJnJu5va-Ys@-G3qZ|Oe7Sa4}Telelx8ye}n z@O?-fTT(Lg1KKItQT>`#er@45 zxO++9+^aI5?bbpKtaA;ytrbNn2Zktv7t-VNVBe3DkVh#8EY(v6;aW(a!@p1J)|*kb zjRsa~RFVR#^gZzL3q2;a-dnTWdI@t%afxm9`g_e8F*|KQ)Fb&?|2sCH$a2gcni)&l z3DAd-mYBXod@<{4mnkA=;$okR$YS3=Rfc~wxSXLG%QV@x@-{yYuJ8|bwGOWI-X02e z1L?R(a3p-GN{O)QwReEHrf!o>b$VBEqM6@=@=W9?A+{j1R@-*swj+|4}-*ijg3=hfP zkH6IWAEaPn+|MhTa+JkUK!-v4+8=_k&88X4_x#9u$JfNoqu8CWYz;7tS<3==Q*+f?aC3C1tW zL@NsimzUv@v=Ojqx0QEJ)_pP6V}28MzAR4&h6-cFpgnuPSuw2eXi-Z{rde5j zZ+t^GU2e=e7GY}T)ddaNfV($F2ya#2-%|yrZ%cwJJa5p=BPf(?jy8sKWl~#L>Z}d) z(zmDC5o*KiWhIuxlj)b&rXP-gzsnB&`*qyqNYeCpxF~IxOC0+U6q8s&eLqz3 zd53+{o-DJl8J@IGVWSjLa*v$eW}KqA#(eh)@{aO-qv3u-07_k#$>rY8U=cPpa|l^z zb;ZXI{NeXWn~x&F%F9kZtzRn1rt83INU}Y5g|biTh599}T*}xI)-tX+1teOP~fFd1QKLb{g!JBCoL;}uz|Gk2BGc#RUC&$0P2UYI7s?G_QbqLkYLQs3311mP2= z(IPK)C5aUWJe;fPX-%7$EXU)sFKmrJIo*e9sYp&-nIdp%k)oznQefb;KUrM&`(~G; zh84L!=)oWCn^lCna{)X@&V4i>l)^Gj__}{QPw}Io;$ut~TYSr~syT*>*DxeW1LZni z1EJ#l;pr&_dbnXpR(QzGZ4<-eP%Ffqa_exN> zTd+1CWN+fg&xr&Xsvu6iQea4tq$FZ49!>x)T=iTx>4&@A+%*Go*H#VD--`qkR`&Cz zr;cn(4-fd6Sej5=Fe<5bYHMTEYJZcrTF;Ml-HZARjHJ_r0Q$U&m5-sh&;E$v4u_P> z;u_Ck9=1%4zj*ERooDOQ$=dY&VG&IbGT-8A^2nq1?`C>T&R-XhKD`bALM2rI|T(nt}aDVcIR3%IN+}IFi=1=|wbk{0S0$S_e+TowqwI4PKT5bL> zb_5Fe&r2y^5GYf;1XtV4AsHw-ZK^f>@l*x0b`Y*Epy_e8&75QPE(T5PV(@4AKa9WE zldRL|S0Vx`1xfglL*iJ@Ihlm0lr>B19tm;Ln(%p)bD zbCxu6sYPKaoU{ED;|>8!+PX{GfD zcRP^i0Z@1^Pqvnpq8w8Bw&V_F+;B@L)o#*Y7^LYVhUN8zX(aJICgo67+h#weaCh4$ zTsX6RM94_7l=ZSg!c(7^gJxm!8LEnwjemU74Sr!2>9|(rpT7w$RD z;>Cx}Jf!YUS50=s*z!1Nr}I3F@l9sztk!~xmYfwKr&IK{ zA!+?{#FO{*Yt_cYF$F>V9HhAV6(+EY>MR0XjZt}>H|&reGs=8ZQ|r``oC|t`_;DQ} z2wR^}t&MnC8(o#**F*M3iY)$^5Rq5x@JFvSO!9Nd6u`A<|9d5Kx zc3Ze%vz9Z{RD|`rr%43FfU`Pb5pH8ND6MzO#$o z8(`hpC9>nE*I1kDEHjOL-lHk;i!Sx=n#bfMV3jATIeU*f^=8y(t?kw~4g>2Vac+93 zk>pdkPnR!RboPMA%IqD2r{%$iH&kb6R*pOj|?)tKcpd}U^Mk!zny0IFy zSVL<%d&KDzsrv)-GFFO2=H6^Vt$zISJCe69qYT}J;A@kWF=@6-&mRi#=SUWWxg$47 zY$|*0_Bt|t*#Ob}w7$(LN37ibgAMkkf-8?tE!O z-3DH58(LybnTU))z?#pT;<8b2{^451UGIYF&*Q?3H-dAg%Hf^ZAkuAjcaf+Pq4cS5 ztxKq4NN6*S@jKK{Cr*}A;Mf#fe&Rg9cz~~V+9?vo65YG4K5CD=QTJTw4-jBJ=$Iz! z1RkMsP_vKWuJw4SBsv?&ZjM zKf9SRCIKB}PK~fYlduhQ=x_Ay9f0_L9RQ5u0D5lCeBpAm7neO^Q?9gd&s5q>w(VY0 z_@?)tH^j1~hDtgu2G<#aLE4m1E$KwQSN9v}^oKGeErH&tI~NHT@ior9tv{0 zymbVhjINBeo$yk?`S~W#=ytD{(F6<>G2EY)Em_ghNL|GjD-- z_LqOITz6E$jXfb2d}xTMpDNh*gOdCFzV4&+-H#7$Cjp(C(e7@l zlCOi{DdKuUhX2;&)R*y6tm2&6P-YVC`z8fk0lA}3>_GNH_a>g5X^;)_Txs$OTYHCi zU3H4X>0f6d*=_N&67=jX%2V_hbD)JQqJmMPj^bP9jO4&*jwKi3#OZg#I{5Z(*~82J z!|$7QmZxZJ)bAT~9k%{15k`=k1hKKcL1;=pylvmj;Q96O(`^^Nw&7+!|Kf7vG@bPQ zEzUYp{X^^@kpOE{^4idaU?`9DPW?W6j(?bgBUwO+R0?jap^dK0^Q znh`&GBXb@^xJBU5fDRl;%IBD_Q0eOIY<4l@7kb-y62Y1)s$!_5!!nO$?yvCyjU;JF zd9AmxGu+DRJSr0VFFh0G*s-u|rp~&Iwr2G0%U=$N9@7nZ75(>f`hFA5(UX5`NuFtQ z&7KtgyUH{Z!rLZt_3yEN-8>(u?*0#q2XAwai#;;wnO8|{WseotBrzA!VaRX>XflI{ zb1b80w)yQ4KG6!*{RZ{_M~OcnCv&C^v$_-MsK{~EvXKIQAIYx8^KjaL3B#F(Rqwd-4yht*5C*9huCNVCHDG#vm@Fuu`d)-stx-WU< zvjVL;K%`c>qO0HDLG$_POKJ<-@nb(X+m&ev$Ef~uUP3t-ydde9S5{F+Wlkw=w0sS0 zyONT6@Y?B~JA(TDe%b3Yww#S?D{MM=0X8o}F^>-zgqbKgfHOU_0ffhccm8$`nvjz_ zK6}KH3tf}NwLOf2Cz%7Jyr75iA^)5r(E;PgXQ*(m5!sbD8ik1i)&mo`wY+~t&U-Sq zU}k^+tAE9y0mrH(7{r1%!^mhFoVR_~Tam5u zUt*TJR6j+YGYq=0fLN$vD0id#{>wZ6o3iKsnas(H-kEvlUC&zUSG~1B-2ywjI_;kuzv1V$ z@7tA^8D|xy(bXtnn0Z1*MBp8}_#+Y3OAkNf8$?Jyd5d5eJp2CeCHv4WJrZkIMl!YB z(fuB>BQUX6`?H5SyAA`pW>E|mYrIOeY$Y$S|FaMWgbdzV28Zzh-|p|? zP}thUZPnexOHRF&2ez=doFWj@7}IHSa6apbf|VUCERRd(Z}E?ZJmuso3S0>ZdG8o*E2kZGp7^!Cj>~cp#KNNT zdTb+V?5Dj`zL_9Vph1frLM}_AyH;13H@NZ*-csVHE!EV$ugWFnJgM5j@)#zlEME#0 z+PZST{k{woY$p^}MVZzQuDOY~vPVWmNp|SdPg^F2)~v`F`ph9hv+KXrN?kAEVyzv^ z6ju)__1vw+a9k)7)6qzgh(}8B`KHL*m3uwL>gR)3GC-a1 zq_FK}ax{D5etNmOGsG9!wK`(wJTC8jRRn5QE9$tAyNs_cd&v7dV(sKhDg=a0#<49C zX_ouBw{Dq_W^*~DpW4mxcpi9i&a=u2MuPWd@a2-63f*m`j+uzgk^v&9>`)6v_?~q| zr-9^L5c0^p;jsUa;oxLt@NBXsqjW9=-6c=Eg3MFc3ifd(@vJGhETXtl)+=XUoIH&j z*v-PS7FG8Rwf<=_xkk1sFhG4F){>B$*-AyNafMtvWD#LBOR*GqOzN#G&O#6GR%3OjhkFze} zfp3?LPHkJQI6DAOEL~i`O!Q#WVc^?^J=^B}RxmutmOf*u`ofO)h26mDVaPM)2Q#A= zRbS2>YCKmUeieTQ*udKtbK0G`;gCxky8?5=3pvLyKIVqTx96JoRdoOKY z!GQmZszH`tr?kXXNVo$=KmKqIKmf--kArQ|#ukG&8bPDi@nM(z{Abdho{YYnC&?kL z11s2&YfGr9J2RH@=WuJ!K%4Kj0L%1egFt6$v#$pC@fG1yUNmMlIDT~!42lwmke{B~ zzG+w0+On!?{8pUGI_BA^8>KHES92yT&Lj3GJI8D9`|sc7qJ0t=-lN7r>+UT)yKzY6 zG#yww;UX(NKuti)EB^5xH#rwgXl_M_vA3O!^~6l}q`(M}WpRy2XBSK{4Y6!Nn#_hL zUbzumhiH;|uD7gCQuaFbMQ+C*Q&CnMk@S53ZmBCDbABf83E$7XXc89nQI=51&VG>* z6P#!o@1@qBJ><==lqpn!uSwFx5Pu9I8Fh=e&l^QVYqwa;;gOl;rEwAmyIV(H$%=BOJml=^-jU_>pvH4 z))FARKJLrlpQ)$;Wp)%8${-Dgoa++28g0byR39W*Kdo*+)SV)* zqPx{+wKq2;;Cw!=SNK(1LjIiMfbSSX*%%Pb_2hJMwd$k4E=pd={VPwn!cF|t@ww&2 zzMemyUqwnvlIfxUvQF3)_%0ETZLc?^x&K}4wk4EY{}+RZa6xzS*amh7ulAa5o5%q7 z-2c{mc0zUm#-#hNR_CgZR{_x)zZq?PC{PZ8x(HPt!7!A#bU)%agMnZB-l`CH|M+;n zJ;{Bi(~;ePHGVD{sITI9WX-PJScFYi--{tljMojn8A_u{Q!YMP>0~DjT(6$hmnqsB zTphVg@t0Y}gKm$EkJR2!w<<7;C$O#Azdyvn@;$bc4Kkq_u|I4>_8mGrPurxm$hVGS013S? zr_X)tPE4dxA9}gPl&}Yxf$QDO zSkmQ^L!i|k4k0ezGI24J6Ji`9v4~8`rCWWoh&Pi~c#a!Ee(I%&%z};d{lFpXPDzC3 z#d-~+u@H_n@(tIfnyan`8_i%YL=#3Vo9f#RIcUpnLk%I^+B5(F^f9eW6+-4bbp<%| z?GA|0HogHLe)ACiJM{hb+105*8pmGk1VWj&un0a5F@1fyQAwlBwOHYXsZ>H%WMTVy z2P<&)aO;R9AOg`={kEQ6KdaX`9*1Vas><_}h$QUwx35VI->zDvF{)>es?F|jF{;Ud zBOIUy`>wHO$>K0qBPbUJvDmb>#nHol&%P^plc2c>b1SFQX@mQKLCy_kRw-%PJv5Qt zHKo^@t4wQ}m=v|lUUWZKfez-F;ZQ*JT)1}DNaw&wa3`S*eu}={eXA6RF$%XAX z>HM5L|CI+asVuile;e-Y7-SvoXT-R4R>x}f6KG0(;i?!gm7l|`Blzf=Bg^p5OEksn z9WhTY!C95`AjuE9$HQxdH9LR<8OGA}2Fc4mJU0`h;Fibf$Ho8Z)_(hJ|8+_9M48n2)a8P>ITPrJ%Di)q^yJT~DalmEm z6TM$E+M3vu3w7Lf!yP4;A!Iy=EtGLzoLAU=?+z{>Z!E+7(-d5BdkxNq^KqO*7wNvQ zfC_=^(1=3g;g7>ceIX9xblUp18=n6hSE>s!8n*5x)!jc(EAv2`*yB@QuqX01^Z6E* zszN5vEgcv`n*p)3SEsH_0vqd0emmP%67FhSn`A~i z7^T7d_2-H^+w=JLx4-_^XY;#A<)05T3&*L^=Io!XUS^J5(3EMv2Lc5RaVp?2jE9PA zxOCrRIu6M-jOpoCOP_;Yg~;YW>{1v%3kw^;1R~^e5RVN)M{)9uYS^jV#Q#bq7Rv=~ zFGdF(c&@!45kFVER!uU?wjYxPv#2Bs6NnQS1U*T?gUSX{OCaoh0#ydA0f%{3yOHvS z*GVr$q8Mo)8Gc$#lOf{Q)IfU;r)7AeCV6*!Pwxm%5_27`hYbf)S8~s~vny5t77A4{ z_SS6>^qj*gXj5CRVKbAoD&wtrr?#Rj!ZsHS5+&AyImaXcPi}5|@bo0k3+BT+^eEd& zAWeQ3x~N@P{Gh%}NeNfJ zep1@tEfm>U>+_(%PrYDP$?UBqx~kY)pf;`2N||L~rx78GOTHndisRYrKxS3$!rSMX zr=$)F>TO;*#hUJXlqaU-=UsS=jceBOhduYq?m8SoRb5Y?gEyzK!YjEAkf>O-4DxSyDK$_SZwVqtr>za`RiI{#RIzr>Rnl5!JVZE&e!Hj!vD z4r{Bw*rw7OWU&;_ypn^0CX*8)95RCU1mj9L2CA#sXj}^A@c|S9nEMFq+g+60J|F#M zRj{GZBLMt7Y{O6HmLo8^?q&na^}Jpg-cPEj1}h!Ct&q3MK)_+Qb)mdIX2~creCfq| zr?c)viKV9l-6Us*VI1BB#%-DtX-(@RSXqD~0K?ZP2=nFOIJ!qqcVNF9WEb-h8PU%# ze%&Kz-y2$Ev>7#WrBcG-+MvZDx$?Co-yUx*jh-R2XLb9zh{c4wH);M@?Rr@{t6XYn zA@&v#cdnTa>&uOaRb1y(cx68~RLPxff|?xK@%dhuy(Vk&+Y$~*;3Q=_5ZS=u)3z7N z5KdP{{7&<7Cm~G|8Dhj9)zy7EnvQS@pyVc0)XJNhvGv1D9^)N3sn z&6a3C-TotYLQlC@>>va@gW__NYGsTNR#&x-x8*RF>>jN&XVC2RK2s7S=ScmIY^H3a8 z4;_?SXQbk6BUm2jGFgN+Q)c`8!d%c@EogH9Sa~it`ke*%VQlvHdJtRiOSh^ov5XuI?HMimlcQWk@5WC&$|+iD%={VgV8FsR;G<^ z<4-+wcZeqteRJmCKIb7JmB;v}g@lyi-A|0zc-zHnDa=gG`h>PwRd2o7xQBf9qm^oZ zAl-lTavd5<+5}t=AFZ&JniY7KY=@8EH@~!t`9oC_(FhU2WGqH14M3x**PMV5Enh>Yr7$Fs;>ZtY9NkgbXtEv)-)d6AO zp7BRiOS7sE=Dw$=_=7pKjLk&S5&(8Znc4V5Xamana^9<%M5CqSlsu5Z=h zxwB{^1mOBrXS+ba4hqzNwQ-0a!)I1y}l`?(qq7s?fmJBKw2 zS}?kT_8J`;l6FERP$+0k+}#=cVc9YElO$9wnJxmttG4$0LbU!wE+jTq#>*D=sV<>C z$lNR9yuM`olF=a{o8wm#B9bUK>Pk*cL*;_SEup4ys&{Wj&XdrCpx5*-;Ccf%+cCbU{+~agj_SJCb=MWGNa>o zE^(I`8;69TjYgBk6QiT@S9I~8-GBhg7}a4}-(^4O-+iE*=Uu)s+IlzZNKxczM?X6Y zq)=bA8EH6wDJrlKz4~;I0#S_Yl;az>NT@>Z&_xFuqP3o7;s^lsFBvOgxck1Cs1WqLL`UBrJt2#GV(tRqSnpw& z5co=OQfi3en_jPs`eIERN2}$vbH3PfswdN|oKoVcqK|u({nba|2?=e6je7pMp<1H- zX}&DRop_+hv#>s)_*TG|UhB7}wpS%abF8Q1+gPchRaES%#Aq!}TT~5CenmY#+_HqX z3bD6;;CedF>k~gFIY@Kc;&7}11ah9qydM30YtD5Huv{F4Jb5HMxNX-dOG3yhGqXBW8;Z{x2? zjlISrevIin>>RL6VXaF1-^6rF4d&GM65G%l2c}#JGG2&3F;VVU>8TsHG9gU!*DpFA zkPqFVAS>$rzQm8V=C(EcEjzF3@^^f*G`e%iU{LM=IN8CcUg@j0mZ$W{g_=)u4Psj! zJv!}+M`Eizw?vmZ?e}%RSw(YRS*?5K3nyVIW&Z67YnE?TbtwRVMLVs_MM*{W;u_Ou zYo9Hj6lt_BgEG_p3w?E5s@UD)USJwc$B2jF5ytv(Jn=2 zb;CjV7FAm_iSJ$qcw)7Y86H6+dDTWRSJR~U*8~Ri2yydb2d%#?_xNhOQ0{mZIu@NwPwJzO^DsaZ>K_i6AM+tt#u-Scg{^)O-Yri-S{ zJ+Rf)<(*PA$6oO^6{J>53(%icd{l zsKgd*JS~D_ObT+T29e1%c33(=S`9LePa-Zf=WTY9+e;J?MC?I}q!@qRAgcSAbOd2C+UE5kWY+)bNbF3W-E z{sU5Tl57YfhTG9@&rJJB#8 zu}8wYpe(RaMG{+>+soRgl;$xmd;XX*CoC(l9a>}MqHv7ut#HIKDJI~RG#$oc0l*vE zi-6xaMbEll|M*4xh*|#4V3kKR4Wwyd^Hde@q4#NlNZr4ny3;yf-E*rir=9c07}iVN z#7(V$ANLJ9nY%Kg``u3_4k~oIGzoqWRl-bq*Xqc=+a~J&?}zU3wRd=XH#nC z@>9lvqIxJjVts+!9nQKQ_#voS-cv=vH2ueQuh?06u9<4M_W=o0dj=yZP%BkJNiG)R z7^a^raazJwR{H)iDUO=R)7jFw_e{bj_G2z4ghLCRqU{h0$(zQT&m*hp720M#aHchL*brsS#lw{=C> zx)(&nNXBT7`eka4hJpC`+ew4f2Q?8zZzg)!U@4-Wtmev2p4hfb@u8LscdWMj&x`BpGfI2)Fd?RmztUZA3HLkCKCYdQ5Aji+?+S?>RH2z^JmK)v{!Q;8aL#K*C}LiwwfgnLoyc;5$y zDD55NY{yNuE;s z1mD%6Wz+k3zgdtyA0$hyzzUJOK4+QzE>s50fi&^OdJ}scE}M;w1%0|7?$OQmW_yUr zRmj`{BImp7#3o%Xd1jeN9Y!@irm#PG7|3{(1kTn9+kH{=CM5~MjL(q1>SheLFTj_# zw4^Qu`Q)_3a%a|!7*!iMQhF!_Hmn)pLHlKjne6N7jg-`pz$S;OB>NCX=-NcJQYDYF zBI&Y9bB!XSVR57ux>X=^n=Jkm*QFXO+Z^SK3YWn(9q-lL%2jKt9uTQu%~sK|zuQw> ztUAVuIbXH&Gc(}LEaAv%isH4xNTYSVD$ht>djR2p5O`S3&5V<(&Q)*SebvD&^y$92 zpW!e;(ZQ^xH01p1gw-O?S=)pk+G1Iyn~|*VxNV^htMdibkeKQV1fPYUgW!{<%@<<9 zoDRNY&@{TVmEzh4`KUu`gi*c@!vy5guP?)Qwd^}p>%%8SY87iUXY`Icd|_s<5J?(M zVF}@84O(|dK%iiRH-kSlkmg0s@q}0%rk#B8)%IF_Y{=D0lyxC*dDzF5k3LAuaiykG`eg%#)DMriqiQPyf;F<;hR7=;#OYv$D7z z{B1~K9B2%yv{^(>1{A;>@lb7hi0o>dBkV42|p+)%WoX4MK{)( z6WU78<>gC`4&g4^aB27UGE;Nfc_1~1b3~+8ua#5QPIdtceD8T4btjy!Dg|I~ z#{>3J;HtE$(>*CX5q2`XF0s=HR=ts*Cu0t!IDBN+JTvC^WtlEVm7yVHPB=u|YEO%n zaFC)|R76!DL_x=3Uw-CC=7!0hWkq7?bJ+aaB>0uOnToz8<7AKdngVOZfanxkl%$i! z)JKQ=A`4{=wzecqht{JzKC@<^Z*VEf*$Kq}hH4j2(E15~Y-#+aQ!2-^fG)90;qeO% zQ9i2Zcr!&`2t^M~*e6;y7bNz?WUY~nq|(fl5r?65ZJ$0e;Djce+<_9-HJQ8u8SCwdQyJo+yTVG+>U zd<|y#d?+l*?QzwPb6vIKft7n$;soud4F4e5{x^lhf2QYtiz5g2VJ3vAJL>GB zk^q${CI3pitDjp2+eyx+tywzUbiuV}5Gl9(1lQZLC)E6JR=!-lt@Ci3UD!a|0PnChBgDH|{fHX3$PR22JsO$b*6wmoveo-}k0p@{+ix)X@{)IWxHIZd}&K4eiKL*ynJK#OHQo>O2={7-p#-1B`u22wntKk7>T zf*y~cwk^I@cIrsFpsD{gvbX-!v!p2_Qkg&9F!e_$JDHkhJ$CZx*z{nhwu(u;xCz5@ z-q#&Fk3NF+V@DvRqftKt))(;VE;oAvBMyLS*)(AtpaVeA9{TmydwWU!xHBQwQ#dkYj;OQt84mo-o2s`8;_H&VuCP)9N5@Yr5u zIOEm1qVzQAgr!>ODpK4TRyL%!>d_ZW5I7X%xZV-a+BT6`9op~f>Zc&$zBNi|yLL|a1EvS!@Iek9xImWn*ek|$c#Jk1$u@G%WO{XVguNC@JQ zxzLSk6K-PA8X9J2+l?kXe^fcrbTD@*mav~*&ZlF%N3+jMua8ZZ*$MR9Ppv!m$#c$5 zl3r7~Wb)jc>D@h4lLrA0ioT*WhT23zf)v8T zIAo3@pGSShcESd-t8zzvP8HQR&NNp7p$3BSv#GybbDSpx}1+T<1FjT>N7D~(CaAwbRm8! zxK;H>VomfD;ni|0!wUQOsi>pq2yP}?ni2Lgjq={crb4iJwv-1somZd@-~>jO)x5@) zkDN%!pmv4ucq@+60Ag&-L0parmFj>Gv{);5<%1pzBGuELj+-7g;&3wNc2?8;BoN>e z#8<0i1a>-Io{#&I^U2a!)PZ_&V#sR192s?wp+E+5yY-Um%5 zs1#w}E_Q%vifG<=4+WVmB19^#Cyg|&vKYa86?3f3Q)7liEExjnj#ds<#1r$V82hQ3 zgGKIv;NIqs-v#uPmU-*h48>@7Rv$F}orm3g_FW+IE|e{V-(~9tjG;L?KHk1t@3;}^ zTZ@izlZxWF*PeQ#>}wa9db1CHj%yGQcr-8uD+Y9_J22KVy zRepaJdQ(t}cPA7(0_Hc0-F!UyX5x>L`T$Nr*4ImtLjj~7G&fe~_bqti=NB$! ztXXY>4_rd?&`oV&tLOjpC|?O3xzH&&n}_jD>|^giYz}N-vi2JDl16vAARui0YupL4 z_Y;&LM?*S?D?MoXX==C8hj)_Xy{njKk#tlWB)tfLU+4z2|=-N);d+N+vH zE1aFfsEc1hv`(Z)d&(8_0Pk&v${GkF3X>JI-7$0o}mzW5TD%Za#V6)-GvrdS6 znp{al_ovaOeNYX^>m9am(@7jPA!j2-MyC|-+#Tb8{A!_oE?aZCbhpwyY6{K``M9}4 z9NR!U{hmzQkg&>d265Hv^1{Qg&t)`nzobo%B71r(22+jWC2c}r15)BB3VA%c?1|R)BIO`c=mLcyzR}=S}L1 z_uBof$c1Ocl|;xF{7$Q|uwxuxLHl1Rt%&<~d2ey|JX=EHC*H#N^gG){tj;=(%IY&k z+BR7;nkVQtf~|`&dGvzq2wI0bzD;MeQenBD&^vRr+lV2e*6V%UeQaF<9n~Y%HZC?B zINXMB_KPIlNNdqtm9Wk*xX`WE2RYujxWGkdZoAcI8C1@1#EkCe3n}|G0|X?XtPl6x zD!9+2nx6{0fAzIv?4tRz{W(MXLfjorI>`v9uH3T4Ssa)?+r zolC5W3qhqKx>YV-R#B>CF@5*U%^l z2VEstQs93&)e>N72NtXZn&Sz49^SISa;ZX_@@bR+(U9e(d+0~T(Af&8L(i(FWwj%B z6!>+ysh?4bY(Cr4z_P^5#M6|b`K2VUqF3j7P1EN*{E}x5a!eGHIs!XJfO9`7#g@h1w{{)fu_|Bd7|J1~or=s5ms#5=;$$0Wj%XkBqt z<`ams(ov^_my|Y_FglE!a#CNAv>OVpe*OSU*OAHyK69h*-fI%>F;zcB4o=t+v=}qw z!@*0(fdX9D8J(t13<5+`@EBbIsRf>6f**4U0Rjr2C1p_=Z1P3ZAfRTQCb*@EAHrqM z_b0Hiu$XluSA{na=Z7ol+4^aD%sM?EKR5!|x*k|IaCzk}O#Jyv^?o47uTUcKJ|C`9TSUnkeeA&)!jpO}>m5^Ft)8KkePIl{vg&=e`OcToo6@0lMDy;8xgb)6#=EUtQr?i?$(d@BNUh5?Bd{C^{ z_`n1%U*$nGYbn27fnhcRR@+vdIJ=MK^WNXZqDXF|)6$XY3E-IO6Kl2NnW&e6qTEJ6 zIcI#>)Lz@!?JII7d&8XJI9Gj9qNrVQZsiBk!Yd-T-b|^DJOvqSPMS=e{$p%{rpC?f zB((?N_W(LuceTCFe~D{lXWp!k2`on$eUkTAoyh!U;lQh0d4Jb#+%nifzqeIi!d-0W zX_laLTLo0-$V-SCvwAQl!^ z_P>*QwkmXwl`oQ)Z%Jnjp$yYt>57tdzX-jjKhDAcg@B@l0h;>ksH^ykt@?;t#fiM| zlRmt*dFvA&XSn(XvOVu_;B2QZyZzL}sHG zP}69qy&qzqJ!JI?1NsUc_YS63EfLZybO3Gb8UCi;1AD|b$RHNZ zCF)%-HB;#OG+IbmI#G8c9;4=Qf1(|@krMe~AmR2slliVhqbUQe%Pnd^1|yC#bw7^- zke4As{_g+?zs!{Y5;C_J6o}s`L`!%elKQf(I{5tzD0;#S4~aJ(?(l&FV|_mhOv>}i z-*XVb*n=9d3y-)DCnks?%H;D>&hhArIn0>J1a*!9>ck6b{HO!U^2lTh;Hb|x0A*Cc z4RJN#^E>lDg4p7#+w!OU|1V{V|Guss$8OA(;iTowKulrT=NndMP1qII)1?44!5@#> z6nUX}dkNHeWgGN!x^xKl_)XG{YU7IMPZTSSN_C7BuCwDdtgCM0TUMVB4;EM5VyjT_ ztLgVO<3TH~j(kg3ADu0HIIXy_^tz@W?!go`6bJ1$LM|q*kFM)qcauaiiX2ARp=9<5 zxbKpZ(Rx=o>;a_)^?e{NEC~TpU-KBPn^q6pxD&y*8_Q&Z>o*8+Mt*U<|M5RG57ijj zc4X}SLs+IMyJd_YOd$kpm)$ZJ(}omnmrtN}yF{;NlH8*La;9dto;oD`hGJ0$Ab+ZI z^x;)dExGemg$up?RNw5{GT%#p-c{uS=-rN3ntHegw{qRX(t0lN>ENQ-+QzOdWz||4 z^n`EFkH%AzSLQ6NS8$$3?jh7avSxG2r4=w#Kqh0(*;&6Mb&Ka952Txp00K@1 zBW58~4)-imMxq&3P9C7wx$4dPg%<>Gg~hH%iNoxSwFK&MXyX2PB8gb)GSxby zY((#YzV7srFQRTnE{9TwHfELVlMa>#E?GtRO>c6ocliY6Z$+;-zNb4noLhL}984N@ z=#v$|hSX?I-~d@2f(~~YR?=60Gkadx{f3>;&2T=Ms%U`Mobiwx-*JuYdDzilq4vhS zq35B3(hpm0!$^Sz;VRQRj@#^(c@Z4;!C(y-CuE;7YtF#f4bazxnA`E2E)%A!-RfNX zoYi8h$<+}-J;ZMjv$Ks=d(_!Z+pM%k^I)MT${J`fFs~TDJo-n1DY2c#SAC(opNBhI zX99N|8jtpB@*H1;Hu=-P(G_Zfj5eysP-u7g^3Be9jjb~_ZAOV8iQq`o-OY=kgFc#4 zW1ZxQF3QBx*R?keCB!>E88pIX?~$qwHslu zaueMdC~V`)F|)0+AX~+$_NiR_xLwC9w>mM>7vT`4BYTmDxL_$17en&w*(8<_EFd3L zpoN<|c@~OYD}l)GSm0cGio!RK@lCU(5KW~+H_|KwKwD2KuR=9w%@g5k4BuAXxE_j` zW^my|=}3=P!U>dmF?GSszrJ)rc>9hxmIMVw4l)&C&H%dsL=GZSPld~qJ{2I$R?`=_ zf|E+RfQqDHg@B4~AxuS}yj(! z?x`h%*cP3sD`)q~vEH|p2y&Aax>p2)Cq)k7-$Ht8-w`Vx1!>Lm8&-;iUY<5`k(kmU zYIl(ckit)!Ru^9gd#TxU+X76xg4fBcX7z}pIh1%zc({|N=HHz-3O%WCe{Jbzj`G;| zMqSmuvqwQX)s03xK{{t!nSNZVueea$}+9+*Tu1#h&-4eu*`}^B%;ncV&2@b&OKsP|?+y z>TCTaKS5L1NKvz-<1^a0D}xB*`f&@t8K`n^z5J+aP{CSm5Q9+;Rq+qvr&_5Lm4j#U z$&<*1Cwu7S(d`@4$5D?qe?fn5nJVpOQ5d(xEoOzlAcD^<6p$=`QD9oAJnJGT_9`wVNcyXsB;5g@aFuj6Fm#V*^99kb z{Jo0tR{4+RDqjTG1=;s5VW;|m6ykWWoOZL#ug#Y)wcgK0@CsyvX@q8Qgn@m>oU$CJDRbSY0 zNlGjHIwV`qz8%@rajtl{4|*7YHFtsQd6K^E!==paRrQ~*f8cKWWpnPSsieEK+%IqQ zS2xlBIx1oIT#(X&M}sL-@xST0_|HtvRW~M+v!9>w*>)8{`t()()cUzNt7qjo*6sb? zQT_a297fG-;^L>LE---6S?AqW`dW0=wdSpbg@ToXw;O$ub$pBW`Tvvu@|l)1gAbY6 z)2%Tzr-{VVTs+;&$%Qf%E)E6VMc#o@<-9H=zstY#Vt_hA1;n;M@NqX+hR#?~QrXf% zHn{2M{8~d-Z&lkmN9q)RvFK^0yzbu+HiOnl;YLn4)XFyxRfFW>^>yTBVA6lR$qrWmwdmXyD(6d@0k2JMEh6B5bUyniV5Rw2X*i|Px_atS9*Pe0#O za#*;M6axm_)cA>eB!~Z%pW=&>2__`XtXL(}22!x=6V>{CWDcfhf+kT&bP$aP7XnSK zPZRFxD7)Q!j&^E-w^C=ft?dNnX!HDV)x@Lvuve=6&oceOB_pj-9+5#bMWl3Ozk)ci z4O3EFrsR}b9dMH-?eI4_ATTAmi2{m%9Pr62KC^Ohfe&*#qDX;~Li)~@{7#41Zbl?+ zo~4UlxE{RTiasGzC6R!ps&XMDU>SMuPY|TNY^poA90{SDka`Hv3@X1oDr15YH=Cs3tRcd-l zK4Kzw4Rs#d^mM=^(n9YT?kJ9;h_<3!oW01?qy#-a7tqnd6QRTY+cJaeR8)fM{^}F* zJm*eRPOyc%8#bE{DOHOzntKmoJUQ!Wfy^e{tLFr(Oj4~nZQJ?+V;m9PrkA%>&bIBD z-EM`7eN`7Spmq!Oa`xB#q_sOejz|<8({7XPZv%fFXS8|GKDV&?f)N<0t{?sUIiACGVSg376%(j-WQ8#Qc5k0I@nnVs40zUpWGkRkT| ziwqIz|Arz%%!{0dy{L~Q#3%{%2DSsa>%ZlfHFi2}Npf+8NoF}C_#(jf!6mxg;+mtT z-UeS$E!ox_UOo8_&0)JHaASa=WsF4!1yqS>7E3PB<1*0d>S1J6Yffk3aZ^=OIaDTD z)|vFOMpKDjXC|=DUb=wkhk3Jz-dw*@gQM$Z*^0K!wT?%21({AwE^m-apN)G~2cS{Q zZGnAAgK(7MUt&e8sK6UzTPI^gx`kjGpz9dHFl2 zG3fbEgOH>3C?onqNDcW7iF(E@n??+uDzyRM_jF%*-9a0tiH2Bg8mv^+Ky0VF+Kz@z zS-@m$hsHWGTkWO!+W$$GR<~PG^5wBX#)+qvp_LK6X zDKsE7D=?N}ipe!U!4!^yF}Y)_N}$f$;wBR7&TnPM+^GV!d;gwSqb`r=Cb%wVaz&R1 zXR6VzK&raSLUJN=$qy#K9F$>O_>#JSc_~W41ipbmn>HOg2q7YZofzwl?LIF4oRwZX zBF7_jm!;l7Kl19T)d7in&PK=MMaZUZo4I7>jZT9mn)xr9jw{!lbG!)^?7S5PZ7n}& z26frM%!-94DcD!qMwm&z>HMPKa(;@m*+<2T@{qq(QNm4|I3eVv2@In%Nr4{92D%A(_PLrVt@vkAPQR~=73bAJc+ds(*J|HZ zo@JmjriZt)DUgxjUll@utd%5u7k|@h?HUOmTW-`FU{V z3izWc&MmtV=4;G$q>PfZ@_1m&glFJB+ub*0_SBNQR z=Qr;Gx5iY7heVwdc5nKA5nwU%YK6x&U)rPsO*ZYCHuibC{?muR@pF!RIEtB8YEOkC z_8ft#mOQ)J?&+IUqcWbEi8h|ARRjBiru&WSSc&gu7Q@sS&qZ*swWKyk(R!_GAAc;Y zb;uI>Jq+ls$%JP7RCBaF>6q%QUbs(2YUSdHYqOSZI0x`8!VxjT`!5jS7DEI08qUh6ld z5G~Z93*|hTzQ=(i3>?iQ9eZ^&Gnn4V!pfRN=7N<(w|g@}NZeEpxW7c|y9vp}UDnb# zO=q{s?AXS2C4qef14a#cQ^>5o zEMl4g{P|R^qI<%w+%9H6QR>?ygAQ@-3-gw6qkOQB#0^wrVjXo9K`QtU5=#gB-$^WS z31bGypMrJX<6=Dg^x|FSvj|_{f2(~rdzfP4gHO@5oa)71#D6u*Hw0B|%Lc*_i^ zvF-W3IG@qbk5e{q9z;9;gVPr5`q!q~_>Jj}5E*n9& z@hS^n^hG=#FQ@lAZhbXi#8T&2(c@FE45S-6FX%tg8Nr`T zK4+FS?mSoASJ`rtxSyP`=}^$1kQSglr*qs0_e5wFGX6)q(O1*Zf015F3(!21eSRaE zXV%gnGokg^qtzh=DY8mVQ(w823Ny$+r>- z|J28NhX(MOKz>92_RXlYacR$)z09)F9UoUiyszDx@CXuP;M3!lZ5Dhk`fxNaq34K0Kag941!Pm`==81UI!anX0n0z-pHhHEulqxSU!O6XDM-$mtej>gQe*IbLRHmMus{yL!|Kb zHbpG^QEWH6f&-H#{tU3hW#C_1Pr0vczog^N-lop_?K$pvTs6oOmZamSwieom3_gOc z{Tasp%BWvmRn>1+FC9yG1*=ie!PGsEBkp0ztJ@0^T5K|5s$E+ej0=Sjo&QYTH4wiqZeOk zjUU@WFg{hH7Ps_s3j5QLO}Y|0oze(IW^0&~0mCuSw}X|!0cL1RNxvrLLfh#(1wMTr zkr)$puxZF3O&P|mdCX3*_}W#Rat~TXF;JHa#31D0piOluXx|h8x3v+^s4^+e4Nv0U zjnzYUBGpf(BpjI0@^-6n@KwUZKicq%Ihpbhxp`0D+eX7sWgQRthGd(yV#}R3+H@PU z*iH02Y|{?qAsM+}#)j}aroGr~Zb&H)CpqpD>Qj=y7$+~*cPm{PdFuBScAl=HDJ=)G zXIupH`@}iiyZIm++#6CYL%4U>Eg7w1B8gCq&-FMx_B!A^&aU&>8VHvGJA4r3vxo(> zGRB?zx}*WoHl=rKVathAp;S4;+wp6)1q=%mB!^{zqAV`x%R}(+&-YRGBD7rFnq^gZ zH|3}2`q&o(jOVC=;k8e@;qzC^ouo~3^xR0Ev*aVFQxrwJj;mfA#TB0qvAU>`98y>( zkiIX_(r{Cv*?Ik5HKq4yu{tf(iii06z%^yBJl(ro>v*+J-Qx;E9?)phBvP9dpm%pn z^O;GtQe>kJ0UF@x6N(>gFWM-oUj$vsn7e}i;8~~^nv#TcyM%91_Nv;?5azROnbIF? zknswdF|&5v+SyMMaKI%Zd$qSSCpVHZp-Nc$a4WrT4JaLe|n@H1?^Bae^c$TmY*&mYmc{- z``31Pfmt5U`8}>FmC;k#L#oHi*?Ln;i-<10mKc-TT+K=oaF0EDB6F!g(Qs{vyW^YT zFDaSKY0oUe4L|49J^4{F;PCP@FTAWO;4!O4kOCJ2c9v+dolDjUnNH=vJ1nHDF z)T5)a0#EnbeD3p`HS4F${OmTkwFv0b4wZj?3#jp|N%<4n{1nXY@CNnl3Dp3l8}tuO1mf+POW188)BfVNwz1k|q+2Kl0L z*Uh1*VG-|Rdk!Eh_09L*f9V#H{<3^m}S|I zOWZi1r{ZLzpbON-xC}3>nK~1HXJq`V-+B6^Mxw-{b5sP%V6LM>MzXnEG-zBU!}Sfi zT=Vn(Em*?KjEm9ssYdj3_4x~M-vawYvO&zMib?U4HA^73vQT@>J@}OU+Lp!Hfm1ej zgc< zqExe$lswDFw%;Wrum!wTZHv`VQ3(2G^EuI-@zKyIO4WLD(Xp|&l>zG~S-f%oo_f%D z6vj6Ija3*~8@xPRnYShKQGzG;e5y0~Zr`x-Y2Y0mqwZ(*2NlMgGKyaN#IzT*PpHC3 zmDEKux;QPdgoI0;y`i4p|2ge70=C!IMJ4=w+FJRMAIQ5f!z;r1J|@KcPD{B8m^#bn z*?;D_+`{;Lc74#)df>WRxm@dgla-RUM)F; zFvyoBpQ!G*7#eL!1n7x{>Wd?4vkpJBrJ8fnV(YaZ2}lHs`DXInkj(&5L>dT4F(ONlMMXt05`hp<6E%bk2q++e5?~A_3~NS~K=yeFY3WRz z(=+GHzwey)d+)yYyZ4;m_kQmu;lPBI9?odftt|bQ2V#P{;RQIfhl6R+w-=AK5OGl= z4|a3|E7SNNBCF5`->5w~|9jD;ZWoG;#XISI>P3~$N1j51X?<76@qXLPL-T0~#*Kl+ zQ4xvNIc3#N9zz}^pBo!`lF|@W(Dx=M=I+iN;J%j}WZA}gOP%e<#@lJ`Cy8fLT<^aW zU&ESJaA3;!-$h=bw&i&B(xj{@DtHrcYU>28pfP6)a4yW8WQZ>U@f*I zy+W)_23p5t@#c)gb57-E8cpUell5Xn8!@{O>LEsUq!v=M+67_3jw%ywqK?^>Zo)&5gckD}cwm+}{&k`J0H-U%=eHzWTEfTu~-mt==O zmG3|A;n!ZqZuo94)aYa*h8nM{)ocMo2H_t{Or4(B) zwSKTdLO1kxSsw4Hq>dHeHdV*J0Y={qZYFj&o@1m@&il-cBH95g&%I`E%i@qogw+4s zUch=8qvRbFh4Ri(&3da zQgiQn1^Vq-?W{c^<&0|_hMEN*?u+$0m;myH9!Jg?IQeD{g=F(0bARc+mDJxHCiQ2&Oa==9vep# z*UhY|Hn5~LX@5oNXRNdlO$D*E?kE-J;p~4dgEV%Fc7`eE(<2%;5c+QG`KH_v=1|T` z?A^v3bP*(3cN_qE5(BycPTzm)E#=6a!k;JrqZ}Uv!>Q_*nZ5jV#Q_+sQ_|drRYxi# z-82q?1?u$$FdBZuqZpGx{L$DEXv``G%#BT@Z2_6B5s&IXxkW(1Ib(U-Oj?y)aSW;( zbw6;&%4f8Ue+O(3rmEY)+fNv0dv<~#i>WXdO$MDZX2{oiM*&$D7meEb!%jpsQ`0r4%5dSY>mE2>^dt4^&sIn~0yciC3?#HB31Vxc zx_Jhp;@ei&Gb}@)jIno1f&RxqSN14E$nE-cQs)YRJ_O#OS2WXbCc9X}avh3Xk8qfs zXY4DKAW~mIQp#<)_+)d0o`caR2loT?Lynn%_K`=kZ+A?cJ`JW7SwzujB@^w<-xs!- zuy#_Sthu1dmP0Y9D;0+U+6I@z{Nlo(%6ko@49`@*<>_~LVHhmr?wgkADFaxMp&C#( zRyB9%0XU7@*e)J;IPtwEpFJPoW^7$Yo95omQ)X^0A0wH7Z78OZ-lp;j}5jC?I2RgP|h$$(8%rZzB6R zJZZf6?p>3p;pC`dY+2+nwq$WaR{M%JjYZxVC{RXiUX!l_fyzX+b&HwFg87`EW4Nj7 z^~Uo3${^cNr{LX5$qm>j;a1Erc44emHUWZ-ZjK^qK|CfC#nTuCgwn4{pu=g=AR>Ko znYQXiPyfF7rIf2T=9ytguE3K^8|+rh*p?y4;=tT#3v*<%jRlI$DRLqaasuZX_pmPYXQZT%ujibSG_v~fnTAkr zUFUpWrIouYj6SfQ-{X^Yh(=I-1Wy1wXA@M#6kSHna@<~dPZe{0VUzq*7UrnA#RoCH zb{k#1DFfVB%s^t;LaDbR@cu6aXVD}2YZ1OJeqr#F`Ob!%&`lU0^pVHI%^Y@nXReN2 z1^nd1_!LbzWBg<)NqWq(plGKXa}i1*Fipb zj?d&zf28FoA)mlwbU1EEzq6e%aX5L0ek3^Q@E`&S_+EM2I`YYv%3i*;8?<=~{Tuu^ z8*o3tL|)k?wOvNvEWnWj>9FoSk$X~7rUHif_!-=TJ^9>b8!8S7(}G|iOF^VlD-|!k zpUp-on3OddYtcs_%^mjX)J9+%0{=?ifO7|hBgU>p$2?YjE$RhCEU<+QHD>FKQ7F|y zpg|(o!sV}sHW5R0{*g88>O`V42w<6IQt83w4)2ti^@_(Uwt~S@y8ez}+7kZ< z?kSLlg4)tw^OONFktL&0_h0ijgDPZNq;$#U!9$ByPX+u0g@p8ztCtIDUvTQb0A?Bf AUjP6A diff --git a/bin/Documentation/Images/Pipeline.PNG b/bin/Documentation/Images/Pipeline.PNG deleted file mode 100644 index d2af838ab59a8021fd160dabfef1bfbea77306f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53562 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 diff --git a/bin/Documentation/Images/PipelineProcess.png b/bin/Documentation/Images/PipelineProcess.png deleted file mode 100644 index 8a297d28039bd5e2d41fdd6ae9146d4c5a0b07a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25148 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 diff --git a/bin/Documentation/Images/RWTH_AixLib.png b/bin/Documentation/Images/RWTH_AixLib.png deleted file mode 100644 index 208f43c36cc040a28d3042e9f99f06dc2c2f1ab1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 468403 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 z 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 YaFoJ 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ȹr?6?8spu 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

    SG8Tbe&ZKD!bhQpPVs}C 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%0Dw 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 diff --git a/bin/Documentation/Images/Registry.png b/bin/Documentation/Images/Registry.png deleted file mode 100644 index d0b1d6fa71b6f1368084df40401daa1a7ecc34b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25827 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 diff --git a/bin/Documentation/Images/Stages.png b/bin/Documentation/Images/Stages.png deleted file mode 100644 index 01733b5ece4db22dff1311d6b594ac6e005866e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14825 zcmeHuXINAFns2tcZ3rSDDo7EeH|aH?A|Sm9AylRJ-m49zBfW!kLV!ph^ngn5HI&e# z*MPJj{jT7dGyBXrbMKvb=EMDPKlu10td*>Pd*5G6u$qb-@pY=}AP|UH{`oTv5a_}> z2=s^f)eFEo)o*lyfdBq*(U5xzD(Shu0=&3n@kIFv2vizLbo}a1;Po}f=TH|Ah@_G5 z?~hi80#gu3)L;JDlNX+bxXA#uA&dGSN3A0KNtbHhkf@WY4U`XFY$+Fs8l-t3($Xik z^z7qUph;b;m6u9zx6qqw$H$~L$N7Y~m;tNvL-M66@Bmc}lv1ZnNS47?LrOQl6?L0o$Zlo6 zwQi?;&uj;u1ycKdwNAh<&kWL%?bSV~ZfHqEH9k%DfkMT`o~bo)W=W07-lVR&sn5RW zPVv(lH+C&_pZ4QRdoFehvgi)IeKq=~;$p*cUnnrTiSmV4Y=xE zIoX=Cqtd+7Yr-ve6JjWNl#MbInB#CKYYjTCCHN(W3>z!4JBN!Op7zhx`lH}0`kiVT z{)>AbE}rd<=eZapl-DPC$4ai+v}tQp9QNm>`#*55bYRonJ-YZ&r97u(+gwU)*C~Iq zhVm}@7Yd(j(x4&6W2kkSa8KGUA+6T1gR0<+N9yd3+xsE61yQiG&I9&o>%)%?UaL17 z{Ee=C2Bx(=$2Xf^cn^-ux{DJZ+}>JVp2J_zn{Ei3_smeP_ug_|Hd?5io2=exUeiLX zE?9B1KsAtiZ#RDhw;gx9uaSQBO5UA4*H$hMb%qqmAMlh3wsPHgnqT!RO6VvHrI#Q9 zyB$+3gaiKaGz|-E5h5(35mB1Y*~Ah);Z*rmp>1;0t_q9H@Vl1y7y)2O?mU~z(+FM+|K4R6HMYZB?%j@_DXzQzNIC^Gm3rUBWwEF87%g z6?b(km)ipCSgAj1&&3bT=7+MSfR?z0iY<`E;iFCPXNCw8raRzO z9QQx+zWfx*p>OR}q+VX`t|y^4iDZ`gj^@A`m+4Aps+!5DA82dNMP*2^*Z})CQ!qR! z@zdsT2a+zO(lGq331;Gk*go|I{WzS0A-}uF;eIcpXPWb97vH zYdABMw~E?6tPD7NW2-GeX#de(b zKi(L4ipmixlwuhY_vL4{wyIhb4ue(x0eb!C;uDtFoNf>Vm7S^^#pwH=ZbSED$K8qG z9YPE2QjPu@Ux*s8=?#liGY70{SYj}tKkUACSnnRI_G&Hruq)eN z_s4g`(rL31>@mw)gkVA7bM6bxKUVy>ipjwwz=%J4CAdEhR&kb$iVBhK4vd{BtYqyE z^UJ}b4>>*DW|nn=G?^mqk#RLk60Xkk%5eWYq)zXxYo<24xd)9dE6?Jxg5fo-!ek!- zn{P(I;z^f_)Ty$GbjsC z1!oOdtv3dh+~mTws-5^Ep!{N|Jn)x?i*wG=Vk2ajzQOd>ko4r9u@(FxJW9FT%&L%y z^hSFK^P&@QK1dVq@bfYRbaT|w2<4J)x@!DbPs*UVr+wWdKW0NLkYWkA=nJU3b`bbX zkS6b@Dhn`0N+0O|ljgbDzmij1@+BptRC=U7!U_yD%`VHCR26Hm4x|jRu{`#r=pyL# z$IFCA{2EK>H4j2>D!^)Mto@>d*S30P3a<*G{zPf}G@pj^c?^bR zsX@;uCmFX`9*W-|lLj6;m~gaRVPHp8ts)z-#}T8Ro&wFES@~M#x%mA<&UUD7f1gWM zSY)Y*taqW=5jz)+rhkhR5kp6Y0o%|Z;HLM#-y7O&10FhJv-0Nh#;q0*x)2HNEM#anZBz9c# z^}C$IE$MGwK98Rb882J=?qwva0t2%M`>xap(F3zldi z10GTFNoUot%%$*|Qq~-gU*<{=Da7+iE!J4x;kioMjLCspOT8S&(!AGMrGvgqv#c|C zkENlF8x+UCGF-6eE#T)>sMN~F!6Gh<|AONN>KrKGxHsw94u)zY!Sji8K81~W%NKzn zS;lMVE*xpUp7x%qNk3%^Ri{8|LI?9hq$dH`OUZI(VpQDDiImT=Azpupt zefG7e%-dw!XkE$S~|YWE8f#r9*sa38_0G^7q~sVL*#Bv<%D0j!r8(yTZL zX`7{}>VO+6X=CDGcCQe!x4mm_Tn>$?*|-JOTCm@r|2R&;Sm z)ifqrRz#0=)!TdM{OEy#3X&}&ZPF=TK|XxunWM+kWOoS|2p2!G@!{WKLaC{j_VVJV z;liMC5w3MY{S5B*WNz`OtL{V^qL-UZR>W?jrI?3q>q?gJme_8lPx`<|EP|CH2LhsP zc7ZQ&4b?_W(uZm;aF+N!5$IX;BODh^r+htZ}`U`jpJ^7zT;rcmQCu;UwU z7#g?*f*Zij(_#F)`(FU81^W52%Te?iP)5Ho{$+QpWL`5?n8awgL(|ECveG@}3uP-} zhfg8UWH+MATy_Lnf%d`gobe7=;aq4*+0MUg%kNqU`|nY%sF*R1vxL)S)nhhXzevir zPW39JI$7_fQh*CiJe(J77AiX>PfoRbCn<}6z!2$%aMuhcJqP0D0~B#Ja7cJXzSwo! zr@zFkNe&sqM|Pcidb-6mPQ0suRum&ehxS*7V*VF1%umeV_ky4R)D>Hgp&_ zq#UYcqs}@LAt$hwmJ-Z)BrymyamS@1)l|NHn5ce^CC?r0Ku>|x9mGWY$Sk%!MkJ@eYCY(4Dp)51Rh+gM zMUMtNbEj+O<}7Ua$(Pe00= z0y^VHWVKY9sf0^TP|kN+4>2}8{eWqHj4_`T$CIvU?9|!JdkzIBRhD}s4B<399Y#AH z_8$j0zI)2Dbsx!=iaq_jw48EhDDa^Q&}$v(lGsAsDm)_PQj_r=KwHxZQu@@4)vE8z zJ$;c7V+_d#j?0T3fuI%7rETXu3XLTG2??|!4%jh`uj+XS-TGP5OTwvmY5Z4|+Py@d zXS!x69p8Ed{u{0Od;)-$@UYU7{j|U)wOK!B9Dr6Kn>?CE!I#zRrzl!8ynF9y_%EE; z;~2h;sq1LrJ9@_2JpTmgur9ig4tmah&E&VHYLf@bTek24H$~%~!!V7_r?@G`P0TtR zE-K2pb~AVQotu<+)@0cY(CZJsajr{-`^$OblbJa_CbtcIh@F=%U(Rp7iY+(GzAaqK zsR9l~#YcSADp`b4G7O#AoAR}wZ9Loy#-sB|sO8N*;U>vrjs zVv?SmKDki;B#NVF)5Z#;%eX?56`+wjJ`h!=c)jH$uRneJ9YqIE$)fwCa?6%*(P2&A z{s0otYpd>qTWhwPL_LlV=UlTrb`ond&KAQz5o%kD* z_x%F3??~k=X`hK-EZsV6J@9arE4V=Cl!#J`cWs~atf_Q|u9)1RoC~))M_}4^>V{~z zxr-bL=p}7(*}_9bg$l!;G*X#nk{$Sxp7qVJbtfwc@)#1fAwLz>Es@NqH->v#8&hvS zF^%25I0**|z}4_e-x*JIKdd^H{MlGBw5+5WP5UiO`Esn-^=GQ^<7vMDL~nFa4=oel zD16WM#I*0x;*EKWqVn)?m>?5rrNwD7s`}m1!Y1DY?q+_@N@;V|rYKZZ+S$QJ#s1fT z7s_Ju03P+I%kWo`Wq{Gmqp*hhb=V?VB@>sHA}`n{Qoql_X;xlfaWvrV@H=O+tDrAx z-SVV^kbnYz`a$?2alw>9wSg?ZLIK&~i}(#n66IGH5m%>!RLTi$G`4MKBt(I^%O*|d zRh&D8Wk6DW5#xeb^t*RLKC)f?v?(SZ{p~FqYRYdNjDXX>E(=1*q5`%pxK@I9 zd^qLX7_CZ4we2h5e_ZyB@csB3ZAO~)yMoB7X@2|OU-3CDP)%wHJ73?oXz?w&NREv} zh5OlBHa;2^glI1&DDrwhPeidtn@jUjWx$eA=qV@J9IsG zt1{gH$wqasfPe*&xC!SjjpCD2(`?A(9yqm@L!Rj&qir=a@-Bc92WN9vI82@J?|mz^ z<4-=jn)HjQ8e$!HN ztDYR5Jj;)BE(=M&YiC`%;3;XKzk5{VEy(H{px|Bqqj_`jwwGOoQFR*oTkGug`xFeL z2WB0Ldi6;|OZ&uri${|)`ZbT z0(lc9n{=cZ2Ok=0GL0KUc_UkIH!M9Kcf{gno%e*hIdtdGR{CGQ-Awvyk^XZfqu|(y zFWY3Q=cM-O!cFAy&etWOE!ZKrIh^QpJdoN0HZ6f*Wl=+rq|{(jT%~;=G}eV87&c;BVLdR7bftV5;C8z#4BKH+hHfQZ@v z9k|YLuh39PmC|M}XwU3qooq2=Ye*Q7f^R~L0EJ=Yw~ovAH}+6UfQd?x{~3GzXX*F9 z$rt`AF6a7OHU698%R~Uc*Abf9K+j(MnuW0uZkt_Ke|tAl#I2}aZ zOeZ;&e;erCEwz4YJ5sKG1qpP!&e1*z{4XFrpJlyJfje~zOh_7_t3Mq~2@dW`eqS>U zc5TV8gza!o`NB1>x?xtzc(6)ck42<-2Kz*+Cvdl!vXa^XuJ!3Fy0^)-PE*t8bBWJ0 zZLR8Y@WG6b8+)#3>e*9QM3~^Tx0(K26Otxr_-AZa z+AcK0UDHBJt_0RR?Q9i{NWdASu|3O^TY;h3 zD=j(+oPyc;X2PUsD2EYgc1pk)A zbfgU9X3jO@-B6|edsYx~E|@UpD(|Do_ffeUtG`Kj3Tb^r^1IXLbAsqpfZRm9XfWh1 zVjs^@xf3{U)5>f@(IOem_dWhbZa#s^5;i4Dsw8tC55E-1NId1jX$G`xNx5pC~{KrFKMvtR$R% z^xYGDH}DY9Qu-BtQijYN3InQZo5E()zBL|$NxdJtCz{v9gjm0yp~t?+Au~#pf%eip zus<>$@KeRykd_8$4{(~g9{X#Aa02Y9q5C8p&3I?+CSAhVeV0mzZRg!0aN_=y z03x|PJTMa;5^!eTDxb&FbZpMmU#5jERm1%_wC9bD8}s3@(`Lm#r#U@^q>I@cP|P?r z9{LC>2{a;C@D###9QR_|aL%%KxvXaS&ec@#P8nn4HH3_|e{0*F#O2LvAWxlpsw}{y z*FWXy&a&M!I&02yK}iK1=_?La_X!JAgwRgA3F;j9+y9vSZQyairhodMAh88)(1rGZ zRqdRB5vJS~>x2P|Exz7?@kxRUh2R{i!B~w@$F_cqp5Q6*FNftDz4x{2VDvzSKC|d9 zH4;p-*`)1U(>c%{lsfL#4EVKo6#O=MqA08D$5z1f{x1)jtkRNGS#760OKVNZb^hs1 zN&7;GQ6-V^=|bVmO&;GocYot@m|f{M&%VN0(wVF0W9p{|AM1Xug}X_Cb6o4uHLH41 zKmX}Z_#T6FeS9%7Nq-@}4sG6e*-t5#SM`^_2kyhblM}vx)8`!1RX-dG=~Q$Zw%0Dw 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 diff --git a/bin/Documentation/Images/Webhook_trigger.PNG b/bin/Documentation/Images/Webhook_trigger.PNG deleted file mode 100644 index 203705e9a3fa47e11bf98b6cbfe487cfa395b84e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31536 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 oo}LRFY8Sv487w3*+30U>f<2mk;8 diff --git a/bin/Documentation/Images/only.png b/bin/Documentation/Images/only.png deleted file mode 100644 index 3c398c5994ca1fcc9607365ed13ffa91ecef46e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24107 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 diff --git a/bin/Documentation/Images/public_key.PNG b/bin/Documentation/Images/public_key.PNG deleted file mode 100644 index e4d298385e856b7cfd4a987ef7eb3d206cef870a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5091 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 diff --git a/bin/Documentation/README.md b/bin/Documentation/README.md deleted file mode 100644 index ae105c24..00000000 --- a/bin/Documentation/README.md +++ /dev/null @@ -1,12 +0,0 @@ -## What is it? - - -Here you find the Documentation for CI with AixLib - - -1. [General Documentation](https://github.com/RWTH-EBC/AixLib/blob/development/bin/04_Documentation/Documentation_GitLab.md) -2. [How to integrate Unittests](How_to_integrate_new_tests.md) More from a CI Environment view -3. [Gitlab CICD Commands](https://github.com/RWTH-EBC/AixLib/blob/development/bin/04_Documentation/Gitlab_CICD_Commands.md) From a Modelica POV - - -For more Documentation for CI with AixLib look at the following [Repository](https://git.rwth-aachen.de/EBC/EBC_intern/dymola-docker/tree/master/04_Documentation) diff --git a/bin/README.md b/bin/README.md deleted file mode 100644 index 10fe4b59..00000000 --- a/bin/README.md +++ /dev/null @@ -1,102 +0,0 @@ -# Here you find the Documentation für CI Tests with AixLib -## What is CI? - -Continuous integration is a term from software development that describes the process of continuously assembling components to form an application. -The goal of continuous integration is to increase software quality. -Typical actions are translating and linking the application parts, but in principle any other operations to generate derived information are performed. -Usually, not only the entire system is rebuilt, but also automated tests are performed and software metrics are created to measure software quality. -The whole process is automatically triggered by checking into the version control system. - - -## CI commands and ci [lists](interact_CI) - -- `git commit -m "ci_update_ref"` # Update referencefiles for all models that are added in file bin/08_interact_CI/update_ref.txt -- `git commit -m "ci_show_ref"` # plot all referencefiles that are added in file bin/08_interact_CI/show_ref.txt [only as pull_request] -- `git commit -m "ci_correct_html"` # CI bot message: correct html syntax -- `git commit -m "ci_create_whitelist"` # create a new whitelist for the model check -- `git commit -m "ci_create_html_whitelist"`# create a new html whitelist for the html check -- `git commit -m "ci_simulate"` # Simulate all examples -- `git commit -m "ci_check"` # Check all models -- `git commit -m "ci_regression_test"` # Start the regression test [only as pull_request] -- `git commit -m "ci_html"` # Test only the html of models -- `git commit -m " [skip ci]"` # Skip the CI - - -## What CI Tests are implement? -#### Check, Simulate and Regressiontest: [UnitTests](CITests/02_UnitTests) - -With these tests, models are validated or simulated or models will compared and evaluated with stored values by means of a unit test. - -#### Correct HTML and Style Check: [SyntaxTest](CITests/03_SyntaxTests) - -The html code (documentation) is tested and corrected if necessary. Thus the deposited HTML code is checked for correctness and corrected. - -With the ModelManagement library in dymola the style of the models is checked. - -#### [IBPSA Merge](CITests/06_deploy/IBPSA_Merge) -This template performs an automatic IBPSA merge into AixLib. The models of the IBPSA are copied into the AixLib, a new conversion script is created based on the IBPSA and integrated into the AixLib as well as the whitelists are created. - -## Folder -The folder contains the subfolder CITests, ci_whitelist, Configfiles, templates, interact_CI and Setting. - -### CITests -This folder contains all CI tests for AixLib in GitLab with unitTests, syntaxTest and cleanUpScripts -For more information view this [CI Tests](CITests). - -### ci_whitelist -This folder contains models in [WhiteLists](ci_whitelist), which will not test in the CITests. - - -### Configfiles - -This folder contains [Config files](Configfiles) which are used for the CI. - -### templates -This folder contains [Templates](templates/03_ci_templates) for the CI tests implemented so far. The following example can be used to implement the tests in the CI. - - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:miniconda-latest - stages: - - check_setting - - build_templates - - Ref_Check - - build - - HTML_Check - - IBPSA_Merge - - create_html_whitelist - - Update_WhiteList - - Release - - StyleCheck - - check - - openMR - - post - - create_whitelist - - simulate - - RegressionTest - - Update_Ref - - plot_ref - - prepare - - deploy - variables: - Github_Repository: RWTH-EBC/AixLib - GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/AixLib - include: - - 'bin/templates/03_ci_templates/01_deploy/gitlab_pages.gitlab-ci.yml' - - 'bin/templates/03_ci_templates/01_deploy/IBPSA_Merge.gitlab-ci.yml' - - 'bin/templates/03_ci_templates/02_UnitTests/check_model.gitlab-ci.yml' - - 'bin/templates/03_ci_templates/02_UnitTests/regression_test.gitlab-ci.yml' - - 'bin/templates/03_ci_templates/02_UnitTests/simulate_model.gitlab-ci.yml' - - 'bin/templates/03_ci_templates/03_SyntaxTest/html_check.gitlab-ci.yml' - - 'bin/templates/03_ci_templates/03_SyntaxTest/style_check.gitlab-ci.yml' - - 'bin/templates/03_ci_templates/04_CleanUpScript/ci_setting.gitlab-ci.yml' - -### [interact_CI](interact_CI) - -This folder is contains CI commands. - -`show_ref.txt`: If certain models are visualized on the basis of the reference files, these must be entered line by line in the text file show_ref.txt. Afterwards the file must be pushed with the command `git commit -m "ci_show_ref"` - -`update_ref.txt`: If the reference files are to be updated for certain models, the reference files must be entered line by line in the text file update_ref.txt. Afterwards the file must be pushed with the CI commands command `git commit -m "ci_update_ref"` - -### [Setting](Setting) - -This folder contains settings for the CI. The CI_setting.toml file contains the variables for the CI. Changes can be made in the toml file. The templates are then updated with the command `python bin/CITests/07_ci_templates/ci_templates.py --setting`. diff --git a/bin/ci_whitelist/README.md b/bin/ci_whitelist/README.md deleted file mode 100644 index 4cb3c516..00000000 --- a/bin/ci_whitelist/README.md +++ /dev/null @@ -1,26 +0,0 @@ -## What is it? -In this folder are the Whitelist for the CI Tests. - -## What is implemented? - -#### html_whitelist.txt -This list contains all IBPSA models. These models will not test with HTML check. -In order to keep the whitelist up to date, it should be rewritten regularly. - -Use the following command: - -`python bin/CITests/03_SyntaxTests/html_tidy_errors.py --WhiteList --git-url https://github.com/ibpsa/modelica-ibpsa.git --wh-library IBPSA` - -#### model_whitelist.txt -This list contains all IBPSA models that have not passed the check test. These are therefore not taken into account during the check. - -Use the following command: - -`python bin/CITests/02_UnitTests/CheckPackages/validatetest.py -DS 2020 --repo-dir IBPSA --git-url https://github.com/ibpsa/modelica-ibpsa.git --library AixLib --wh-library IBPSA --whitelist` - -### reference_check_whitelist.txt -Packages, that should be ignored when creating new reference files. - -## What is done? -- Clone the Repository and Write a Whitelist -- Push the Whitelist to the AixLib diff --git a/bin/ci_whitelist/html_whitelist.txt b/bin/ci_whitelist/html_whitelist.txt deleted file mode 100644 index 13846ef0..00000000 --- a/bin/ci_whitelist/html_whitelist.txt +++ /dev/null @@ -1,2 +0,0 @@ - -BESMod.Systems.Hydraulical.Generation.SolarThermalBivHPBuiLib diff --git a/bin/ci_whitelist/model_whitelist.txt b/bin/ci_whitelist/model_whitelist.txt deleted file mode 100644 index 40af571a..00000000 --- a/bin/ci_whitelist/model_whitelist.txt +++ /dev/null @@ -1,76 +0,0 @@ -IBPSA.Resources.src.fluid.heatpumps.calibration.Examples.SomeManufacturer_ABC060_70kW_4_0COP_R410A - - -IBPSA.Utilities.Psychrometrics.TWetBul_TDryBulXi - - -IBPSA.Fluid.Geothermal.Borefields.TwoUTubes - - -IBPSA.Fluid.Geothermal.Borefields.OneUTube - - -IBPSA.Fluid.Sensors.SensibleEnthalpyFlowRate - - -IBPSA.Fluid.Sensors.RelativeHumidity - - -IBPSA.Fluid.Sensors.TemperatureWetBulbTwoPort - - -IBPSA.Fluid.Sensors.MassFractionTwoPort - - -IBPSA.Fluid.Sensors.RelativeHumidityTwoPort - - -IBPSA.Fluid.Sensors.LatentEnthalpyFlowRate - - -IBPSA.Fluid.Movers.BaseClasses.FlowMachineInterface - - -IBPSA.Fluid.Sources.MassFlowSource_h - - -IBPSA.Fluid.Sources.MassFlowSource_T - - -IBPSA.Fluid.Sources.TraceSubstancesFlowSource - - -IBPSA.Fluid.Storage.StratifiedEnhancedInternalHex - - -IBPSA.Fluid.Humidifiers.SteamHumidifier_X - - -IBPSA.Fluid.Humidifiers.SprayAirWasher_X - - -IBPSA.Fluid.HeatPumps.Calibration.BaseClasses.PartialWaterToWater - - -IBPSA.Systems.ModularAHU.RegisterModule - - -IBPSA.Fluid.Actuators.Dampers.VAVBoxExponential - - -IBPSA.Fluid.Storage.BufferStorage - - -IBPSA.BoundaryConditions.InternalGains.Examples.InternalGains.BaseClasses.Humans - - -IBPSA.Fluid.MixingVolumes.Validation.BaseClasses.MoistureMixingConservation - - -IBPSA.ThermalZones.HighOrder.Validation.ASHRAE140.BaseClasses.PartialCase - - -IBPSA.Fluid.MixingVolumes.Validation.BaseClasses.MixingVolumeReverseFlow - - -IBPSA.Fluid.Examples.Performance.BaseClasses.Example1 diff --git a/bin/ci_whitelist/reference_check_whitelist.txt b/bin/ci_whitelist/reference_check_whitelist.txt deleted file mode 100644 index 77466179..00000000 --- a/bin/ci_whitelist/reference_check_whitelist.txt +++ /dev/null @@ -1,7 +0,0 @@ -AixLib.DataBase - -AixLib.Obsolete - -AixLib.Types - -AixLib.Fluid.Solar.Thermal.Examples \ No newline at end of file diff --git a/bin/interact_CI/README.md b/bin/interact_CI/README.md deleted file mode 100644 index 06b15304..00000000 --- a/bin/interact_CI/README.md +++ /dev/null @@ -1,29 +0,0 @@ - -## CI commands and CI list - -These lists should create a link between the CI and the user. If certain models are displayed graphically or certain reference files are created or updated, these are to be written into the files "show_ref.txt" or "update_ref.txt" line by line. - -show_ref : Lists all mentioned reference results graphically. -update_ref : Updates the model and the whole package in which the model is located. - -## Command list - -- `git commit -m "ci_update_ref"` # Update referencefiles for all models that are added in file bin/08_interact_CI/update_ref.txt -- `git commit -m "ci_show_ref"` # plot all referencefiles that are added in file bin/08_interact_CI/show_ref.txt [only as pull_request] -- `git commit -m "ci_correct_html"` # CI bot message: correct html syntax -- `git commit -m "ci_create_whitelist"` # create a new whitelist for the model check -- `git commit -m "ci_create_html_whitelist"`# create a new html whitelist for the html check -- `git commit -m "ci_simulate"` # Simulate all examples -- `git commit -m "ci_check"` # Check all models -- `git commit -m "ci_regression_test"` # Start the regression test [only as pull_request] -- `git commit -m "ci_html"` # Test only the html of models - - -## Create yaml templates -`python bin/CITests/07_ci_templates/ci_templates.py` - -## Create yaml templates from toml file -`python bin/CITests/07_ci_templates/ci_templates.py --setting` - -## Check files and paths in _config.py -`python bin/CITests/01_CleanUp/setting_check.py` diff --git a/bin/interact_CI/show_ref.txt b/bin/interact_CI/show_ref.txt deleted file mode 100644 index 08bceb05..00000000 --- a/bin/interact_CI/show_ref.txt +++ /dev/null @@ -1,3 +0,0 @@ -AixLib_Airflow_Multizone_Validation_DoorOpenClosed.txt -AixLib_Airflow_Multizone_Examples_ClosedDoors.txt -AixLib_BoundaryConditions_InternalGains_Examples_HumansSenTDep.txt \ No newline at end of file diff --git a/bin/interact_CI/update_ref.txt b/bin/interact_CI/update_ref.txt deleted file mode 100644 index 6d05af7c..00000000 --- a/bin/interact_CI/update_ref.txt +++ /dev/null @@ -1 +0,0 @@ -AixLib_Systems_HeatPumpSystems_Examples_HeatPumpSystem.txt diff --git a/bin/templates/01_google_templates/google_chart.txt b/bin/templates/01_google_templates/google_chart.txt deleted file mode 100644 index 9a3bdcc0..00000000 --- a/bin/templates/01_google_templates/google_chart.txt +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - -

    - - - diff --git a/bin/templates/01_google_templates/index.txt b/bin/templates/01_google_templates/index.txt deleted file mode 100644 index 3cf56a1c..00000000 --- a/bin/templates/01_google_templates/index.txt +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Regression plots - - -
    - %for model in html_model: -
  • ${model}

  • - %endfor -
    - - - \ No newline at end of file diff --git a/bin/templates/01_google_templates/layout_index.txt b/bin/templates/01_google_templates/layout_index.txt deleted file mode 100644 index ee4fbfc8..00000000 --- a/bin/templates/01_google_templates/layout_index.txt +++ /dev/null @@ -1,86 +0,0 @@ - - - - Page Layout - - - - - - -
    -
    Regresiontests
    - -
    - - - - - -
    -
    - %for package in single_package: -
  • ${package}

  • - %endfor -
    -
    - - - \ No newline at end of file diff --git a/bin/templates/03_ci_templates/.gitlab-ci.yml b/bin/templates/03_ci_templates/.gitlab-ci.yml deleted file mode 100644 index b674717e..00000000 --- a/bin/templates/03_ci_templates/.gitlab-ci.yml +++ /dev/null @@ -1 +0,0 @@ - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:miniconda-latest stages: - prepare - check - Update_Ref - simulate - RegressionTest - create_whitelist - Ref_Check variables: Praefix_Branch: "Correct_HTML_" TARGET_BRANCH: $CI_COMMIT_REF_NAME Newbranch: ${Praefix_Branch}${CI_COMMIT_REF_NAME} Github_Repository: git SvenHinrichs/GitLabCI GITLAB_Page: "https://svenhinrichs.pages.rwth-aachen.de/GitLabCI" include: - project: 'EBC/EBC_all/gitlab_ci/templates' file: 'bin/07_templates/03_ci_templates/UnitTests/check_model.gitlab-ci.yml' - project: 'EBC/EBC_all/gitlab_ci/templates' file: 'bin/07_templates/03_ci_templates/UnitTests/regression_test.gitlab-ci.yml' - project: 'EBC/EBC_all/gitlab_ci/templates' file: 'bin/07_templates/03_ci_templates/UnitTests/simulate_model.gitlab-ci.yml' \ No newline at end of file diff --git a/bin/templates/03_ci_templates/01_deploy/IBPSA_Merge.txt b/bin/templates/03_ci_templates/01_deploy/IBPSA_Merge.txt deleted file mode 100644 index 64196016..00000000 --- a/bin/templates/03_ci_templates/01_deploy/IBPSA_Merge.txt +++ /dev/null @@ -1,115 +0,0 @@ - -stages: - - IBPSA_Merge - - Update_WhiteList - - openMR - - Release - -IBPSA: - stage: IBPSA_Merge - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - export PYTHONIOENCODING=utf-8 # just in case - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - eval $(ssh-agent -s) - - mkdir -p ~/.ssh - - ssh-keyscan github.com >> ~/.ssh/known_hosts - - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - - echo "${GITHUB_PRIVATE_KEY}" > ~/.ssh/id_rsa - - chmod 600 ~/.ssh/id_rsa - - git config --global user.name "${GITLAB_USER_NAME}" - - git config --global user.email "${GITLAB_USER_EMAIL}" - script: - - mkdir Merge_Package - - cd Merge_Package - - git clone --single-branch --branch ${merge_branch} git@github.com:${Github_Repository}.git - - cd ${CI_PROJECT_NAME} - - git clone ${git_url} - - cd ${library}/Resources/Scripts - - python mergeModelicaIBPSA.py - - cd .. - - cd .. - - cd .. - - python bin/CITests/06_deploy/IBPSA_Merge/copy_conversion_script.py --dst "Convertmos" --ibpsa-dir "modelica-ibpsa/IBPSA/Resources/Scripts/Dymola/ConvertIBPSA_*" --aixlib-dir "${library}/Resources/Scripts" - - python bin/CITests/06_deploy/IBPSA_Merge/correct_userguide.py - - rm -r modelica-ibpsa - only: - - ${merge_branch} - except: - refs: - - external_pull_requests - variables: - - $CI_COMMIT_MESSAGE =~ /${ci_merge_except_commit}/ - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - artifacts: - paths: - - Merge_Package/GitLabCI/ - expire_in: 6 h - -WhiteList: - stage: Update_WhiteList - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - export PYTHONIOENCODING=utf-8 # just in case - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - eval $(ssh-agent -s) - - mkdir -p ~/.ssh - - ssh-keyscan github.com >> ~/.ssh/known_hosts - - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - - echo "${GITHUB_PRIVATE_KEY}" > ~/.ssh/id_rsa - - chmod 600 ~/.ssh/id_rsa - - git config --global user.name "${GITLAB_USER_NAME}" - - git config --global user.email "${GITLAB_USER_EMAIL}" - script: - - cd Merge_Package/${CI_PROJECT_NAME} - - python bin/CITests/03_SyntaxTests/html_tidy_errors.py --WhiteList # Update WhiteList for HTML - - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py -DS ${dymolaversion} --repo-dir ${wh_library} --git-url ${git_url} --library ${library} --wh-library ${wh_library} --whitelist - - python bin/CITests/05_Converter/lock_model.py --library {library} --wh-library ${wh_library} - - rm -r IBPSA - - message="${bot_commit}" - - git add . - - git commit -m "$message" - - git push --force git@github.com:${Github_Repository}.git - only: - - IBPSA_Merge - except: - refs: - - external_pull_requests - variables: - - $CI_COMMIT_MESSAGE =~ /${ci_merge_except_commit}/ - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - allow_failure: true - - needs: - - job: IBPSA - artifacts: true - -IBPSA_Pull_Request: - stage: openMR - before_script: - - source activate python36 - - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - - pip install requests - - export PYTHONIOENCODING=utf-8 # just in case - - git config --global user.name "${GITLAB_USER_NAME}" - - git config --global user.email "${GITLAB_USER_EMAIL}" - script: - - python bin/CITests/04_api_script/api_github.py --github-repo ${Github_Repository} --working-branch $CI_COMMIT_REF_NAME --github-token ${GITHUB_API_TOKEN} --create-pr --ibpsa-merge - only: - - ${merge_branch} - except: - refs: - - external_pull_requests - variables: - - $CI_COMMIT_MESSAGE =~ /${ci_merge_except_commit}/ - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor diff --git a/bin/templates/03_ci_templates/01_deploy/gitlab_pages.gitlab-ci.yml b/bin/templates/03_ci_templates/01_deploy/gitlab_pages.gitlab-ci.yml deleted file mode 100644 index a953e594..00000000 --- a/bin/templates/03_ci_templates/01_deploy/gitlab_pages.gitlab-ci.yml +++ /dev/null @@ -1 +0,0 @@ -stages: - deploy pages: stage: deploy before_script: - apt-get update -y - apt-get install zip unzip -y script: - mkdir -p public/$CI_COMMIT_REF_NAME - cp -r $CI_COMMIT_REF_NAME/* public/$CI_COMMIT_REF_NAME artifacts: paths: - public expire_in: 7h when: always allow_failure: true \ No newline at end of file diff --git a/bin/templates/03_ci_templates/01_deploy/gitlab_pages.txt b/bin/templates/03_ci_templates/01_deploy/gitlab_pages.txt deleted file mode 100644 index d46f917c..00000000 --- a/bin/templates/03_ci_templates/01_deploy/gitlab_pages.txt +++ /dev/null @@ -1,19 +0,0 @@ -stages: - - deploy - -pages: - stage: deploy - before_script: - - apt-get update -y - - apt-get install zip unzip -y - script: - - mkdir -p public/$CI_COMMIT_REF_NAME - - cp -r $CI_COMMIT_REF_NAME/* public/$CI_COMMIT_REF_NAME - - artifacts: - paths: - - public - - expire_in: 7h - when: always - allow_failure: true diff --git a/bin/templates/03_ci_templates/02_UnitTests/check_model.gitlab-ci.yml b/bin/templates/03_ci_templates/02_UnitTests/check_model.gitlab-ci.yml deleted file mode 100644 index d6dd85d1..00000000 --- a/bin/templates/03_ci_templates/02_UnitTests/check_model.gitlab-ci.yml +++ /dev/null @@ -1 +0,0 @@ -stages: - check - create_whitelist .check_model_job: stage: check before_script: - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 # just in case - cat dependencies.json - python install_dependencies.py full script: - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package "${lib_package}" --library BESMod -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod.${lib_package}-log.txt - BESMod/BESMod.${lib_package}-errorlog.txt expire_in: 7 day only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_update_ref/ - $CI_COMMIT_MESSAGE =~ /ci_dif_ref/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_create_whitelist/ - $CI_COMMIT_MESSAGE =~ /Update WhiteList_CheckModel.txt and HTML_IBPSA_WhiteList.txt/ - $CI_COMMIT_MESSAGE =~ /Automatic push of CI with new regression reference files. Please pull the new files before push again./ - $CI_COMMIT_MESSAGE =~ /New reference files were pushed to this branch. The job was successfully and the newly added files are tested in another commit./ - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_whitelist/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job .check_changed_models_job: stage: check before_script: - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 # just in case - python install_dependencies.py full script: - git diff --raw --diff-filter=AMT HEAD^1 > bin/Configfiles/ci_changed_model_list.txt - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package "${lib_package}" --library BESMod -DS 2022 -CM artifacts: when: on_failure paths: - BESMod/BESMod.${lib_package}-log.txt - BESMod/BESMod.${lib_package}-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests variables: - $CI_COMMIT_MESSAGE =~ /ci_update_ref/ - $CI_COMMIT_MESSAGE =~ /ci_dif_ref/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_create_whitelist/ - $CI_COMMIT_MESSAGE =~ /Update WhiteList_CheckModel.txt and HTML_IBPSA_WhiteList.txt/ - $CI_COMMIT_MESSAGE =~ /Automatic push of CI with new regression reference files. Please pull the new files before push again./ - $CI_COMMIT_MESSAGE =~ /New reference files were pushed to this branch. The job was successfully and the newly added files are tested in another commit./ - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_whitelist/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job .CI_check_model_job: stage: check before_script: - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 # just in case - python install_dependencies.py full script: - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package "${lib_package}" --library BESMod -DS 2022 --filterwhitelist artifacts: when: on_failure paths: - BESMod/BESMod.${lib_package}-log.txt - BESMod/BESMod.${lib_package}-errorlog.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job whitelist_job: stage: create_whitelist before_script: - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "${GITHUB_PRIVATE_KEY}" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "${GITLAB_USER_NAME}" - git config --global user.email "${GITLAB_USER_EMAIL}" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:${Github_Repository}.git - cd ${CI_PROJECT_NAME} - echo "FAIL" > bin/Configfiles/exit.sh - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 # just in case - cd whitelist && cd ${CI_PROJECT_NAME} - if cat bin/Configfiles/exit.sh | grep "FAIL"; then message="Automatic push of CI - Update model_whitelist. Please pull the new files before push again. [skip ci]" ; git add bin/ci_whitelist/model_whitelist.txt ; git commit -m "$message" ; git push git@github.com:${Github_Repository}.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo 'successful' > bin/Configfiles/exit.sh ; echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file bin/ci_whitelist/model_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/${CI_PROJECT_NAME}/bin/ci_whitelist/model_whitelist.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_whitelist/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/bin/templates/03_ci_templates/02_UnitTests/check_model.txt b/bin/templates/03_ci_templates/02_UnitTests/check_model.txt deleted file mode 100644 index 2090a0dc..00000000 --- a/bin/templates/03_ci_templates/02_UnitTests/check_model.txt +++ /dev/null @@ -1,165 +0,0 @@ -stages: - - check - - create_whitelist - -.check_model_job: - stage: check - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate myenv - - export PYTHONIOENCODING=utf-8 # just in case - - python install_dependencies.py full - script: - - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package "${lib_package}" --library ${library} -DS ${dymolaversion} ${wh_flag} ${filterflag} - artifacts: - when: on_failure - paths: - - ${library}/${library}.${lib_package}-log.txt - - ${library}/${library}.${lib_package}-errorlog.txt - expire_in: 7 day - only: - - external_pull_requests - retry: - max: 2 - when: runner_system_failure - except: - variables: - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - -%for package in package_list: -Check_${library}_${package}: - variables: - lib_package: ${package} - extends: .check_model_job - -%endfor - -.check_changed_models_job: - stage: check - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate myenv - - export PYTHONIOENCODING=utf-8 # just in case - - python install_dependencies.py full - script: - - git diff --raw --diff-filter=AMT HEAD^1 > ${ch_file} - - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package "${lib_package}" --library ${library} -DS ${dymolaversion} -CM - artifacts: - when: on_failure - paths: - - ${library}/${library}.${lib_package}-log.txt - - ${library}/${library}.${lib_package}-errorlog.txt - expire_in: 7 day - except: - refs: - - external_pull_requests - ${merge_branch} - variables: - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - retry: - max: 2 - when: runner_system_failure - -%for package in package_list: -Check_${library}_${package}_changed_models: - variables: - lib_package: ${package} - only: - changes: - - ${library}/${package}/**/* - extends: .check_changed_models_job - -%endfor - -.CI_check_model_job: - stage: check - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate myenv - - export PYTHONIOENCODING=utf-8 # just in case - - python install_dependencies.py full - script: - - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package "${lib_package}" --library ${library} -DS ${dymolaversion} ${wh_flag} ${filterflag} - artifacts: - when: on_failure - paths: - - ${library}/${library}.${lib_package}-log.txt - - ${library}/${library}.${lib_package}-errorlog.txt - expire_in: 7 day - only: - variables: - - $CI_COMMIT_MESSAGE =~ /${check_commit}/ - except: - refs: - - external_pull_requests - retry: - max: 2 - when: runner_system_failure - - -%for package in package_list: -CI_Check_${library}_${package}: - variables: - lib_package: ${package} - extends: .CI_check_model_job - -%endfor - -whitelist_job: - stage: create_whitelist - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate myenv - - export PYTHONIOENCODING=utf-8 - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - eval $(ssh-agent -s) - - mkdir -p ~/.ssh - - ssh-keyscan github.com >> ~/.ssh/known_hosts - - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - - echo "${GITHUB_PRIVATE_KEY}" > ~/.ssh/id_rsa - - chmod 600 ~/.ssh/id_rsa - - git config --global user.name "${GITLAB_USER_NAME}" - - git config --global user.email "${GITLAB_USER_EMAIL}" - script: - - mkdir whitelist && cd whitelist - - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:${Github_Repository}.git - - cd ${CI_PROJECT_NAME} - - echo "FAIL" > ${exit_file} - - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py -DS ${dymolaversion} --repo-dir ${wh_library} ${git_url} ${wh_path} --library ${library} --wh-library ${wh_library} --whitelist - after_script: - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate myenv - - export PYTHONIOENCODING=utf-8 # just in case - - cd whitelist && cd ${CI_PROJECT_NAME} - - if cat ${exit_file} | grep "FAIL"; then - message="Automatic push of CI - Update model_whitelist. Please pull the new files before push again. [skip ci]" ; - git add ${wh_file} ; - git commit -m "$message" ; - git push git@github.com:${Github_Repository}.git ; - GREEN='\033[0;32m' ; - NC='\033[0m' ; - echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; - exit 0; - else - echo 'successful' > ${exit_file} ; - echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file ${wh_file}, if you want to recreate the whitelist.$NC" ; - exit 0 ; - fi - artifacts: - paths: - - whitelist/${CI_PROJECT_NAME}/${wh_file} - expire_in: 7 day - only: - variables: - - $CI_COMMIT_MESSAGE =~ /${wh_commit}/ - except: - refs: - - external_pull_requests diff --git a/bin/templates/03_ci_templates/02_UnitTests/regression_test.txt b/bin/templates/03_ci_templates/02_UnitTests/regression_test.txt deleted file mode 100644 index 61b208bc..00000000 --- a/bin/templates/03_ci_templates/02_UnitTests/regression_test.txt +++ /dev/null @@ -1,457 +0,0 @@ -stages: - - RegressionTest - - Ref_Check - - Update_Ref - - plot_ref - - prepare - -.CI_Regressiontest: - stage: RegressionTest - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - - export PYTHONIOENCODING=utf-8 # just in case - - echo 'FAIL' > ${exit_file} - script: - - cd ${library} && python ../bin/CITests/02_UnitTests/reference_check.py -n 2 --tool dymola --single-package "${lib_package}" --library ${library} --batch -DS ${dymolaversion} - - cd .. && echo 'successful' > ${exit_file} - after_script: - - if cat ${exit_file} | grep "FAIL"; then - export PIP_CACHE_DIR="/opt/cache/pip" ; - source activate python36 ; - pip install pandas mako matplot ; - python bin/CITests/05_Converter/google_charts.py --line-html --error --funnel-comp --single-package ${lib_package} ; - mkdir -p data ; - cp -r ${library}/simulator-dymola.log data ; - cp -r ${library}/unitTests-dymola.log data ; - cp -r ${library}/funnel_comp data ; - else - echo "Test was succesful!" ; - fi - artifacts: - when: on_failure - paths: - - data - - ${chart_dir}/${lib_package} - expire_in: 7 day - only: - refs: - - external_pull_requests - variables: - - $CI_COMMIT_MESSAGE =~ /${regression_test_commit}/ - retry: - max: 2 - when: runner_system_failure - -%for package in package_list: -CI_Regressiontest_${library}_${package}: - variables: - lib_package: ${library}.${package} - extends: .CI_Regressiontest - -%endfor - -CI_create_plots: - stage: prepare - before_script: - - source activate python36 - - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - - pip install requests - - pip install pandas mako matplot - - export PYTHONIOENCODING=utf-8 # just in case - script: - - mkdir -p $CI_COMMIT_REF_NAME/plots - - python bin/CITests/05_Converter/google_charts.py --create-layout --library ${library} --single-package ${library} - - cp -r ${chart_dir}/* $CI_COMMIT_REF_NAME/plots - - python bin/CITests/04_api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo ${Github_Repository} --gitlab-page ${GITLAB_Page} --github-token ${GITHUB_API_TOKEN} --post-pr-comment --prepare-plot - artifacts: - paths: - - $CI_COMMIT_REF_NAME/plots - only: - refs: - - external_pull_requests - variables: - - $CI_COMMIT_MESSAGE =~ /${regression_test_commit}/ - when: on_failure - needs: - %for package in package_list: - - job: CI_Regressiontest_${library}_${package} - artifacts: true - %endfor - -.Regressiontest_job: - stage: RegressionTest - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - - export PYTHONIOENCODING=utf-8 # just in case - - echo 'FAIL' > ${exit_file} - script: - - cd ${library} && python ../bin/CITests/02_UnitTests/reference_check.py -n 2 --tool dymola --single-package "${lib_package}" --library ${library} --batch -DS ${dymolaversion} - - cd .. && echo 'successful' > ${exit_file} - after_script: - - if cat ${exit_file} | grep "FAIL"; then - export PIP_CACHE_DIR="/opt/cache/pip" ; - source activate python36 ; - pip install pandas mako matplot ; - python bin/CITests/05_Converter/google_charts.py --line-html --error --funnel-comp --single-package ${lib_package} ; - mkdir -p data ; - cp -r ${library}/simulator-dymola.log data ; - cp -r ${library}/unitTests-dymola.log data ; - cp -r ${library}/funnel_comp data ; - else - echo "Test was succesful!" ; - fi - artifacts: - when: on_failure - paths: - - data - - ${chart_dir}/${lib_package} - expire_in: 7 day - only: - refs: - - external_pull_requests - except: - variables: - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - retry: - max: 2 - when: runner_system_failure - -%for package in package_list: -Regressiontest_${library}_${package}: - variables: - lib_package: ${library}.${package} - extends: .Regressiontest_job - -%endfor - -Regression_overall_coverage: - stage: RegressionTest - before_script: - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - - export PYTHONIOENCODING=utf-8 # just in case - script: - - cd ${library} && python ../bin/CITests/02_UnitTests/reference_check.py --coverage-only - artifacts: - when: on_failure - paths: - - ${library}/simulator-dymola.log - - ${library}/unitTests-dymola.log - expire_in: 7 day - only: - refs: - - external_pull_requests - except: - variables: - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - retry: - max: 2 - when: runner_system_failure - -prepare_create_plots: - stage: prepare - before_script: - - source activate python36 - - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - - pip install requests - - pip install pandas mako matplot - - export PYTHONIOENCODING=utf-8 # just in case - script: - - mkdir -p $CI_COMMIT_REF_NAME/plots - - python bin/CITests/05_Converter/google_charts.py --create-layout --library ${library} --single-package ${library} - - cp -r ${chart_dir}/* $CI_COMMIT_REF_NAME/plots - - python bin/CITests/04_api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo ${Github_Repository} --gitlab-page ${GITLAB_Page} --github-token ${GITHUB_API_TOKEN} --post-pr-comment --prepare-plot - artifacts: - paths: - - $CI_COMMIT_REF_NAME/plots - only: - refs: - - external_pull_requests - except: - variables: - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - when: on_failure - needs: - %for package in package_list: - - job: Regressiontest_${library}_${package} - artifacts: true - %endfor - -.Regressiontest_changed_Job: - stage: RegressionTest - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - - export PYTHONIOENCODING=utf-8 # just in case - - echo 'FAIL' > ${exit_file} - script: - - git diff --raw --diff-filter=AMT HEAD^1 > ${ch_file} - - cd ${library} && python ../bin/CITests/02_UnitTests/reference_check.py -n 2 --tool dymola --single-package ${lib_package} --library ${library} --batch -DS ${dymolaversion} -n 2 --modified-model - - cd .. && echo 'successful' > ${exit_file} - after_script: - - if cat ${exit_file} | grep "FAIL"; then - export PIP_CACHE_DIR="/opt/cache/pip"; - source activate python36; - pip install pandas mako matplot; - python bin/CITests/05_Converter/google_charts.py --line-html --error --funnel-comp --single-package ${lib_package}; - mkdir -p data ; - cp -r ${library}/simulator-dymola.log data ; - cp -r ${library}/unitTests-dymola.log data ; - cp -r ${library}/funnel_comp data ; - else - echo "Test was succesful!"; - fi - artifacts: - when: on_failure - paths: - - data - - ${chart_dir}/${lib_package} - expire_in: 7 day - except: - refs: - - external_pull_requests - ${merge_branch} - variables: - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - only: - changes: - - ${library}/**/* - retry: - max: 2 - when: runner_system_failure - -%for package in package_list: -Changed_Regressiontest_${library}_${package}: - variables: - lib_package: ${library}.${package} - extends: .Regressiontest_changed_Job - -%endfor - - -Changed_create_plots: - stage: prepare - before_script: - - source activate python36 - - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - - pip install requests - - pip install pandas mako matplot - - export PYTHONIOENCODING=utf-8 # just in case - script: - - mkdir -p $CI_COMMIT_REF_NAME/plots - - python bin/CITests/05_Converter/google_charts.py --create-layout --library ${library} --single-package ${library} - - cp -r ${chart_dir}/* $CI_COMMIT_REF_NAME/plots - - artifacts: - paths: - - $CI_COMMIT_REF_NAME/plots - except: - refs: - - external_pull_requests - ${merge_branch} - variables: - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - only: - changes: - - ${library}/**/* - retry: - max: 2 - when: runner_system_failure - when: on_failure - needs: - %for package in package_list: - - job: Changed_Regressiontest_${library}_${package} - artifacts: true - %endfor - - -RegressionTest_Check_References: - stage: Ref_Check - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - export PYTHONIOENCODING=utf-8 # just in case - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - eval $(ssh-agent -s) - - mkdir -p ~/.ssh - - ssh-keyscan github.com >> ~/.ssh/known_hosts - - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - - echo "${GITHUB_PRIVATE_KEY}" > ~/.ssh/id_rsa - - chmod 600 ~/.ssh/id_rsa - - git config --global user.name "${GITLAB_USER_NAME}" - - git config --global user.email "${GITLAB_USER_EMAIL}" - script: - - mkdir CorrectedVersion && cd CorrectedVersion - - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:${Github_Repository}.git - - cd ${CI_PROJECT_NAME} - - echo "FAIL" > ${exit_file} - - cd ${library} && python ../bin/CITests/02_UnitTests/reference_check.py --create-ref -n 2 < ../${eof_file} - after_script: - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - export PYTHONIOENCODING=utf-8 # just in case - - cd CorrectedVersion && cd ${CI_PROJECT_NAME} - - git ls-files --others --exclude-standard - - if cat ${exit_file} | grep "FAIL"; then - pushmodel=$(git ls-files --others --exclude-standard) ; - echo $pushmodel ; - (git ls-files --others --exclude-standard) > ${new_ref_file} ; - python bin/CITests/06_deploy/deploy_artifacts.py --library AixLib --ref --new-ref; - message="Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results ${GITLAB_Page}/$CI_COMMIT_REF_NAME/plots/ [skip ci]" ; - git add $pushmodel ; - git commit -m "$message"; - git push git@github.com:${Github_Repository}.git ; - GREEN='\033[0;32m' ; - NC='\033[0m' ; - echo -e "$GREEN New reference files were pushed to this branch. The job was successfully and the newly added files are tested in another commit. $NC " ; - pip install pandas mako matplot; - python bin/CITests/05_Converter/google_charts.py --line-html --new-ref --single-package AixLib ; - cd .. ; - cd .. ; - mkdir -p $CI_COMMIT_REF_NAME/plots ; - mkdir -p data ; - cp -r CorrectedVersion/${CI_PROJECT_NAME}/${library}/simulator-dymola.log data ; - cp -r CorrectedVersion/${CI_PROJECT_NAME}/${library}/unitTests-dymola.log data ; - cp -r CorrectedVersion/${CI_PROJECT_NAME}/${library}/funnel_comp data ; - cp -r CorrectedVersion/${CI_PROJECT_NAME}/Referencefiles data ; - cp -r CorrectedVersion/${CI_PROJECT_NAME}/${chart_dir}/* $CI_COMMIT_REF_NAME/plots ; - exit 1 ; - else - echo 'successful' > ${exit_file} ; - exit 0 ; - fi - artifacts: - when: on_failure - paths: - - data - - $CI_COMMIT_REF_NAME/plots - expire_in: 7 day - except: - refs: - ${merge_branch} - variables: - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - only: - - external_pull_requests - -Update_Regression_Results: - stage: Update_Ref - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - - export PYTHONIOENCODING=utf-8 # just in case - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - eval $(ssh-agent -s) - - mkdir -p ~/.ssh - - ssh-keyscan github.com >> ~/.ssh/known_hosts - - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - - echo "${GITHUB_PRIVATE_KEY}" > ~/.ssh/id_rsa - - chmod 600 ~/.ssh/id_rsa - - git config --global user.name "${GITLAB_USER_NAME}" - - git config --global user.email "${GITLAB_USER_EMAIL}" - - script: - - mkdir CorrectedVersion && cd CorrectedVersion - - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:${Github_Repository}.git - - cd ${CI_PROJECT_NAME} - - echo "FAIL" > ${exit_file} - - cd ${library} && python ../bin/CITests/02_UnitTests/reference_check.py --update-ref --single-package ${library} -n 2 < ../${eof_file} - after_script: - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - export PYTHONIOENCODING=utf-8 # just in case - - cd CorrectedVersion && cd ${CI_PROJECT_NAME} - - git ls-files --others --exclude-standard - - if cat ${exit_file} | grep "FAIL"; then - pushmodel=$(git ls-files --others --exclude-standard) ; - echo $pushmodel ; - (git ls-files --others --exclude-standard) > ${new_ref_file} ; - python bin/CITests/06_deploy/deploy_artifacts.py --library ${library} --ref --updated-ref; - message="Automatic push of CI with updated or new regression reference files.Please pull the new files before push again. Plottet Results ${GITLAB_Page}/$CI_COMMIT_REF_NAME/plots/ [skip ci]" ; - git add ${library}/Resources/ReferenceResults/Dymola/* ; - git commit -m "$message"; - git push git@github.com:${Github_Repository}.git ; - GREEN='\033[0;32m' ; - NC='\033[0m' ; - echo -e "$GREEN New or updated reference files were pushed to this branch. The job was successfully and the newly added files are tested in another commit. $NC " ; - pip install pandas mako matplot; - python bin/CITests/05_Converter/google_charts.py --line-html --update-ref --single-package ${library} ; - cd .. ; - cd .. ; - mkdir -p $CI_COMMIT_REF_NAME/plots ; - mkdir -p data ; - cp -r CorrectedVersion/${CI_PROJECT_NAME}/${library}/simulator-dymola.log data ; - cp -r CorrectedVersion/${CI_PROJECT_NAME}/${library}/unitTests-dymola.log data ; - cp -r CorrectedVersion/${CI_PROJECT_NAME}/${library}/funnel_comp data ; - cp -r CorrectedVersion/${CI_PROJECT_NAME}/Referencefiles data ; - cp -r CorrectedVersion/${CI_PROJECT_NAME}/${chart_dir}/* $CI_COMMIT_REF_NAME/plots ; - exit 0 ; - else - echo 'successful' > ${exit_file} ; - exit 0 ; - fi - artifacts: - when: always - paths: - - data - - $CI_COMMIT_REF_NAME/plots - expire_in: 7 day - retry: - max: 2 - when: runner_system_failure - only: - variables: - - $CI_COMMIT_MESSAGE =~ /${update_ref_commit}/ - except: - refs: - - external_pull_requests - -plot_reference_results: - stage: plot_ref - before_script: - - source activate python36 - - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - - pip install requests - - pip install pandas mako matplot - - export PYTHONIOENCODING=utf-8 # just in case - script: - - mkdir -p $CI_COMMIT_REF_NAME/plots - - python bin/CITests/05_Converter/google_charts.py --line-html --show-ref --single-package ${library} --library ${library} - - cp -r ${chart_dir}/* $CI_COMMIT_REF_NAME/plots - - python bin/CITests/04_api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo ${Github_Repository} --gitlab-page ${GITLAB_Page} --github-token ${GITHUB_API_TOKEN} --post-pr-comment --show-plot - artifacts: - when: always - paths: - - $CI_COMMIT_REF_NAME/plots - only: - variables: - - $CI_COMMIT_MESSAGE =~ /${show_ref_commit}/ - refs: - - external_pull_requests diff --git a/bin/templates/03_ci_templates/02_UnitTests/simulate_model.gitlab-ci.yml b/bin/templates/03_ci_templates/02_UnitTests/simulate_model.gitlab-ci.yml deleted file mode 100644 index 62b020d9..00000000 --- a/bin/templates/03_ci_templates/02_UnitTests/simulate_model.gitlab-ci.yml +++ /dev/null @@ -1,164 +0,0 @@ -stages: - - simulate - -.CI_simulate_model_job: - stage: simulate - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate myenv - - export PYTHONIOENCODING=utf-8 # just in case - - python install_dependencies.py full - script: - - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package "${lib_package}" --library BESMod -DS 2022 --simulateexamples - artifacts: - when: on_failure - paths: - - BESMod/BESMod.${lib_package}-log.txt - - BESMod/BESMod.${lib_package}-errorlog.txt - expire_in: 7 day - only: - variables: - - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - except: - refs: - - external_pull_requests - retry: - max: 2 - when: runner_system_failure - -CI_simulate_BESMod_Examples: - variables: - lib_package: Examples - extends: .CI_simulate_model_job - - -CI_simulate_BESMod_Utilities: - variables: - lib_package: Utilities - extends: .CI_simulate_model_job - -CI_simulate_BESMod_Systems: - variables: - lib_package: Systems - extends: .CI_simulate_model_job - - -.simulate_model_job: - stage: simulate - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate myenv - - export PYTHONIOENCODING=utf-8 # just in case - - python install_dependencies.py full - script: - - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package "${lib_package}" --library BESMod -DS 2022 --simulateexamples - artifacts: - when: on_failure - paths: - - BESMod/BESMod.${lib_package}-log.txt - - BESMod/BESMod.${lib_package}-errorlog.txt - expire_in: 7 day - only: - refs: - - external_pull_requests - except: - variables: - - $CI_COMMIT_MESSAGE =~ /ci_update_ref/ - - $CI_COMMIT_MESSAGE =~ /ci_dif_ref/ - - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - - $CI_COMMIT_MESSAGE =~ /ci_create_whitelist/ - - $CI_COMMIT_MESSAGE =~ /Update WhiteList_CheckModel.txt and HTML_IBPSA_WhiteList.txt/ - - $CI_COMMIT_MESSAGE =~ /Automatic push of CI with new regression reference files. Please pull the new files before push again./ - - $CI_COMMIT_MESSAGE =~ /New reference files were pushed to this branch. The job was successfully and the newly added files are tested in another commit./ - - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - - $CI_COMMIT_MESSAGE =~ /ci_check/ - - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - - $CI_COMMIT_MESSAGE =~ /ci_create_html_whitelist/ - - $CI_COMMIT_MESSAGE =~ /ci_html/ - - $CI_COMMIT_MESSAGE =~ /ci_setting/ - retry: - max: 2 - when: runner_system_failure - -simulate_BESMod_Examples: - variables: - lib_package: Examples - extends: .simulate_model_job - -simulate_BESMod_Utilities: - variables: - lib_package: Utilities - extends: .simulate_model_job - -simulate_BESMod_Systems: - variables: - lib_package: Systems - extends: .simulate_model_job - - -.simulate_changed_models_job: - stage: simulate - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate myenv - - export PYTHONIOENCODING=utf-8 # just in case - - python install_dependencies.py full - script: - - git diff --raw --diff-filter=AMT HEAD^1 > bin/Configfiles/ci_changed_model_list.txt - - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package "${lib_package}" --library BESMod -DS 2022 -CM --simulateexamples - artifacts: - when: on_failure - paths: - - BESMod/BESMod.${lib_package}-log.txt - - BESMod/BESMod.${lib_package}-errorlog.txt - expire_in: 7 day - except: - refs: - - external_pull_requests - - variables: - - $CI_COMMIT_MESSAGE =~ /ci_update_ref/ - - $CI_COMMIT_MESSAGE =~ /ci_dif_ref/ - - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - - $CI_COMMIT_MESSAGE =~ /ci_create_whitelist/ - - $CI_COMMIT_MESSAGE =~ /Update WhiteList_CheckModel.txt and HTML_IBPSA_WhiteList.txt/ - - $CI_COMMIT_MESSAGE =~ /Automatic push of CI with new regression reference files. Please pull the new files before push again./ - - $CI_COMMIT_MESSAGE =~ /New reference files were pushed to this branch. The job was successfully and the newly added files are tested in another commit./ - - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - - $CI_COMMIT_MESSAGE =~ /ci_check/ - - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - - $CI_COMMIT_MESSAGE =~ /ci_create_html_whitelist/ - - $CI_COMMIT_MESSAGE =~ /ci_html/ - - $CI_COMMIT_MESSAGE =~ /ci_setting/ - retry: - max: 2 - when: runner_system_failure - -simulate_BESMod_Examples_changed_models: - variables: - lib_package: Examples - only: - changes: - - BESMod/Examples/**/* - extends: .simulate_changed_models_job - -simulate_BESMod_Examples_changed_models: - variables: - lib_package: Systems - only: - changes: - - BESMod/Systems/**/* - extends: .simulate_changed_models_job - -simulate_BESMod_Examples_changed_models: - variables: - lib_package: Utilities - only: - changes: - - BESMod/Utilities/**/* - extends: .simulate_changed_models_job diff --git a/bin/templates/03_ci_templates/02_UnitTests/simulate_model.txt b/bin/templates/03_ci_templates/02_UnitTests/simulate_model.txt deleted file mode 100644 index 3f8391d9..00000000 --- a/bin/templates/03_ci_templates/02_UnitTests/simulate_model.txt +++ /dev/null @@ -1,110 +0,0 @@ -stages: - - simulate - -.CI_simulate_model_job: - stage: simulate - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate myenv - - export PYTHONIOENCODING=utf-8 # just in case - script: - - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package "${lib_package}" --library ${library} -DS ${dymolaversion} ${wh_flag} ${filterflag} --simulateexamples - artifacts: - when: on_failure - paths: - - ${library}/${library}.${lib_package}-log.txt - - ${library}/${library}.${lib_package}-errorlog.txt - expire_in: 7 day - only: - variables: - - $CI_COMMIT_MESSAGE =~ /${simulate_commit}/ - except: - refs: - - external_pull_requests - retry: - max: 2 - when: runner_system_failure - -%for package in package_list: -CI_simulate_${library}_${package}: - variables: - lib_package: ${package} - extends: .CI_simulate_model_job - -%endfor - - -.simulate_model_job: - stage: simulate - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate myenv - - export PYTHONIOENCODING=utf-8 # just in case - script: - - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package "${lib_package}" --library ${library} -DS ${dymolaversion} ${wh_flag} ${filterflag} --simulateexamples - artifacts: - when: on_failure - paths: - - ${library}/${library}.${lib_package}-log.txt - - ${library}/${library}.${lib_package}-errorlog.txt - expire_in: 7 day - only: - refs: - - external_pull_requests - except: - variables: - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - retry: - max: 2 - when: runner_system_failure - -%for package in package_list: -simulate_${library}_${package}: - variables: - lib_package: ${package} - extends: .simulate_model_job - -%endfor - -.simulate_changed_models_job: - stage: simulate - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate myenv - - export PYTHONIOENCODING=utf-8 # just in case - script: - - git diff --raw --diff-filter=AMT HEAD^1 > ${ch_file} - - python bin/CITests/02_UnitTests/CheckPackages/validatetest.py --single-package "${lib_package}" --library ${library} -DS ${dymolaversion} -CM --simulateexamples - artifacts: - when: on_failure - paths: - - ${library}/${library}.${lib_package}-log.txt - - ${library}/${library}.${lib_package}-errorlog.txt - expire_in: 7 day - except: - refs: - - external_pull_requests - ${merge_branch} - variables: - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - retry: - max: 2 - when: runner_system_failure - -%for package in package_list: -simulate_${library}_${package}_changed_models: - variables: - lib_package: ${package} - only: - changes: - - ${library}/${package}/**/* - extends: .simulate_changed_models_job - -%endfor diff --git a/bin/templates/03_ci_templates/03_SyntaxTest/html_check.txt b/bin/templates/03_ci_templates/03_SyntaxTest/html_check.txt deleted file mode 100644 index 3cf2d3f8..00000000 --- a/bin/templates/03_ci_templates/03_SyntaxTest/html_check.txt +++ /dev/null @@ -1,211 +0,0 @@ -stages: - - build - - HTML_Check - - create_html_whitelist - - deploy - - openMR - - post - -variables: - Praefix_Branch: "Correct_HTML_" - Newbranch: ${Praefix_Branch}${CI_COMMIT_REF_NAME} - -trigger_check_HTML: - stage: build - before_script: - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - export PYTHONIOENCODING=utf-8 # just in case - script: - - python bin/CITests/03_SyntaxTests/html_tidy_errors.py --s ${library} --correct-view --log --align --font - - if cat ${exit_file} | grep "exit 1"; then - echo "Test was not successful!" ; - exit 1; - else - exit 0; - fi - artifacts: - paths: - - ${library}/HTML-logfile.txt - expire_in: 7 day - except: - refs: - - external_pull_requests - only: - variables: - - $CI_COMMIT_MESSAGE =~ /${html_commit}/ - -HTML_Merge_Checks: - stage: HTML_Check - before_script: - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - export PYTHONIOENCODING=utf-8 # just in case - script: - - python bin/CITests/03_SyntaxTests/html_tidy_errors.py --s ${library} --correct-view --log --align --font - - if cat ${exit_file} | grep "exit 1"; then - echo "HTML Check was not successfully" ; - echo "Read HTML - logfile!" ; - exit 1 ; - else - exit 0; - fi - artifacts: - when: on_failure - paths: - - ${library}/HTML-logfile.txt - expire_in: 7 day - only: - refs: - - external_pull_requests - except: - variables: - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - -HTML_Check: - stage: HTML_Check - before_script: - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - eval $(ssh-agent -s) - - mkdir -p ~/.ssh - - ssh-keyscan github.com >> ~/.ssh/known_hosts - - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - - echo "${GITHUB_PRIVATE_KEY}" > ~/.ssh/id_rsa - - chmod 600 ~/.ssh/id_rsa - - git config --global user.name "${GITLAB_USER_NAME}" - - git config --global user.email "${GITLAB_USER_EMAIL}" - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - export PYTHONIOENCODING=utf-8 # just in case - script: - - python bin/CITests/03_SyntaxTests/html_tidy_errors.py --s ${library} --correct-view --log --align --font - - if cat ${exit_file} | grep "exit 1"; then - mkdir CorrectedVersion && cd CorrectedVersion ; - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:${Github_Repository}.git; - cd ${CI_PROJECT_NAME}; - python bin/CITests/03_SyntaxTests/html_tidy_errors.py --s ${library} --correct-overwrite --align --font --log; - git checkout -B $Newbranch; - message="ci_correct_html"; - git add . ; - echo $message; - git commit -m "$message" ; - git push --force git@github.com:${Github_Repository}.git; - wait ; - exit 1; - else - exit 0; - fi - artifacts: - when: on_failure - paths: - - ${library}/HTML-logfile.txt - expire_in: 7 day - - except: - refs: - - external_pull_requests - - /^Correct_HTML.*$/ - ${merge_branch} - variables: - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - -CI_HTML_Check: - stage: HTML_Check - before_script: - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - eval $(ssh-agent -s) - - mkdir -p ~/.ssh - - ssh-keyscan github.com >> ~/.ssh/known_hosts - - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - - echo "${GITHUB_PRIVATE_KEY}" > ~/.ssh/id_rsa - - chmod 600 ~/.ssh/id_rsa - - git config --global user.name "${GITLAB_USER_NAME}" - - git config --global user.email "${GITLAB_USER_EMAIL}" - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - export PYTHONIOENCODING=utf-8 # just in case - script: - - python bin/CITests/03_SyntaxTests/html_tidy_errors.py --s ${library} --correct-view --log --align --font - - if cat ${exit_file} | grep "exit 1"; then - mkdir CorrectedVersion && cd CorrectedVersion ; - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:${Github_Repository}.git; - cd ${CI_PROJECT_NAME}; - python bin/CITests/03_SyntaxTests/html_tidy_errors.py --s ${library} --correct-overwrite --align --font --log; - git checkout -B $Newbranch; - message="ci_correct_html"; - git add . ; - echo $message; - git commit -m "$message" ; - git push --force git@github.com:${Github_Repository}.git; - wait ; - exit 1; - else - exit 0; - fi - artifacts: - when: on_failure - paths: - - ${library}/HTML-logfile.txt - expire_in: 7 day - only: - variables: - - $CI_COMMIT_MESSAGE =~ /${ci_html_commit}/ - - -Open_Pull_Request: - stage: openMR - before_script: - - source activate python36 - - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - - pip install requests - - export PYTHONIOENCODING=utf-8 # just in case - - git config --global user.name "${GITLAB_USER_NAME}" - - git config --global user.email "${GITLAB_USER_EMAIL}" - script: - - python bin/CITests/04_api_script/api_github.py --github-repo ${Github_Repository} --working-branch $CI_COMMIT_REF_NAME --github-token ${GITHUB_API_TOKEN} --create-pr --correct-html - except: - refs: - - external_pull_requests - only: - variables: - - $CI_COMMIT_MESSAGE =~ /${html_commit}/ - -html_whitelist_job: - stage: create_html_whitelist - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - export PYTHONIOENCODING=utf-8 - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - eval $(ssh-agent -s) - - mkdir -p ~/.ssh - - ssh-keyscan github.com >> ~/.ssh/known_hosts - - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - - echo "${GITHUB_PRIVATE_KEY}" > ~/.ssh/id_rsa - - chmod 600 ~/.ssh/id_rsa - - git config --global user.name "${GITLAB_USER_NAME}" - - git config --global user.email "${GITLAB_USER_EMAIL}" - script: - - mkdir whitelist && cd whitelist - - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:${Github_Repository}.git - - cd ${CI_PROJECT_NAME} - - python bin/CITests/03_SyntaxTests/html_tidy_errors.py --WhiteList ${git} - - message="Automatic push of CI - Update html_whitelist. Please pull the new files before push again. [skip ci]" - - git add ${html_wh_file} - - git commit -m "$message" - - git push git@github.com:${Github_Repository}.git - artifacts: - paths: - - whitelist/${CI_PROJECT_NAME}/${html_wh_file} - expire_in: 7 day - only: - variables: - - $CI_COMMIT_MESSAGE =~ /${create_html_wh_commit}/ - except: - refs: - - external_pull_requests \ No newline at end of file diff --git a/bin/templates/03_ci_templates/03_SyntaxTest/style_check.txt b/bin/templates/03_ci_templates/03_SyntaxTest/style_check.txt deleted file mode 100644 index 28e8b894..00000000 --- a/bin/templates/03_ci_templates/03_SyntaxTest/style_check.txt +++ /dev/null @@ -1,61 +0,0 @@ -stages: - - StyleCheck - -Style_Check_AixLib: - stage: StyleCheck - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - export PYTHONIOENCODING=utf-8 # just in case - script: - - python bin/CITests/03_SyntaxTests/StyleChecking.py -s ${library} -p ${library}/package.mo -DS ${dymolaversion} - artifacts: - when: on_failure - paths: - - ${library}/${library}_StyleCheckLog.html - - ${library}/${library}_StyleErrorLog.html - expire_in: 7 day - allow_failure: true - only: - refs: - - external_pull_requests - except: - variables: - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - - -Style_Check_ChangedModel: - stage: StyleCheck - before_script: - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 && - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate python36 - - export PYTHONIOENCODING=utf-8 # just in case - script: - - (git diff --raw --diff-filter=AMT HEAD^1) > bin/03_WhiteLists/changedmodels.txt - - python bin/CITests/03_SyntaxTests/StyleChecking.py -s ${library} -p ${library}/package.mo -CM -DS ${dymolaversion} - only: - changes: - - ${library}/**/* - - except: - refs: - - external_pull_requests - ${merge_branch} - variables: - %for commit in except_commit_list: - - $CI_COMMIT_MESSAGE =~ /${commit}/ - %endfor - artifacts: - when: on_failure - paths: - - ${library}/ChangedModels_StyleCheckLog.html - - ${library}/ChangedModels_StyleErrorLog.html - - ${library}/${library}_StyleCheckLog.html - - ${library}/${library}_StyleErrorLog.html - - ${ch_file} - expire_in: 7 day - allow_failure: true diff --git a/bin/templates/03_ci_templates/04_CleanUpScript/ci_setting.gitlab-ci.yml b/bin/templates/03_ci_templates/04_CleanUpScript/ci_setting.gitlab-ci.yml deleted file mode 100644 index 0de64c0b..00000000 --- a/bin/templates/03_ci_templates/04_CleanUpScript/ci_setting.gitlab-ci.yml +++ /dev/null @@ -1 +0,0 @@ -stages: - check_setting - build_templates Test_CI_Setting: stage: check_setting before_script: - source activate python36 - export PYTHONIOENCODING=utf-8 script: - python bin/CITests/01_CleanUp/setting_check.py --github-private-key $GITHUB_PRIVATE_KEY --github-token $GITHUB_API_TOKEN only: variables: - $CI_COMMIT_MESSAGE =~ /ci_setting/ except: refs: - external_pull_requests Create_templates: stage: build_templates before_script: - source activate python36 - export PYTHONIOENCODING=utf-8 - pip install pandas toml mako - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "${GITHUB_PRIVATE_KEY}" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "${GITLAB_USER_NAME}" - git config --global user.email "${GITLAB_USER_EMAIL}" script: - mkdir build_template && cd build_template - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:${Github_Repository}.git - cd $CI_PROJECT_NAME - python bin/CITests/07_ci_templates/ci_templates.py --setting - message="Automatic push of CI with new created CI templates. Please pull the new files before push again. [skip ci]" - git add . - git commit -m "$message" - git push git@github.com:${Github_Repository}.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_setting/ except: refs: - external_pull_requests artifacts: when: always paths: - build_template/$CI_PROJECT_NAME/.gitlab-ci.yml - build_template/$CI_PROJECT_NAME/bin/07_templates/03_ci_templates/* \ No newline at end of file diff --git a/bin/templates/03_ci_templates/04_CleanUpScript/ci_setting.txt b/bin/templates/03_ci_templates/04_CleanUpScript/ci_setting.txt deleted file mode 100644 index 3368e6d8..00000000 --- a/bin/templates/03_ci_templates/04_CleanUpScript/ci_setting.txt +++ /dev/null @@ -1,54 +0,0 @@ -stages: - - check_setting - - build_templates - -Test_CI_Setting: - stage: check_setting - before_script: - - source activate python36 - - export PYTHONIOENCODING=utf-8 - script: - - python bin/CITests/01_CleanUp/setting_check.py --github-private-key $GITHUB_PRIVATE_KEY --github-token $GITHUB_API_TOKEN - only: - variables: - - $CI_COMMIT_MESSAGE =~ /${ci_setting_commit}/ - except: - refs: - - external_pull_requests - -Create_templates: - stage: build_templates - before_script: - - source activate python36 - - export PYTHONIOENCODING=utf-8 - - pip install pandas toml mako - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - eval $(ssh-agent -s) - - mkdir -p ~/.ssh - - ssh-keyscan github.com >> ~/.ssh/known_hosts - - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - - echo "${GITHUB_PRIVATE_KEY}" > ~/.ssh/id_rsa - - chmod 600 ~/.ssh/id_rsa - - git config --global user.name "${GITLAB_USER_NAME}" - - git config --global user.email "${GITLAB_USER_EMAIL}" - script: - - mkdir build_template && cd build_template - - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:${Github_Repository}.git - - cd $CI_PROJECT_NAME - - python bin/CITests/07_ci_templates/ci_templates.py --setting - - message="Automatic push of CI with new created CI templates. Please pull the new files before push again. [skip ci]" - - git add . - - git commit -m "$message" - - git push git@github.com:${Github_Repository}.git - only: - variables: - - $CI_COMMIT_MESSAGE =~ /${ci_setting_commit}/ - except: - refs: - - external_pull_requests - artifacts: - when: always - paths: - - build_template/$CI_PROJECT_NAME/.gitlab-ci.yml - - build_template/$CI_PROJECT_NAME/bin/07_templates/03_ci_templates/* - diff --git a/bin/templates/03_ci_templates/README.md b/bin/templates/03_ci_templates/README.md deleted file mode 100644 index 37bb744c..00000000 --- a/bin/templates/03_ci_templates/README.md +++ /dev/null @@ -1,12 +0,0 @@ -## How to create your own gitlab CI [templates](../../CITests/07_ci_templates) - -Execute the `python bin/CITests/07_ci_templates/ci_templates.py` command in the root directory of your repository - -Also the variables in the `bin/CITests/_config.py` should be checked before. Important are the variables `image_name` and `variable_main_list`. - -The settings are then stored under `bin/Setting/CI_setting.toml` - -Then the command `python bin/CITests/07_ci_templates/ci_templates.py --setting` must be executed. - -## Libraries that need to be installed -`pip install mako pandas toml matplotlib argparse` \ No newline at end of file diff --git a/bin/templates/03_ci_templates/gitlab-ci.txt b/bin/templates/03_ci_templates/gitlab-ci.txt deleted file mode 100644 index e7cd1849..00000000 --- a/bin/templates/03_ci_templates/gitlab-ci.txt +++ /dev/null @@ -1,18 +0,0 @@ - -image: ${image_name} - -stages: - %for stage in stage_list: - - ${stage} - %endfor - -variables: - %for variable in variable_list: - ${variable} - %endfor - -include: - %for file in file_list: - - '${file}' - %endfor - \ No newline at end of file diff --git a/bin/templates/README.md b/bin/templates/README.md deleted file mode 100644 index 5a44a6a7..00000000 --- a/bin/templates/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# What is it? -Includes templates for creating gitlab ci templates or google charts \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml new file mode 100644 index 00000000..5ad67aa9 --- /dev/null +++ b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml @@ -0,0 +1 @@ +stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 -CM artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2023 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml new file mode 100644 index 00000000..bba66900 --- /dev/null +++ b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml @@ -0,0 +1 @@ +stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - git clone https://github.com/RWTH-EBC/MoCITempGen - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2023 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2023 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\api_script\api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2023 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py --coverage-only artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\api_script\api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2023 -n 2 --modified-models after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install xdg-utils --fix-missing -y - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - export PYTHONIOENCODING=utf-8 - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen\CITests\CI_Configuration\configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py --create-ref -DS 2023 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen\CITests\Converter\google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\api_script\api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml new file mode 100644 index 00000000..8a42611a --- /dev/null +++ b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml @@ -0,0 +1 @@ +stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2023 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml b/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml new file mode 100644 index 00000000..4b512d9b --- /dev/null +++ b/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml @@ -0,0 +1 @@ +stages: - build_ci_whitelist CI_Whitelist_Setting: stage: build_ci_whitelist before_script: - source activate myenv - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir build_whitelist - cd build_whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen\CITests\CI_Configuration\configuration.py create-whitelist - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2023 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2023 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --simulate-examples - message="CI message from ebc-aixlib-bot. Push new created whitelists." - push_model=$(git ls-files --others --exclude-standard --directory dymola-ci-tests) - git add $push_model - git commit -m "$message" - git push --force git@github.com:$Github_Repository.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ except: refs: - external_pull_requests artifacts: paths: - dymola-ci-tests expire_in: 7h \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/cleanupscript/ci_setting.gitlab-ci.yml b/dymola-ci-tests/ci_templates/cleanupscript/ci_setting.gitlab-ci.yml new file mode 100644 index 00000000..213c9d94 --- /dev/null +++ b/dymola-ci-tests/ci_templates/cleanupscript/ci_setting.gitlab-ci.yml @@ -0,0 +1 @@ +stages: - check_setting - build_templates Test_CI_Setting: stage: check_setting before_script: - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - source activate myenv - export PYTHONIOENCODING=utf-8 - pip install toml - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/CleanUp/setting_check.py --github-private-key $GITHUB_PRIVATE_KEY --github-token $GITHUB_API_TOKEN only: variables: - $CI_COMMIT_MESSAGE =~ /ci_setting/ except: refs: - external_pull_requests Create_templates: stage: build_templates before_script: - source activate myenv - export PYTHONIOENCODING=utf-8 - pip install pandas toml mako - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir build_template && cd build_template - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python MoCITempGen/CITests/ci_templates/ci_templates.py --setting - message="CI message from ebc-aixlib-bot. Automatic push of CI with new created CI templates. Please pull the new files before push again." - git add . - git commit -m "$message" - git push git@github.com:$Github_Repository.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_setting/ except: refs: - external_pull_requests artifacts: when: always paths: - build_template/dymola-ci-tests\ci_templates/* \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/deploy/create_CI_path.yml b/dymola-ci-tests/ci_templates/deploy/create_CI_path.yml new file mode 100644 index 00000000..be1214cf --- /dev/null +++ b/dymola-ci-tests/ci_templates/deploy/create_CI_path.yml @@ -0,0 +1 @@ +stages: - build_ci_structure create_ci_structure_job: stage: build_ci_structure before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen/CITests/CleanUp/structure_check.py after_script: - cd $CI_PROJECT_NAME - message="CI message from ebc-aixlib-bot. Add files for ci structure" ; - git add /dymola-ci-tests ; - git commit -m "$message"; - git push git@github.com:$Github_Repository.git ; only: variables: - $CI_COMMIT_MESSAGE =~/ci_build_structure/ retry: max: 2 when: runner_system_failure artifacts: when: on_failure paths: - dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt - dymola-ci-tests\ci_whitelist\ci_html_whitelist.txt - dymola-ci-tests\interact_CI\show_ref.txt - dymola-ci-tests\interact_CI\update_ref.txt - dymola-ci-tests\ci_whitelist\ci_reference_check_whitelist.txt expire_in: 7h \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml b/dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml new file mode 100644 index 00000000..a82b6c02 --- /dev/null +++ b/dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml @@ -0,0 +1 @@ +stages: - deploy pages: stage: deploy before_script: - apt-get update -y - apt-get install zip unzip -y script: - mkdir -p public/$CI_COMMIT_REF_NAME - cp -r $CI_COMMIT_REF_NAME/* public/$CI_COMMIT_REF_NAME artifacts: paths: - public expire_in: 7h except: refs: - main when: always allow_failure: true \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml b/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml new file mode 100644 index 00000000..711548d0 --- /dev/null +++ b/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml @@ -0,0 +1 @@ +stages: - HTML_Check - create_html_whitelist - open_PR variables: Praefix_Branch: correct_HTML_ Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME Correct_check_HTML: stage: HTML_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\SyntaxTests\html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ Open_Pull_HTML_Request: stage: open_PR before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install requests toml - export PYTHONIOENCODING=utf-8 # just in case - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\api_script\api_github.py --github-repo $Github_Repository --working-branch $CI_COMMIT_REF_NAME --github-token $GITHUB_API_TOKEN --create-pr --correct-html except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ HTML_PR_Checks: stage: HTML_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\SyntaxTests\html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main HTML_Check: stage: HTML_Check before_script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\SyntaxTests\html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/MoCITempGen ; python MoCITempGen\CITests\SyntaxTests\html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; echo $message; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ CI_HTML_Check: stage: HTML_Check before_script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\SyntaxTests\html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/MoCITempGen ; python MoCITempGen\CITests\SyntaxTests\html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: variables: - $CI_COMMIT_MESSAGE =~ /ci_html/ html_whitelist_job: stage: create_html_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen ; - python MoCITempGen\CITests\SyntaxTests\html_tidy_errors.py --whitelist - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - git add dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt - git commit -m "$message" - git push git@github.com:$Github_Repository.git artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml b/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml new file mode 100644 index 00000000..ea1043fa --- /dev/null +++ b/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml @@ -0,0 +1 @@ +stages: - Style_check Style_Check_AixLib: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2023 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7 day allow_failure: true only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Development_Style_Check: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\SyntaxTests\StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2023 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: refs: - main CI_Style_Check: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\SyntaxTests\StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2023 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: variables: - $CI_COMMIT_MESSAGE =~ /ci_style_check/ except: refs: - external_pull_requests Style_Check_ChangedModel: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - (git diff --raw --diff-filter=AMT HEAD^1) > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen\CITests\SyntaxTests\StyleChecking.py -s BESMod -p BESMod/package.mo -CM -DS 2023 only: changes: - BESMod/**/* except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html - dymola-ci-tests/Configfiles/ci_changed_model_list.txt expire_in: 7h allow_failure: true \ No newline at end of file diff --git a/startup_om.mos b/startup_om.mos new file mode 100644 index 00000000..b27057af --- /dev/null +++ b/startup_om.mos @@ -0,0 +1,6 @@ +loadFile("D:/04_git/BESMod/installed_dependencies/IBPSA/IBPSA/package.mo"); +loadFile("D:/04_git/BESMod/installed_dependencies/AixLib/AixLib/package.mo"); +loadFile("D:/04_git/BESMod/installed_dependencies/Buildings/Buildings/package.mo"); +loadFile("D:/04_git/BESMod/installed_dependencies/BuildingSystems/BuildingSystems/package.mo"); +loadFile("D:/04_git/BESMod/BESMod/package.mo"); +cd("D:/04_git/BESMod/working_dir") \ No newline at end of file From b9e54c2a7df59cd7c98509e99cbebd723d977dff Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Tue, 10 Oct 2023 16:56:39 +0200 Subject: [PATCH 002/125] use version 2022 --- .gitlab-ci.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/check_model.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/regression_test.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml | 2 +- .../ci_templates/cleanupscript/ci_build_whitelist.yml | 2 +- dymola-ci-tests/ci_templates/syntaxtest/style_check.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6ca2a408..210cdc0b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1 +1 @@ -image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2023-miniconda stages: - check_setting - build_templates - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist - HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/cleanupscript/ci_setting.gitlab-ci.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file +image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - check_setting - build_templates - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist - HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/cleanupscript/ci_setting.gitlab-ci.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml index 5ad67aa9..416ae3a8 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml @@ -1 +1 @@ -stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 -CM artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2023 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file +stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml index bba66900..16285cc3 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml @@ -1 +1 @@ -stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - git clone https://github.com/RWTH-EBC/MoCITempGen - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2023 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2023 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\api_script\api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2023 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py --coverage-only artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\api_script\api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2023 -n 2 --modified-models after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install xdg-utils --fix-missing -y - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - export PYTHONIOENCODING=utf-8 - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen\CITests\CI_Configuration\configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py --create-ref -DS 2023 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen\CITests\Converter\google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\api_script\api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file +stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - git clone https://github.com/RWTH-EBC/MoCITempGen - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\api_script\api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py --coverage-only artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\api_script\api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install xdg-utils --fix-missing -y - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - export PYTHONIOENCODING=utf-8 - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen\CITests\CI_Configuration\configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen\CITests\Converter\google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\api_script\api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml index 8a42611a..12611742 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml @@ -1 +1 @@ -stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2023 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2023 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file +stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2022 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml b/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml index 4b512d9b..a50f73ec 100644 --- a/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml +++ b/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml @@ -1 +1 @@ -stages: - build_ci_whitelist CI_Whitelist_Setting: stage: build_ci_whitelist before_script: - source activate myenv - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir build_whitelist - cd build_whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen\CITests\CI_Configuration\configuration.py create-whitelist - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2023 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2023 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --simulate-examples - message="CI message from ebc-aixlib-bot. Push new created whitelists." - push_model=$(git ls-files --others --exclude-standard --directory dymola-ci-tests) - git add $push_model - git commit -m "$message" - git push --force git@github.com:$Github_Repository.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ except: refs: - external_pull_requests artifacts: paths: - dymola-ci-tests expire_in: 7h \ No newline at end of file +stages: - build_ci_whitelist CI_Whitelist_Setting: stage: build_ci_whitelist before_script: - source activate myenv - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir build_whitelist - cd build_whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen\CITests\CI_Configuration\configuration.py create-whitelist - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --simulate-examples - message="CI message from ebc-aixlib-bot. Push new created whitelists." - push_model=$(git ls-files --others --exclude-standard --directory dymola-ci-tests) - git add $push_model - git commit -m "$message" - git push --force git@github.com:$Github_Repository.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ except: refs: - external_pull_requests artifacts: paths: - dymola-ci-tests expire_in: 7h \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml b/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml index ea1043fa..c9d808aa 100644 --- a/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml +++ b/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml @@ -1 +1 @@ -stages: - Style_check Style_Check_AixLib: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2023 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7 day allow_failure: true only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Development_Style_Check: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\SyntaxTests\StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2023 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: refs: - main CI_Style_Check: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\SyntaxTests\StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2023 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: variables: - $CI_COMMIT_MESSAGE =~ /ci_style_check/ except: refs: - external_pull_requests Style_Check_ChangedModel: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - (git diff --raw --diff-filter=AMT HEAD^1) > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen\CITests\SyntaxTests\StyleChecking.py -s BESMod -p BESMod/package.mo -CM -DS 2023 only: changes: - BESMod/**/* except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html - dymola-ci-tests/Configfiles/ci_changed_model_list.txt expire_in: 7h allow_failure: true \ No newline at end of file +stages: - Style_check Style_Check_AixLib: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7 day allow_failure: true only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Development_Style_Check: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\SyntaxTests\StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: refs: - main CI_Style_Check: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\SyntaxTests\StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: variables: - $CI_COMMIT_MESSAGE =~ /ci_style_check/ except: refs: - external_pull_requests Style_Check_ChangedModel: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - (git diff --raw --diff-filter=AMT HEAD^1) > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen\CITests\SyntaxTests\StyleChecking.py -s BESMod -p BESMod/package.mo -CM -DS 2022 only: changes: - BESMod/**/* except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html - dymola-ci-tests/Configfiles/ci_changed_model_list.txt expire_in: 7h allow_failure: true \ No newline at end of file From df64f7692658b742e32a294af82ec80adf8ff991 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Thu, 7 Dec 2023 13:17:55 +0100 Subject: [PATCH 003/125] fix issue #70 --- BESMod/Examples/BAUSimStudy/BESParameters.mo | 2 +- ...TRY2015_522361130393_Jahr_City_Potsdam.mos | 0 BESMod/Resources/weatherDataPotsdam.mos | 8800 ----------------- .../Generation/Tests/PartialTest.mo | 2 +- .../Electrical/Tests/ElectricalSystem.mo | 2 +- .../ExampleSystemParameters.mo | 2 +- 6 files changed, 4 insertions(+), 8804 deletions(-) rename BESMod/Resources/{ => WeatherData}/TRY2015_522361130393_Jahr_City_Potsdam.mos (100%) delete mode 100644 BESMod/Resources/weatherDataPotsdam.mos diff --git a/BESMod/Examples/BAUSimStudy/BESParameters.mo b/BESMod/Examples/BAUSimStudy/BESParameters.mo index 8cb55820..4c4287a8 100644 --- a/BESMod/Examples/BAUSimStudy/BESParameters.mo +++ b/BESMod/Examples/BAUSimStudy/BESParameters.mo @@ -2,7 +2,7 @@ within BESMod.Examples.BAUSimStudy; record BESParameters extends Systems.RecordsCollection.SystemParametersBaseDataDefinition( use_elecHeating=false, - final filNamWea=Modelica.Utilities.Files.loadResource("modelica://BESMod/Resources/TRY2015_522361130393_Jahr_City_Potsdam.mos"), + final filNamWea=Modelica.Utilities.Files.loadResource("modelica://BESMod/Resources/WeatherData/TRY2015_522361130393_Jahr_City_Potsdam.mos"), final TAmbVen=min(TSetZone_nominal), final TAmbHyd=min(TSetZone_nominal), final TDHWWaterCold=283.15, diff --git a/BESMod/Resources/TRY2015_522361130393_Jahr_City_Potsdam.mos b/BESMod/Resources/WeatherData/TRY2015_522361130393_Jahr_City_Potsdam.mos similarity index 100% rename from BESMod/Resources/TRY2015_522361130393_Jahr_City_Potsdam.mos rename to BESMod/Resources/WeatherData/TRY2015_522361130393_Jahr_City_Potsdam.mos diff --git a/BESMod/Resources/weatherDataPotsdam.mos b/BESMod/Resources/weatherDataPotsdam.mos deleted file mode 100644 index ed60cb84..00000000 --- a/BESMod/Resources/weatherDataPotsdam.mos +++ /dev/null @@ -1,8800 +0,0 @@ -#1 -double tab1(8760,30) -#LOCATION,San Francisco Intl Ap,CA,USA,TMY3,724940,37.62,-122.40,-8.0,2.0 -#DESIGN CONDITIONS,1,Climate Design Data 2009 ASHRAE Handbook,,Heating,1,3.8,4.9,-3.7,2.8,10.7,-1.2,3.4,11.2,12.9,12.1,11.6,12.2,2.2,150,Cooling,8,8.5,28.3,17.2,25.7,16.7,23.6,16.2,18.6,25.7,17.8,23.9,17,22.4,5.9,310,16.1,11.5,19.9,15.3,10.9,19.2,14.7,10.4,18.7,52.4,25.8,49.8,23.8,47.6,22.4,2038,Extremes,12.8,11.5,10.6,22.3,1.8,34.6,1.5,2.3,0.8,36.2,-0.1,37.5,-0.9,38.8,-1.9,40.5 -#TYPICAL/EXTREME PERIODS,6,Summer - Week Nearest Max Temperature For Period,Extreme,8/ 1,8/ 7,Summer - Week Nearest Average Temperature For Period,Typical,9/ 5,9/11,Winter - Week Nearest Min Temperature For Period,Extreme,2/ 1,2/ 7,Winter - Week Nearest Average Temperature For Period,Typical,2/15,2/21,Autumn - Week Nearest Average Temperature For Period,Typical,12/ 6,12/12,Spring - Week Nearest Average Temperature For Period,Typical,5/29,6/ 4 -#GROUND TEMPERATURES,3,.5,,,,10.86,10.57,11.08,11.88,13.97,15.58,16.67,17.00,16.44,15.19,13.51,11.96,2,,,,11.92,11.41,11.51,11.93,13.33,14.60,15.61,16.15,16.03,15.32,14.17,12.95,4,,,,12.79,12.27,12.15,12.31,13.10,13.96,14.74,15.28,15.41,15.10,14.42,13.60 -#HOLIDAYS/DAYLIGHT SAVINGS,No,0,0,0 -#COMMENTS 1,Custom/User Format -- WMO#724940; NREL TMY Data Set (2008); Period of Record 1973-2005 (Generally) -#COMMENTS 2, -- Ground temps produced with a standard soil diffusivity of 2.3225760E-03 {m**2/day} -#DATA PERIODS,1,1,Data,Sunday, 1/ 1,12/31 -#C1 Time in seconds. Beginning of a year is 0s. -#C2 Dry bulb temperature in Celsius at indicated time -#C3 Dew point temperature in Celsius at indicated time -#C4 Relative humidity in percent at indicated time -#C5 Atmospheric station pressure in Pa at indicated time -#C6 Extraterrestrial horizontal radiation in Wh/m2 -#C7 Extraterrestrial direct normal radiation in Wh/m2 -#C8 Horizontal infrared radiation intensity in Wh/m2 -#C9 Global horizontal radiation in Wh/m2 -#C10 Direct normal radiation in Wh/m2 -#C11 Diffuse horizontal radiation in Wh/m2 -#C12 Averaged global horizontal illuminance in lux during minutes preceding the indicated time -#C13 Direct normal illuminance in lux during minutes preceding the indicated time -#C14 Diffuse horizontal illuminance in lux during minutes preceding the indicated time -#C15 Zenith luminance in Cd/m2 during minutes preceding the indicated time -#C16 Wind direction at indicated time. N=0, E=90, S=180, W=270 -#C17 Wind speed in m/s at indicated time -#C18 Total sky cover at indicated time -#C19 Opaque sky cover at indicated time -#C20 Visibility in km at indicated time -#C21 Ceiling height in m -#C22 Present weather observation -#C23 Present weather codes -#C24 Precipitable water in mm -#C25 Aerosol optical depth -#C26 Snow depth in cm -#C27 Days since last snowfall -#C28 Albedo -#C29 Liquid precipitation depth in mm at indicated time -#C30 Liquid precipitation quantity -0.0 7.2 5.6 90 102200 0 0 290 0 0 0 0 0 0 0 0 0.0 2 2 16.0 2000 9 999999999 130 0.1080 0 88 0.160 0.0 1.0 -3600.0 7.2 5.6 90 102200 0 0 290 0 0 0 0 0 0 0 0 0.0 2 2 16.0 2000 9 999999999 130 0.1080 0 88 0.160 0.0 1.0 -7200.0 7.2 5.6 90 102100 0 0 296 0 0 0 0 0 0 0 170 2.1 4 4 16.0 2000 9 999999999 120 0.1080 0 88 0.160 0.0 1.0 -10800.0 6.7 5.0 89 102200 0 0 291 0 0 0 0 0 0 0 210 2.1 3 3 16.0 2000 9 999999999 120 0.1080 0 88 0.160 0.0 1.0 -14400.0 6.1 5.0 93 102200 0 0 276 0 0 0 0 0 0 0 200 1.5 0 0 16.0 2000 9 999999999 120 0.1080 0 88 0.160 0.0 1.0 -18000.0 4.4 3.9 97 102200 0 0 280 0 0 0 0 0 0 0 260 3.1 3 3 16.0 2000 9 999999999 120 0.1080 0 88 0.160 0.0 1.0 -21600.0 4.4 3.9 97 102200 0 0 280 0 0 0 0 0 0 0 180 2.1 3 3 16.0 2000 9 999999999 120 0.1080 0 88 0.160 0.0 1.0 -25200.0 6.1 4.4 89 102200 0 0 287 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 120 0.1080 0 88 0.160 0.0 1.0 -28800.0 5.0 2.8 86 102200 36 790 281 2 69 1 504 3875 311 41 0 0.0 3 3 16.0 2000 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -32400.0 7.8 5.0 82 102300 243 1415 295 121 477 39 12563 34617 6571 716 0 0.0 3 3 16.0 7620 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -36000.0 8.9 6.7 86 102300 443 1415 299 276 651 71 28679 58368 10324 1351 0 0.0 2 2 16.0 7620 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -39600.0 9.4 7.2 86 102300 590 1415 292 387 677 104 40253 64609 13200 2054 30 1.5 0 0 16.0 2000 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -43200.0 10.0 7.2 83 102200 674 1415 294 419 542 159 44186 53883 18408 3286 40 1.5 0 0 16.0 2000 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -46800.0 10.6 7.8 83 102200 689 1415 297 417 532 156 44202 53123 18205 3240 50 1.5 0 0 16.0 2000 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -50400.0 11.1 8.3 83 102100 635 1415 300 397 543 152 41781 53394 17707 3081 0 0.0 0 0 16.0 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -54000.0 13.9 4.4 53 102000 515 1415 308 352 643 117 35789 58730 14318 2124 0 0.0 0 0 16.0 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -57600.0 13.9 2.8 47 102100 337 1415 306 204 449 97 20844 36266 12159 1832 330 3.1 0 0 16.0 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -61200.0 11.1 6.7 74 102100 116 1415 298 0 0 0 0 0 0 0 350 3.1 0 0 16.0 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -64800.0 11.1 5.6 69 102100 0 12 297 0 0 0 0 0 0 0 310 1.5 0 0 16.0 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -68400.0 10.6 2.8 58 102100 0 0 292 0 0 0 0 0 0 0 270 1.5 0 0 16.0 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -72000.0 10.6 3.3 61 102200 0 0 293 0 0 0 0 0 0 0 200 2.1 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -75600.0 8.9 2.8 66 102200 0 0 285 0 0 0 0 0 0 0 200 2.1 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -79200.0 9.4 2.2 61 102200 0 0 287 0 0 0 0 0 0 0 250 2.1 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -82800.0 7.8 3.9 76 102200 0 0 282 0 0 0 0 0 0 0 170 1.5 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -86400.0 6.7 3.9 82 102200 0 0 277 0 0 0 0 0 0 0 120 2.6 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -90000.0 8.9 6.1 83 102200 0 0 288 0 0 0 0 0 0 0 70 2.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -93600.0 6.1 2.8 79 102200 0 0 279 0 0 0 0 0 0 0 0 0.0 2 1 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -97200.0 5.6 3.3 85 102200 0 0 278 0 0 0 0 0 0 0 0 0.0 1 1 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -100800.0 3.9 1.7 86 102100 0 0 276 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -104400.0 5.6 3.3 85 102100 0 0 273 0 0 0 0 0 0 0 190 1.5 0 0 12.8 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -108000.0 7.2 3.9 80 102100 0 0 279 0 0 0 0 0 0 0 100 3.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -111600.0 7.8 2.8 71 102100 0 0 281 0 0 0 0 0 0 0 130 4.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -115200.0 7.2 3.9 80 102100 36 790 279 2 72 1 500 4000 300 400 130 5.7 0 0 14.4 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -118800.0 10.6 2.8 58 102100 243 1415 292 114 402 45 11700 28900 6700 8100 110 6.2 0 0 14.4 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -122400.0 11.7 3.3 56 102100 443 1415 297 271 590 85 27800 52400 11300 15700 120 5.2 0 0 14.4 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -126000.0 13.9 1.7 44 102100 591 1415 305 349 490 144 36700 47500 16700 28600 100 3.6 1 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -129600.0 13.9 2.8 47 102000 675 1415 312 453 667 133 46800 64800 15800 26900 100 4.1 2 1 16.0 7620 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -133200.0 13.9 3.9 51 101900 691 1415 313 466 708 119 48700 69500 14700 24900 0 0.0 2 1 16.0 7620 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -136800.0 13.9 4.4 53 101800 638 1415 314 370 395 191 39300 40100 21100 42000 40 2.1 2 1 16.0 7620 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -140400.0 12.2 7.8 74 101800 518 1415 310 313 508 127 32800 47700 15300 24600 40 2.1 2 1 16.0 7620 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -144000.0 12.8 5.6 62 101800 340 1415 310 202 410 103 20500 33200 12500 19600 350 3.1 1 1 16.0 7620 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -147600.0 11.1 7.2 77 101700 120 1415 299 0 0 0 0 0 0 0 360 4.1 1 0 14.4 7620 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -151200.0 10.6 6.7 77 101800 0 35 306 0 0 0 0 0 0 0 0 0.0 3 2 16.0 7620 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -154800.0 11.7 4.4 61 101800 0 0 298 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -158400.0 11.7 2.8 54 101800 0 0 297 0 0 0 0 0 0 0 150 1.5 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -162000.0 10.0 5.6 74 101800 0 0 292 0 0 0 0 0 0 0 80 1.5 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -165600.0 8.9 6.7 86 101800 0 0 289 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -169200.0 9.4 6.1 80 101900 0 0 290 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -172800.0 8.9 4.4 73 101900 0 0 287 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -176400.0 9.4 6.1 80 101900 0 0 290 0 0 0 0 0 0 0 90 2.6 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -180000.0 10.0 4.4 68 101900 0 0 291 0 0 0 0 0 0 0 90 5.2 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -183600.0 12.2 2.8 53 101900 0 0 299 0 0 0 0 0 0 0 60 1.5 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -187200.0 13.9 1.1 42 101900 0 0 304 0 0 0 0 0 0 0 50 8.2 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -190800.0 12.8 2.8 51 101900 0 0 301 0 0 0 0 0 0 0 40 11.3 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -194400.0 12.2 2.8 53 102000 0 0 299 0 0 0 0 0 0 0 30 10.3 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -198000.0 11.1 3.3 59 102000 0 0 295 0 0 0 0 0 0 0 30 10.3 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -201600.0 11.1 2.2 54 102100 36 790 294 2 68 1 500 3800 300 400 50 8.2 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -205200.0 11.7 1.7 50 102200 243 1415 296 107 328 51 11300 22900 7400 9100 80 4.1 0 0 16.0 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -208800.0 13.3 1.1 43 102200 444 1415 302 247 438 109 25700 39300 13300 20600 110 2.6 0 0 16.0 7620 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -212400.0 12.2 3.9 57 102200 592 1415 300 349 508 136 36900 49300 16200 26900 80 4.1 0 0 16.0 7620 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -216000.0 15.0 1.1 39 102200 677 1415 315 378 369 200 40200 37900 22000 44700 110 2.6 1 1 16.0 7620 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -219600.0 15.6 1.1 37 102100 694 1415 322 416 520 160 44100 52000 18500 33400 130 2.1 3 2 16.0 7620 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -223200.0 16.1 -0.6 32 102100 640 1415 318 389 500 162 40800 49200 18400 33100 0 0.0 2 1 16.0 7620 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -226800.0 16.1 -0.6 32 102200 521 1415 318 282 353 151 29800 34100 17200 31500 90 1.5 1 1 16.0 7620 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -230400.0 13.9 2.8 47 102200 344 1415 312 169 226 114 17600 18600 13000 23400 70 2.1 2 1 16.0 7620 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -234000.0 13.9 0.6 40 102200 123 1415 314 0 0 0 0 0 0 0 0 0.0 2 2 16.0 7620 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -237600.0 12.8 1.1 45 102200 0 35 305 0 0 0 0 0 0 0 150 2.1 1 1 16.0 7620 9 999999999 120 0.1080 0 88 0.160 0.0 1.0 -241200.0 12.2 0.6 45 102300 0 0 302 0 0 0 0 0 0 0 120 1.5 1 1 16.0 2000 9 999999999 120 0.1080 0 88 0.160 0.0 1.0 -244800.0 10.6 3.9 63 102400 0 0 303 0 0 0 0 0 0 0 0 0.0 4 2 16.0 7620 9 999999999 120 0.1080 0 88 0.160 0.0 1.0 -248400.0 10.0 1.7 56 102400 0 0 298 0 0 0 0 0 0 0 120 2.1 5 2 16.0 7620 9 999999999 120 0.1080 0 88 0.160 0.0 1.0 -252000.0 8.9 7.2 89 102500 0 0 299 0 0 0 0 0 0 0 0 0.0 5 2 16.0 7620 9 999999999 130 0.1080 0 88 0.160 0.0 1.0 -255600.0 8.9 7.2 89 102500 0 0 299 0 0 0 0 0 0 0 350 2.6 4 2 14.4 7620 9 999999999 130 0.1080 0 88 0.160 0.0 1.0 -259200.0 8.9 6.7 86 102600 0 0 295 0 0 0 0 0 0 0 360 4.6 2 1 14.4 7620 9 999999999 130 0.1080 0 88 0.160 0.0 1.0 -262800.0 8.3 6.1 86 102600 0 0 301 0 0 0 0 0 0 0 0 0.0 4 4 12.8 9144 9 999999999 130 0.1080 0 88 0.160 0.0 1.0 -266400.0 7.8 6.1 89 102600 0 0 289 0 0 0 0 0 0 0 0 0.0 2 1 12.8 9144 9 999999999 130 0.1080 0 88 0.160 0.0 1.0 -270000.0 8.3 6.7 90 102600 0 0 296 0 0 0 0 0 0 0 360 2.6 3 2 12.8 9144 9 999999999 140 0.1080 0 88 0.160 0.0 1.0 -273600.0 6.1 5.0 93 102600 0 0 281 0 0 0 0 0 0 0 0 0.0 2 1 11.2 9144 9 999999999 140 0.1080 0 88 0.160 0.0 1.0 -277200.0 4.4 3.3 93 102600 0 0 273 0 0 0 0 0 0 0 170 1.5 2 1 9.6 9144 9 999999999 140 0.1080 0 88 0.160 0.0 1.0 -280800.0 6.1 5.0 93 102600 0 0 281 0 0 0 0 0 0 0 0 0.0 2 1 9.6 9144 9 999999999 130 0.1080 0 88 0.160 0.0 1.0 -284400.0 5.0 4.4 96 102700 0 0 276 0 0 0 0 0 0 0 0 0.0 2 1 9.6 2000 9 999999999 130 0.1080 0 88 0.160 0.0 1.0 -288000.0 6.7 4.4 85 102700 36 790 283 2 51 1 400 2900 300 400 100 1.5 1 1 6.4 9144 9 999999999 130 0.1080 0 88 0.160 0.0 1.0 -291600.0 8.3 5.6 83 102800 243 1415 295 93 189 61 9900 13100 7600 11500 20 4.1 3 2 8.0 2000 9 999999999 120 0.1080 0 88 0.160 0.0 1.0 -295200.0 8.9 5.0 77 102800 444 1415 300 157 73 134 17200 6700 15100 34900 10 4.1 6 3 11.2 6096 9 999999999 120 0.1080 0 88 0.160 0.0 1.0 -298800.0 8.9 5.0 77 102800 593 1415 302 242 105 198 26500 10300 22200 54300 10 3.1 8 4 11.2 5486 9 999999999 120 0.1080 0 88 0.160 0.0 1.0 -302400.0 10.0 5.0 71 102700 679 1415 316 401 411 203 42700 42300 22400 45600 30 2.1 9 7 11.2 6096 9 999999999 120 0.1080 0 88 0.160 0.0 1.0 -306000.0 10.6 5.6 71 102700 696 1415 305 360 272 226 38200 28100 24300 52100 10 1.5 3 2 12.8 7620 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -309600.0 10.6 5.6 71 102600 643 1415 308 409 494 184 42300 48500 20200 38300 0 0.0 4 3 14.4 7620 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -313200.0 10.0 6.7 80 102600 524 1415 309 228 122 183 24600 11700 20200 42300 20 2.1 4 4 14.4 7620 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -316800.0 10.6 7.8 83 102500 347 1415 310 157 102 132 17100 9000 14900 30500 10 2.6 3 3 14.4 7620 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -320400.0 10.0 7.8 86 102500 126 1415 300 0 0 0 0 0 0 0 0 0.0 2 1 14.4 7620 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -324000.0 10.0 6.7 80 102600 0 59 294 0 0 0 0 0 0 0 0 0.0 0 0 14.4 7620 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -327600.0 9.4 6.7 83 102600 0 0 291 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -331200.0 9.4 6.1 80 102600 0 0 290 0 0 0 0 0 0 0 0 0.0 0 0 16.0 7620 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -334800.0 8.9 6.7 86 102600 0 0 295 0 0 0 0 0 0 0 70 1.5 2 1 16.0 7620 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -338400.0 8.9 6.7 86 102700 0 0 302 0 0 0 0 0 0 0 20 1.5 4 3 16.0 7620 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -342000.0 7.2 5.0 86 102700 0 0 295 0 0 0 0 0 0 0 130 2.6 6 4 14.4 7620 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -345600.0 8.3 6.7 90 102700 0 0 299 0 0 0 0 0 0 0 360 3.1 4 3 12.8 6096 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -349200.0 7.8 6.1 89 102700 0 0 293 0 0 0 0 0 0 0 10 2.1 3 2 9.6 7620 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -352800.0 7.8 6.1 89 102700 0 0 293 0 0 0 0 0 0 0 20 2.1 2 2 11.2 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -356400.0 5.0 3.9 93 102700 0 0 280 0 0 0 0 0 0 0 0 0.0 2 2 8.0 7620 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -360000.0 3.9 3.3 96 102600 0 0 275 0 0 0 0 0 0 0 190 1.5 2 2 9.6 2000 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -363600.0 4.4 3.9 97 102600 0 0 277 0 0 0 0 0 0 0 0 0.0 2 2 9.6 2000 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -367200.0 3.9 3.3 96 102600 0 0 275 0 0 0 0 0 0 0 0 0.0 2 2 11.2 2000 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -370800.0 6.1 5.0 93 102600 0 0 281 0 0 0 0 0 0 0 360 2.1 1 1 9.6 2000 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -374400.0 6.7 5.6 93 102600 36 790 284 1 29 1 300 1600 200 400 360 4.1 1 1 11.2 7620 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -378000.0 7.2 6.1 93 102700 244 1415 282 100 263 55 10500 18400 7300 9900 360 2.6 1 0 6.4 7620 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -381600.0 7.2 6.1 93 102700 445 1415 287 199 191 139 21500 17600 16000 31300 10 3.6 2 1 6.4 7620 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -385200.0 8.3 5.6 83 102700 594 1415 295 371 514 154 38700 49800 17600 30900 10 3.6 3 2 8.0 7620 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -388800.0 8.9 5.0 77 102600 681 1415 297 435 607 142 44800 58800 16400 28500 10 3.6 3 2 9.6 7620 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -392400.0 9.4 5.0 74 102400 699 1415 295 471 750 100 50000 74300 13200 21600 20 2.1 2 1 9.6 7620 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -396000.0 10.6 6.1 74 102300 646 1415 301 456 765 105 47800 74500 13600 21600 360 2.1 1 1 9.6 7620 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -399600.0 11.1 7.8 80 102300 527 1415 309 357 647 114 36400 59600 14000 21000 360 3.6 2 2 6.4 7620 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -403200.0 10.0 7.2 83 102300 351 1415 294 218 486 97 22300 39900 12400 18300 360 2.1 0 0 6.4 2000 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -406800.0 10.6 6.7 77 102300 130 1415 296 0 0 0 0 0 0 0 0 0.0 1 0 8.0 7620 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -410400.0 9.4 6.7 83 102300 0 83 301 0 0 0 0 0 0 0 30 1.5 3 2 9.6 6096 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -414000.0 8.9 6.1 83 102400 0 0 294 0 0 0 0 0 0 0 0 0.0 2 1 11.2 2000 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -417600.0 8.9 5.0 77 102400 0 0 287 0 0 0 0 0 0 0 0 0.0 1 0 11.2 2000 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -421200.0 7.8 4.4 79 102400 0 0 292 0 0 0 0 0 0 0 150 1.5 2 2 11.2 7620 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -424800.0 8.3 6.1 86 102400 0 0 295 0 0 0 0 0 0 0 10 2.1 3 2 11.2 5486 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -428400.0 7.8 5.6 86 102400 0 0 293 0 0 0 0 0 0 0 360 3.1 5 2 9.6 7620 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -432000.0 7.2 5.6 90 102400 0 0 293 0 0 0 0 0 0 0 360 3.1 5 3 8.0 2000 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -435600.0 7.2 5.0 86 102400 0 0 293 0 0 0 0 0 0 0 360 2.6 5 3 9.6 7620 9 999999999 60 0.1080 0 88 0.160 0.0 1.0 -439200.0 6.7 5.0 89 102400 0 0 288 0 0 0 0 0 0 0 360 3.6 4 2 9.6 7620 9 999999999 60 0.1080 0 88 0.160 0.0 1.0 -442800.0 6.7 5.0 89 102400 0 0 291 0 0 0 0 0 0 0 360 3.6 6 3 8.0 7620 9 999999999 60 0.1080 0 88 0.160 0.0 1.0 -446400.0 6.7 5.0 89 102300 0 0 293 0 0 0 0 0 0 0 360 3.6 6 4 9.6 7620 9 999999999 60 0.1080 0 88 0.160 0.0 1.0 -450000.0 6.1 5.0 93 102300 0 0 290 0 0 0 0 0 0 0 360 3.1 5 4 9.6 7620 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -453600.0 6.1 3.9 86 102300 0 0 284 0 0 0 0 0 0 0 0 0.0 2 2 9.6 2000 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -457200.0 5.6 3.9 89 102300 0 0 278 0 0 0 0 0 0 0 20 2.6 1 1 9.6 2000 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -460800.0 5.0 3.9 93 102300 36 790 282 2 71 1 500 4000 300 400 20 2.1 4 3 8.0 6096 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -464400.0 5.6 3.9 89 102300 244 1415 292 114 387 47 11600 27800 6800 8300 10 2.1 6 6 8.0 5486 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -468000.0 6.1 3.9 86 102400 446 1415 289 256 455 112 26600 40800 13700 21300 360 4.6 5 4 6.4 4877 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -471600.0 6.7 3.3 79 102400 596 1415 289 290 233 191 31400 23100 21600 45300 360 3.1 3 3 8.0 5486 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -475200.0 6.7 3.3 79 102300 683 1415 291 244 60 215 26800 6000 23900 62900 30 2.6 5 4 9.6 7620 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -478800.0 7.2 3.3 76 102200 701 1415 291 446 526 185 46700 52500 20600 39400 0 0.0 4 3 11.2 7620 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -482400.0 7.8 3.3 73 102200 649 1415 296 402 512 166 42100 50500 18800 34100 10 1.5 5 4 12.8 7620 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -486000.0 8.3 4.4 76 102100 531 1415 294 333 532 133 34800 50200 15900 25900 20 2.6 3 2 11.2 7620 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -489600.0 8.3 3.9 74 102100 354 1415 289 227 397 127 23400 33100 15100 26600 20 1.5 1 1 11.2 2000 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -493200.0 8.3 4.4 76 102100 134 1415 290 0 0 0 0 0 0 0 10 1.5 2 1 12.8 5486 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -496800.0 8.3 5.0 80 102100 1 106 320 0 0 0 0 0 0 0 360 2.1 9 9 12.8 5486 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -500400.0 8.3 5.0 80 102100 0 0 294 0 0 0 0 0 0 0 340 1.5 2 2 12.8 5486 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -504000.0 7.8 4.4 79 102100 0 0 295 0 0 0 0 0 0 0 0 0.0 5 3 12.8 5486 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -507600.0 6.7 4.4 85 102100 0 0 297 0 0 0 0 0 0 0 160 2.1 7 6 16.0 7620 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -511200.0 6.7 4.4 85 102200 0 0 305 0 0 0 0 0 0 0 0 0.0 8 8 14.4 7620 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -514800.0 10.0 8.3 89 102200 0 0 341 0 0 0 0 0 0 0 250 5.7 10 10 16.0 274 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -518400.0 8.9 7.2 89 102100 0 0 304 0 0 0 0 0 0 0 260 4.1 4 4 16.0 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -522000.0 9.4 7.8 90 102100 0 0 307 0 0 0 0 0 0 0 270 4.1 4 4 16.0 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -525600.0 8.9 7.8 93 102100 0 0 319 0 0 0 0 0 0 0 210 1.5 8 8 12.8 366 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -529200.0 6.1 6.1 100 102200 0 0 291 0 0 0 0 0 0 0 140 1.5 4 4 14.4 2000 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -532800.0 6.7 5.6 93 102100 0 0 293 0 0 0 0 0 0 0 260 1.5 4 4 12.8 2000 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -536400.0 7.2 6.1 93 102100 0 0 294 0 0 0 0 0 0 0 280 2.6 3 3 16.0 2000 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -540000.0 8.3 6.7 90 102100 0 0 315 0 0 0 0 0 0 0 20 1.5 8 8 16.0 671 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -543600.0 7.8 7.2 96 102100 0 0 329 0 0 0 0 0 0 0 0 0.0 10 10 16.0 610 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -547200.0 8.9 6.7 86 102100 36 790 334 1 0 1 100 0 100 400 70 1.5 10 10 16.0 610 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -550800.0 8.9 7.2 89 102200 245 1415 334 48 0 48 5500 0 5500 17300 80 2.1 10 10 16.0 549 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -554400.0 10.0 6.7 80 102200 447 1415 339 104 0 104 11800 0 11800 39300 350 2.1 10 10 16.0 549 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -558000.0 7.8 6.7 93 102200 597 1415 328 209 58 185 23000 5700 20600 51900 350 5.7 10 10 4.0 549 9 999999999 110 0.1080 0 88 0.160 0.0 1.0 -561600.0 7.8 6.7 93 102200 685 1415 328 87 0 87 10500 0 10500 40600 360 5.7 10 10 4.0 549 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -565200.0 8.9 6.7 86 102100 704 1415 334 198 18 189 22600 1500 21900 76300 350 3.1 10 10 6.4 579 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -568800.0 8.9 6.7 86 102100 653 1415 334 334 259 214 35300 26400 23100 48400 350 3.1 10 10 8.0 579 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -572400.0 10.0 7.8 86 102100 535 1415 340 234 141 181 25300 13600 20100 42000 360 4.1 10 10 9.6 518 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -576000.0 9.4 7.2 86 102100 358 1415 307 225 309 146 23000 25800 16400 31800 360 3.1 4 4 11.2 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -579600.0 8.9 6.7 86 102100 137 1415 304 0 0 0 0 0 0 0 360 2.6 4 4 11.2 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -583200.0 8.3 6.7 90 102100 1 130 299 0 0 0 0 0 0 0 340 4.1 3 3 9.6 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -586800.0 7.8 6.1 89 102200 0 0 296 0 0 0 0 0 0 0 360 4.1 3 3 9.6 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -590400.0 7.2 6.1 93 102200 0 0 294 0 0 0 0 0 0 0 360 3.6 3 3 8.0 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -594000.0 6.7 6.1 96 102200 0 0 292 0 0 0 0 0 0 0 360 3.1 3 3 6.4 2000 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -597600.0 6.7 6.1 96 102200 0 0 299 0 0 0 0 0 0 0 0 0.0 6 6 6.4 183 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -601200.0 6.1 6.1 100 102300 0 0 320 0 0 0 0 0 0 0 40 2.1 10 10 3.2 91 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -604800.0 5.6 5.6 100 102300 0 0 317 0 0 0 0 0 0 0 0 0.0 10 10 0.4 30 9 999999999 100 0.1080 0 88 0.160 0.0 1.0 -608400.0 5.6 5.6 100 102300 0 0 317 0 0 0 0 0 0 0 0 0.0 10 10 0.4 30 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -612000.0 5.0 5.0 100 102300 0 0 314 0 0 0 0 0 0 0 30 1.5 10 10 0.3 30 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -615600.0 5.0 5.0 100 102300 0 0 314 0 0 0 0 0 0 0 0 0.0 10 10 0.3 30 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -619200.0 5.0 5.0 100 102300 0 0 314 0 0 0 0 0 0 0 40 1.5 10 10 0.4 30 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -622800.0 4.4 4.4 100 102300 0 0 310 0 0 0 0 0 0 0 130 1.5 10 10 0.4 30 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -626400.0 4.4 4.4 100 102300 0 0 310 0 0 0 0 0 0 0 90 2.1 10 10 0.4 30 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -630000.0 3.9 3.9 100 102300 0 0 308 0 0 0 0 0 0 0 120 2.1 10 10 0.3 30 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -633600.0 3.9 3.9 100 102400 36 790 308 2 69 1 500 3900 300 400 0 0.0 10 10 0.3 30 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -637200.0 4.0 4.0 100 102500 245 1415 308 121 462 41 12500 33600 6700 7500 150 1.5 10 10 2.0 30 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -640800.0 7.8 2.8 71 102500 448 1415 281 280 657 71 29200 59100 10300 13600 90 2.1 0 0 14.0 2000 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -644400.0 9.0 2.0 61 102500 599 1415 285 403 724 95 42200 69700 12600 19200 60 2.6 0 0 16.1 2000 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -648000.0 10.0 5.0 71 102400 688 1415 292 481 768 106 50600 75700 13700 22500 10 1.5 0 0 16.1 2000 9 999999999 90 0.1080 0 88 0.160 0.0 1.0 -651600.0 13.0 1.0 44 102300 707 1415 300 501 786 107 52900 77800 13900 23100 80 2.1 0 0 16.1 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -655200.0 12.0 4.0 58 102400 656 1415 299 414 561 153 43800 55500 17900 31300 0 0.0 0 0 16.1 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -658800.0 14.0 0.0 38 102300 538 1415 303 369 556 156 37900 52500 17800 31000 0 0.0 0 0 16.1 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -662400.0 13.9 0.6 40 102300 362 1415 304 203 330 118 21100 27900 13900 24200 0 0.0 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -666000.0 10.6 5.6 71 102300 141 1415 295 0 0 0 0 0 0 0 60 3.1 0 0 14.4 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -669600.0 11.7 1.7 50 102400 1 153 296 0 0 0 0 0 0 0 110 1.5 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -673200.0 10.0 3.9 66 102400 0 0 291 0 0 0 0 0 0 0 80 3.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -676800.0 8.9 5.0 77 102400 0 0 293 0 0 0 0 0 0 0 110 3.6 1 1 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -680400.0 8.9 4.4 73 102400 0 0 287 0 0 0 0 0 0 0 100 3.6 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -684000.0 9.4 5.0 74 102400 0 0 289 0 0 0 0 0 0 0 90 4.1 1 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -687600.0 9.4 2.8 63 102400 0 0 287 0 0 0 0 0 0 0 100 4.6 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.160 0.0 1.0 -691200.0 8.9 3.3 68 102300 0 0 286 0 0 0 0 0 0 0 100 4.1 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.160 0.0 1.0 -694800.0 7.8 2.2 68 102400 0 0 280 0 0 0 0 0 0 0 100 3.1 0 0 16.0 2000 9 999999999 70 0.1090 0 88 0.160 0.0 1.0 -698400.0 10.0 3.9 66 102500 0 0 291 0 0 0 0 0 0 0 50 3.1 0 0 16.0 2000 9 999999999 70 0.1090 0 88 0.160 0.0 1.0 -702000.0 8.3 2.2 65 102500 0 0 294 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 70 0.1090 0 88 0.160 0.0 1.0 -705600.0 6.1 2.2 76 102500 0 0 273 0 0 0 0 0 0 0 140 2.6 0 0 16.0 2000 9 999999999 70 0.1090 0 88 0.160 0.0 1.0 -709200.0 7.2 4.4 82 102500 0 0 280 0 0 0 0 0 0 0 360 4.1 0 0 16.0 2000 9 999999999 70 0.1090 0 88 0.160 0.0 1.0 -712800.0 6.7 3.9 82 102500 0 0 277 0 0 0 0 0 0 0 350 2.6 0 0 16.0 2000 9 999999999 70 0.1090 0 88 0.160 0.0 1.0 -716400.0 6.1 3.9 86 102600 0 0 275 0 0 0 0 0 0 0 360 2.1 0 0 11.2 2000 9 999999999 70 0.1090 0 88 0.160 0.0 1.0 -720000.0 6.1 3.3 82 102600 36 790 274 2 70 1 500 3900 300 400 360 2.6 0 0 8.0 2000 9 999999999 80 0.1090 0 88 0.160 0.0 1.0 -723600.0 7.0 4.0 81 102600 246 1415 279 118 422 44 12100 30600 6700 7900 10 4.1 0 0 6.4 2000 9 999999999 80 0.1090 0 88 0.160 0.0 1.0 -727200.0 7.2 2.8 74 102700 450 1415 278 261 528 92 26600 46900 11700 16700 10 1.5 0 0 8.0 2000 9 999999999 80 0.1090 0 88 0.160 0.0 1.0 -730800.0 8.0 3.0 71 102700 601 1415 287 381 607 122 39200 57700 14600 23600 0 0.0 1 1 8.0 7500 9 999999999 80 0.1090 0 88 0.160 0.0 1.0 -734400.0 8.0 5.0 81 102600 690 1415 289 452 655 131 46900 63900 15600 26900 10 3.1 3 1 6.4 7500 9 999999999 80 0.1090 0 88 0.160 0.0 1.0 -738000.0 9.0 4.0 71 102500 710 1415 292 501 719 139 51900 70300 16500 28800 10 3.1 3 1 6.4 7500 9 999999999 80 0.1090 0 88 0.160 0.0 1.0 -741600.0 9.0 4.0 71 102400 659 1415 292 387 406 197 41200 41500 21800 43800 40 1.5 2 1 6.4 7500 9 999999999 80 0.1090 0 88 0.160 0.0 1.0 -745200.0 11.0 4.0 62 102300 542 1415 301 338 479 154 34800 45400 17400 30600 70 1.5 2 1 8.0 7500 9 999999999 80 0.1090 0 88 0.160 0.0 1.0 -748800.0 10.7 5.0 68 102300 366 1415 300 141 79 120 15400 7000 13500 29400 40 2.6 2 1 8.0 7560 9 999999999 80 0.1090 0 88 0.160 999.0 99.0 -752400.0 10.0 6.1 77 102300 145 1415 299 0 0 0 0 0 0 0 360 3.6 2 1 8.0 7620 9 999999999 80 0.1090 0 88 0.160 0.0 1.0 -756000.0 10.0 6.7 80 102300 2 177 303 0 0 0 0 0 0 0 0 0.0 2 2 11.2 7620 9 999999999 80 0.1090 0 88 0.160 0.0 1.0 -759600.0 9.4 5.6 77 102300 0 0 300 0 0 0 0 0 0 0 0 0.0 2 2 9.6 7620 9 999999999 90 0.1090 0 88 0.160 0.0 1.0 -763200.0 8.9 3.3 68 102300 0 0 295 0 0 0 0 0 0 0 300 1.5 3 2 11.2 2000 9 999999999 90 0.1090 0 88 0.160 0.0 1.0 -766800.0 8.3 3.9 74 102300 0 0 293 0 0 0 0 0 0 0 70 2.1 3 2 9.6 2000 9 999999999 90 0.1090 0 88 0.160 0.0 1.0 -770400.0 7.8 3.3 73 102400 0 0 291 0 0 0 0 0 0 0 30 1.5 3 2 9.6 2000 9 999999999 90 0.1090 0 88 0.160 0.0 1.0 -774000.0 6.7 4.4 85 102400 0 0 287 0 0 0 0 0 0 0 360 4.1 3 2 6.4 2000 9 999999999 90 0.1090 0 88 0.160 0.0 1.0 -777600.0 6.7 3.9 82 102400 0 0 287 0 0 0 0 0 0 0 350 4.6 3 2 6.4 2000 9 999999999 90 0.1090 0 88 0.160 0.0 1.0 -781200.0 6.7 4.4 85 102300 0 0 287 0 0 0 0 0 0 0 360 4.1 3 2 6.4 2000 9 999999999 90 0.1090 0 88 0.160 0.0 1.0 -784800.0 6.7 3.9 82 102300 0 0 277 0 0 0 0 0 0 0 20 3.1 0 0 8.0 2000 9 999999999 90 0.1090 0 88 0.160 0.0 1.0 -788400.0 6.1 3.9 86 102300 0 0 275 0 0 0 0 0 0 0 20 3.6 0 0 8.0 2000 9 999999999 90 0.1090 0 88 0.160 0.0 1.0 -792000.0 6.1 3.9 86 102200 0 0 289 0 0 0 0 0 0 0 40 3.1 4 4 8.0 2000 9 999999999 90 0.1090 0 88 0.160 0.0 1.0 -795600.0 6.1 3.3 82 102200 0 0 289 0 0 0 0 0 0 0 10 3.6 5 4 8.0 2000 9 999999999 100 0.1090 0 88 0.160 0.0 1.0 -799200.0 6.1 3.3 82 102300 0 0 289 0 0 0 0 0 0 0 40 2.6 5 4 8.0 2000 9 999999999 100 0.1090 0 88 0.160 0.0 1.0 -802800.0 4.4 2.8 89 102300 0 0 281 0 0 0 0 0 0 0 0 0.0 5 4 8.0 2000 9 999999999 100 0.1090 0 88 0.160 0.0 1.0 -806400.0 5.6 3.3 85 102300 37 790 289 2 68 1 500 3800 300 400 30 2.6 5 5 8.0 7620 9 999999999 100 0.1090 0 88 0.160 0.0 1.0 -810000.0 6.8 3.4 79 102300 247 1415 294 118 418 44 12100 30300 6700 7900 230 3.9 5 5 8.0 7466 9 999999999 100 0.1090 0 88 0.160 999.0 99.0 -813600.0 6.8 3.2 78 102200 451 1415 294 251 466 102 26400 42100 12900 19100 260 2.4 6 5 8.0 6609 9 999999999 110 0.1090 0 88 0.160 999.0 99.0 -817200.0 7.1 3.3 77 102200 603 1415 293 349 444 159 36300 43100 17900 32100 0 0.0 5 4 8.0 753 9 999999999 110 0.1090 0 88 0.160 999.0 99.0 -820800.0 7.5 4.3 80 102100 693 1415 298 411 470 180 43000 46900 20000 38000 160 1.3 5 5 8.0 0 9 999999999 110 0.1090 0 88 0.160 999.0 99.0 -824400.0 8.4 3.7 72 102100 713 1415 289 445 592 146 46000 57800 16800 30100 190 1.1 1 1 8.0 0 9 999999999 110 0.1090 0 88 0.160 999.0 99.0 -828000.0 8.3 3.6 72 102000 663 1415 284 400 486 171 41800 48100 19200 35500 0 0.0 0 0 8.0 0 9 999999999 110 0.1090 0 88 0.160 999.0 99.0 -831600.0 9.7 3.6 66 102000 546 1415 295 360 581 135 37600 55200 16200 26400 0 0.0 2 1 8.0 0 9 999999999 110 0.1090 0 88 0.160 999.0 99.0 -835200.0 10.0 5.6 74 101900 370 1415 302 219 441 103 22400 37000 12700 19500 20 1.5 2 2 9.0 7500 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -838800.0 8.9 5.6 80 101900 149 1415 297 0 0 0 0 0 0 0 10 3.1 2 2 9.6 7620 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -842400.0 8.3 3.9 74 101900 2 200 289 0 0 0 0 0 0 0 10 2.1 1 1 12.8 7620 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -846000.0 7.8 3.9 76 102000 0 0 287 0 0 0 0 0 0 0 10 1.5 2 1 12.8 7620 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -849600.0 7.2 3.3 76 102000 0 0 288 0 0 0 0 0 0 0 20 2.1 3 2 12.8 7620 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -853200.0 6.7 3.9 82 102000 0 0 287 0 0 0 0 0 0 0 360 3.6 4 2 12.8 7620 9 999999999 130 0.1090 0 88 0.160 0.0 1.0 -856800.0 6.7 4.4 85 102000 0 0 290 0 0 0 0 0 0 0 10 4.6 4 3 11.2 7620 9 999999999 130 0.1090 0 88 0.160 0.0 1.0 -860400.0 6.7 3.9 82 102000 0 0 289 0 0 0 0 0 0 0 20 3.6 4 3 11.2 7620 9 999999999 130 0.1090 0 88 0.160 0.0 1.0 -864000.0 6.7 4.4 85 101900 0 0 292 0 0 0 0 0 0 0 50 1.5 5 4 6.4 2000 9 999999999 130 0.1090 0 88 0.160 0.0 1.0 -867600.0 5.6 3.3 85 101900 0 0 287 0 0 0 0 0 0 0 10 3.6 5 4 8.0 6096 9 999999999 130 0.1090 0 88 0.160 0.0 1.0 -871200.0 6.1 3.9 86 101900 0 0 297 0 0 0 0 0 0 0 350 4.1 8 7 6.4 4267 9 999999999 130 0.1090 0 88 0.160 0.0 1.0 -874800.0 5.6 3.3 85 101900 0 0 295 0 0 0 0 0 0 0 10 3.1 8 7 6.4 4267 9 999999999 140 0.1090 0 88 0.160 0.0 1.0 -878400.0 3.9 2.8 93 101900 0 0 284 0 0 0 0 0 0 0 300 2.1 7 6 6.4 6096 9 999999999 140 0.1090 0 88 0.160 0.0 1.0 -882000.0 5.0 2.8 86 101900 0 0 286 0 0 0 0 0 0 0 0 0.0 6 5 8.0 2000 9 999999999 140 0.1090 0 88 0.160 0.0 1.0 -885600.0 3.9 2.8 93 101900 0 0 279 0 0 0 0 0 0 0 150 1.5 4 4 6.4 2000 9 999999999 140 0.1090 0 88 0.160 0.0 1.0 -889200.0 5.0 3.9 93 101900 0 0 287 0 0 0 0 0 0 0 350 2.6 5 5 6.4 7620 9 999999999 140 0.1090 0 88 0.160 0.0 1.0 -892800.0 4.4 3.3 93 101900 37 790 286 2 39 1 300 2200 200 400 350 1.5 6 6 8.0 6096 9 999999999 140 0.1090 0 88 0.160 0.0 1.0 -896400.0 6.0 3.0 81 101900 249 1414 293 104 284 54 10900 20100 7400 9700 340 3.6 7 6 8.0 6000 9 999999999 140 0.1090 0 88 0.160 0.0 1.0 -900000.0 6.1 3.9 86 102000 453 1414 291 190 163 137 20500 15100 15600 30900 350 4.1 7 5 6.0 4500 9 999999999 150 0.1090 0 88 0.160 0.0 1.0 -903600.0 6.0 4.0 87 102000 606 1414 289 386 537 155 40300 52300 17800 31200 0 0.0 6 4 6.4 7500 9 999999999 150 0.1090 0 88 0.160 0.0 1.0 -907200.0 7.0 4.0 81 101900 696 1414 279 481 643 163 50800 64300 19100 34100 40 2.1 1 0 8.0 6000 9 999999999 150 0.1090 0 88 0.160 0.0 1.0 -910800.0 8.0 4.0 76 101800 716 1414 283 389 296 239 41200 30700 25600 56000 50 2.6 1 0 8.0 6000 9 999999999 150 0.1090 0 88 0.160 0.0 1.0 -914400.0 8.0 4.0 76 101800 667 1414 300 466 646 160 49100 64100 18800 33000 50 1.5 6 5 11.3 6000 9 999999999 150 0.1090 0 88 0.160 0.0 1.0 -918000.0 9.0 4.0 71 101700 550 1414 307 366 631 120 37400 58700 14500 22300 0 0.0 6 6 9.7 6000 9 999999999 150 0.1090 0 88 0.160 0.0 1.0 -921600.0 10.0 7.2 83 101800 374 1414 312 247 532 106 25300 44800 13400 20100 260 6.7 5 5 11.0 2000 9 999999999 150 0.1090 0 88 0.160 0.0 1.0 -925200.0 9.4 6.7 83 101800 154 1414 304 0 0 0 0 0 0 0 270 5.7 3 3 16.0 2000 9 999999999 150 0.1090 0 88 0.160 0.0 1.0 -928800.0 9.4 7.2 86 101800 3 224 304 0 0 0 0 0 0 0 240 6.2 3 3 16.0 2000 9 999999999 160 0.1090 0 88 0.160 0.0 1.0 -932400.0 10.0 7.8 86 101800 0 0 307 0 0 0 0 0 0 0 250 4.6 3 3 16.0 2000 9 999999999 160 0.1090 0 88 0.160 0.0 1.0 -936000.0 10.0 7.8 86 101900 0 0 310 0 0 0 0 0 0 0 270 4.6 4 4 16.0 2000 9 999999999 160 0.1090 0 88 0.160 0.0 1.0 -939600.0 10.0 7.8 86 101900 0 0 310 0 0 0 0 0 0 0 260 8.8 4 4 16.0 2000 9 999999999 160 0.1090 0 88 0.160 0.0 1.0 -943200.0 10.0 8.3 89 101900 0 0 315 0 0 0 0 0 0 0 250 4.6 6 6 16.0 335 9 999999999 160 0.1090 0 88 0.160 0.0 1.0 -946800.0 10.0 8.3 89 102000 0 0 324 0 0 0 0 0 0 0 270 3.6 8 8 16.0 335 9 999999999 160 0.1090 0 88 0.160 0.0 1.0 -950400.0 10.0 7.8 86 102000 0 0 340 0 0 0 0 0 0 0 260 8.2 10 10 16.0 305 9 999999999 160 0.1090 0 88 0.160 0.0 1.0 -954000.0 10.0 7.8 86 102000 0 0 324 0 0 0 0 0 0 0 250 4.1 8 8 16.0 305 9 999999999 160 0.1090 0 88 0.160 0.0 1.0 -957600.0 10.0 7.8 86 101900 0 0 324 0 0 0 0 0 0 0 260 4.6 8 8 16.0 366 9 999999999 170 0.1090 0 88 0.160 0.0 1.0 -961200.0 8.3 7.2 93 101900 0 0 304 0 0 0 0 0 0 0 110 2.1 6 5 16.0 2000 9 999999999 170 0.1090 0 88 0.160 0.0 1.0 -964800.0 7.8 6.7 93 101900 0 0 299 0 0 0 0 0 0 0 140 2.6 5 4 14.4 2000 9 999999999 170 0.1090 0 88 0.160 0.0 1.0 -968400.0 7.2 6.1 93 101900 0 0 294 0 0 0 0 0 0 0 150 1.5 3 3 14.4 2000 9 999999999 170 0.1090 0 88 0.160 0.0 1.0 -972000.0 6.7 6.1 96 102000 0 0 292 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 160 0.1090 0 88 0.160 0.0 1.0 -975600.0 7.2 6.7 97 102000 0 0 297 0 0 0 0 0 0 0 0 0.0 4 4 12.8 2000 9 999999999 160 0.1090 0 88 0.160 0.0 1.0 -979200.0 7.2 6.7 97 102100 38 813 297 2 62 1 500 3500 300 400 350 2.6 4 4 4.8 2000 9 999999999 160 0.1090 0 88 0.160 0.0 1.0 -982800.0 6.7 6.7 100 102100 250 1414 323 115 379 48 11800 27500 6900 8500 10 3.6 10 10 0.3 30 9 999999999 150 0.1090 0 88 0.160 0.0 1.0 -986400.0 7.2 7.2 100 102200 455 1414 326 271 568 87 27800 50800 11400 16100 360 2.1 10 10 0.3 30 9 999999999 150 0.1090 0 88 0.160 0.0 1.0 -990000.0 7.8 7.2 96 102100 608 1414 329 408 712 100 42600 68600 13000 20200 0 0.0 10 10 2.4 183 9 999999999 150 0.1090 0 88 0.160 0.0 1.0 -993600.0 9.4 7.8 90 102000 698 1414 305 486 756 112 51200 74500 14200 23800 0 0.0 3 3 8.0 2000 9 999999999 140 0.1090 0 88 0.160 0.0 1.0 -997200.0 10.6 8.3 86 102000 720 1414 298 513 791 108 54100 78500 14000 23500 340 2.6 0 0 8.0 2000 9 999999999 140 0.1090 0 88 0.160 0.0 1.0 -1000800.0 9.4 7.8 90 102000 671 1414 292 432 572 160 45600 56800 18600 33000 340 3.6 0 0 9.6 2000 9 999999999 140 0.1090 0 88 0.160 0.0 1.0 -1004400.0 13.3 6.1 62 102000 554 1414 317 358 465 175 36500 44200 19100 35500 270 5.2 6 2 16.0 2000 9 999999999 140 0.1090 0 88 0.160 0.0 1.0 -1008000.0 11.1 7.8 80 102000 379 1414 317 98 0 98 11000 0 11000 34700 260 9.3 9 5 16.0 2000 9 999999999 130 0.1090 0 88 0.160 0.0 1.0 -1011600.0 10.0 7.2 83 102100 158 1414 309 0 0 0 0 0 0 0 260 9.8 4 4 16.0 2000 9 999999999 130 0.1090 0 88 0.160 0.0 1.0 -1015200.0 9.4 7.8 90 102100 3 248 321 0 0 0 0 0 0 0 260 7.7 8 8 16.0 244 9 999999999 130 0.1090 0 88 0.160 0.0 1.0 -1018800.0 9.4 7.8 90 102000 0 0 337 0 0 0 0 0 0 0 270 5.7 10 10 16.0 244 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -1022400.0 9.4 7.8 90 102000 0 0 337 0 0 0 0 0 0 0 250 5.7 10 10 16.0 244 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -1026000.0 9.4 7.8 90 102100 0 0 337 0 0 0 0 0 0 0 270 6.2 10 10 16.0 244 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -1029600.0 10.0 8.3 89 102100 0 0 341 0 0 0 0 0 0 0 260 5.2 10 10 16.0 244 9 999999999 110 0.1090 0 88 0.160 0.0 1.0 -1033200.0 10.0 7.8 86 102100 0 0 324 0 0 0 0 0 0 0 250 3.6 8 8 16.0 274 9 999999999 110 0.1090 0 88 0.160 0.0 1.0 -1036800.0 10.0 7.8 86 102100 0 0 324 0 0 0 0 0 0 0 240 3.1 8 8 16.0 335 9 999999999 110 0.1090 0 88 0.160 0.0 1.0 -1040400.0 9.4 7.8 90 102200 0 0 337 0 0 0 0 0 0 0 240 5.7 10 10 16.0 335 9 999999999 110 0.1090 0 88 0.160 0.0 1.0 -1044000.0 9.4 7.8 90 102200 0 0 337 0 0 0 0 0 0 0 270 6.2 10 10 16.0 366 9 999999999 100 0.1090 0 88 0.160 0.0 1.0 -1047600.0 9.4 8.3 93 102100 0 0 338 0 0 0 0 0 0 0 280 4.6 10 10 14.4 244 9 999999999 100 0.1090 0 88 0.160 0.0 1.0 -1051200.0 9.4 7.8 90 102100 0 0 337 0 0 0 0 0 0 0 270 3.1 10 10 16.0 366 9 999999999 100 0.1090 0 88 0.160 0.0 1.0 -1054800.0 10.0 8.0 87 102100 0 0 340 0 0 0 0 0 0 0 260 2.1 10 10 16.0 518 9 999999999 100 0.1090 0 88 0.160 0.0 1.0 -1058400.0 9.4 7.0 85 102100 0 0 336 0 0 0 0 0 0 0 30 3.6 10 10 16.0 366 9 999999999 100 0.1090 0 88 0.160 0.0 1.0 -1062000.0 9.4 8.3 93 102200 0 0 338 0 0 0 0 0 0 0 20 3.6 10 10 16.0 305 9 999999999 100 0.1090 0 88 0.160 0.0 1.0 -1065600.0 9.4 6.1 80 102200 38 813 335 1 0 1 100 0 100 400 310 4.1 10 10 16.0 396 9 999999999 100 0.1090 0 88 0.160 0.0 1.0 -1069200.0 9.4 6.0 79 102300 251 1414 335 49 0 49 5600 0 5600 17800 360 2.6 10 10 16.0 335 9 999999999 100 0.1090 0 88 0.160 0.0 1.0 -1072800.0 8.9 7.2 89 102300 457 1414 334 81 0 81 9400 0 9400 32900 30 2.1 10 10 12.8 335 9 999999999 110 0.1090 0 88 0.160 0.0 1.0 -1076400.0 11.1 8.9 86 102300 611 1414 347 102 0 102 12000 0 12000 44500 30 2.6 10 10 12.8 335 9 999999999 110 0.1090 0 88 0.160 0.0 1.0 -1080000.0 11.7 7.2 74 102300 702 1414 348 278 89 233 30400 8900 26000 68000 360 3.1 10 10 11.2 396 9 999999999 110 0.1090 0 88 0.160 0.0 1.0 -1083600.0 12.0 9.0 82 102300 723 1414 320 444 489 193 46400 49100 21200 41700 360 1.5 4 4 12.8 2000 9 999999999 110 0.1090 0 88 0.160 0.0 1.0 -1087200.0 11.1 6.7 74 102300 674 1414 298 399 461 178 41600 45800 19700 37300 0 0.0 0 0 16.0 2000 9 999999999 110 0.1090 0 88 0.160 0.0 1.0 -1090800.0 11.1 7.8 80 102300 558 1414 299 313 363 169 33100 35700 18900 36100 30 3.1 0 0 8.0 2000 9 999999999 110 0.1090 0 88 0.160 0.0 1.0 -1094400.0 10.0 7.2 83 102300 383 1414 307 253 409 142 26100 35300 16500 30300 320 2.1 3 3 6.4 2000 9 999999999 110 0.1090 0 88 0.160 0.0 1.0 -1098000.0 10.0 7.2 83 102400 162 1414 307 0 0 0 0 0 0 0 270 6.7 3 3 14.4 2000 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -1101600.0 10.0 7.8 86 102400 4 271 307 0 0 0 0 0 0 0 260 6.2 3 3 16.0 2000 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -1105200.0 10.0 8.3 89 102400 0 0 308 0 0 0 0 0 0 0 260 6.2 4 3 16.0 2000 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -1108800.0 9.4 7.8 90 102400 0 0 310 0 0 0 0 0 0 0 260 5.7 5 5 16.0 2000 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -1112400.0 8.9 7.8 93 102500 0 0 303 0 0 0 0 0 0 0 300 1.5 3 3 16.0 2000 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -1116000.0 8.3 6.7 90 102500 0 0 299 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -1119600.0 7.8 6.1 89 102500 0 0 293 0 0 0 0 0 0 0 0 0.0 3 2 12.8 2000 9 999999999 120 0.1090 0 88 0.160 0.0 1.0 -1123200.0 8.3 6.7 90 102500 0 0 301 0 0 0 0 0 0 0 280 4.1 5 4 11.2 2000 9 999999999 130 0.1090 0 88 0.160 0.0 1.0 -1126800.0 7.8 6.7 93 102500 0 0 304 0 0 0 0 0 0 0 270 3.6 7 6 12.8 7620 9 999999999 130 0.1090 0 88 0.160 0.0 1.0 -1130400.0 8.9 7.8 93 102500 0 0 319 0 0 0 0 0 0 0 360 1.5 8 8 12.8 213 9 999999999 130 0.1090 0 88 0.160 0.0 1.0 -1134000.0 7.8 6.7 93 102500 0 0 313 0 0 0 0 0 0 0 150 2.1 9 8 12.8 213 9 999999999 130 0.1090 0 88 0.160 0.0 1.0 -1137600.0 8.3 7.2 93 102600 0 0 331 0 0 0 0 0 0 0 0 0.0 10 10 11.2 213 9 999999999 130 0.1090 0 88 0.160 0.0 1.0 -1141200.0 8.9 7.8 93 102600 0 0 335 0 0 0 0 0 0 0 10 1.5 10 10 9.6 213 9 999999999 140 0.1090 0 88 0.160 0.0 1.0 -1144800.0 7.8 7.8 100 102600 0 0 330 0 0 0 0 0 0 0 360 2.6 10 10 0.4 30 9 999999999 140 0.1090 0 88 0.160 0.0 1.0 -1148400.0 7.2 7.2 100 102700 0 0 326 0 0 0 0 0 0 0 360 2.6 10 10 0.4 30 9 999999999 150 0.1090 0 88 0.160 0.0 1.0 -1152000.0 7.2 6.7 97 102700 39 813 326 2 29 2 400 1300 300 400 30 2.1 10 10 0.4 30 9 999999999 150 0.1090 0 88 0.160 0.0 1.0 -1155600.0 6.7 6.7 100 102700 253 1414 323 63 20 59 6900 1600 6600 14900 70 1.5 10 10 0.8 30 9 999999999 160 0.1090 0 88 0.160 0.0 1.0 -1159200.0 7.2 7.2 100 102700 459 1414 326 147 22 140 16300 1500 15800 48500 0 0.0 10 10 1.2 30 9 999999999 160 0.1090 0 88 0.160 0.0 1.0 -1162800.0 7.8 7.2 96 102700 613 1414 329 252 105 206 27600 10300 23100 57100 30 1.5 10 10 1.6 91 9 999999999 170 0.1090 0 88 0.160 0.0 1.0 -1166400.0 9.4 7.8 90 102700 705 1414 312 376 286 233 39800 29600 25000 54200 360 3.1 7 6 4.8 3658 9 999999999 180 0.1090 0 88 0.160 0.0 1.0 -1170000.0 11.1 6.7 74 102600 727 1414 319 376 211 267 40500 21600 29400 67300 0 0.0 7 6 6.4 3658 9 999999999 180 0.1090 0 88 0.160 0.0 1.0 -1173600.0 10.6 7.2 79 102500 679 1414 312 418 436 208 44500 44800 22900 46900 20 3.6 6 4 6.4 3658 9 999999999 190 0.1090 0 88 0.160 0.0 1.0 -1177200.0 10.6 7.2 79 102400 563 1414 306 178 51 158 19600 4900 17600 44500 20 2.1 2 2 6.4 3658 9 999999999 190 0.1090 0 88 0.160 0.0 1.0 -1180800.0 11.1 7.8 80 102400 388 1414 312 261 351 164 26600 30300 18200 36400 350 2.6 4 3 6.4 3658 9 999999999 200 0.1090 0 88 0.160 0.0 1.0 -1184400.0 12.2 6.1 66 102400 166 1414 318 0 0 0 0 0 0 0 330 3.6 6 4 6.4 3658 9 999999999 200 0.1090 0 88 0.160 0.0 1.0 -1188000.0 11.7 6.1 68 102400 5 295 321 0 0 0 0 0 0 0 0 0.0 7 6 8.0 3658 9 999999999 209 0.1090 0 88 0.160 0.0 1.0 -1191600.0 11.1 7.2 77 102400 0 0 345 0 0 0 0 0 0 0 40 1.5 10 10 6.4 3353 9 999999999 220 0.1090 0 88 0.160 0.0 1.0 -1195200.0 10.6 7.8 83 102400 0 0 318 0 0 0 0 0 0 0 360 2.6 10 6 6.4 3658 9 999999999 220 0.1090 0 88 0.160 0.0 1.0 -1198800.0 11.1 6.7 74 102500 0 0 344 0 0 0 0 0 0 0 0 0.0 10 10 6.4 3048 9 999999999 230 0.1090 0 88 0.160 0.0 1.0 -1202400.0 11.7 6.7 71 102500 0 0 347 0 0 0 0 0 0 0 340 2.6 10 10 6.4 3048 9 999999999 230 0.1090 0 88 0.160 0.0 1.0 -1206000.0 11.7 6.7 71 102500 0 0 347 0 0 0 0 0 0 0 0 0.0 10 10 6.4 3048 9 999999999 240 0.1090 0 88 0.160 0.0 1.0 -1209600.0 10.6 7.8 83 102500 0 0 343 0 0 0 0 0 0 0 150 2.1 10 10 6.4 1676 9 999999999 240 0.1090 0 88 0.160 0.0 1.0 -1213200.0 10.0 8.3 89 102400 0 0 341 0 0 0 0 0 0 0 110 1.5 10 10 6.4 1494 9 999999999 250 0.1090 0 88 0.160 1.0 1.0 -1216800.0 10.0 8.3 89 102300 0 0 331 0 0 0 0 0 0 0 80 2.1 10 9 4.8 3353 9 999999999 250 0.1090 0 88 0.160 0.0 1.0 -1220400.0 9.4 8.3 93 102400 0 0 328 0 0 0 0 0 0 0 0 0.0 10 9 4.8 3658 9 999999999 260 0.1090 0 88 0.160 0.0 1.0 -1224000.0 8.9 8.3 96 102300 0 0 326 0 0 0 0 0 0 0 140 1.5 10 9 4.8 3658 9 999999999 270 0.1090 0 88 0.160 0.0 1.0 -1227600.0 9.4 8.9 97 102300 0 0 329 0 0 0 0 0 0 0 0 0.0 10 9 4.8 1219 9 999999999 260 0.1090 0 88 0.160 0.0 1.0 -1231200.0 10.0 8.9 93 102400 0 0 325 0 0 0 0 0 0 0 0 0.0 9 8 4.8 914 9 999999999 260 0.1090 0 88 0.160 0.0 1.0 -1234800.0 10.0 8.9 93 102400 0 0 341 0 0 0 0 0 0 0 0 0.0 10 10 4.0 914 9 999999999 260 0.1090 0 88 0.160 0.0 1.0 -1238400.0 9.4 8.9 97 102500 40 813 338 2 19 2 400 900 300 400 30 1.5 10 10 1.6 396 9 999999999 260 0.1090 0 88 0.160 0.0 1.0 -1242000.0 10.0 8.3 89 102400 255 1414 341 53 0 53 6000 0 6000 19000 120 3.1 10 10 2.8 396 9 999999999 260 0.1090 0 88 0.160 0.0 1.0 -1245600.0 10.0 8.3 89 102200 461 1414 341 276 399 145 28900 37100 16800 30200 90 4.6 10 10 3.2 213 9 999999999 260 0.1090 0 88 0.160 0.0 1.0 -1249200.0 11.7 9.4 86 102300 616 1414 333 64 0 64 7800 0 7800 29900 0 0.0 8 8 4.8 3048 9 999999999 260 0.1090 0 88 0.160 0.0 1.0 -1252800.0 11.7 10.0 89 102400 708 1414 341 243 48 219 26700 4800 24300 65300 320 2.6 10 9 3.2 914 9 999999999 250 0.1090 0 88 0.160 0.0 1.0 -1256400.0 11.1 9.4 89 102200 731 1414 347 203 12 197 23200 1000 22700 80200 30 2.6 10 10 3.2 274 9 999999999 250 0.1090 0 88 0.160 0.0 1.0 -1260000.0 11.7 9.4 86 102100 683 1414 350 285 98 237 31200 9800 26500 67700 80 1.5 10 10 3.2 274 9 999999999 250 0.1090 0 88 0.160 0.0 1.0 -1263600.0 13.3 10.6 84 102000 567 1414 359 148 0 148 16800 0 16800 57000 0 0.0 10 10 3.2 274 9 999999999 250 0.1090 0 88 0.160 0.0 1.0 -1267200.0 12.8 10.6 86 101900 392 1414 347 96 0 96 10800 0 10800 34900 0 0.0 9 9 6.4 7620 9 999999999 250 0.1090 0 88 0.160 0.0 1.0 -1270800.0 12.8 11.1 89 101900 171 1414 340 0 0 0 0 0 0 0 280 3.1 9 8 16.0 2134 9 999999999 250 0.1090 0 88 0.160 0.0 1.0 -1274400.0 11.7 10.6 93 101800 6 318 335 0 0 0 0 0 0 0 320 2.1 9 8 14.4 671 9 999999999 240 0.1090 0 88 0.160 0.0 1.0 -1278000.0 13.3 11.7 90 101800 0 0 361 0 0 0 0 0 0 0 210 3.1 10 10 16.0 732 9 999999999 240 0.1090 0 88 0.160 0.0 1.0 -1281600.0 13.3 11.7 90 101800 0 0 361 0 0 0 0 0 0 0 180 3.1 10 10 12.8 1067 9 999999999 240 0.1090 0 88 0.160 0.0 1.0 -1285200.0 12.2 12.2 100 101800 0 0 356 0 0 0 0 0 0 0 130 2.6 10 10 4.8 427 9 999999999 240 0.1090 0 88 0.160 0.0 1.0 -1288800.0 13.9 12.2 89 101800 0 0 364 0 0 0 0 0 0 0 220 8.8 10 10 12.8 488 9 999999999 240 0.1090 0 88 0.160 1.0 1.0 -1292400.0 13.9 12.2 89 101800 0 0 364 0 0 0 0 0 0 0 240 8.8 10 10 16.0 335 9 999999999 240 0.1090 0 88 0.160 2.0 1.0 -1296000.0 13.9 12.2 89 101800 0 0 364 0 0 0 0 0 0 0 230 5.7 10 10 16.0 335 9 999999999 240 0.1090 0 88 0.160 0.0 1.0 -1299600.0 13.3 12.2 93 101700 0 0 361 0 0 0 0 0 0 0 240 5.2 10 10 4.0 152 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1303200.0 13.3 12.2 93 101800 0 0 361 0 0 0 0 0 0 0 230 5.7 10 10 12.8 213 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1306800.0 12.8 12.2 96 101800 0 0 359 0 0 0 0 0 0 0 250 5.2 10 10 11.2 213 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1310400.0 12.8 12.2 96 101700 0 0 359 0 0 0 0 0 0 0 250 3.6 10 10 16.0 183 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1314000.0 12.2 11.7 97 101700 0 0 355 0 0 0 0 0 0 0 240 2.1 10 10 3.2 122 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1317600.0 12.2 11.7 97 101700 0 0 355 0 0 0 0 0 0 0 210 1.5 10 10 8.0 122 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1321200.0 12.2 11.1 93 101800 0 0 345 0 0 0 0 0 0 0 250 2.6 9 9 16.0 244 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1324800.0 12.2 11.7 97 101900 41 836 346 1 0 1 100 0 100 400 240 2.6 10 9 4.0 305 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1328400.0 12.2 11.7 97 101900 257 1414 355 49 0 49 5600 0 5600 17900 250 2.6 10 10 4.8 183 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1332000.0 12.2 11.1 93 102000 464 1414 345 195 146 147 21100 13600 16600 33300 290 3.6 9 9 16.0 549 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1335600.0 13.9 11.1 83 102100 619 1414 346 263 123 209 28400 12300 23000 50100 250 2.1 8 8 16.0 762 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1339200.0 14.4 11.1 81 102000 712 1414 333 208 18 199 23700 1500 22900 79500 260 3.6 4 4 16.0 3962 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1342800.0 14.4 10.6 78 102000 735 1414 342 142 0 142 16700 0 16700 63000 250 4.6 7 7 16.0 4267 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1346400.0 13.3 10.6 84 101900 687 1414 350 79 0 79 9600 0 9600 37400 280 5.2 9 9 16.0 4267 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1350000.0 12.8 10.0 83 101900 572 1414 330 74 0 74 8900 0 8900 33100 270 4.1 7 6 16.0 3658 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1353600.0 12.2 10.0 86 101800 397 1414 344 114 0 114 12700 0 12700 39200 300 3.6 9 9 16.0 3048 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1357200.0 12.2 10.0 86 101900 176 1414 353 0 0 0 0 0 0 0 260 5.7 10 10 16.0 3048 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1360800.0 11.7 10.0 89 101900 6 342 351 0 0 0 0 0 0 0 260 3.1 10 10 16.0 2591 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1364400.0 11.1 10.0 93 101900 0 0 348 0 0 0 0 0 0 0 0 0.0 10 10 14.4 2591 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1368000.0 10.6 10.0 96 101900 0 0 345 0 0 0 0 0 0 0 30 3.1 10 10 16.0 2134 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1371600.0 11.1 10.0 93 101900 0 0 348 0 0 0 0 0 0 0 160 2.1 10 10 16.0 1981 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1375200.0 11.7 10.0 89 101900 0 0 351 0 0 0 0 0 0 0 150 1.5 10 10 16.0 2438 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1378800.0 11.1 10.0 93 102000 0 0 338 0 0 0 0 0 0 0 0 0.0 9 9 16.0 2438 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1382400.0 11.1 10.0 93 102000 0 0 348 0 0 0 0 0 0 0 0 0.0 10 10 16.0 1829 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1386000.0 11.1 10.0 93 101900 0 0 348 0 0 0 0 0 0 0 0 0.0 10 10 16.0 1676 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1389600.0 10.6 10.0 96 101900 0 0 345 0 0 0 0 0 0 0 90 3.1 10 10 16.0 1524 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1393200.0 10.6 10.0 96 101900 0 0 345 0 0 0 0 0 0 0 120 2.1 10 10 16.0 1189 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1396800.0 10.6 10.0 96 101900 0 0 345 0 0 0 0 0 0 0 80 1.5 10 10 16.0 945 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1400400.0 11.7 8.3 80 101900 0 0 349 0 0 0 0 0 0 0 170 4.1 10 10 16.0 823 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1404000.0 11.1 10.0 93 101900 0 0 348 0 0 0 0 0 0 0 0 0.0 10 10 16.0 457 9 999999999 240 0.1100 0 88 0.160 0.0 1.0 -1407600.0 11.7 9.4 86 101900 0 0 340 0 0 0 0 0 0 0 100 4.1 9 9 16.0 884 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1411200.0 11.1 10.0 93 101900 42 836 348 2 2 2 200 100 200 600 90 3.6 10 10 16.0 366 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1414800.0 12.2 10.6 90 101900 259 1414 344 71 25 66 7700 2000 7400 16400 130 3.6 9 9 16.0 366 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1418400.0 13.9 11.7 87 101900 467 1414 364 105 0 105 12000 0 12000 40400 150 2.6 10 10 16.0 457 9 999999999 230 0.1100 0 88 0.160 0.0 1.0 -1422000.0 14.4 12.8 90 102000 622 1414 368 134 0 134 15500 0 15500 55700 160 4.1 10 10 8.0 610 9 999999999 220 0.1100 0 88 0.160 0.0 1.0 -1425600.0 14.4 13.3 93 102000 715 1414 368 289 95 241 31700 9500 26900 70700 160 4.1 10 10 4.8 579 9 999999999 220 0.1100 0 88 0.160 0.0 1.0 -1429200.0 14.4 12.8 90 101900 739 1414 368 160 0 160 18600 0 18600 69400 180 4.6 10 10 8.0 549 9 999999999 220 0.1100 0 88 0.160 0.0 1.0 -1432800.0 14.4 12.8 90 101800 691 1414 368 132 0 132 15500 0 15500 57800 180 4.6 10 10 8.0 549 9 999999999 209 0.1100 0 88 0.160 0.0 1.0 -1436400.0 13.9 12.8 93 101700 576 1414 365 147 0 147 16700 0 16700 57200 170 6.7 10 10 16.0 549 9 999999999 209 0.1100 0 88 0.160 0.0 1.0 -1440000.0 13.9 12.2 89 101700 401 1414 364 132 21 126 14600 1300 14200 41900 200 5.7 10 10 16.0 610 9 999999999 209 0.1100 0 88 0.160 0.0 1.0 -1443600.0 13.3 11.7 90 101800 180 1414 361 0 0 0 0 0 0 0 130 2.6 10 10 6.4 518 9 999999999 209 0.1100 0 88 0.160 0.0 1.0 -1447200.0 12.8 11.1 89 101800 7 365 358 0 0 0 0 0 0 0 140 4.1 10 10 11.2 549 9 999999999 200 0.1100 0 88 0.160 0.0 1.0 -1450800.0 12.8 11.1 89 101800 0 0 358 0 0 0 0 0 0 0 170 5.7 10 10 16.0 335 9 999999999 200 0.1100 0 88 0.160 0.0 1.0 -1454400.0 12.2 11.7 97 101800 0 0 355 0 0 0 0 0 0 0 150 6.7 10 10 16.0 640 9 999999999 200 0.1100 0 88 0.160 0.0 1.0 -1458000.0 12.8 11.1 89 101700 0 0 358 0 0 0 0 0 0 0 140 8.2 10 10 16.0 457 9 999999999 200 0.1100 0 88 0.160 0.0 1.0 -1461600.0 12.8 11.1 89 101700 0 0 358 0 0 0 0 0 0 0 140 5.7 10 10 16.0 457 9 999999999 190 0.1100 0 88 0.160 0.0 1.0 -1465200.0 12.8 11.7 93 101700 0 0 358 0 0 0 0 0 0 0 130 6.2 10 10 14.4 396 9 999999999 190 0.1100 0 88 0.160 0.0 1.0 -1468800.0 12.8 11.7 93 101800 0 0 358 0 0 0 0 0 0 0 160 6.2 10 10 16.0 335 9 999999999 190 0.1100 0 88 0.160 0.0 1.0 -1472400.0 12.8 12.2 96 101700 0 0 359 0 0 0 0 0 0 0 140 5.2 10 10 6.4 549 9 999999999 180 0.1100 0 88 0.160 0.0 1.0 -1476000.0 12.8 12.2 96 101800 0 0 359 0 0 0 0 0 0 0 150 5.7 10 10 6.4 1250 9 999999999 180 0.1100 0 88 0.160 0.0 1.0 -1479600.0 13.3 12.2 93 101800 0 0 361 0 0 0 0 0 0 0 160 4.6 10 10 6.4 1402 9 999999999 180 0.1100 0 88 0.160 0.0 1.0 -1483200.0 13.3 12.2 93 101700 0 0 361 0 0 0 0 0 0 0 160 4.1 10 10 11.2 914 9 999999999 180 0.1100 0 88 0.160 0.0 1.0 -1486800.0 13.3 12.2 93 101700 0 0 361 0 0 0 0 0 0 0 150 3.6 10 10 11.2 1036 9 999999999 180 0.1100 0 88 0.160 0.0 1.0 -1490400.0 13.3 12.2 93 101800 0 0 361 0 0 0 0 0 0 0 120 1.5 10 10 8.0 701 9 999999999 170 0.1100 0 88 0.160 0.0 1.0 -1494000.0 12.2 11.7 97 101800 0 0 355 0 0 0 0 0 0 0 80 2.1 10 10 4.8 366 9 999999999 170 0.1100 0 88 0.160 0.0 1.0 -1497600.0 12.8 12.2 96 101900 43 860 359 1 0 1 100 0 100 400 240 1.5 10 10 6.4 366 9 999999999 170 0.1100 0 88 0.160 1.0 1.0 -1501200.0 12.8 11.7 93 101900 261 1413 358 21 0 21 2600 0 2600 8800 140 2.6 10 10 9.6 671 9 999999999 170 0.1100 0 88 0.160 3.0 1.0 -1504800.0 12.8 12.2 96 102000 469 1413 359 48 0 48 5800 0 5800 21300 150 2.1 10 10 4.8 610 9 999999999 170 0.1100 0 88 0.160 1.0 1.0 -1508400.0 13.3 12.2 93 102000 626 1413 361 70 0 70 8500 0 8500 32500 110 3.6 10 10 16.0 914 9 999999999 170 0.1100 0 88 0.160 2.0 1.0 -1512000.0 12.8 12.2 96 101900 719 1413 359 110 0 110 13100 0 13100 50600 100 4.1 10 10 9.6 1067 9 999999999 170 0.1100 0 88 0.160 0.0 1.0 -1515600.0 11.7 11.7 100 101900 743 1413 353 314 121 250 34000 12500 27500 63500 90 3.1 10 10 11.2 762 9 999999999 170 0.1100 0 88 0.160 0.0 1.0 -1519200.0 12.2 11.7 97 101800 696 1413 355 119 0 119 14100 0 14100 53300 90 4.1 10 10 12.8 701 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1522800.0 12.8 12.2 96 101800 581 1413 359 147 0 147 16700 0 16700 57500 90 2.6 10 10 8.0 701 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1526400.0 13.3 11.7 90 101900 406 1413 361 225 215 163 23900 19100 18400 36300 220 1.5 10 10 8.0 1311 9 999999999 160 0.1100 0 88 0.160 1.0 1.0 -1530000.0 11.7 11.7 100 101800 185 1413 353 0 0 0 0 0 0 0 10 2.1 10 10 12.8 1097 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1533600.0 11.7 11.7 100 101800 9 389 353 0 0 0 0 0 0 0 0 0.0 10 10 9.6 579 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1537200.0 11.7 11.7 100 101800 0 0 353 0 0 0 0 0 0 0 90 2.6 10 10 4.8 335 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1540800.0 12.2 11.7 97 101800 0 0 355 0 0 0 0 0 0 0 110 2.6 10 10 3.2 518 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1544400.0 12.2 12.2 100 101800 0 0 356 0 0 0 0 0 0 0 110 1.5 10 10 4.0 396 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1548000.0 12.8 12.2 96 101800 0 0 359 0 0 0 0 0 0 0 140 1.5 10 10 12.8 335 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1551600.0 13.3 11.7 90 101800 0 0 361 0 0 0 0 0 0 0 170 4.6 10 10 16.0 1341 9 999999999 150 0.1100 0 88 0.160 0.0 1.0 -1555200.0 12.8 11.7 93 101800 0 0 358 0 0 0 0 0 0 0 180 2.1 10 10 16.0 366 9 999999999 150 0.1100 0 88 0.160 0.0 1.0 -1558800.0 12.8 11.7 93 101800 0 0 358 0 0 0 0 0 0 0 170 3.1 10 10 16.0 1981 9 999999999 150 0.1100 0 88 0.160 0.0 1.0 -1562400.0 12.2 11.7 97 101700 0 0 355 0 0 0 0 0 0 0 130 5.2 10 10 12.8 2134 9 999999999 150 0.1100 0 88 0.160 0.0 1.0 -1566000.0 13.3 11.7 90 101700 0 0 361 0 0 0 0 0 0 0 150 3.6 10 10 16.0 1341 9 999999999 150 0.1100 0 88 0.160 0.0 1.0 -1569600.0 13.3 11.7 90 101700 0 0 361 0 0 0 0 0 0 0 140 3.6 10 10 16.0 762 9 999999999 150 0.1100 0 88 0.160 0.0 1.0 -1573200.0 13.3 11.1 87 101700 0 0 343 0 0 0 0 0 0 0 180 2.6 8 8 16.0 732 9 999999999 150 0.1100 0 88 0.160 0.0 1.0 -1576800.0 12.8 11.7 93 101800 0 0 341 0 0 0 0 0 0 0 140 3.6 8 8 16.0 1463 9 999999999 150 0.1100 0 88 0.160 0.0 1.0 -1580400.0 12.2 11.1 93 101700 0 0 345 0 0 0 0 0 0 0 150 3.6 9 9 16.0 1829 9 999999999 150 0.1100 0 88 0.160 0.0 1.0 -1584000.0 12.2 11.1 93 101800 44 860 332 1 0 1 100 0 100 400 0 0.0 8 7 16.0 4267 9 999999999 150 0.1100 0 88 0.160 0.0 1.0 -1587600.0 11.7 11.1 96 101900 264 1413 330 28 0 28 3300 0 3300 11400 0 0.0 9 7 16.0 4267 9 999999999 150 0.1100 0 88 0.160 0.0 1.0 -1591200.0 13.9 12.2 89 101900 472 1413 347 124 6 122 14000 400 13800 45200 160 2.6 9 8 16.0 3962 9 999999999 150 0.1100 0 88 0.160 0.0 1.0 -1594800.0 14.4 12.2 87 101800 629 1413 357 156 6 153 17800 400 17600 61800 150 6.2 10 9 16.0 2134 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1598400.0 13.3 11.7 90 101800 723 1413 343 208 12 202 23700 1000 23200 81100 70 3.1 8 8 16.0 3962 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1602000.0 16.7 12.2 75 101600 747 1413 368 172 0 172 19900 0 19900 73700 180 5.7 9 9 16.0 1524 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1605600.0 15.6 11.7 78 101700 701 1413 373 79 0 79 9600 0 9600 37600 190 5.7 10 10 16.0 2286 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1609200.0 14.4 12.8 90 101600 586 1413 358 169 6 166 19000 500 18800 62700 160 5.2 10 9 16.0 701 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1612800.0 13.9 12.8 93 101500 411 1413 365 47 0 47 5600 0 5600 20100 160 4.1 10 10 4.8 610 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1616400.0 14.4 12.2 87 101500 190 1413 367 0 0 0 0 0 0 0 160 7.2 10 10 16.0 2134 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1620000.0 13.9 11.7 87 101400 10 412 364 0 0 0 0 0 0 0 150 6.7 10 10 16.0 1097 9 999999999 160 0.1100 0 88 0.160 0.0 1.0 -1623600.0 13.3 12.2 93 101400 0 0 361 0 0 0 0 0 0 0 160 4.6 10 10 6.4 671 9 999999999 160 0.1100 0 88 0.160 2.0 1.0 -1627200.0 12.2 12.2 100 101400 0 0 356 0 0 0 0 0 0 0 80 4.1 10 10 4.8 610 9 999999999 170 0.1100 0 88 0.160 6.0 1.0 -1630800.0 13.3 12.8 97 101300 0 0 362 0 0 0 0 0 0 0 200 7.7 10 10 4.0 671 9 999999999 170 0.1100 0 88 0.160 2.0 1.0 -1634400.0 13.9 12.8 93 101300 0 0 365 0 0 0 0 0 0 0 210 6.2 10 10 3.2 518 9 999999999 170 0.1100 0 88 0.160 5.0 1.0 -1638000.0 13.9 12.2 89 101200 0 0 364 0 0 0 0 0 0 0 210 7.2 10 10 16.0 457 9 999999999 170 0.1100 0 88 0.160 0.0 1.0 -1641600.0 13.3 12.2 93 101200 0 0 361 0 0 0 0 0 0 0 190 5.7 10 10 16.0 305 9 999999999 170 0.1100 0 88 0.160 0.0 1.0 -1645200.0 13.9 12.2 89 101200 0 0 364 0 0 0 0 0 0 0 200 5.7 10 10 16.0 1067 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1648800.0 13.9 12.8 93 101200 0 0 365 0 0 0 0 0 0 0 190 8.2 10 10 8.0 610 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1652400.0 13.3 12.2 93 101200 0 0 361 0 0 0 0 0 0 0 210 7.2 10 10 16.0 396 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1656000.0 13.3 11.7 90 101200 0 0 343 0 0 0 0 0 0 0 240 8.2 8 8 16.0 457 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1659600.0 13.3 11.1 87 101300 0 0 343 0 0 0 0 0 0 0 230 8.8 8 8 16.0 975 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1663200.0 13.3 11.1 87 101400 0 0 360 0 0 0 0 0 0 0 220 6.7 10 10 16.0 732 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1666800.0 13.3 10.6 84 101400 0 0 350 0 0 0 0 0 0 0 220 5.7 9 9 16.0 1128 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1670400.0 12.8 10.6 86 101500 45 859 357 1 0 1 100 0 100 400 150 3.1 10 10 16.0 732 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1674000.0 13.3 10.6 84 101600 266 1413 359 25 0 25 3000 0 3000 10300 210 4.1 10 10 16.0 549 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1677600.0 13.3 11.1 87 101600 475 1413 360 48 0 48 5800 0 5800 21300 180 5.7 10 10 14.4 488 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1681200.0 13.9 11.1 83 101600 633 1413 363 70 0 70 8500 0 8500 32600 190 5.2 10 10 16.0 914 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1684800.0 12.8 10.0 83 101600 727 1413 356 81 0 81 9900 0 9900 39000 190 7.7 10 10 9.6 1676 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1688400.0 13.3 9.4 77 101400 752 1413 358 86 0 86 10500 0 10500 41600 180 6.7 10 10 16.0 1463 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1692000.0 12.2 10.0 86 101300 705 1413 353 79 0 79 9700 0 9700 37700 180 11.3 10 10 6.4 1036 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1695600.0 12.2 10.6 90 101400 591 1413 354 81 0 81 9700 0 9700 36200 190 10.8 10 10 12.8 853 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1699200.0 13.3 11.1 87 101500 416 1413 360 111 0 111 12400 0 12400 39600 200 6.7 10 10 16.0 1219 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1702800.0 13.3 10.6 84 101500 194 1413 337 0 0 0 0 0 0 0 250 5.7 10 7 16.0 6096 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1706400.0 12.8 10.6 86 101500 11 436 328 0 0 0 0 0 0 0 250 6.7 8 5 16.0 6096 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1710000.0 12.8 10.0 83 101600 0 0 322 0 0 0 0 0 0 0 240 7.2 7 3 14.4 6096 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1713600.0 12.8 8.9 77 101700 0 0 323 0 0 0 0 0 0 0 240 7.7 7 4 14.4 6096 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1717200.0 12.2 9.4 83 101700 0 0 327 0 0 0 0 0 0 0 250 7.2 8 6 14.4 7620 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1720800.0 12.2 8.9 80 101800 0 0 315 0 0 0 0 0 0 0 240 7.2 5 2 12.8 2000 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1724400.0 12.2 8.9 80 101800 0 0 330 0 0 0 0 0 0 0 240 8.2 7 7 12.8 2000 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1728000.0 12.2 8.9 80 101900 0 0 321 0 0 0 0 0 0 0 240 7.7 6 4 12.8 2000 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1731600.0 11.7 8.9 83 101900 0 0 350 0 0 0 0 0 0 0 240 6.7 10 10 12.8 1128 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1735200.0 11.7 8.9 83 102000 0 0 324 0 0 0 0 0 0 0 250 7.2 7 6 12.8 2000 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1738800.0 11.7 8.9 83 102100 0 0 333 0 0 0 0 0 0 0 250 7.2 8 8 12.8 1372 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1742400.0 11.1 8.9 86 102000 0 0 321 0 0 0 0 0 0 0 250 5.2 7 6 12.8 4267 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1746000.0 11.1 8.9 86 102100 0 0 313 0 0 0 0 0 0 0 250 4.6 5 3 12.8 2000 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1749600.0 10.6 8.9 89 102200 0 0 328 0 0 0 0 0 0 0 320 3.1 9 8 14.4 1524 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1753200.0 10.0 7.8 86 102300 0 0 312 0 0 0 0 0 0 0 330 1.5 7 5 16.0 4267 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1756800.0 10.0 7.8 86 102300 46 883 312 4 70 3 800 3800 600 800 210 2.6 6 5 14.4 4267 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1760400.0 11.1 8.3 83 102400 269 1413 318 125 384 52 12800 28700 7300 9200 200 2.1 6 5 14.4 2000 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1764000.0 12.2 7.8 74 102500 479 1413 334 249 293 149 26100 27600 16800 31200 220 1.5 8 8 14.4 1341 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1767600.0 12.8 8.3 74 102600 636 1413 354 193 29 180 21200 2800 19900 52600 250 1.5 10 10 14.4 762 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1771200.0 12.8 7.8 72 102600 731 1413 344 416 327 246 44000 34000 26400 58300 270 4.6 9 9 16.0 1219 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1774800.0 13.3 7.2 67 102600 756 1413 338 314 109 255 34400 11000 28500 76600 260 5.7 9 8 16.0 3658 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1778400.0 13.3 6.7 64 102500 710 1413 338 461 497 210 47600 49700 22600 45600 250 5.2 8 8 16.0 3658 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1782000.0 13.3 7.8 69 102500 596 1413 334 278 158 211 29900 15600 23300 50100 270 5.7 7 7 16.0 3658 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1785600.0 12.8 8.3 74 102400 421 1413 337 156 55 140 17100 5000 15600 35200 270 4.6 8 8 14.4 2134 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1789200.0 12.8 8.3 74 102500 199 1413 332 87 0 87 9200 0 9200 21400 230 3.1 8 7 14.4 1311 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1792800.0 11.7 8.3 80 102400 12 459 320 0 0 0 0 0 0 0 210 3.1 6 5 16.0 2000 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1796400.0 11.1 8.3 83 102500 0 0 318 0 0 0 0 0 0 0 260 3.6 7 5 14.4 3048 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1800000.0 11.1 7.8 80 102500 0 0 320 0 0 0 0 0 0 0 0 0.0 7 6 16.0 2896 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1803600.0 10.6 7.2 79 102500 0 0 333 0 0 0 0 0 0 0 170 1.5 9 9 16.0 2000 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1807200.0 10.6 8.3 86 102500 0 0 327 0 0 0 0 0 0 0 0 0.0 8 8 16.0 3048 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1810800.0 10.6 9.4 92 102500 0 0 328 0 0 0 0 0 0 0 70 2.1 8 8 14.4 2591 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1814400.0 10.0 8.3 89 102500 0 0 324 0 0 0 0 0 0 0 160 1.5 8 8 16.0 2743 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1818000.0 10.6 8.3 86 102500 0 0 327 0 0 0 0 0 0 0 190 2.1 8 8 16.0 2591 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1821600.0 10.6 7.8 83 102400 0 0 326 0 0 0 0 0 0 0 130 3.1 8 8 16.0 2896 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1825200.0 10.6 8.3 86 102400 0 0 343 0 0 0 0 0 0 0 110 2.1 10 10 16.0 2286 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1828800.0 10.6 7.2 79 102400 0 0 326 0 0 0 0 0 0 0 0 0.0 8 8 16.0 2134 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1832400.0 10.0 7.8 86 102300 0 0 324 0 0 0 0 0 0 0 0 0.0 8 8 16.0 2134 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1836000.0 10.0 8.3 89 102300 0 0 324 0 0 0 0 0 0 0 0 0.0 8 8 16.0 2134 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1839600.0 10.0 7.8 86 102400 0 0 324 0 0 0 0 0 0 0 150 1.5 8 8 16.0 2134 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1843200.0 10.6 7.8 83 102400 48 906 326 4 51 3 700 2800 500 800 0 0.0 8 8 16.0 1829 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1846800.0 10.6 8.9 89 102400 272 1412 344 83 56 72 9100 4500 8200 17800 70 1.5 10 10 16.0 1494 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1850400.0 11.1 8.9 86 102400 482 1412 347 182 79 155 19900 7400 17400 40500 90 3.6 10 10 16.0 1494 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1854000.0 12.2 8.3 77 102400 640 1412 351 188 18 180 21300 1400 20700 69800 130 3.6 10 10 16.0 1311 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1857600.0 13.9 5.6 57 102300 735 1412 356 173 0 173 20000 0 20000 73400 160 5.7 10 10 16.0 1128 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1861200.0 13.9 5.0 55 102200 761 1412 356 227 12 221 25900 1000 25400 88900 190 8.2 10 10 16.0 945 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1864800.0 12.8 7.2 69 102100 715 1412 353 165 0 165 19100 0 19100 69800 160 8.8 10 10 14.4 1097 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1868400.0 11.1 8.9 86 102100 601 1412 347 233 63 206 25500 6200 22900 56400 150 7.2 10 10 6.4 945 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1872000.0 11.7 8.9 83 102000 426 1412 350 119 0 119 13300 0 13300 42000 150 9.8 10 10 16.0 579 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1875600.0 11.7 8.9 83 101900 204 1412 350 55 0 55 6100 0 6100 17700 130 5.2 10 10 16.0 488 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1879200.0 12.2 10.6 90 101900 14 483 337 0 0 0 0 0 0 0 150 5.7 8 8 16.0 914 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1882800.0 12.2 11.1 93 101800 0 0 338 0 0 0 0 0 0 0 150 6.2 8 8 11.2 1524 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1886400.0 12.2 11.1 93 101800 0 0 338 0 0 0 0 0 0 0 160 6.7 8 8 14.4 1036 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1890000.0 12.8 11.7 93 101700 0 0 358 0 0 0 0 0 0 0 160 5.7 10 10 12.8 1067 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1893600.0 13.3 11.7 90 101700 0 0 361 0 0 0 0 0 0 0 170 6.2 10 10 14.4 457 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1897200.0 13.3 12.2 93 101600 0 0 361 0 0 0 0 0 0 0 190 9.3 10 10 14.4 914 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1900800.0 13.3 12.2 93 101600 0 0 361 0 0 0 0 0 0 0 180 11.3 10 10 14.4 335 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1904400.0 11.1 10.6 97 101600 0 0 349 0 0 0 0 0 0 0 270 7.7 10 10 4.8 701 9 999999999 170 0.1110 0 88 0.160 3.0 1.0 -1908000.0 11.1 10.0 93 101600 0 0 348 0 0 0 0 0 0 0 260 3.6 10 10 9.6 762 9 999999999 170 0.1110 0 88 0.160 1.0 1.0 -1911600.0 10.6 9.4 92 101600 0 0 345 0 0 0 0 0 0 0 270 4.6 10 10 8.0 549 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1915200.0 10.0 8.9 93 101600 0 0 341 0 0 0 0 0 0 0 270 6.2 10 10 8.0 792 9 999999999 170 0.1110 0 88 0.160 1.0 1.0 -1918800.0 10.0 8.3 89 101600 0 0 341 0 0 0 0 0 0 0 280 5.2 10 10 16.0 396 9 999999999 170 0.1110 0 88 0.160 0.0 1.0 -1922400.0 8.9 7.8 93 101600 0 0 335 0 0 0 0 0 0 0 260 4.1 10 10 16.0 671 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1926000.0 9.4 7.8 90 101700 0 0 337 0 0 0 0 0 0 0 250 3.6 10 10 16.0 1981 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1929600.0 8.9 7.8 93 101700 49 906 335 6 64 4 900 3000 700 800 270 4.1 10 10 16.0 853 9 999999999 160 0.1110 0 88 0.160 0.0 1.0 -1933200.0 9.4 7.2 86 101800 275 1412 336 29 0 29 3500 0 3500 11800 260 3.1 10 10 16.0 1219 9 999999999 150 0.1110 0 88 0.160 0.0 1.0 -1936800.0 9.4 6.1 80 101800 485 1412 335 62 0 62 7400 0 7400 26900 250 4.6 10 10 16.0 823 9 999999999 150 0.1110 0 88 0.160 0.0 1.0 -1940400.0 9.4 7.2 86 101900 644 1412 327 113 0 113 13300 0 13300 49500 270 5.7 9 9 16.0 1280 9 999999999 140 0.1110 0 88 0.160 0.0 1.0 -1944000.0 10.0 5.6 74 101800 740 1412 328 144 0 144 16900 0 16900 64000 260 3.6 9 9 16.0 1280 9 999999999 140 0.1110 0 88 0.160 0.0 1.0 -1947600.0 10.6 6.7 77 101700 766 1412 332 92 0 92 11200 0 11200 44400 260 3.1 9 9 16.0 3962 9 999999999 140 0.1110 0 88 0.160 0.0 1.0 -1951200.0 10.6 6.1 74 101700 720 1412 319 480 454 248 50700 47100 26600 58700 250 3.1 8 7 16.0 3962 9 999999999 130 0.1110 0 88 0.160 0.0 1.0 -1954800.0 11.1 6.1 71 101600 606 1412 327 284 177 208 30700 17600 23100 49600 270 5.7 8 8 16.0 1341 9 999999999 130 0.1110 0 88 0.160 0.0 1.0 -1958400.0 10.0 5.6 74 101700 431 1412 313 290 424 160 30000 38300 18200 34500 270 6.2 6 6 16.0 1372 9 999999999 130 0.1110 0 88 0.160 0.0 1.0 -1962000.0 8.9 4.4 73 101700 209 1412 302 129 171 104 13500 11300 11800 22100 270 7.2 4 4 16.0 2000 9 999999999 120 0.1110 0 88 0.160 0.0 1.0 -1965600.0 8.3 3.9 74 101700 16 506 301 0 0 0 0 0 0 0 280 5.2 5 5 16.0 2000 9 999999999 120 0.1110 0 88 0.160 0.0 1.0 -1969200.0 8.3 2.2 65 101700 0 0 297 0 0 0 0 0 0 0 250 6.7 4 4 16.0 2000 9 999999999 120 0.1110 0 88 0.160 0.0 1.0 -1972800.0 7.2 1.7 68 101700 0 0 289 0 0 0 0 0 0 0 270 4.6 3 3 16.0 2000 9 999999999 110 0.1110 0 88 0.160 0.0 1.0 -1976400.0 7.2 1.1 65 101700 0 0 277 0 0 0 0 0 0 0 250 5.7 0 0 16.0 2000 9 999999999 110 0.1110 0 88 0.160 0.0 1.0 -1980000.0 6.7 1.7 70 101800 0 0 275 0 0 0 0 0 0 0 290 2.6 0 0 16.0 2000 9 999999999 110 0.1110 0 88 0.160 0.0 1.0 -1983600.0 6.7 1.7 70 101800 0 0 275 0 0 0 0 0 0 0 290 2.1 0 0 16.0 2000 9 999999999 100 0.1110 0 88 0.160 0.0 1.0 -1987200.0 6.7 0.6 65 101800 0 0 274 0 0 0 0 0 0 0 290 3.1 0 0 16.0 2000 9 999999999 100 0.1110 0 88 0.160 0.0 1.0 -1990800.0 5.6 0.6 70 101900 0 0 270 0 0 0 0 0 0 0 270 2.1 0 0 16.0 2000 9 999999999 100 0.1110 0 88 0.160 0.0 1.0 -1994400.0 3.9 0.0 76 101900 0 0 263 0 0 0 0 0 0 0 190 2.1 0 0 16.0 2000 9 999999999 90 0.1110 0 88 0.160 0.0 1.0 -1998000.0 3.3 -0.6 75 101900 0 0 271 0 0 0 0 0 0 0 230 2.1 3 3 16.0 2000 9 999999999 90 0.1110 0 88 0.160 0.0 1.0 -2001600.0 2.8 -0.6 78 101900 0 0 269 0 0 0 0 0 0 0 220 2.1 3 3 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2005200.0 3.9 -1.1 69 101900 0 0 288 0 0 0 0 0 0 0 0 0.0 8 8 16.0 2743 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2008800.0 2.2 -0.6 81 101900 0 0 269 0 0 0 0 0 0 0 190 2.6 4 4 16.0 6096 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2012400.0 3.3 -0.6 75 101900 0 0 265 0 0 0 0 0 0 0 0 0.0 1 1 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2016000.0 3.9 0.0 76 102000 51 929 274 6 114 3 1100 6700 700 1100 0 0.0 3 3 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2019600.0 6.1 0.0 65 102000 278 1412 283 149 518 46 15300 39600 7500 8400 350 3.1 3 3 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2023200.0 7.2 0.0 60 102000 489 1412 288 302 627 84 31300 57500 11300 16000 350 4.1 3 3 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2026800.0 7.8 1.1 63 102000 648 1412 296 430 684 115 44800 66400 14200 23400 350 3.1 5 5 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2030400.0 7.8 1.1 63 101900 744 1412 291 474 559 178 50200 56400 20300 38600 350 2.6 3 3 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2034000.0 8.9 1.1 58 101700 770 1412 296 540 766 121 57100 76500 15100 27200 0 0.0 3 3 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2037600.0 9.4 1.1 56 101600 725 1412 298 499 717 130 52100 70700 15700 27700 40 1.5 3 3 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2041200.0 11.1 1.1 50 101500 611 1412 305 392 549 154 41100 53500 17800 31000 340 1.5 3 3 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2044800.0 10.0 1.7 56 101500 436 1412 303 297 511 138 30100 45400 16000 27000 280 7.2 4 4 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2048400.0 9.4 1.1 56 101500 214 1412 300 123 105 107 12800 7000 11800 22700 270 7.2 4 4 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2052000.0 8.3 2.2 65 101400 17 529 297 0 0 0 0 0 0 0 270 5.7 4 4 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2055600.0 8.3 0.6 58 101300 0 0 297 0 0 0 0 0 0 0 270 5.2 5 5 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2059200.0 7.8 2.2 68 101200 0 0 292 0 0 0 0 0 0 0 280 3.6 3 3 16.0 7620 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2062800.0 8.3 2.8 68 101200 0 0 292 0 0 0 0 0 0 0 280 3.1 2 2 16.0 2000 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2066400.0 8.3 2.8 68 101200 0 0 300 0 0 0 0 0 0 0 0 0.0 5 5 16.0 3353 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2070000.0 7.8 2.2 68 101100 0 0 308 0 0 0 0 0 0 0 0 0.0 9 8 16.0 2743 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2073600.0 7.8 3.3 73 101100 0 0 304 0 0 0 0 0 0 0 160 2.1 8 7 16.0 3658 9 999999999 80 0.1110 0 88 0.160 0.0 1.0 -2077200.0 8.9 1.7 61 101000 0 0 328 0 0 0 0 0 0 0 70 3.6 10 10 16.0 1219 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2080800.0 7.2 3.3 76 101100 0 0 306 0 0 0 0 0 0 0 180 2.1 9 8 16.0 6096 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2084400.0 7.2 3.9 80 101100 0 0 314 0 0 0 0 0 0 0 180 2.6 10 9 16.0 2286 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2088000.0 7.2 3.9 80 101000 0 0 322 0 0 0 0 0 0 0 280 3.6 10 10 16.0 1981 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2091600.0 7.2 3.9 80 101000 0 0 322 0 0 0 0 0 0 0 210 1.5 10 10 16.0 2134 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2095200.0 8.3 1.1 60 101000 0 0 324 0 0 0 0 0 0 0 0 0.0 10 10 16.0 2743 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2098800.0 8.3 2.8 68 101100 0 0 317 0 0 0 0 0 0 0 110 3.6 9 9 16.0 2286 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2102400.0 7.8 2.8 71 101200 53 929 308 7 60 5 1000 2900 800 1000 120 3.6 8 8 16.0 2286 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2106000.0 8.3 1.1 60 101200 281 1411 309 88 71 73 9500 5600 8400 15700 120 5.2 8 8 16.0 2286 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2109600.0 9.4 1.1 56 101300 493 1411 314 135 17 129 15200 1100 14800 48100 120 4.6 8 8 16.0 2134 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2113200.0 9.4 5.0 74 101300 652 1411 318 366 246 252 39300 24700 27800 61300 90 4.1 8 8 16.0 2134 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2116800.0 11.7 2.8 54 101300 749 1411 326 191 12 184 22000 1000 21500 77600 150 2.1 8 8 16.0 3353 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2120400.0 11.7 3.9 59 101200 775 1411 344 203 12 196 23400 1000 22800 82800 200 3.6 10 10 16.0 3353 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2124000.0 11.7 5.6 66 101200 730 1411 324 486 453 250 51300 47100 26900 59400 210 4.6 8 7 16.0 3962 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2127600.0 11.7 5.6 66 101200 616 1411 317 72 0 72 8700 0 8700 33200 230 3.6 5 5 16.0 3962 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2131200.0 11.1 5.6 69 101200 442 1411 315 286 374 169 29600 34100 18800 36900 180 6.7 5 5 16.0 1158 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2134800.0 10.6 5.0 68 101200 219 1411 312 94 0 94 10000 0 10000 23700 200 6.2 5 5 16.0 2000 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2138400.0 10.0 5.6 74 101300 19 576 321 0 0 0 0 0 0 0 210 5.2 8 8 16.0 1311 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2142000.0 10.0 5.6 74 101300 0 0 321 0 0 0 0 0 0 0 220 5.2 8 8 16.0 1494 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2145600.0 10.0 6.1 77 101300 0 0 322 0 0 0 0 0 0 0 250 5.2 8 8 16.0 1494 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2149200.0 10.0 5.0 71 101200 0 0 328 0 0 0 0 0 0 0 230 5.2 9 9 16.0 1524 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2152800.0 9.4 5.0 74 101200 0 0 318 0 0 0 0 0 0 0 250 5.2 8 8 16.0 1189 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2156400.0 8.9 5.6 80 101200 0 0 316 0 0 0 0 0 0 0 210 3.6 8 8 16.0 1524 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2160000.0 9.4 5.0 74 101200 0 0 318 0 0 0 0 0 0 0 210 5.7 8 8 14.4 1524 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2163600.0 7.8 5.6 86 101200 0 0 327 0 0 0 0 0 0 0 230 4.1 10 10 16.0 1036 9 999999999 110 0.1120 0 88 0.160 1.0 1.0 -2167200.0 8.3 5.6 83 101100 0 0 329 0 0 0 0 0 0 0 0 0.0 10 10 16.0 1981 9 999999999 120 0.1120 0 88 0.160 0.0 1.0 -2170800.0 8.3 4.4 76 101200 0 0 319 0 0 0 0 0 0 0 250 6.2 9 9 16.0 1280 9 999999999 120 0.1120 0 88 0.160 0.0 1.0 -2174400.0 8.3 4.4 76 101100 0 0 312 0 0 0 0 0 0 0 160 2.1 8 8 16.0 2438 9 999999999 120 0.1120 0 88 0.160 0.0 1.0 -2178000.0 8.3 4.4 76 101100 0 0 312 0 0 0 0 0 0 0 180 4.1 8 8 16.0 1433 9 999999999 120 0.1120 0 88 0.160 0.0 1.0 -2181600.0 7.8 4.4 79 101100 0 0 326 0 0 0 0 0 0 0 170 3.6 10 10 16.0 1219 9 999999999 120 0.1120 0 88 0.160 0.0 1.0 -2185200.0 7.2 5.6 90 101100 0 0 309 0 0 0 0 0 0 0 110 4.1 8 8 16.0 1402 9 999999999 120 0.1120 0 88 0.160 0.0 1.0 -2188800.0 7.2 5.0 86 101100 55 953 324 7 39 6 1000 1500 900 1000 110 6.7 10 10 16.0 1280 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2192400.0 7.8 5.0 82 101100 285 1411 326 37 0 37 4400 0 4400 14700 100 8.8 10 10 16.0 792 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2196000.0 8.3 6.1 86 101300 497 1411 330 58 0 58 7000 0 7000 25600 100 9.3 10 10 16.0 914 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2199600.0 7.8 5.6 86 101400 657 1411 327 167 6 164 19100 500 18900 66500 30 7.2 10 10 4.8 488 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2203200.0 7.8 5.6 86 101500 753 1411 327 173 0 173 20100 0 20100 74400 20 7.7 10 10 16.0 792 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2206800.0 8.9 5.6 80 101600 780 1411 332 233 24 220 26700 2100 25500 90100 10 7.2 10 10 14.4 853 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2210400.0 8.9 5.0 77 101700 735 1411 316 479 502 216 49600 50400 23200 47600 20 8.2 8 8 16.0 1067 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2214000.0 9.4 4.4 71 101800 621 1411 317 412 623 136 42100 59300 15900 26200 360 9.3 8 8 16.0 1433 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2217600.0 9.4 4.4 71 101900 447 1411 306 302 624 104 30600 54900 13200 18400 360 7.2 5 5 16.0 2000 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2221200.0 9.4 5.0 74 101900 224 1411 304 112 70 100 12100 5500 11200 20400 10 8.2 4 4 16.0 2000 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2224800.0 9.4 4.4 71 102000 21 600 304 0 0 0 0 0 0 0 350 3.1 4 4 16.0 2000 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2228400.0 8.9 4.4 73 102100 0 0 302 0 0 0 0 0 0 0 330 2.1 4 4 16.0 2000 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2232000.0 8.3 4.4 76 102200 0 0 301 0 0 0 0 0 0 0 320 3.1 5 5 16.0 2000 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2235600.0 7.2 4.4 82 102200 0 0 297 0 0 0 0 0 0 0 270 1.5 5 5 16.0 2000 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2239200.0 7.2 3.9 80 102300 0 0 279 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2242800.0 6.7 3.3 79 102300 0 0 277 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2246400.0 6.1 2.2 76 102300 0 0 273 0 0 0 0 0 0 0 260 2.6 0 0 16.0 2000 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2250000.0 5.6 2.2 79 102300 0 0 271 0 0 0 0 0 0 0 220 1.5 0 0 16.0 2000 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2253600.0 5.6 2.8 82 102400 0 0 272 0 0 0 0 0 0 0 280 2.1 0 0 16.0 2000 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2257200.0 7.2 4.4 82 102400 0 0 280 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2260800.0 3.9 3.3 96 102400 0 0 266 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2264400.0 3.9 2.8 93 102500 0 0 265 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2268000.0 5.0 3.9 93 102500 0 0 271 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2271600.0 4.4 3.9 97 102600 0 0 280 0 0 0 0 0 0 0 150 2.1 3 3 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2275200.0 4.4 2.8 89 102600 57 976 279 8 133 4 1400 7900 900 1500 250 2.1 3 3 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2278800.0 7.8 5.0 82 102700 288 1411 283 151 481 52 15500 37100 7800 9400 140 1.5 0 0 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2282400.0 9.4 2.2 61 102800 501 1411 287 323 696 75 33900 64700 10800 14700 310 3.1 0 0 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2286000.0 11.1 2.8 57 102800 661 1411 294 458 778 92 47200 75200 11800 18300 360 2.6 0 0 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2289600.0 11.1 3.3 59 102800 758 1411 295 543 815 103 56300 80100 13000 21700 10 3.6 0 0 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2293200.0 12.8 2.8 51 102600 785 1411 301 571 826 109 59100 81400 13600 23100 350 2.1 0 0 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2296800.0 13.3 1.7 45 102600 740 1411 302 472 533 191 49600 53700 21300 41600 350 3.1 0 0 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2300400.0 12.8 3.3 52 102600 627 1411 302 390 491 171 40500 48100 19100 35100 270 5.2 0 0 16.0 2000 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2304000.0 12.2 1.7 49 102600 452 1411 298 301 494 142 30600 44400 16300 27800 260 7.2 0 0 16.0 2000 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2307600.0 11.1 2.2 54 102600 229 1411 294 128 158 102 13400 11000 11600 21700 260 6.7 0 0 16.0 2000 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2311200.0 10.6 3.9 63 102600 23 623 293 0 0 0 0 0 0 0 260 5.2 0 0 16.0 2000 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2314800.0 9.4 5.6 77 102600 0 0 290 0 0 0 0 0 0 0 260 5.7 0 0 16.0 2000 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2318400.0 8.9 6.1 83 102700 0 0 288 0 0 0 0 0 0 0 270 5.2 0 0 16.0 2000 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2322000.0 8.9 5.6 80 102700 0 0 288 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2325600.0 7.2 3.3 76 102700 0 0 279 0 0 0 0 0 0 0 0 0.0 1 0 16.0 2000 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2329200.0 7.8 1.7 65 102800 0 0 280 0 0 0 0 0 0 0 0 0.0 1 0 16.0 2000 9 999999999 70 0.1120 0 88 0.160 0.0 1.0 -2332800.0 7.2 1.7 68 102700 0 0 277 0 0 0 0 0 0 0 260 1.5 1 0 16.0 2000 9 999999999 70 0.1120 0 88 0.160 0.0 1.0 -2336400.0 6.1 2.2 76 102700 0 0 279 0 0 0 0 0 0 0 260 2.1 1 1 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2340000.0 5.6 1.7 76 102700 0 0 271 0 0 0 0 0 0 0 260 1.5 0 0 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2343600.0 4.4 1.7 83 102700 0 0 266 0 0 0 0 0 0 0 260 3.1 0 0 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2347200.0 3.9 1.7 86 102700 0 0 264 0 0 0 0 0 0 0 240 2.1 1 0 16.0 6096 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2350800.0 3.9 1.7 86 102700 0 0 273 0 0 0 0 0 0 0 0 0.0 3 2 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2354400.0 3.3 1.1 85 102700 0 0 267 0 0 0 0 0 0 0 190 2.1 1 1 16.0 6096 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2358000.0 7.2 4.4 82 102800 0 0 297 0 0 0 0 0 0 0 290 2.6 5 5 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2361600.0 6.7 4.4 85 102800 59 976 278 7 49 5 900 2400 800 1000 280 1.5 1 0 16.0 9144 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2365200.0 8.9 5.6 80 102900 292 1410 288 152 380 73 15700 29000 9700 13400 270 5.2 1 0 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2368800.0 10.6 5.0 68 102900 505 1410 294 294 521 107 31200 48700 13700 20300 270 5.2 0 0 16.0 7620 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2372400.0 11.1 5.6 69 102800 666 1410 297 415 538 160 43700 53400 18400 33000 290 5.2 0 0 16.0 7620 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2376000.0 11.7 5.6 66 102700 763 1410 317 474 512 196 49900 51800 21700 43400 280 5.7 5 5 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2379600.0 11.7 6.7 71 102600 790 1410 301 509 597 173 54500 60800 20300 38600 270 4.6 0 0 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2383200.0 12.2 6.1 66 102600 746 1410 302 537 759 134 56100 75100 16200 29000 280 6.2 0 0 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2386800.0 12.2 5.6 64 102500 632 1410 302 446 754 107 46600 73100 13700 21800 270 6.2 0 0 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2390400.0 11.7 5.0 63 102500 458 1410 299 308 634 101 31300 56400 12900 18100 260 8.2 0 0 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2394000.0 10.6 6.1 74 102500 234 1410 295 82 0 82 8900 0 8900 23800 260 8.2 0 0 16.0 7620 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2397600.0 10.0 6.7 80 102500 25 646 311 0 0 0 0 0 0 0 260 6.2 5 5 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2401200.0 9.4 6.7 83 102500 0 0 306 0 0 0 0 0 0 0 260 3.6 4 4 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2404800.0 8.9 6.7 86 102600 0 0 299 0 0 0 0 0 0 0 270 4.1 2 2 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2408400.0 8.9 6.7 86 102500 0 0 295 0 0 0 0 0 0 0 270 3.6 1 1 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2412000.0 8.3 6.7 90 102500 0 0 287 0 0 0 0 0 0 0 260 2.1 0 0 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2415600.0 7.8 6.7 93 102600 0 0 285 0 0 0 0 0 0 0 280 3.1 0 0 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2419200.0 8.3 6.7 90 102600 0 0 299 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2422800.0 7.2 6.1 93 102600 0 0 282 0 0 0 0 0 0 0 0 0.0 0 0 12.8 2000 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2426400.0 6.1 5.0 93 102600 0 0 288 0 0 0 0 0 0 0 190 1.5 3 3 12.8 2000 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2430000.0 5.6 5.0 96 102500 0 0 286 0 0 0 0 0 0 0 0 0.0 3 3 12.8 2000 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2433600.0 5.0 4.4 96 102500 0 0 283 0 0 0 0 0 0 0 140 1.5 3 3 14.4 2000 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2437200.0 4.4 4.4 100 102400 0 0 295 0 0 0 0 0 0 0 140 1.5 8 8 12.8 213 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2440800.0 4.4 3.9 97 102400 0 0 282 0 0 0 0 0 0 0 130 2.1 4 4 11.2 2000 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2444400.0 5.0 4.4 96 102400 0 0 285 0 0 0 0 0 0 0 130 2.6 4 4 14.4 2000 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2448000.0 5.0 4.4 96 102400 62 999 287 10 150 5 1600 9000 1000 1800 140 3.1 5 5 11.2 2000 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2451600.0 6.7 5.0 89 102500 296 1410 293 160 514 52 16500 40200 8000 9500 90 1.5 4 4 11.2 2000 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2455200.0 7.2 5.6 90 102500 509 1410 309 324 674 79 33800 62800 11000 15400 110 2.1 8 8 8.0 244 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2458800.0 7.8 5.6 86 102400 670 1410 300 437 609 146 44800 58800 16800 28900 90 1.5 5 5 9.6 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2462400.0 8.9 6.7 86 102300 768 1410 295 486 559 180 51600 56700 20600 39700 70 2.1 1 1 9.6 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2466000.0 10.0 6.1 77 102200 796 1410 299 497 524 200 52500 53300 22300 45400 30 2.6 2 1 14.4 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2469600.0 10.6 6.7 77 102200 751 1410 302 536 747 137 56000 73900 16400 29700 360 4.1 1 1 14.4 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2473200.0 10.6 7.2 79 102100 638 1410 297 446 735 112 46400 71200 14100 22700 360 3.6 1 0 12.8 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2476800.0 11.1 6.7 74 102100 463 1410 298 315 653 99 32000 58400 12800 17900 360 1.5 0 0 12.8 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2480400.0 10.6 5.0 68 102000 240 1410 294 138 191 106 14600 13600 12300 22600 0 0.0 0 0 12.8 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2484000.0 10.6 4.4 65 102000 27 670 294 0 0 0 0 0 0 0 0 0.0 0 0 14.4 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2487600.0 9.4 5.0 74 102000 0 0 289 0 0 0 0 0 0 0 140 1.5 1 0 16.0 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2491200.0 10.0 6.7 80 102000 0 0 303 0 0 0 0 0 0 0 0 0.0 4 2 12.8 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2494800.0 9.4 7.2 86 101900 0 0 301 0 0 0 0 0 0 0 10 3.1 3 2 12.8 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2498400.0 9.4 7.2 86 101900 0 0 301 0 0 0 0 0 0 0 360 2.6 4 2 9.6 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2502000.0 8.9 7.2 89 101900 0 0 302 0 0 0 0 0 0 0 30 2.1 6 3 9.6 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2505600.0 6.7 5.6 93 101900 0 0 284 0 0 0 0 0 0 0 190 1.5 2 1 9.6 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2509200.0 7.2 6.1 93 101800 0 0 291 0 0 0 0 0 0 0 0 0.0 3 2 8.0 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2512800.0 6.7 5.6 93 101800 0 0 291 0 0 0 0 0 0 0 0 0.0 4 3 6.4 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2516400.0 5.6 5.0 96 101800 0 0 283 0 0 0 0 0 0 0 250 2.1 3 2 6.4 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2520000.0 5.0 4.4 96 101700 0 0 287 0 0 0 0 0 0 0 190 2.1 6 5 4.8 7620 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2523600.0 5.6 5.0 96 101700 0 0 301 0 0 0 0 0 0 0 160 1.5 9 8 4.8 213 9 999999999 60 0.1130 0 88 0.160 0.0 1.0 -2527200.0 5.6 5.0 96 101600 0 0 316 0 0 0 0 0 0 0 190 1.5 10 10 4.8 213 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2530800.0 6.1 5.6 97 101600 0 0 291 0 0 0 0 0 0 0 0 0.0 5 4 4.8 7620 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2534400.0 6.7 5.6 93 101600 64 1022 293 3 0 3 400 0 400 1200 0 0.0 4 4 4.8 7620 9 999999999 70 0.1130 0 88 0.160 0.0 1.0 -2538000.0 7.8 6.1 89 101600 300 1410 307 113 155 79 11800 12000 9300 15200 60 2.6 8 7 4.0 6096 9 999999999 80 0.1130 0 88 0.160 0.0 1.0 -2541600.0 7.8 6.1 89 101600 513 1410 304 261 312 147 27700 30100 16700 30500 0 0.0 8 6 6.4 6096 9 999999999 80 0.1130 0 88 0.160 0.0 1.0 -2545200.0 7.8 5.6 86 101600 675 1410 300 329 164 250 35400 16600 27400 61500 0 0.0 7 5 8.0 5486 9 999999999 80 0.1130 0 88 0.160 0.0 1.0 -2548800.0 8.9 6.1 83 101500 773 1410 308 335 107 276 36700 10800 30800 82600 40 3.1 7 6 8.0 7620 9 999999999 80 0.1130 0 88 0.160 0.0 1.0 -2552400.0 10.0 6.7 80 101400 801 1410 311 270 24 256 30600 2200 29300 101200 360 4.6 5 5 11.2 7620 9 999999999 90 0.1130 0 88 0.160 0.0 1.0 -2556000.0 14.4 5.6 55 101300 757 1410 332 281 31 265 31600 2900 30100 99200 150 8.8 6 6 16.0 7620 9 999999999 90 0.1130 0 88 0.160 0.0 1.0 -2559600.0 13.9 4.4 53 101300 643 1410 333 186 6 184 21100 500 20900 71100 150 6.2 7 7 16.0 7620 9 999999999 90 0.1130 0 88 0.160 0.0 1.0 -2563200.0 13.3 5.0 57 101200 468 1410 331 165 40 152 18100 3700 16800 39400 130 8.8 8 7 16.0 6096 9 999999999 100 0.1130 0 88 0.160 0.0 1.0 -2566800.0 13.3 4.4 55 101100 245 1410 335 133 122 112 14000 8800 12500 23900 130 8.2 9 8 16.0 5486 9 999999999 100 0.1130 0 88 0.160 0.0 1.0 -2570400.0 11.7 5.0 63 101100 29 693 320 0 0 0 0 0 0 0 160 2.1 8 6 16.0 5486 9 999999999 100 0.1130 0 88 0.160 0.0 1.0 -2574000.0 11.7 5.6 66 101000 0 0 320 0 0 0 0 0 0 0 140 4.6 6 6 16.0 5486 9 999999999 100 0.1130 0 88 0.160 0.0 1.0 -2577600.0 11.7 5.6 66 101000 0 0 320 0 0 0 0 0 0 0 110 3.6 8 6 16.0 7620 9 999999999 110 0.1130 0 88 0.160 0.0 1.0 -2581200.0 11.7 6.7 71 101000 0 0 347 0 0 0 0 0 0 0 90 4.6 10 10 16.0 1280 9 999999999 110 0.1130 0 88 0.160 0.0 1.0 -2584800.0 11.1 6.7 74 100900 0 0 344 0 0 0 0 0 0 0 90 5.2 10 10 16.0 1158 9 999999999 110 0.1130 0 88 0.160 0.0 1.0 -2588400.0 11.1 6.7 74 100800 0 0 344 0 0 0 0 0 0 0 100 5.2 10 10 16.0 1036 9 999999999 120 0.1130 0 88 0.160 0.0 1.0 -2592000.0 8.9 7.2 89 100900 0 0 334 0 0 0 0 0 0 0 220 4.1 10 10 4.8 914 9 999999999 120 0.1130 0 88 0.160 5.0 1.0 -2595600.0 8.9 7.8 93 100800 0 0 335 0 0 0 0 0 0 0 350 4.1 10 10 12.8 549 9 999999999 120 0.1140 0 88 0.160 4.0 1.0 -2599200.0 9.4 8.3 93 100700 0 0 338 0 0 0 0 0 0 0 170 3.1 10 10 16.0 914 9 999999999 120 0.1140 0 88 0.160 0.0 1.0 -2602800.0 8.9 8.3 96 100700 0 0 335 0 0 0 0 0 0 0 270 2.1 10 10 12.8 823 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2606400.0 8.9 6.7 86 100800 0 0 334 0 0 0 0 0 0 0 140 6.7 10 10 9.6 1128 9 999999999 130 0.1140 0 88 0.160 3.0 1.0 -2610000.0 8.9 7.8 93 100800 0 0 335 0 0 0 0 0 0 0 140 5.7 10 10 16.0 1036 9 999999999 130 0.1140 0 88 0.160 2.0 1.0 -2613600.0 9.4 7.2 86 100800 0 0 327 0 0 0 0 0 0 0 250 10.8 9 9 16.0 3353 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2617200.0 8.9 6.7 86 101100 0 0 318 0 0 0 0 0 0 0 290 5.7 9 8 16.0 914 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2620800.0 9.4 7.2 86 101300 67 1045 320 13 97 9 1700 4800 1400 1800 270 7.2 8 8 16.0 1585 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2624400.0 10.6 6.7 77 101500 304 1409 325 128 202 85 13500 15800 10100 16600 280 9.3 8 8 16.0 1676 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2628000.0 10.0 6.1 77 101700 518 1409 322 145 17 139 16400 1200 15900 52000 270 10.3 8 8 16.0 1280 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2631600.0 11.1 5.6 69 101800 680 1409 326 108 0 108 12800 0 12800 48800 290 11.3 8 8 16.0 1219 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2635200.0 10.6 5.6 71 101800 778 1409 324 185 6 182 21500 500 21200 78600 270 8.8 8 8 16.0 1006 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2638800.0 11.7 5.6 66 101900 806 1409 329 466 350 265 49700 36900 28400 65600 260 12.9 8 8 16.0 1006 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2642400.0 11.1 5.0 66 101900 762 1409 314 477 520 195 50200 52600 21700 43200 280 13.4 5 5 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2646000.0 11.1 5.0 66 102000 649 1409 314 394 458 182 40800 45100 20000 37900 280 13.9 5 5 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2649600.0 10.6 4.4 65 102100 474 1409 311 311 569 119 32400 52100 14800 22800 260 12.9 5 5 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2653200.0 9.4 3.3 66 102200 250 1409 305 165 342 104 16800 23800 12500 22200 270 11.3 10 5 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2656800.0 8.9 2.8 66 102300 32 716 300 0 56 0 0 0 0 0 270 11.8 4 4 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2660400.0 8.9 3.3 68 102400 0 0 300 0 0 0 0 0 0 0 270 9.3 4 4 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2664000.0 8.9 3.3 68 102500 0 0 300 0 0 0 0 0 0 0 270 8.8 4 4 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2667600.0 8.3 3.3 71 102500 0 0 298 0 0 0 0 0 0 0 280 5.7 4 4 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2671200.0 8.1 3.5 73 102500 0 0 295 0 0 0 0 0 0 0 290 4.9 3 3 16.0 2000 9 999999999 120 0.1140 0 88 0.160 0.0 1.0 -2674800.0 8.0 3.6 74 102600 0 0 282 0 0 0 0 0 0 0 260 4.1 0 0 16.0 2000 9 999999999 120 0.1140 0 88 0.160 0.0 1.0 -2678400.0 7.8 3.8 76 102700 0 0 282 0 0 0 0 0 0 0 260 3.3 0 0 16.0 2000 9 999999999 120 0.1140 0 88 0.160 0.0 1.0 -2682000.0 7.7 3.9 86 102100 0 0 294 0 0 0 0 0 0 0 0 2.4 8 3 11.3 2000 9 999999999 130 0.1140 0 88 999.000 999.0 99.0 -2685600.0 7.5 4.1 85 102100 0 0 293 0 0 0 0 0 0 0 0 1.6 7 3 11.3 2000 9 999999999 130 0.1140 0 88 999.000 999.0 99.0 -2689200.0 7.4 4.2 84 102100 0 0 290 0 0 0 0 0 0 0 0 0.8 7 2 11.3 2000 9 999999999 140 0.1140 0 88 999.000 999.0 99.0 -2692800.0 7.2 4.4 83 102100 0 0 289 0 0 0 0 0 0 0 0 0.0 6 2 8.0 2000 9 999999999 140 0.1140 0 88 999.000 999.0 99.0 -2696400.0 7.4 4.9 86 102100 0 0 298 0 0 0 0 0 0 0 60 0.7 7 5 8.0 2000 9 999999999 140 0.1140 0 88 999.000 999.0 99.0 -2700000.0 7.6 5.6 90 102100 0 0 306 0 0 0 0 0 0 0 110 1.4 9 7 8.0 2000 9 999999999 130 0.1140 0 88 999.000 999.0 99.0 -2703600.0 7.8 6.7 93 102000 0 0 328 0 0 0 0 0 0 0 170 2.1 10 10 0.8 120 9 999999999 130 0.1140 0 88 999.000 999.0 99.0 -2707200.0 8.3 6.3 89 102000 70 1068 309 20 21 18 2200 1000 2100 370 110 1.4 7 7 0.8 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -2710800.0 8.9 6.3 84 102000 309 1409 301 115 228 66 12200 17900 8300 1200 60 0.7 3 3 0.8 2000 9 999999999 110 0.1020 0 88 999.000 999.0 99.0 -2714400.0 9.4 6.1 80 102000 524 1409 290 327 693 70 33900 64700 9700 1370 0 0.0 0 0 4.0 2000 9 999999999 110 0.1020 0 88 999.000 999.0 99.0 -2718000.0 10.7 5.0 70 102000 687 1409 295 450 751 86 47300 73300 11500 1810 30 0.7 0 0 4.0 2000 9 999999999 100 0.1020 0 88 999.000 999.0 99.0 -2721600.0 12.0 3.9 61 102000 785 1409 299 552 826 95 58600 81900 12700 2140 50 1.4 0 0 4.0 2000 9 999999999 100 0.1020 0 88 999.000 999.0 99.0 -2725200.0 13.3 3.3 51 101900 814 1409 304 584 848 97 62000 84400 13100 2230 80 2.1 0 0 11.3 2000 9 999999999 90 0.1020 0 88 999.000 999.0 99.0 -2728800.0 13.5 3.4 52 101800 770 1409 305 542 829 93 57600 82100 12500 2070 40 3.1 0 0 11.3 2000 9 999999999 90 0.1020 0 88 999.000 999.0 99.0 -2732400.0 13.7 3.8 52 101800 656 1409 306 442 779 83 46600 75600 11200 1720 350 4.2 0 0 11.3 2000 9 999999999 90 0.1020 0 88 999.000 999.0 99.0 -2736000.0 13.9 4.4 53 101700 481 1409 308 292 672 66 30500 61600 9300 1270 310 5.2 0 0 16.1 2000 9 999999999 80 0.1020 0 88 999.000 999.0 99.0 -2739600.0 13.0 4.8 59 101700 257 1409 304 120 433 44 12700 32100 6800 800 300 4.8 0 0 16.1 2000 9 999999999 80 0.1020 0 88 999.000 999.0 99.0 -2743200.0 12.0 5.3 66 101700 35 763 301 18 46 13 1700 1300 1600 220 300 4.5 0 0 16.1 2000 9 999999999 80 0.1020 0 88 999.000 999.0 99.0 -2746800.0 11.1 6.1 72 101700 0 0 298 0 0 0 0 0 0 0 290 4.1 0 0 24.1 2000 9 999999999 80 0.1020 0 88 999.000 999.0 99.0 -2750400.0 10.9 6.3 75 101700 0 0 297 0 0 0 0 0 0 0 260 3.4 0 0 24.1 2000 9 999999999 80 0.1020 0 88 999.000 999.0 99.0 -2754000.0 10.8 6.7 77 101700 0 0 297 0 0 0 0 0 0 0 240 2.8 0 0 24.1 2000 9 999999999 80 0.1020 0 88 999.000 999.0 99.0 -2757600.0 10.6 7.2 80 101700 0 0 297 0 0 0 0 0 0 0 210 2.1 0 0 19.3 2000 9 999999999 90 0.1020 0 88 999.000 999.0 99.0 -2761200.0 9.5 6.1 81 101700 0 0 301 0 0 0 0 0 0 0 200 2.1 2 2 19.3 2000 9 999999999 90 0.1020 0 88 999.000 999.0 99.0 -2764800.0 8.3 5.1 82 101700 0 0 297 0 0 0 0 0 0 0 180 2.1 3 3 19.3 2000 9 999999999 90 0.1020 0 88 999.000 999.0 99.0 -2768400.0 7.2 4.4 83 101700 0 0 297 0 0 0 0 0 0 0 170 2.1 5 5 17.7 2000 9 999999999 90 0.1020 0 88 999.000 999.0 99.0 -2772000.0 6.7 3.9 85 101700 0 0 289 0 0 0 0 0 0 0 150 2.3 3 3 17.7 2000 9 999999999 90 0.1020 0 88 999.000 999.0 99.0 -2775600.0 6.1 3.8 87 101700 0 0 284 0 0 0 0 0 0 0 120 2.4 2 2 17.7 2000 9 999999999 90 0.1020 0 88 999.000 999.0 99.0 -2779200.0 5.6 3.9 89 101700 0 0 273 0 0 0 0 0 0 0 100 2.6 0 0 9.7 2000 9 999999999 90 0.1020 0 88 999.000 999.0 99.0 -2782800.0 6.0 3.6 87 101700 0 0 274 0 0 0 0 0 0 0 80 2.6 0 0 9.7 2000 9 999999999 90 0.1020 0 88 999.000 999.0 99.0 -2786400.0 6.3 3.6 85 101700 0 0 276 0 0 0 0 0 0 0 70 2.6 1 0 9.7 2000 9 999999999 90 0.1020 0 88 999.000 999.0 99.0 -2790000.0 6.7 3.9 83 101700 0 0 277 0 0 0 0 0 0 0 50 2.6 1 0 4.8 2000 9 999999999 90 0.1020 0 88 999.000 999.0 99.0 -2793600.0 7.1 3.5 80 101800 73 1092 279 33 92 24 3200 3400 3000 430 50 4.1 3 0 4.8 2000 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2797200.0 7.4 3.5 77 101800 314 1408 285 121 266 63 13000 21000 8300 1130 50 5.7 4 1 4.8 2000 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2800800.0 7.8 3.3 74 101900 529 1408 287 309 554 102 32000 51500 12600 1930 50 7.2 6 1 4.8 2000 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2804400.0 8.5 3.2 71 101800 692 1408 289 458 730 101 48800 72200 13200 2170 60 6.7 5 1 4.8 2000 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2808000.0 9.3 3.0 67 101800 791 1408 293 512 719 109 54800 72400 14000 2530 60 6.2 5 1 4.8 2000 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2811600.0 10.0 3.3 64 101800 819 1408 296 543 732 120 58200 73800 15100 2840 70 5.7 4 1 6.4 2000 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2815200.0 10.2 3.0 63 101700 775 1408 300 489 595 164 50900 58600 18500 3530 100 4.3 6 2 6.4 2000 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2818800.0 10.4 3.0 62 101700 662 1408 301 406 571 140 43700 56700 17000 2850 140 2.9 8 2 6.4 2000 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2822400.0 10.6 3.3 61 101700 487 1408 305 263 423 119 27800 39100 14200 2280 170 1.5 10 3 9.7 2000 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2826000.0 10.2 3.1 63 101700 263 1408 303 104 201 68 11200 14500 8400 1290 130 1.5 9 3 9.7 2000 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2829600.0 9.8 3.1 64 101700 38 786 299 17 18 15 1800 700 1700 310 90 1.5 9 2 9.7 2000 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2833200.0 9.4 3.3 66 101800 0 0 297 0 0 0 0 0 0 0 50 1.5 8 2 8.0 2000 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2836800.0 8.7 3.3 71 101800 0 0 302 0 0 0 0 0 0 0 90 1.7 9 5 8.0 2000 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2840400.0 7.9 3.5 75 101800 0 0 305 0 0 0 0 0 0 0 120 1.9 9 7 8.0 2000 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2844000.0 7.2 3.9 80 101800 0 0 322 0 0 0 0 0 0 0 160 2.1 10 10 6.4 4570 9 999999999 90 0.1100 0 88 999.000 999.0 99.0 -2847600.0 7.4 3.7 79 101800 0 0 323 0 0 0 0 0 0 0 120 1.9 10 10 6.4 5283 9 999999999 100 0.1100 0 88 999.000 999.0 99.0 -2851200.0 7.6 3.7 78 101900 0 0 324 0 0 0 0 0 0 0 80 1.7 10 10 6.4 5997 9 999999999 100 0.1100 0 88 999.000 999.0 99.0 -2854800.0 7.8 3.9 77 101900 0 0 325 0 0 0 0 0 0 0 40 1.5 10 10 4.8 6710 9 999999999 100 0.1100 0 88 999.000 999.0 99.0 -2858400.0 7.4 3.4 78 102000 0 0 323 0 0 0 0 0 0 0 30 1.0 10 10 4.8 7013 9 999999999 100 0.1100 0 88 999.000 999.0 99.0 -2862000.0 7.1 3.2 79 102000 0 0 321 0 0 0 0 0 0 0 10 0.5 10 10 4.8 7317 9 999999999 100 0.1100 0 88 999.000 999.0 99.0 -2865600.0 6.7 3.3 80 102000 0 0 320 0 0 0 0 0 0 0 0 0.0 10 10 4.8 7620 9 999999999 100 0.1100 0 88 999.000 999.0 99.0 -2869200.0 6.7 3.2 81 102100 0 0 319 0 0 0 0 0 0 0 50 0.9 10 10 4.8 5193 9 999999999 100 0.1100 0 88 999.000 999.0 99.0 -2872800.0 6.7 3.4 82 102100 0 0 320 0 0 0 0 0 0 0 90 1.7 10 10 4.8 2767 9 999999999 100 0.1100 0 88 999.000 999.0 99.0 -2876400.0 6.7 3.9 83 102100 0 0 320 0 0 0 0 0 0 0 140 2.6 10 10 4.0 340 9 999999999 100 0.1100 0 88 999.000 999.0 99.0 -2880000.0 6.9 3.5 81 102200 76 1115 300 26 10 25 2800 600 2800 590 120 3.1 9 7 4.0 2000 9 999999999 100 0.0700 0 88 999.000 999.0 99.0 -2883600.0 7.0 3.5 79 102300 318 1408 295 121 165 85 12900 13200 9900 1650 110 3.6 7 5 4.0 2000 9 999999999 100 0.0700 0 88 999.000 999.0 99.0 -2887200.0 7.2 3.3 77 102400 534 1408 288 305 514 111 32600 48800 14100 2120 90 4.1 6 2 3.6 2000 9 999999999 100 0.0700 0 88 999.000 999.0 99.0 -2890800.0 8.5 3.4 72 102300 697 1408 294 446 656 123 46900 64400 14900 2580 120 3.4 6 2 3.6 2000 9 999999999 110 0.0700 0 88 999.000 999.0 99.0 -2894400.0 9.8 3.4 66 102300 796 1408 299 523 725 115 56000 73000 14600 2670 150 2.8 5 2 3.6 2000 9 999999999 110 0.0700 0 88 999.000 999.0 99.0 -2898000.0 11.1 3.9 61 102300 825 1408 305 342 410 103 37000 41600 12500 2490 180 2.1 5 2 4.0 2000 9 999999999 110 0.0700 0 88 999.000 999.0 99.0 -2901600.0 11.8 3.8 59 102300 781 1408 311 522 667 155 54700 66000 17900 3390 140 2.1 7 3 4.0 2000 9 999999999 110 0.0700 0 88 999.000 999.0 99.0 -2905200.0 12.6 4.0 57 102300 668 1408 315 384 492 153 41000 48900 17800 3140 100 2.1 8 3 4.0 2000 9 999999999 110 0.0700 0 88 999.000 999.0 99.0 -2908800.0 13.3 4.4 55 102200 492 1408 321 287 475 124 30300 44000 14800 2390 60 2.1 10 4 4.8 2000 9 999999999 110 0.0700 0 88 999.000 999.0 99.0 -2912400.0 12.4 4.0 58 102300 268 1408 316 110 304 54 11800 22400 7600 970 100 2.1 10 4 4.8 2000 9 999999999 110 0.0700 0 88 999.000 999.0 99.0 -2916000.0 11.5 3.8 61 102300 41 810 312 16 6 16 1800 300 1800 390 140 2.1 10 4 4.8 2000 9 999999999 110 0.0700 0 88 999.000 999.0 99.0 -2919600.0 10.6 3.9 64 102300 0 0 308 0 0 0 0 0 0 0 180 2.1 10 4 8.0 2000 9 999999999 100 0.0700 0 88 999.000 999.0 99.0 -2923200.0 10.2 3.9 66 102400 0 0 304 0 0 0 0 0 0 0 180 2.1 7 3 8.0 2000 9 999999999 100 0.0700 0 88 999.000 999.0 99.0 -2926800.0 9.8 4.1 69 102400 0 0 300 0 0 0 0 0 0 0 170 2.1 4 2 8.0 2000 9 999999999 100 0.0700 0 88 999.000 999.0 99.0 -2930400.0 9.4 4.4 71 102500 0 0 294 0 0 0 0 0 0 0 170 2.1 1 1 6.4 2000 9 999999999 100 0.0700 0 88 999.000 999.0 99.0 -2934000.0 8.9 3.8 72 102500 0 0 292 0 0 0 0 0 0 0 220 2.1 1 1 6.4 2000 9 999999999 100 0.0700 0 88 999.000 999.0 99.0 -2937600.0 8.3 3.5 73 102500 0 0 283 0 0 0 0 0 0 0 260 2.1 1 0 6.4 2000 9 999999999 100 0.0700 0 88 999.000 999.0 99.0 -2941200.0 7.8 3.3 74 102500 0 0 281 0 0 0 0 0 0 0 310 2.1 1 0 4.8 2000 9 999999999 90 0.0700 0 88 999.000 999.0 99.0 -2944800.0 7.6 3.2 76 102500 0 0 280 0 0 0 0 0 0 0 300 1.9 3 0 4.8 2000 9 999999999 90 0.0700 0 88 999.000 999.0 99.0 -2948400.0 7.4 3.4 78 102500 0 0 285 0 0 0 0 0 0 0 300 1.7 5 1 4.8 2000 9 999999999 90 0.0700 0 88 999.000 999.0 99.0 -2952000.0 7.2 3.9 80 102500 0 0 285 0 0 0 0 0 0 0 290 1.5 7 1 6.4 2000 9 999999999 90 0.0700 0 88 999.000 999.0 99.0 -2955600.0 6.7 3.2 81 102500 0 0 282 0 0 0 0 0 0 0 310 1.0 7 1 6.4 2000 9 999999999 90 0.0700 0 88 999.000 999.0 99.0 -2959200.0 6.1 2.8 82 102500 0 0 279 0 0 0 0 0 0 0 340 0.5 7 1 6.4 2000 9 999999999 90 0.0700 0 88 999.000 999.0 99.0 -2962800.0 5.6 2.8 83 102500 0 0 277 0 0 0 0 0 0 0 0 0.0 7 1 4.0 2000 9 999999999 90 0.0700 0 88 999.000 999.0 99.0 -2966400.0 6.7 3.4 81 102500 79 1114 286 29 47 24 3000 2200 2900 500 20 0.9 8 2 4.0 2000 9 999999999 90 0.1260 0 88 999.000 999.0 99.0 -2970000.0 7.8 4.3 79 102600 323 1408 294 156 324 82 16200 25800 10200 1520 40 1.7 9 3 4.0 2000 9 999999999 90 0.1260 0 88 999.000 999.0 99.0 -2973600.0 8.9 5.0 77 102600 539 1408 302 291 388 144 30400 36800 16300 2840 60 2.6 10 4 3.6 2000 9 999999999 90 0.1260 0 88 999.000 999.0 99.0 -2977200.0 10.4 5.2 72 102600 702 1408 311 374 390 180 39400 39000 19800 3820 60 2.8 10 5 3.6 2000 9 999999999 100 0.1260 0 88 999.000 999.0 99.0 -2980800.0 11.8 5.4 67 102500 802 1408 324 374 203 260 41000 21100 28900 6840 60 2.9 10 7 3.6 2000 9 999999999 100 0.1260 0 88 999.000 999.0 99.0 -2984400.0 13.3 6.1 62 102500 831 1408 337 370 199 253 40600 20800 28300 6780 60 3.1 10 8 6.4 7620 9 999999999 100 0.1260 0 88 999.000 999.0 99.0 -2988000.0 14.1 5.4 58 102400 787 1408 340 318 129 246 34700 13400 27200 6420 50 2.8 10 8 6.4 7620 9 999999999 100 0.1260 0 88 999.000 999.0 99.0 -2991600.0 14.8 5.1 54 102400 673 1408 350 220 29 207 24900 2500 23700 7900 50 2.4 10 9 6.4 7620 9 999999999 100 0.1260 0 88 999.000 999.0 99.0 -2995200.0 15.6 5.0 50 102300 498 1408 354 148 34 136 16200 3200 15100 3740 40 2.1 10 9 11.3 7620 9 999999999 100 0.1260 0 88 999.000 999.0 99.0 -2998800.0 14.5 4.6 53 102300 273 1408 348 62 14 59 7000 400 6900 2110 90 2.1 10 9 11.3 7113 9 999999999 100 0.1260 0 88 999.000 999.0 99.0 -3002400.0 13.3 4.4 56 102300 43 833 352 13 0 13 1500 0 1500 470 150 2.1 10 10 11.3 6607 9 999999999 110 0.1260 0 88 999.000 999.0 99.0 -3006000.0 12.2 4.4 59 102300 0 0 347 0 0 0 0 0 0 0 200 2.1 10 10 14.5 6100 9 999999999 110 0.1260 0 88 999.000 999.0 99.0 -3009600.0 12.0 3.9 58 102300 0 0 323 0 0 0 0 0 0 0 230 2.9 8 7 14.5 2000 9 999999999 110 0.1260 0 88 999.000 999.0 99.0 -3013200.0 11.9 3.5 58 102300 0 0 316 0 0 0 0 0 0 0 270 3.8 5 5 14.5 2000 9 999999999 120 0.1260 0 88 999.000 999.0 99.0 -3016800.0 11.7 3.3 57 102400 0 0 307 0 0 0 0 0 0 0 300 4.6 3 2 14.5 2000 9 999999999 120 0.1260 0 88 999.000 999.0 99.0 -3020400.0 10.4 3.1 63 102300 0 0 304 0 0 0 0 0 0 0 270 3.8 4 3 14.5 2000 9 999999999 120 0.1260 0 88 999.000 999.0 99.0 -3024000.0 9.1 3.1 68 102300 0 0 299 0 0 0 0 0 0 0 230 2.9 5 3 14.5 2000 9 999999999 130 0.1260 0 88 999.000 999.0 99.0 -3027600.0 7.8 3.3 74 102300 0 0 296 0 0 0 0 0 0 0 200 2.1 6 4 11.3 7620 9 999999999 130 0.1260 0 88 999.000 999.0 99.0 -3031200.0 7.6 3.0 75 102300 0 0 295 0 0 0 0 0 0 0 190 2.1 6 4 11.3 2000 9 999999999 130 0.1260 0 88 999.000 999.0 99.0 -3034800.0 7.4 3.0 76 102300 0 0 291 0 0 0 0 0 0 0 180 2.1 7 3 11.3 2000 9 999999999 140 0.1260 0 88 999.000 999.0 99.0 -3038400.0 7.2 3.3 77 102300 0 0 291 0 0 0 0 0 0 0 170 2.1 7 3 11.3 2000 9 999999999 140 0.1260 0 88 999.000 999.0 99.0 -3042000.0 7.0 2.8 77 102300 0 0 290 0 0 0 0 0 0 0 180 1.9 8 3 11.3 2000 9 999999999 140 0.1260 0 88 999.000 999.0 99.0 -3045600.0 6.9 2.6 76 102300 0 0 289 0 0 0 0 0 0 0 190 1.7 8 3 11.3 2000 9 999999999 150 0.1260 0 88 999.000 999.0 99.0 -3049200.0 6.7 2.8 76 102300 0 0 288 0 0 0 0 0 0 0 200 1.5 9 3 11.3 2000 9 999999999 150 0.1260 0 88 999.000 999.0 99.0 -3052800.0 8.0 3.9 76 102300 83 1137 295 31 32 28 3300 1500 3200 580 140 1.7 9 3 11.3 2000 9 999999999 150 0.1100 0 88 999.000 999.0 99.0 -3056400.0 9.3 5.4 77 102400 328 1407 304 159 319 86 16500 25600 10600 1600 90 1.9 10 4 11.3 2000 9 999999999 160 0.1100 0 88 999.000 999.0 99.0 -3060000.0 10.6 6.7 77 102400 544 1407 311 297 344 165 31600 33700 18500 3510 30 2.1 10 4 6.4 2000 9 999999999 160 0.1100 0 88 999.000 999.0 99.0 -3063600.0 11.3 6.7 74 102400 708 1407 317 412 462 180 43400 46300 20000 3840 30 2.4 10 5 6.4 2000 9 999999999 160 0.1100 0 88 999.000 999.0 99.0 -3067200.0 12.1 6.7 72 102300 807 1407 327 424 400 196 45200 40800 21700 4480 20 2.8 10 7 6.4 2000 9 999999999 170 0.1100 0 88 999.000 999.0 99.0 -3070800.0 12.8 7.2 69 102300 836 1407 336 399 199 282 43600 20800 31200 7590 20 3.1 10 8 4.8 7620 9 999999999 170 0.1100 0 88 999.000 999.0 99.0 -3074400.0 13.0 7.5 71 102300 793 1407 337 279 116 215 30900 12100 24100 5620 350 4.1 10 8 4.8 6603 9 999999999 170 0.1100 0 88 999.000 999.0 99.0 -3078000.0 13.1 8.1 73 102300 679 1407 338 235 43 214 25800 4300 23700 6260 330 5.2 10 8 4.8 5587 9 999999999 180 0.1100 0 88 999.000 999.0 99.0 -3081600.0 13.3 8.9 75 102200 504 1407 340 146 87 115 16200 8400 13100 2640 300 6.2 10 8 16.1 4570 9 999999999 180 0.1100 0 88 999.000 999.0 99.0 -3085200.0 12.8 8.1 75 102200 279 1407 328 95 109 74 10400 8500 8700 1590 310 5.3 8 6 16.1 2000 9 999999999 180 0.1100 0 88 999.000 999.0 99.0 -3088800.0 12.2 7.5 74 102200 46 856 319 17 28 15 1900 1200 1800 310 310 4.5 7 4 16.1 2000 9 999999999 180 0.1100 0 88 999.000 999.0 99.0 -3092400.0 11.7 7.2 74 102200 0 0 311 0 0 0 0 0 0 0 320 3.6 5 2 19.3 2000 9 999999999 180 0.1100 0 88 999.000 999.0 99.0 -3096000.0 11.5 7.8 79 102200 0 0 319 0 0 0 0 0 0 0 310 3.9 7 5 19.3 2000 9 999999999 170 0.1100 0 88 999.000 999.0 99.0 -3099600.0 11.3 8.5 85 102200 0 0 325 0 0 0 0 0 0 0 290 4.3 8 7 19.3 2000 9 999999999 170 0.1100 0 88 999.000 999.0 99.0 -3103200.0 11.1 9.4 90 102200 0 0 347 0 0 0 0 0 0 0 280 4.6 10 10 1.3 60 9 999999999 170 0.1100 0 88 999.000 999.0 99.0 -3106800.0 11.3 9.4 90 102300 0 0 348 0 0 0 0 0 0 0 290 4.3 10 10 1.3 80 9 999999999 170 0.1100 0 88 999.000 999.0 99.0 -3110400.0 11.5 9.6 90 102300 0 0 349 0 0 0 0 0 0 0 300 3.9 10 10 1.3 100 9 999999999 170 0.1100 0 88 999.000 999.0 99.0 -3114000.0 11.7 10.0 90 102300 0 0 351 0 0 0 0 0 0 0 310 3.6 10 10 4.0 120 9 999999999 160 0.1100 0 88 999.000 999.0 99.0 -3117600.0 11.1 9.5 92 102300 0 0 347 0 0 0 0 0 0 0 350 3.1 10 10 4.0 110 9 999999999 160 0.1100 0 88 999.000 999.0 99.0 -3121200.0 10.6 9.3 94 102300 0 0 345 0 0 0 0 0 0 0 30 2.6 10 10 4.0 100 9 999999999 160 0.1100 0 88 999.000 999.0 99.0 -3124800.0 10.0 9.4 96 102200 0 0 342 0 0 0 0 0 0 0 70 2.1 10 10 2.8 90 9 999999999 160 0.1100 0 88 999.000 999.0 99.0 -3128400.0 10.2 9.1 95 102200 0 0 342 0 0 0 0 0 0 0 100 2.3 10 10 2.8 163 9 999999999 160 0.1100 0 88 999.000 999.0 99.0 -3132000.0 10.4 9.1 94 102200 0 0 343 0 0 0 0 0 0 0 130 2.4 10 10 2.8 237 9 999999999 160 0.1100 0 88 999.000 999.0 99.0 -3135600.0 10.6 9.4 93 102200 0 0 345 0 0 0 0 0 0 0 160 2.6 10 10 4.8 310 9 999999999 160 0.1100 0 88 999.000 999.0 99.0 -3139200.0 10.6 9.1 92 102200 86 1161 344 21 1 21 2400 0 2400 730 150 2.6 10 10 4.8 277 9 999999999 170 0.0740 0 88 999.000 999.0 99.0 -3142800.0 10.6 9.1 91 102300 333 1407 344 84 7 83 9500 300 9400 2920 130 2.6 10 10 4.8 243 9 999999999 170 0.0740 0 88 999.000 999.0 99.0 -3146400.0 10.6 8.9 90 102300 549 1407 344 125 10 121 14300 700 14100 4860 120 2.6 10 10 8.0 210 9 999999999 170 0.0740 0 88 999.000 999.0 99.0 -3150000.0 11.7 8.2 81 102200 713 1407 332 262 138 193 28900 14200 21700 4830 90 2.6 8 8 8.0 2000 9 999999999 170 0.0740 0 88 999.000 999.0 99.0 -3153600.0 12.8 7.5 73 102200 813 1407 324 499 590 160 52300 58700 18200 3610 70 2.6 5 5 8.0 2000 9 999999999 170 0.0740 0 88 999.000 999.0 99.0 -3157200.0 13.9 7.2 64 102100 842 1407 324 545 675 143 57800 67800 17000 3390 40 2.6 3 3 12.9 2000 9 999999999 180 0.0740 0 88 999.000 999.0 99.0 -3160800.0 14.5 7.8 66 102100 798 1407 324 531 756 106 55900 74800 13300 2320 10 3.8 2 2 12.9 2000 9 999999999 180 0.0740 0 88 999.000 999.0 99.0 -3164400.0 15.0 8.8 68 102100 685 1407 328 410 632 105 43600 62300 13200 2240 330 5.0 2 2 12.9 2000 9 999999999 180 0.0740 0 88 999.000 999.0 99.0 -3168000.0 15.6 10.0 70 102000 509 1407 327 300 665 63 31700 62000 9100 1280 300 6.2 1 1 11.3 2000 9 999999999 180 0.0740 0 88 999.000 999.0 99.0 -3171600.0 14.3 9.4 74 102000 284 1407 325 132 393 55 13700 30100 7600 980 300 6.2 3 2 11.3 2000 9 999999999 180 0.0740 0 88 999.000 999.0 99.0 -3175200.0 13.0 9.0 79 102000 49 879 324 26 55 20 2500 1800 2400 350 300 6.2 6 4 11.3 2000 9 999999999 180 0.0740 0 88 999.000 999.0 99.0 -3178800.0 11.7 8.9 83 102000 0 0 321 0 0 0 0 0 0 0 300 6.2 8 5 19.3 7010 9 999999999 170 0.0740 0 88 999.000 999.0 99.0 -3182400.0 11.3 8.0 81 102000 0 0 316 0 0 0 0 0 0 0 310 4.6 7 4 19.3 2000 9 999999999 170 0.0740 0 88 999.000 999.0 99.0 -3186000.0 11.0 7.3 79 102000 0 0 308 0 0 0 0 0 0 0 310 3.1 5 2 19.3 2000 9 999999999 170 0.0740 0 88 999.000 999.0 99.0 -3189600.0 10.6 6.7 77 102000 0 0 302 0 0 0 0 0 0 0 320 1.5 4 1 16.1 2000 9 999999999 160 0.0740 0 88 999.000 999.0 99.0 -3193200.0 10.4 6.7 79 102100 0 0 301 0 0 0 0 0 0 0 330 1.0 3 1 16.1 2000 9 999999999 160 0.0740 0 88 999.000 999.0 99.0 -3196800.0 10.2 6.8 81 102100 0 0 294 0 0 0 0 0 0 0 350 0.5 1 0 16.1 2000 9 999999999 160 0.0740 0 88 999.000 999.0 99.0 -3200400.0 10.0 7.2 83 102100 0 0 294 0 0 0 0 0 0 0 0 0.0 0 0 11.3 2000 9 999999999 160 0.0740 0 88 999.000 999.0 99.0 -3204000.0 9.1 5.9 83 102100 0 0 289 0 0 0 0 0 0 0 0 0.0 0 0 11.3 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -3207600.0 8.1 5.1 83 102000 0 0 284 0 0 0 0 0 0 0 0 0.0 0 0 11.3 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -3211200.0 7.2 4.4 83 102000 0 0 280 0 0 0 0 0 0 0 0 0.0 0 0 11.3 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -3214800.0 7.6 5.0 86 102000 0 0 294 0 0 0 0 0 0 0 0 0.0 3 3 11.3 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -3218400.0 7.9 5.9 90 102000 0 0 307 0 0 0 0 0 0 0 0 0.0 7 7 11.3 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -3222000.0 8.3 7.2 93 102000 0 0 331 0 0 0 0 0 0 0 0 0.0 10 10 0.1 30 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -3225600.0 8.5 7.2 93 102000 90 1184 332 10 2 10 1200 0 1200 390 360 0.7 10 10 0.1 40 9 999999999 150 0.0600 0 88 999.000 999.0 99.0 -3229200.0 8.7 7.6 93 102000 337 1406 334 72 1 71 8100 0 8100 2630 10 1.4 10 10 0.1 50 9 999999999 150 0.0600 0 88 999.000 999.0 99.0 -3232800.0 8.9 7.8 93 102000 554 1406 335 138 11 134 15800 800 15500 5270 10 2.1 10 10 0.6 60 9 999999999 150 0.0600 0 88 999.000 999.0 99.0 -3236400.0 10.7 8.4 87 102000 719 1406 344 181 5 178 20800 400 20600 7420 350 2.9 10 10 0.6 1563 9 999999999 150 0.0600 0 88 999.000 999.0 99.0 -3240000.0 12.6 9.0 81 102000 819 1406 354 267 2 266 30300 200 30200 10530 320 3.8 10 10 0.6 3067 9 999999999 150 0.0600 0 88 999.000 999.0 99.0 -3243600.0 14.4 10.0 75 101900 848 1406 364 231 0 231 26600 0 26600 9810 300 4.6 10 10 9.7 4570 9 999999999 150 0.0600 0 88 999.000 999.0 99.0 -3247200.0 14.6 9.5 73 101900 804 1406 365 225 4 223 25900 300 25700 9280 300 4.8 10 10 9.7 5080 9 999999999 150 0.0600 0 88 999.000 999.0 99.0 -3250800.0 14.8 9.3 72 101800 691 1406 366 221 5 219 24900 400 24700 8320 290 5.0 10 10 9.7 5590 9 999999999 150 0.0600 0 88 999.000 999.0 99.0 -3254400.0 15.0 9.4 70 101800 515 1406 367 150 2 149 16800 100 16700 5430 290 5.2 10 10 11.3 6100 9 999999999 150 0.0600 0 88 999.000 999.0 99.0 -3258000.0 14.1 8.7 72 101800 289 1406 351 83 35 76 9100 2900 8500 1900 330 4.3 10 9 11.3 6100 9 999999999 150 0.0600 0 88 999.000 999.0 99.0 -3261600.0 13.1 8.1 73 101800 52 902 346 20 7 19 2100 400 2100 460 10 3.5 10 9 11.3 6100 9 999999999 160 0.0600 0 88 999.000 999.0 99.0 -3265200.0 12.2 7.8 75 101800 0 0 334 0 0 0 0 0 0 0 50 2.6 10 8 24.1 6100 9 999999999 160 0.0600 0 88 999.000 999.0 99.0 -3268800.0 12.4 6.9 71 101800 0 0 329 0 0 0 0 0 0 0 30 1.7 10 7 24.1 2000 9 999999999 170 0.0600 0 88 999.000 999.0 99.0 -3272400.0 12.6 6.2 66 101800 0 0 325 0 0 0 0 0 0 0 20 0.9 10 6 24.1 2000 9 999999999 180 0.0600 0 88 999.000 999.0 99.0 -3276000.0 12.8 5.6 62 101800 0 0 322 0 0 0 0 0 0 0 0 0.0 10 5 24.1 2000 9 999999999 180 0.0600 0 88 999.000 999.0 99.0 -3279600.0 12.4 6.7 70 101800 0 0 328 0 0 0 0 0 0 0 60 1.7 10 7 24.1 2000 9 999999999 190 0.0600 0 88 999.000 999.0 99.0 -3283200.0 12.1 7.9 78 101800 0 0 334 0 0 0 0 0 0 0 120 3.5 10 8 24.1 2000 9 999999999 190 0.0600 0 88 999.000 999.0 99.0 -3286800.0 11.7 9.4 86 101800 0 0 350 0 0 0 0 0 0 0 180 5.2 10 10 24.1 2440 9 999999999 200 0.0600 0 88 999.000 999.0 99.0 -3290400.0 11.7 9.1 86 101800 0 0 340 0 0 0 0 0 0 0 190 4.8 9 9 24.1 2133 9 999999999 200 0.0600 0 88 999.000 999.0 99.0 -3294000.0 11.7 9.1 86 101800 0 0 333 0 0 0 0 0 0 0 200 4.5 8 8 24.1 1827 9 999999999 200 0.0600 0 88 999.000 999.0 99.0 -3297600.0 11.7 9.4 86 101800 0 0 328 0 0 0 0 0 0 0 210 4.1 7 7 24.1 1520 9 999999999 209 0.0600 0 88 999.000 999.0 99.0 -3301200.0 11.1 8.4 85 101800 0 0 321 0 0 0 0 0 0 0 190 3.6 7 6 24.1 2000 9 999999999 209 0.0600 0 88 999.000 999.0 99.0 -3304800.0 10.6 7.6 84 101800 0 0 312 0 0 0 0 0 0 0 170 3.1 8 4 24.1 2000 9 999999999 200 0.0600 0 88 999.000 999.0 99.0 -3308400.0 10.0 7.2 83 101800 0 0 307 0 0 0 0 0 0 0 150 2.6 8 3 24.1 2000 9 999999999 200 0.0600 0 88 999.000 999.0 99.0 -3312000.0 11.1 7.8 81 101800 94 1207 317 28 24 25 3000 1400 2800 610 160 4.0 8 5 24.1 2000 9 999999999 190 0.0810 0 88 999.000 999.0 99.0 -3315600.0 12.2 8.7 80 101900 343 1406 330 106 124 76 11700 10600 9100 1660 170 5.3 9 7 24.1 2000 9 999999999 190 0.0810 0 88 999.000 999.0 99.0 -3319200.0 13.3 9.4 78 101900 560 1406 348 124 60 100 13700 5700 11400 3040 180 6.7 9 9 12.9 610 9 999999999 190 0.0810 0 88 999.000 999.0 99.0 -3322800.0 13.5 9.5 78 101900 724 1406 349 305 234 185 33100 24400 20500 4130 210 7.4 9 9 12.9 640 9 999999999 180 0.0810 0 88 999.000 999.0 99.0 -3326400.0 13.7 9.5 78 101900 825 1406 360 155 2 154 18400 200 18300 7110 250 8.1 10 10 12.9 670 9 999999999 180 0.0810 0 88 999.000 999.0 99.0 -3330000.0 13.9 10.0 78 101900 854 1406 362 120 26 104 13300 2600 11700 3810 280 8.8 10 10 4.8 700 9 999999999 170 0.0810 0 88 999.000 999.0 99.0 -3333600.0 13.3 9.7 81 101900 810 1406 341 270 160 179 30300 16800 20600 4730 280 7.6 8 8 4.8 2000 9 999999999 170 0.0810 0 88 999.000 999.0 99.0 -3337200.0 12.8 9.7 83 101900 696 1406 330 259 220 151 28500 22800 17100 3220 290 6.4 6 6 4.8 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3340800.0 12.2 10.0 86 101900 520 1406 322 232 255 139 24900 24700 15800 2850 290 5.2 4 4 12.9 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3344400.0 12.2 9.4 84 102000 295 1406 324 88 45 79 9700 3700 8900 1970 290 5.2 5 5 12.9 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3348000.0 12.2 9.0 82 102100 56 949 326 24 41 20 2500 1800 2400 410 300 5.2 6 6 12.9 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3351600.0 12.2 8.9 80 102100 0 0 330 0 0 0 0 0 0 0 300 5.2 7 7 24.1 430 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3355200.0 11.8 8.5 81 102200 0 0 324 0 0 0 0 0 0 0 290 4.2 6 6 24.1 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3358800.0 11.5 8.3 82 102200 0 0 322 0 0 0 0 0 0 0 290 3.1 6 6 24.1 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3362400.0 11.1 8.3 83 102200 0 0 318 0 0 0 0 0 0 0 280 2.1 5 5 19.3 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3366000.0 10.7 7.9 84 102200 0 0 311 0 0 0 0 0 0 0 310 1.4 3 3 19.3 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3369600.0 10.4 7.8 85 102200 0 0 306 0 0 0 0 0 0 0 330 0.7 2 2 19.3 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3373200.0 10.0 7.8 86 102200 0 0 295 0 0 0 0 0 0 0 0 0.0 0 0 24.1 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3376800.0 9.4 7.1 87 102200 0 0 297 0 0 0 0 0 0 0 340 0.9 3 1 24.1 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3380400.0 8.9 6.8 88 102200 0 0 299 0 0 0 0 0 0 0 310 1.7 7 2 24.1 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3384000.0 8.3 6.7 89 102200 0 0 299 0 0 0 0 0 0 0 290 2.6 10 3 19.3 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3387600.0 7.9 6.0 89 102300 0 0 297 0 0 0 0 0 0 0 270 2.4 9 3 19.3 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3391200.0 7.6 5.6 89 102300 0 0 295 0 0 0 0 0 0 0 250 2.3 8 3 19.3 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3394800.0 7.2 5.6 89 102300 0 0 293 0 0 0 0 0 0 0 230 2.1 7 3 16.1 2000 9 999999999 160 0.0810 0 88 999.000 999.0 99.0 -3398400.0 8.9 6.5 86 102300 98 1230 301 33 77 26 3500 3200 3200 460 180 1.7 7 3 16.1 2000 9 999999999 160 0.0870 0 88 999.000 999.0 99.0 -3402000.0 10.5 7.8 83 102400 348 1405 310 146 258 83 15700 21500 10300 1580 120 1.4 6 3 16.1 2000 9 999999999 160 0.0870 0 88 999.000 999.0 99.0 -3405600.0 12.2 8.9 80 102400 565 1405 318 296 489 101 31000 46300 12300 1970 70 1.0 6 3 12.9 2000 9 999999999 150 0.0870 0 88 999.000 999.0 99.0 -3409200.0 12.4 8.6 78 102400 730 1405 324 408 474 164 43800 47800 18900 3500 70 1.5 7 5 12.9 2000 9 999999999 150 0.0870 0 88 999.000 999.0 99.0 -3412800.0 12.6 8.2 77 102300 830 1405 336 380 263 225 41300 27900 24700 5460 60 2.1 9 8 12.9 2000 9 999999999 150 0.0870 0 88 999.000 999.0 99.0 -3416400.0 12.8 8.3 75 102300 860 1405 354 247 3 245 28400 300 28200 10300 60 2.6 10 10 14.5 7620 9 999999999 150 0.0870 0 88 999.000 999.0 99.0 -3420000.0 13.3 8.4 74 102300 816 1405 347 341 123 270 37200 12800 29700 7180 20 4.0 10 9 14.5 7620 9 999999999 150 0.0870 0 88 999.000 999.0 99.0 -3423600.0 13.9 8.8 73 102200 702 1405 343 311 277 174 33900 28800 19500 3810 340 5.3 9 8 14.5 7620 9 999999999 150 0.0870 0 88 999.000 999.0 99.0 -3427200.0 14.4 9.4 72 102200 526 1405 341 230 168 168 25000 16300 18900 3890 300 6.7 9 7 16.1 7620 9 999999999 150 0.0870 0 88 999.000 999.0 99.0 -3430800.0 13.7 8.8 74 102200 300 1405 330 102 187 63 11100 14600 8000 1160 300 6.5 6 5 16.1 2000 9 999999999 150 0.0870 0 88 999.000 999.0 99.0 -3434400.0 12.9 8.4 75 102200 59 972 318 26 66 19 2500 2300 2400 330 290 6.4 3 2 16.1 2000 9 999999999 150 0.0870 0 88 999.000 999.0 99.0 -3438000.0 12.2 8.3 77 102200 0 0 304 0 0 0 0 0 0 0 290 6.2 0 0 24.1 2000 9 999999999 150 0.0870 0 88 999.000 999.0 99.0 -3441600.0 11.8 8.3 80 102200 0 0 303 0 0 0 0 0 0 0 290 5.5 0 0 24.1 2000 9 999999999 140 0.0870 0 88 999.000 999.0 99.0 -3445200.0 11.5 8.5 83 102300 0 0 302 0 0 0 0 0 0 0 290 4.8 0 0 24.1 2000 9 999999999 140 0.0870 0 88 999.000 999.0 99.0 -3448800.0 11.1 8.9 86 102300 0 0 300 0 0 0 0 0 0 0 290 4.1 0 0 24.1 2000 9 999999999 140 0.0870 0 88 999.000 999.0 99.0 -3452400.0 11.1 8.7 86 102300 0 0 310 0 0 0 0 0 0 0 290 3.9 2 2 24.1 2000 9 999999999 140 0.0870 0 88 999.000 999.0 99.0 -3456000.0 11.1 8.7 86 102400 0 0 313 0 0 0 0 0 0 0 280 3.8 3 3 24.1 2000 9 999999999 140 0.0870 0 88 999.000 999.0 99.0 -3459600.0 11.1 8.9 86 102400 0 0 318 0 0 0 0 0 0 0 280 3.6 5 5 16.1 2000 9 999999999 140 0.0870 0 88 999.000 999.0 99.0 -3463200.0 10.2 8.0 88 102400 0 0 311 0 0 0 0 0 0 0 240 3.3 4 4 16.1 2000 9 999999999 130 0.0870 0 88 999.000 999.0 99.0 -3466800.0 9.2 7.5 91 102400 0 0 301 0 0 0 0 0 0 0 200 2.9 4 2 16.1 2000 9 999999999 130 0.0870 0 88 999.000 999.0 99.0 -3470400.0 8.3 7.2 93 102400 0 0 293 0 0 0 0 0 0 0 160 2.6 3 1 16.1 2000 9 999999999 130 0.0870 0 88 999.000 999.0 99.0 -3474000.0 8.1 6.5 92 102400 0 0 300 0 0 0 0 0 0 0 110 1.7 5 4 16.1 2000 9 999999999 130 0.0870 0 88 999.000 999.0 99.0 -3477600.0 8.0 6.1 90 102500 0 0 304 0 0 0 0 0 0 0 50 0.9 8 6 16.1 2000 9 999999999 130 0.0870 0 88 999.000 999.0 99.0 -3481200.0 7.8 6.1 89 102500 0 0 319 0 0 0 0 0 0 0 0 0.0 10 9 11.3 7620 9 999999999 130 0.0870 0 88 999.000 999.0 99.0 -3484800.0 8.2 6.5 90 102500 103 1253 321 19 3 19 2200 0 2200 690 20 0.5 10 9 11.3 5100 9 999999999 130 0.1360 0 88 999.000 999.0 99.0 -3488400.0 8.5 7.2 92 102600 353 1405 332 66 4 64 7500 200 7400 2480 50 1.0 10 10 11.3 2580 9 999999999 130 0.1360 0 88 999.000 999.0 99.0 -3492000.0 8.9 7.8 93 102600 571 1405 335 108 7 105 12600 500 12400 4440 70 1.5 10 10 0.8 60 9 999999999 130 0.1360 0 88 999.000 999.0 99.0 -3495600.0 9.6 8.2 92 102600 736 1405 317 402 358 216 43300 37400 23600 4990 70 1.9 8 7 0.8 2000 9 999999999 130 0.1360 0 88 999.000 999.0 99.0 -3499200.0 10.4 8.6 91 102600 836 1405 312 502 534 186 54100 54800 21400 4340 70 2.2 5 4 0.8 2000 9 999999999 130 0.1360 0 88 999.000 999.0 99.0 -3502800.0 11.1 9.4 90 102600 866 1405 307 571 725 127 61300 73500 15800 3140 70 2.6 3 1 1.6 2000 9 999999999 130 0.1360 0 88 999.000 999.0 99.0 -3506400.0 13.0 9.3 82 102500 822 1405 315 441 518 140 46700 51900 16200 3260 60 2.2 4 1 1.6 2000 9 999999999 130 0.1360 0 88 999.000 999.0 99.0 -3510000.0 14.8 9.5 73 102500 708 1405 323 460 679 121 48600 66900 14800 2570 60 1.9 6 1 1.6 2000 9 999999999 130 0.1360 0 88 999.000 999.0 99.0 -3513600.0 16.7 10.0 65 102400 532 1405 332 296 466 122 31500 44100 14700 2350 50 1.5 7 1 11.3 2000 9 999999999 130 0.1360 0 88 999.000 999.0 99.0 -3517200.0 15.0 9.4 71 102500 305 1405 324 134 332 64 14400 25900 8700 1160 20 2.5 5 1 11.3 2000 9 999999999 130 0.1360 0 88 999.000 999.0 99.0 -3520800.0 13.4 9.0 77 102500 62 995 316 24 42 20 2500 1900 2400 410 340 3.6 4 1 11.3 2000 9 999999999 130 0.1360 0 88 999.000 999.0 99.0 -3524400.0 11.7 8.9 83 102500 0 0 309 0 0 0 0 0 0 0 310 4.6 2 1 24.1 2000 9 999999999 130 0.1360 0 88 999.000 999.0 99.0 -3528000.0 11.7 8.9 84 102500 0 0 309 0 0 0 0 0 0 0 310 8.0 2 1 24.1 2000 9 999999999 130 0.1360 0 88 999.000 999.0 99.0 -3531600.0 11.7 9.1 85 102600 0 0 313 0 0 0 0 0 0 0 300 11.5 3 2 24.1 2000 9 999999999 130 0.1360 0 88 999.000 999.0 99.0 -3535200.0 11.7 9.4 86 102600 0 0 313 0 0 0 0 0 0 0 300 14.9 3 2 24.1 2000 9 999999999 140 0.1360 0 88 999.000 999.0 99.0 -3538800.0 11.3 9.0 87 102600 0 0 307 0 0 0 0 0 0 0 300 11.1 2 1 24.1 2000 9 999999999 140 0.1360 0 88 999.000 999.0 99.0 -3542400.0 11.0 8.9 89 102600 0 0 306 0 0 0 0 0 0 0 300 7.4 1 1 24.1 2000 9 999999999 140 0.1360 0 88 999.000 999.0 99.0 -3546000.0 10.6 8.9 90 102600 0 0 298 0 0 0 0 0 0 0 300 3.6 0 0 19.3 2000 9 999999999 140 0.1360 0 88 999.000 999.0 99.0 -3549600.0 9.8 7.6 89 102600 0 0 294 0 0 0 0 0 0 0 320 2.4 0 0 19.3 2000 9 999999999 140 0.1360 0 88 999.000 999.0 99.0 -3553200.0 9.1 6.8 87 102600 0 0 290 0 0 0 0 0 0 0 340 1.2 0 0 19.3 2000 9 999999999 140 0.1360 0 88 999.000 999.0 99.0 -3556800.0 8.3 6.1 86 102600 0 0 286 0 0 0 0 0 0 0 0 0.0 0 0 16.1 2000 9 999999999 140 0.1360 0 88 999.000 999.0 99.0 -3560400.0 8.3 6.2 88 102600 0 0 292 0 0 0 0 0 0 0 320 0.5 1 1 16.1 2000 9 999999999 140 0.1360 0 88 999.000 999.0 99.0 -3564000.0 8.3 6.5 91 102600 0 0 299 0 0 0 0 0 0 0 280 1.0 3 3 16.1 2000 9 999999999 140 0.1360 0 88 999.000 999.0 99.0 -3567600.0 8.3 7.2 93 102700 0 0 302 0 0 0 0 0 0 0 240 1.5 4 4 0.1 2000 9 999999999 140 0.1360 0 88 999.000 999.0 99.0 -3571200.0 8.3 7.2 94 102700 107 1299 307 24 21 21 2500 1300 2400 530 200 1.7 6 6 0.1 2000 9 999999999 140 0.1760 0 88 999.000 999.0 99.0 -3574800.0 8.3 7.6 95 102700 358 1404 311 108 86 86 11900 7500 9900 1890 150 1.9 7 7 0.1 2000 9 999999999 140 0.1760 0 88 999.000 999.0 99.0 -3578400.0 8.3 7.8 96 102800 576 1404 323 162 54 140 17800 5200 15700 4100 110 2.1 9 9 0.8 2000 9 999999999 150 0.1760 0 88 999.000 999.0 99.0 -3582000.0 10.2 8.4 90 102700 741 1404 320 315 260 179 34500 27200 20000 4000 100 2.1 7 7 0.8 2000 9 999999999 150 0.1760 0 88 999.000 999.0 99.0 -3585600.0 12.0 9.0 84 102700 842 1404 320 491 464 214 52200 47500 23600 5080 80 2.1 4 4 0.8 2000 9 999999999 150 0.1760 0 88 999.000 999.0 99.0 -3589200.0 13.9 10.0 78 102700 872 1404 324 563 646 164 59300 64800 18900 3950 70 2.1 2 2 9.7 2000 9 999999999 150 0.1760 0 88 999.000 999.0 99.0 -3592800.0 14.8 9.9 74 102600 828 1404 323 541 698 133 57700 70200 16100 3140 30 3.1 2 1 9.7 2000 9 999999999 150 0.1760 0 88 999.000 999.0 99.0 -3596400.0 15.8 10.1 71 102600 714 1404 328 443 649 116 47000 64200 14200 2500 350 4.2 1 1 9.7 2000 9 999999999 150 0.1760 0 88 999.000 999.0 99.0 -3600000.0 16.7 10.6 67 102600 537 1404 327 309 558 98 32300 52300 12300 1890 310 5.2 1 0 11.3 2000 9 999999999 150 0.1760 0 88 999.000 999.0 99.0 -3603600.0 15.2 10.2 73 102600 311 1404 319 140 337 67 14900 26500 9000 1210 310 5.5 2 0 11.3 2000 9 999999999 150 0.1760 0 88 999.000 999.0 99.0 -3607200.0 13.7 10.0 80 102600 66 1018 319 26 28 23 2700 1300 2700 480 310 5.9 4 1 11.3 2000 9 999999999 140 0.1760 0 88 999.000 999.0 99.0 -3610800.0 12.2 10.0 86 102600 0 0 312 0 0 0 0 0 0 0 310 6.2 5 1 16.1 2000 9 999999999 140 0.1760 0 88 999.000 999.0 99.0 -3614400.0 11.8 9.6 87 102600 0 0 314 0 0 0 0 0 0 0 310 5.5 5 2 16.1 2000 9 999999999 140 0.1760 0 88 999.000 999.0 99.0 -3618000.0 11.5 9.4 89 102600 0 0 318 0 0 0 0 0 0 0 310 4.8 6 4 16.1 2000 9 999999999 130 0.1760 0 88 999.000 999.0 99.0 -3621600.0 11.1 9.4 90 102600 0 0 319 0 0 0 0 0 0 0 310 4.1 6 5 4.8 60 9 999999999 130 0.1760 0 88 999.000 999.0 99.0 -3625200.0 10.9 9.2 91 102600 0 0 315 0 0 0 0 0 0 0 310 4.3 4 4 4.8 2000 9 999999999 130 0.1760 0 88 999.000 999.0 99.0 -3628800.0 10.8 9.2 92 102700 0 0 309 0 0 0 0 0 0 0 310 4.4 3 2 4.8 2000 9 999999999 120 0.1760 0 88 999.000 999.0 99.0 -3632400.0 10.6 9.4 93 102700 0 0 304 0 0 0 0 0 0 0 310 4.6 1 1 3.2 2000 9 999999999 120 0.1760 0 88 999.000 999.0 99.0 -3636000.0 10.6 9.3 94 102700 0 0 314 0 0 0 0 0 0 0 280 3.8 4 4 3.2 2000 9 999999999 120 0.1760 0 88 999.000 999.0 99.0 -3639600.0 10.6 9.5 95 102700 0 0 323 0 0 0 0 0 0 0 260 2.9 7 7 3.2 2000 9 999999999 110 0.1760 0 88 999.000 999.0 99.0 -3643200.0 10.6 10.0 96 102700 0 0 345 0 0 0 0 0 0 0 230 2.1 10 10 6.4 90 9 999999999 110 0.1760 0 88 999.000 999.0 99.0 -3646800.0 10.2 9.1 95 102700 0 0 342 0 0 0 0 0 0 0 210 2.3 10 10 6.4 70 9 999999999 110 0.1760 0 88 999.000 999.0 99.0 -3650400.0 9.8 8.5 94 102700 0 0 340 0 0 0 0 0 0 0 180 2.4 10 10 6.4 50 9 999999999 110 0.1760 0 88 999.000 999.0 99.0 -3654000.0 9.4 8.3 93 102700 0 0 338 0 0 0 0 0 0 0 160 2.6 10 10 0.1 30 9 999999999 110 0.1760 0 88 999.000 999.0 99.0 -3657600.0 9.6 8.3 93 102800 112 1322 339 17 6 16 1800 400 1800 420 110 1.7 10 10 0.1 50 9 999999999 110 0.0610 0 88 999.000 999.0 99.0 -3661200.0 9.8 8.7 93 102800 364 1404 340 80 10 77 9100 500 8900 2890 50 0.9 10 10 0.1 70 9 999999999 110 0.0610 0 88 999.000 999.0 99.0 -3664800.0 10.0 8.9 93 102900 582 1404 341 205 11 201 22800 900 22400 7030 0 0.0 10 10 1.3 90 9 999999999 110 0.0610 0 88 999.000 999.0 99.0 -3668400.0 10.7 9.1 91 102900 747 1404 328 304 86 259 33500 8700 28800 7720 20 0.7 9 8 1.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3672000.0 11.5 9.3 88 102800 848 1404 320 510 584 159 53700 58500 18200 3740 30 1.4 8 5 1.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3675600.0 12.2 10.0 86 102800 878 1404 319 565 637 170 59500 63800 19500 4110 50 2.1 7 3 3.6 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3679200.0 13.3 10.1 82 102700 834 1404 324 529 658 141 56200 66100 16800 3320 20 3.1 5 3 3.6 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3682800.0 14.5 10.5 79 102700 720 1404 327 436 645 108 46500 64100 13500 2360 340 4.2 4 2 3.6 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3686400.0 15.6 11.1 75 102700 543 1404 333 319 676 61 34000 64100 9100 1290 310 5.2 2 2 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3690000.0 14.3 10.5 80 102600 316 1404 326 147 419 55 15400 33600 7800 1010 310 5.7 2 2 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3693600.0 13.0 10.1 85 102600 69 1041 320 27 86 19 2700 3600 2400 330 310 6.2 2 2 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3697200.0 11.7 10.0 90 102600 0 0 314 0 0 0 0 0 0 0 310 6.7 2 2 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3700800.0 11.3 9.5 90 102600 0 0 308 0 0 0 0 0 0 0 310 5.5 1 1 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3704400.0 11.0 9.1 90 102600 0 0 306 0 0 0 0 0 0 0 300 4.3 1 1 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3708000.0 10.6 8.9 90 102600 0 0 298 0 0 0 0 0 0 0 300 3.1 0 0 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3711600.0 10.4 8.5 90 102600 0 0 297 0 0 0 0 0 0 0 310 2.6 1 0 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3715200.0 10.2 8.3 89 102600 0 0 302 0 0 0 0 0 0 0 310 2.0 2 1 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3718800.0 10.0 8.3 89 102600 0 0 301 0 0 0 0 0 0 0 320 1.5 3 1 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3722400.0 9.6 7.4 88 102600 0 0 298 0 0 0 0 0 0 0 330 1.0 4 1 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3726000.0 9.3 7.0 87 102500 0 0 297 0 0 0 0 0 0 0 350 0.5 4 1 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3729600.0 8.9 6.7 86 102500 0 0 295 0 0 0 0 0 0 0 0 0.0 5 1 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3733200.0 8.7 6.6 88 102500 0 0 298 0 0 0 0 0 0 0 310 0.3 5 2 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3736800.0 8.5 6.7 91 102500 0 0 302 0 0 0 0 0 0 0 260 0.7 5 4 11.3 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3740400.0 8.3 7.2 93 102500 0 0 304 0 0 0 0 0 0 0 210 1.0 5 5 1.6 2000 9 999999999 120 0.0610 0 88 999.000 999.0 99.0 -3744000.0 8.9 7.6 93 102500 117 1345 313 27 13 26 3000 800 2900 640 260 0.7 7 7 1.6 2000 9 999999999 120 0.1860 0 88 999.000 999.0 99.0 -3747600.0 9.4 8.3 93 102500 370 1403 321 109 93 85 12100 8200 9900 1870 310 0.3 8 8 1.6 2000 9 999999999 120 0.1860 0 88 999.000 999.0 99.0 -3751200.0 10.0 8.9 93 102500 588 1403 341 148 6 145 16800 400 16700 5750 0 0.0 10 10 0.0 30 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3754800.0 11.9 9.3 86 102400 753 1403 334 290 115 228 31700 11900 25300 5840 10 0.9 9 8 0.0 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3758400.0 13.7 9.7 79 102400 854 1403 331 448 300 266 48200 31900 28700 6760 30 1.7 8 5 0.0 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3762000.0 15.6 10.6 72 102300 884 1403 336 537 515 214 57500 53000 23900 5290 40 2.6 7 3 4.8 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3765600.0 16.7 10.3 68 102200 840 1403 343 356 196 239 39200 20600 26900 6450 10 3.6 8 4 4.8 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3769200.0 17.8 10.3 63 102200 725 1403 351 399 376 206 43100 39200 22700 4700 350 4.7 9 5 4.8 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3772800.0 18.9 10.6 59 102100 549 1403 360 253 276 147 27300 27100 16600 3050 320 5.7 10 6 11.3 7620 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3776400.0 17.8 9.8 61 102100 322 1403 350 102 95 81 11200 7900 9400 1760 310 5.3 9 5 11.3 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3780000.0 16.7 9.2 63 102100 73 1064 339 24 16 22 2500 900 2500 530 300 5.0 7 3 11.3 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3783600.0 15.6 8.9 65 102100 0 0 330 0 0 0 0 0 0 0 290 4.6 6 2 24.1 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3787200.0 14.3 8.9 72 102100 0 0 324 0 0 0 0 0 0 0 290 4.3 6 2 24.1 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3790800.0 13.0 9.1 79 102100 0 0 315 0 0 0 0 0 0 0 290 3.9 6 1 24.1 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3794400.0 11.7 9.4 86 102100 0 0 309 0 0 0 0 0 0 0 290 3.6 6 1 19.3 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3798000.0 11.1 9.0 88 102000 0 0 306 0 0 0 0 0 0 0 290 3.6 4 1 19.3 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3801600.0 10.6 8.9 91 102000 0 0 298 0 0 0 0 0 0 0 300 3.6 2 0 19.3 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3805200.0 10.0 8.9 93 102000 0 0 296 0 0 0 0 0 0 0 300 3.6 0 0 12.9 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3808800.0 9.6 7.6 90 102000 0 0 293 0 0 0 0 0 0 0 300 2.9 0 0 12.9 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3812400.0 9.3 6.8 86 102000 0 0 296 0 0 0 0 0 0 0 300 2.2 1 1 12.9 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3816000.0 8.9 6.1 83 101900 0 0 294 0 0 0 0 0 0 0 300 1.5 1 1 12.9 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3819600.0 8.7 6.0 85 102000 0 0 293 0 0 0 0 0 0 0 240 1.3 1 1 12.9 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3823200.0 8.5 6.2 87 102000 0 0 292 0 0 0 0 0 0 0 190 1.2 1 1 12.9 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3826800.0 8.3 6.7 89 102000 0 0 292 0 0 0 0 0 0 0 130 1.0 1 1 11.3 2000 9 999999999 110 0.1860 0 88 999.000 999.0 99.0 -3830400.0 10.5 7.6 83 102000 122 1367 302 43 164 26 4400 8100 3600 460 110 1.2 1 1 11.3 2000 9 999999999 110 0.1020 0 88 999.000 999.0 99.0 -3834000.0 12.8 8.9 78 102000 375 1403 308 195 531 55 20700 45600 8400 1050 80 1.3 0 0 11.3 2000 9 999999999 110 0.1020 0 88 999.000 999.0 99.0 -3837600.0 15.0 10.0 72 102000 594 1403 318 387 740 77 40600 70800 10500 1560 60 1.5 0 0 8.0 2000 9 999999999 110 0.1020 0 88 999.000 999.0 99.0 -3841200.0 17.4 7.8 58 102000 759 1403 327 526 809 92 55900 80000 12400 2040 50 1.5 0 0 8.0 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3844800.0 19.8 5.6 44 101900 860 1403 335 622 855 101 66400 85600 13700 2430 50 1.5 0 0 8.0 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3848400.0 22.2 3.9 30 101800 890 1403 344 644 859 103 68900 86200 14000 2560 40 1.5 0 0 16.1 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3852000.0 20.9 5.6 40 101800 846 1403 340 605 844 99 64500 84400 13400 2360 10 3.1 0 0 16.1 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3855600.0 19.6 7.7 49 101800 731 1403 337 505 806 89 53600 79400 12000 1940 330 4.6 0 0 16.1 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3859200.0 18.3 10.0 59 101700 554 1403 333 350 713 72 36800 67400 10000 1440 300 6.2 0 0 19.3 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3862800.0 17.6 8.3 56 101800 327 1403 328 170 521 51 18000 42600 8000 950 300 6.0 0 0 19.3 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3866400.0 16.8 6.8 53 101800 77 1087 323 33 113 21 3100 4900 2800 370 300 5.9 0 0 19.3 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3870000.0 16.1 5.6 50 101800 0 0 318 0 0 0 0 0 0 0 300 5.7 0 0 24.1 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3873600.0 14.3 6.2 61 101800 0 0 311 0 0 0 0 0 0 0 300 5.5 0 0 24.1 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3877200.0 12.4 6.9 72 101800 0 0 304 0 0 0 0 0 0 0 300 5.4 0 0 24.1 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3880800.0 10.6 7.8 83 101900 0 0 297 0 0 0 0 0 0 0 300 5.2 0 0 19.3 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3884400.0 10.0 7.2 84 101900 0 0 294 0 0 0 0 0 0 0 300 4.3 0 0 19.3 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3888000.0 9.5 6.9 85 101900 0 0 292 0 0 0 0 0 0 0 310 3.5 0 0 19.3 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3891600.0 8.9 6.7 86 101900 0 0 289 0 0 0 0 0 0 0 310 2.6 0 0 16.1 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3895200.0 8.7 6.0 85 101900 0 0 288 0 0 0 0 0 0 0 330 1.7 0 0 16.1 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3898800.0 8.5 5.7 84 101900 0 0 286 0 0 0 0 0 0 0 340 0.9 0 0 16.1 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3902400.0 8.3 5.6 83 101900 0 0 286 0 0 0 0 0 0 0 0 0.0 0 0 16.1 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3906000.0 8.7 5.7 83 101900 0 0 287 0 0 0 0 0 0 0 50 0.7 1 0 16.1 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3909600.0 9.0 6.0 83 102000 0 0 294 0 0 0 0 0 0 0 110 1.4 2 1 16.1 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3913200.0 9.4 6.7 83 102000 0 0 297 0 0 0 0 0 0 0 160 2.1 3 1 11.3 2000 9 999999999 120 0.1020 0 88 999.000 999.0 99.0 -3916800.0 11.1 7.6 80 102000 127 1390 305 49 243 25 4900 13300 3600 450 110 2.6 5 1 11.3 2000 9 999999999 120 0.0480 0 88 999.000 999.0 99.0 -3920400.0 12.7 8.9 78 102000 381 1402 317 193 459 70 20100 39200 9400 1280 70 3.1 6 2 11.3 2000 9 999999999 120 0.0480 0 88 999.000 999.0 99.0 -3924000.0 14.4 10.0 75 102100 600 1402 326 376 621 112 39200 59400 13700 2210 20 3.6 8 2 9.7 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -3927600.0 16.1 9.9 68 102100 765 1402 334 503 745 99 52900 73600 12600 2150 30 3.3 6 2 9.7 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -3931200.0 17.7 9.7 62 102000 866 1402 336 570 768 98 61000 77000 13200 2400 40 2.9 5 1 9.7 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -3934800.0 19.4 10.0 55 102000 896 1402 345 606 851 66 64200 84600 9900 1810 50 2.6 3 1 4.8 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -3938400.0 20.3 10.1 53 102000 852 1402 349 587 827 88 61600 81800 11700 1940 40 2.4 3 1 4.8 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -3942000.0 21.3 10.5 52 101900 737 1402 354 482 808 61 51200 79200 9400 1520 40 2.3 3 1 4.8 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -3945600.0 22.2 11.1 50 101900 560 1402 359 338 705 60 36300 67300 9300 1300 30 2.1 3 1 6.4 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -3949200.0 20.7 10.5 54 101900 332 1402 351 170 565 39 18100 47600 6700 810 30 1.9 3 1 6.4 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -3952800.0 19.3 10.1 57 101900 81 1110 338 42 219 19 3700 11000 2800 350 20 1.7 2 0 6.4 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -3956400.0 17.8 10.0 61 101900 0 0 331 0 0 0 0 0 0 0 20 1.5 2 0 6.4 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -3960000.0 16.9 9.5 63 102000 0 0 326 0 0 0 0 0 0 0 10 1.0 2 0 6.4 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -3963600.0 15.9 9.1 65 102000 0 0 321 0 0 0 0 0 0 0 10 0.5 1 0 6.4 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -3967200.0 15.0 8.9 67 102100 0 0 317 0 0 0 0 0 0 0 0 0.0 1 0 8.0 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -3970800.0 14.3 8.3 69 102100 0 0 313 0 0 0 0 0 0 0 330 0.7 1 0 8.0 2000 9 999999999 120 0.0480 0 88 999.000 999.0 99.0 -3974400.0 13.5 8.0 70 102100 0 0 310 0 0 0 0 0 0 0 290 1.4 0 0 8.0 2000 9 999999999 120 0.0480 0 88 999.000 999.0 99.0 -3978000.0 12.8 7.8 72 102100 0 0 306 0 0 0 0 0 0 0 260 2.1 0 0 11.3 2000 9 999999999 120 0.0480 0 88 999.000 999.0 99.0 -3981600.0 12.1 7.1 74 102100 0 0 309 0 0 0 0 0 0 0 270 1.7 2 1 11.3 2000 9 999999999 120 0.0480 0 88 999.000 999.0 99.0 -3985200.0 11.3 6.8 75 102100 0 0 309 0 0 0 0 0 0 0 280 1.4 5 2 11.3 2000 9 999999999 120 0.0480 0 88 999.000 999.0 99.0 -3988800.0 10.6 6.7 77 102100 0 0 309 0 0 0 0 0 0 0 290 1.0 7 3 8.0 2000 9 999999999 120 0.0480 0 88 999.000 999.0 99.0 -3992400.0 10.4 6.9 81 102200 0 0 308 0 0 0 0 0 0 0 290 1.5 6 3 8.0 2000 9 999999999 120 0.0480 0 88 999.000 999.0 99.0 -3996000.0 10.2 7.4 85 102200 0 0 308 0 0 0 0 0 0 0 300 2.1 4 3 8.0 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -3999600.0 10.0 8.3 89 102200 0 12 308 0 0 0 0 0 0 0 300 2.6 3 3 0.8 2000 9 999999999 110 0.0480 0 88 999.000 999.0 99.0 -4003200.0 11.3 8.7 85 102200 132 1401 314 33 31 29 3500 1700 3400 600 340 2.4 5 3 0.8 2000 9 999999999 110 0.1510 0 88 999.000 999.0 99.0 -4006800.0 12.6 9.4 82 102300 387 1401 317 169 235 105 18000 20500 12300 2070 10 2.3 7 2 0.8 2000 9 999999999 110 0.1510 0 88 999.000 999.0 99.0 -4010400.0 13.9 10.0 78 102300 606 1401 324 349 502 133 37300 49100 16000 2640 50 2.1 9 2 3.6 2000 9 999999999 100 0.1510 0 88 999.000 999.0 99.0 -4014000.0 15.4 10.1 72 102300 772 1401 331 456 474 197 48400 48100 21800 4400 50 2.1 9 2 3.6 2000 9 999999999 100 0.1510 0 88 999.000 999.0 99.0 -4017600.0 16.8 10.1 67 102200 873 1401 341 566 553 223 60200 56800 24700 5480 40 2.1 10 3 3.6 2000 9 999999999 100 0.1510 0 88 999.000 999.0 99.0 -4021200.0 18.3 10.6 61 102200 902 1401 348 559 472 257 58900 48600 27500 6590 40 2.1 10 3 4.0 2000 9 999999999 100 0.1510 0 88 999.000 999.0 99.0 -4024800.0 18.1 10.3 62 102200 858 1401 350 473 408 225 50200 41800 24500 5450 10 3.5 10 4 4.0 2000 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4028400.0 18.0 10.3 62 102100 743 1401 355 457 448 222 47700 45100 23700 4950 330 4.8 10 6 4.0 2000 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4032000.0 17.8 10.6 63 102100 565 1401 359 210 152 149 23100 15000 17000 3500 300 6.2 10 7 11.3 7620 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4035600.0 16.3 10.0 68 102100 338 1401 356 103 44 92 11200 3800 10300 2340 300 6.4 10 8 11.3 7620 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4039200.0 14.8 9.6 73 102100 84 1133 356 22 2 22 2500 0 2500 760 300 6.5 10 9 11.3 7620 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4042800.0 13.3 9.4 78 102100 0 0 358 0 0 0 0 0 0 0 300 6.7 10 10 16.1 7620 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4046400.0 12.8 9.1 80 102100 0 0 338 0 0 0 0 0 0 0 300 5.8 9 8 16.1 2000 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4050000.0 12.2 8.9 81 102200 0 0 323 0 0 0 0 0 0 0 300 5.0 8 5 16.1 2000 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4053600.0 11.7 8.9 83 102200 0 0 316 0 0 0 0 0 0 0 300 4.1 7 3 16.1 2000 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4057200.0 11.3 8.5 84 102200 0 0 314 0 0 0 0 0 0 0 300 3.8 7 3 16.1 2000 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4060800.0 11.0 8.3 85 102200 0 0 312 0 0 0 0 0 0 0 300 3.4 6 3 16.1 2000 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4064400.0 10.6 8.3 86 102200 0 0 311 0 0 0 0 0 0 0 300 3.1 6 3 16.1 2000 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4068000.0 10.4 8.0 87 102200 0 0 309 0 0 0 0 0 0 0 300 3.1 6 3 16.1 2000 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4071600.0 10.2 8.0 88 102200 0 0 308 0 0 0 0 0 0 0 300 3.1 7 3 16.1 2000 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4075200.0 10.0 8.3 89 102100 0 0 308 0 0 0 0 0 0 0 300 3.1 7 3 12.9 2000 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4078800.0 9.1 6.3 85 102200 0 0 307 0 0 0 0 0 0 0 270 2.9 8 5 12.9 2000 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4082400.0 8.1 4.6 81 102200 0 0 303 0 0 0 0 0 0 0 230 2.8 9 6 12.9 2000 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4086000.0 7.2 3.3 77 102200 0 35 306 0 0 0 0 0 0 0 200 2.6 10 8 9.7 7620 9 999999999 90 0.1510 0 88 999.000 999.0 99.0 -4089600.0 9.2 5.4 78 102200 138 1401 317 30 1 30 3400 0 3400 1010 170 2.2 10 8 9.7 7620 9 999999999 90 0.1870 0 88 999.000 999.0 99.0 -4093200.0 11.3 7.8 79 102300 393 1401 330 110 47 97 12100 4200 10900 2590 130 1.9 10 8 9.7 7620 9 999999999 90 0.1870 0 88 999.000 999.0 99.0 -4096800.0 13.3 10.0 80 102300 612 1401 342 230 82 194 25200 8000 21700 5480 100 1.5 10 8 6.4 7620 9 999999999 90 0.1870 0 88 999.000 999.0 99.0 -4100400.0 15.2 9.9 72 102300 778 1401 345 364 269 215 39400 28300 23600 5050 70 1.0 10 7 6.4 2000 9 999999999 90 0.1870 0 88 999.000 999.0 99.0 -4104000.0 17.0 9.7 65 102200 879 1401 349 426 312 232 46700 33400 25600 5850 30 0.5 10 6 6.4 2000 9 999999999 90 0.1870 0 88 999.000 999.0 99.0 -4107600.0 18.9 10.0 57 102100 908 1401 356 527 350 301 56700 37400 32300 8130 0 0.0 10 5 11.3 2000 9 999999999 90 0.1870 0 88 999.000 999.0 99.0 -4111200.0 19.6 9.3 53 102100 864 1401 359 544 512 230 57600 52500 25100 5620 340 1.0 10 5 11.3 2000 9 999999999 90 0.1870 0 88 999.000 999.0 99.0 -4114800.0 20.4 9.0 50 102000 749 1401 359 412 372 215 44500 39000 23600 4990 320 2.1 10 4 11.3 2000 9 999999999 90 0.1870 0 88 999.000 999.0 99.0 -4118400.0 21.1 8.9 46 101900 571 1401 363 283 267 176 30200 26500 19300 3790 300 3.1 10 4 11.3 2000 9 999999999 90 0.1870 0 88 999.000 999.0 99.0 -4122000.0 19.8 7.2 45 101900 343 1401 354 133 179 90 14200 14900 10500 1740 300 3.6 9 4 11.3 2000 9 999999999 90 0.1870 0 88 999.000 999.0 99.0 -4125600.0 18.5 5.7 44 101900 88 1156 344 27 15 25 2900 900 2800 600 290 4.1 8 3 11.3 2000 9 999999999 90 0.1870 0 88 999.000 999.0 99.0 -4129200.0 17.2 4.4 43 101900 0 0 336 0 0 0 0 0 0 0 290 4.6 7 3 16.1 2000 9 999999999 90 0.1870 0 88 999.000 999.0 99.0 -4132800.0 16.1 4.6 48 101900 0 0 328 0 0 0 0 0 0 0 270 3.6 6 2 16.1 2000 9 999999999 100 0.1870 0 88 999.000 999.0 99.0 -4136400.0 15.0 5.0 52 102000 0 0 323 0 0 0 0 0 0 0 240 2.5 4 2 16.1 2000 9 999999999 100 0.1870 0 88 999.000 999.0 99.0 -4140000.0 13.9 5.6 57 102000 0 0 315 0 0 0 0 0 0 0 220 1.5 3 1 19.3 2000 9 999999999 100 0.1870 0 88 999.000 999.0 99.0 -4143600.0 13.2 5.9 63 102000 0 0 312 0 0 0 0 0 0 0 270 1.0 2 1 19.3 2000 9 999999999 100 0.1870 0 88 999.000 999.0 99.0 -4147200.0 12.4 6.5 68 102000 0 0 303 0 0 0 0 0 0 0 310 0.5 1 0 19.3 2000 9 999999999 100 0.1870 0 88 999.000 999.0 99.0 -4150800.0 11.7 7.2 74 101900 0 0 301 0 0 0 0 0 0 0 0 0.0 0 0 19.3 2000 9 999999999 100 0.1870 0 88 999.000 999.0 99.0 -4154400.0 10.8 5.9 74 101900 0 0 296 0 0 0 0 0 0 0 320 0.7 0 0 19.3 2000 9 999999999 110 0.1870 0 88 999.000 999.0 99.0 -4158000.0 9.8 5.1 74 101900 0 0 291 0 0 0 0 0 0 0 270 1.4 0 0 19.3 2000 9 999999999 110 0.1870 0 88 999.000 999.0 99.0 -4161600.0 8.9 4.4 74 101900 0 0 287 0 0 0 0 0 0 0 230 2.1 0 0 17.7 2000 9 999999999 110 0.1870 0 88 999.000 999.0 99.0 -4165200.0 8.5 4.5 78 101900 0 0 285 0 0 0 0 0 0 0 270 1.4 0 0 17.7 2000 9 999999999 110 0.1870 0 88 999.000 999.0 99.0 -4168800.0 8.2 4.9 82 102000 0 0 284 0 0 0 0 0 0 0 320 0.7 0 0 17.7 2000 9 999999999 110 0.1870 0 88 999.000 999.0 99.0 -4172400.0 7.8 5.6 86 102000 0 82 283 0 0 0 0 0 0 0 0 0.0 0 0 8.0 2000 9 999999999 110 0.1870 0 88 999.000 999.0 99.0 -4176000.0 10.0 6.7 81 102000 143 1400 294 59 363 23 6100 22600 3700 430 20 0.7 1 0 8.0 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4179600.0 12.2 8.1 77 102100 399 1400 310 220 628 43 23400 55900 7500 920 40 1.4 2 1 8.0 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4183200.0 14.4 9.4 72 102100 618 1400 321 404 800 54 43000 76900 8900 1310 60 2.1 3 1 8.0 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4186800.0 15.7 8.5 64 102000 784 1400 326 524 829 64 55600 81700 9700 1620 60 2.1 2 1 8.0 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4190400.0 17.0 7.6 57 102000 885 1400 325 656 921 78 69100 91400 11100 1950 50 2.1 2 0 8.0 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4194000.0 18.3 7.2 49 101900 914 1400 330 669 915 75 70500 91000 10900 1980 50 2.1 1 0 11.3 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4197600.0 18.3 8.2 54 101900 870 1400 331 639 919 72 67500 91200 10700 1850 10 3.8 1 0 11.3 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4201200.0 18.3 9.5 58 101900 755 1400 333 540 892 63 57300 87600 9900 1570 340 5.5 0 0 11.3 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4204800.0 18.3 11.1 63 101900 577 1400 334 387 824 51 41300 78500 8800 1240 300 7.2 0 0 14.5 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4208400.0 15.7 10.0 71 101900 348 1400 321 201 671 37 21600 57800 7200 850 300 7.5 0 0 14.5 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4212000.0 13.2 9.0 78 101900 92 1178 315 45 225 22 4100 11600 3200 390 300 7.9 1 1 14.5 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4215600.0 10.6 8.3 86 101900 0 0 303 0 0 0 0 0 0 0 300 8.2 1 1 8.0 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4219200.0 10.4 8.0 86 102000 0 0 302 0 0 0 0 0 0 0 300 7.5 1 1 8.0 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4222800.0 10.2 7.8 86 102000 0 0 295 0 0 0 0 0 0 0 300 6.9 0 0 8.0 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4226400.0 10.0 7.8 86 102000 0 0 295 0 0 0 0 0 0 0 300 6.2 0 0 11.3 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4230000.0 9.8 7.6 87 102100 0 0 299 0 0 0 0 0 0 0 300 5.5 2 1 11.3 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4233600.0 9.6 7.6 88 102100 0 0 302 0 0 0 0 0 0 0 290 4.8 5 2 11.3 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4237200.0 9.4 7.8 89 102100 0 0 305 0 0 0 0 0 0 0 290 4.1 7 3 4.0 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4240800.0 9.4 7.5 89 102100 0 0 309 0 0 0 0 0 0 0 290 4.1 8 5 4.0 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4244400.0 9.4 7.5 89 102200 0 0 321 0 0 0 0 0 0 0 290 4.1 9 8 4.0 2000 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4248000.0 9.4 7.8 89 102200 0 0 337 0 0 0 0 0 0 0 290 4.1 10 10 4.8 90 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4251600.0 9.0 6.9 88 102200 0 0 334 0 0 0 0 0 0 0 260 3.6 10 10 4.8 100 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4255200.0 8.7 6.3 87 102200 0 0 332 0 0 0 0 0 0 0 240 3.1 10 10 4.8 110 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4258800.0 8.3 6.1 86 102200 1 105 330 0 0 0 0 0 0 0 210 2.6 10 10 2.8 120 9 999999999 110 0.0490 0 88 999.000 999.0 99.0 -4262400.0 9.1 6.5 85 102200 149 1400 334 18 1 18 2100 0 2100 690 190 2.8 10 10 2.8 130 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4266000.0 9.8 7.2 84 102300 405 1400 338 90 6 88 10200 300 10100 3340 170 2.9 10 10 2.8 140 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4269600.0 10.6 7.8 83 102300 624 1400 343 149 11 144 17100 800 16800 5910 150 3.1 10 10 2.8 150 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4273200.0 11.7 8.2 80 102300 790 1400 332 362 308 190 39800 32600 21300 4390 200 4.3 10 8 2.8 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4276800.0 12.8 8.6 78 102300 891 1400 332 446 359 219 47700 37000 24100 5480 240 5.5 10 7 2.8 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4280400.0 13.9 9.4 75 102300 920 1400 332 482 307 282 52300 32900 30600 7600 290 6.7 10 5 6.4 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4284000.0 13.7 8.7 74 102200 876 1400 325 567 657 159 60000 66100 18500 3880 300 6.7 7 3 6.4 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4287600.0 13.5 8.4 73 102200 760 1400 320 487 642 141 51200 63600 16500 3080 300 6.7 4 2 6.4 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4291200.0 13.3 8.3 72 102100 582 1400 309 375 747 68 39900 71600 10000 1430 310 6.7 1 0 11.3 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4294800.0 12.4 7.7 75 102100 353 1400 311 179 508 53 19000 42800 8100 1000 310 6.2 3 1 11.3 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4298400.0 11.5 7.3 77 102100 97 1201 306 41 132 27 4000 6100 3500 480 300 5.7 5 1 11.3 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4302000.0 10.6 7.2 80 102100 0 0 306 0 0 0 0 0 0 0 300 5.2 7 2 12.9 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4305600.0 10.2 6.9 81 102100 0 0 304 0 0 0 0 0 0 0 300 4.2 6 2 12.9 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4309200.0 9.8 6.7 82 102100 0 0 302 0 0 0 0 0 0 0 310 3.1 5 2 12.9 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4312800.0 9.4 6.7 83 102100 0 0 301 0 0 0 0 0 0 0 310 2.1 4 2 8.0 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4316400.0 9.2 6.1 82 102100 0 0 295 0 0 0 0 0 0 0 300 2.3 3 1 8.0 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4320000.0 9.1 5.8 81 102100 0 0 295 0 0 0 0 0 0 0 300 2.4 1 1 8.0 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4323600.0 8.9 5.6 80 102100 0 0 288 0 0 0 0 0 0 0 290 2.6 0 0 17.7 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4327200.0 8.7 5.1 80 102100 0 0 299 0 0 0 0 0 0 0 250 2.8 3 3 17.7 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4330800.0 8.5 4.9 80 102100 0 0 309 0 0 0 0 0 0 0 200 2.9 7 7 17.7 2000 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4334400.0 8.3 5.0 80 102100 0 0 329 0 0 0 0 0 0 0 160 3.1 10 10 16.1 2130 9 999999999 110 0.0790 0 88 999.000 999.0 99.0 -4338000.0 8.9 5.1 79 102100 0 0 323 0 0 0 0 0 0 0 170 3.1 10 9 16.1 2233 9 999999999 130 0.0790 0 88 999.000 999.0 99.0 -4341600.0 9.4 5.4 78 102100 0 0 325 0 0 0 0 0 0 0 190 3.1 9 9 16.1 2337 9 999999999 140 0.0790 0 88 999.000 999.0 99.0 -4345200.0 10.0 6.1 77 102100 1 128 322 0 0 0 0 0 0 0 200 3.1 9 8 11.3 2440 9 999999999 160 0.1070 0 88 999.000 999.0 99.0 -4348800.0 10.6 6.3 76 102200 155 1399 332 19 4 19 2300 0 2300 720 180 2.9 9 9 11.3 1820 9 999999999 170 0.1070 0 88 999.000 999.0 99.0 -4352400.0 11.1 6.8 75 102200 411 1399 335 111 75 89 12300 6800 10300 1980 160 2.8 10 9 11.3 1200 9 999999999 190 0.1070 0 88 999.000 999.0 99.0 -4356000.0 11.7 7.2 74 102300 631 1399 348 174 32 160 19200 3100 17800 4790 140 2.6 10 10 16.1 580 9 999999999 200 0.1070 0 88 999.000 999.0 99.0 -4359600.0 11.7 7.4 76 102300 796 1399 348 235 5 233 27000 400 26700 9530 130 2.4 10 10 16.1 670 9 999999999 220 0.1070 0 88 999.000 999.0 99.0 -4363200.0 11.7 7.6 78 102300 897 1399 348 208 4 205 24400 300 24200 9290 110 2.3 10 10 16.1 760 9 999999999 240 0.1070 0 88 999.000 999.0 99.0 -4366800.0 11.7 8.3 80 102200 927 1399 349 166 5 163 20000 400 19700 7840 100 2.1 10 10 2.4 850 9 999999999 250 0.1070 0 88 999.000 999.0 99.0 -4370400.0 11.3 8.2 83 102200 882 1399 347 283 7 279 32400 600 32000 11440 110 3.1 10 10 2.4 680 9 999999999 270 0.1070 0 88 999.000 999.0 99.0 -4374000.0 11.0 8.4 87 102100 766 1399 346 218 3 216 24900 300 24800 8840 120 4.2 10 10 2.4 510 9 999999999 280 0.1070 0 88 999.000 999.0 99.0 -4377600.0 10.6 8.9 90 102100 588 1399 344 87 3 86 10400 200 10300 3820 130 5.2 10 10 1.6 340 9 999999999 300 0.1070 0 88 999.000 999.0 99.0 -4381200.0 10.6 8.7 90 102000 359 1399 344 83 3 82 9400 100 9300 3010 150 4.2 10 10 1.6 277 9 999999999 300 0.1070 0 88 999.000 999.0 99.0 -4384800.0 10.6 8.7 90 101900 101 1224 344 23 0 23 2600 0 2600 800 160 3.1 10 10 1.6 213 9 999999999 290 0.1070 0 88 999.000 999.0 99.0 -4388400.0 10.6 8.9 90 101800 0 0 344 0 0 0 0 0 0 0 180 2.1 10 10 6.4 150 9 999999999 290 0.1070 0 88 999.000 999.0 99.0 -4392000.0 11.0 8.9 89 101800 0 0 346 0 0 0 0 0 0 0 140 1.9 10 10 6.4 1420 9 999999999 280 0.1070 0 88 999.000 999.0 99.0 -4395600.0 11.3 9.1 87 101800 0 0 348 0 0 0 0 0 0 0 90 1.7 10 10 6.4 2690 9 999999999 280 0.1070 0 88 999.000 999.0 99.0 -4399200.0 11.7 9.4 86 101800 0 0 350 0 0 0 0 0 0 0 50 1.5 10 10 11.3 3960 9 999999999 280 0.1070 0 88 999.000 999.0 99.0 -4402800.0 12.1 9.4 85 101800 0 0 352 0 0 0 0 0 0 0 80 2.2 10 10 11.3 2720 9 999999999 270 0.1070 0 88 999.000 999.0 99.0 -4406400.0 12.4 9.6 84 101700 0 0 354 0 0 0 0 0 0 0 110 2.9 10 10 11.3 1480 9 999999999 270 0.1070 0 88 999.000 999.0 99.0 -4410000.0 12.8 10.0 83 101700 0 0 356 0 0 0 0 0 0 0 140 3.6 10 10 8.0 240 9 999999999 260 0.1070 0 88 999.000 999.0 99.0 -4413600.0 13.3 10.4 84 101600 0 0 359 0 0 0 0 0 0 0 160 4.8 10 10 8.0 283 9 999999999 260 0.1070 0 88 999.000 999.0 99.0 -4417200.0 13.9 11.2 86 101500 0 0 363 0 0 0 0 0 0 0 170 6.0 10 10 8.0 327 9 999999999 250 0.1070 0 88 999.000 999.0 99.0 -4420800.0 14.4 12.2 87 101400 0 0 367 0 0 0 0 0 0 0 190 7.2 10 10 9.7 370 9 999999999 250 0.1070 0 88 999.000 999.0 99.0 -4424400.0 13.9 11.2 86 101400 0 0 363 0 0 0 0 0 0 0 220 8.4 10 10 9.7 370 9 999999999 240 0.1070 0 88 999.000 999.0 99.0 -4428000.0 13.3 10.4 84 101400 0 0 359 0 0 0 0 0 0 0 240 9.6 10 10 9.7 370 9 999999999 240 0.1070 0 88 999.000 999.0 99.0 -4431600.0 12.8 10.0 83 101500 2 151 356 1 0 1 0 0 0 0 270 10.8 10 10 4.0 370 9 999999999 230 0.0940 0 88 999.000 999.0 99.0 -4435200.0 12.6 9.3 81 101500 161 1398 354 40 0 40 4400 0 4400 1310 260 8.2 10 10 4.0 653 9 999999999 220 0.0940 0 88 999.000 999.0 99.0 -4438800.0 12.4 8.9 79 101600 417 1398 353 111 0 111 12400 0 12400 3990 250 5.7 10 10 4.0 937 9 999999999 220 0.0940 0 88 999.000 999.0 99.0 -4442400.0 12.2 8.3 77 101600 637 1398 351 117 1 116 13700 100 13600 5050 240 3.1 10 10 16.1 1220 9 999999999 209 0.0940 0 88 999.000 999.0 99.0 -4446000.0 12.4 7.8 74 101600 803 1398 352 263 1 263 29900 100 29800 10360 240 4.3 10 10 16.1 1097 9 999999999 200 0.0940 0 88 999.000 999.0 99.0 -4449600.0 12.6 7.3 72 101600 904 1398 352 333 1 333 37700 100 37700 12940 250 5.5 10 10 16.1 973 9 999999999 200 0.0940 0 88 999.000 999.0 99.0 -4453200.0 12.8 7.2 69 101700 933 1398 353 192 1 191 22700 100 22700 8950 250 6.7 10 10 11.3 850 9 999999999 190 0.0940 0 88 999.000 999.0 99.0 -4456800.0 12.8 7.1 70 101700 888 1398 343 401 95 341 44100 9700 37900 10850 240 5.8 10 9 11.3 1583 9 999999999 180 0.0940 0 88 999.000 999.0 99.0 -4460400.0 12.8 7.3 71 101700 772 1398 343 364 226 240 39900 23500 26900 6220 240 5.0 10 9 11.3 2317 9 999999999 180 0.0940 0 88 999.000 999.0 99.0 -4464000.0 12.8 7.8 72 101700 593 1398 337 225 122 173 24500 12200 19400 4110 230 4.1 10 8 19.3 3050 9 999999999 170 0.0940 0 88 999.000 999.0 99.0 -4467600.0 12.6 7.4 72 101700 364 1398 343 119 30 111 13000 2600 12300 2780 240 4.3 10 9 19.3 3253 9 999999999 170 0.0940 0 88 999.000 999.0 99.0 -4471200.0 12.4 7.2 72 101700 105 1247 341 22 18 20 2400 1100 2300 510 240 4.4 10 9 19.3 3457 9 999999999 160 0.0940 0 88 999.000 999.0 99.0 -4474800.0 12.2 7.2 72 101800 0 0 350 0 0 0 0 0 0 0 250 4.6 10 10 24.1 3660 9 999999999 160 0.0940 0 88 999.000 999.0 99.0 -4478400.0 12.0 7.4 75 101800 0 0 327 0 0 0 0 0 0 0 260 4.6 7 7 24.1 2000 9 999999999 150 0.0940 0 88 999.000 999.0 99.0 -4482000.0 11.9 7.8 77 101800 0 0 321 0 0 0 0 0 0 0 260 4.6 5 5 24.1 2000 9 999999999 150 0.0940 0 88 999.000 999.0 99.0 -4485600.0 11.7 8.3 80 101900 0 0 312 0 0 0 0 0 0 0 270 4.6 2 2 19.3 2000 9 999999999 150 0.0940 0 88 999.000 999.0 99.0 -4489200.0 11.1 7.4 79 101900 0 0 312 0 0 0 0 0 0 0 290 3.6 3 3 19.3 2000 9 999999999 140 0.0940 0 88 999.000 999.0 99.0 -4492800.0 10.6 6.6 78 101900 0 0 311 0 0 0 0 0 0 0 320 2.5 5 4 19.3 2000 9 999999999 140 0.0940 0 88 999.000 999.0 99.0 -4496400.0 10.0 6.1 77 101900 0 0 310 0 0 0 0 0 0 0 340 1.5 6 5 24.1 7620 9 999999999 130 0.0940 0 88 999.000 999.0 99.0 -4500000.0 9.1 5.2 79 102000 0 0 312 0 0 0 0 0 0 0 330 1.7 7 7 24.1 5467 9 999999999 130 0.0940 0 88 999.000 999.0 99.0 -4503600.0 8.1 4.7 81 102000 0 0 312 0 0 0 0 0 0 0 320 1.9 9 8 24.1 3313 9 999999999 120 0.0940 0 88 999.000 999.0 99.0 -4507200.0 7.2 4.4 83 102000 0 0 323 0 0 0 0 0 0 0 310 2.1 10 10 12.9 1160 9 999999999 120 0.0940 0 88 999.000 999.0 99.0 -4510800.0 7.6 4.3 82 102000 0 0 304 0 0 0 0 0 0 0 330 2.4 7 7 12.9 2000 9 999999999 120 0.0940 0 88 999.000 999.0 99.0 -4514400.0 7.9 4.5 81 102000 0 0 300 0 0 0 0 0 0 0 350 2.8 5 5 12.9 2000 9 999999999 120 0.0940 0 88 999.000 999.0 99.0 -4518000.0 8.3 5.0 80 102000 2 198 294 1 5 0 0 0 0 0 10 3.1 2 2 16.1 2000 9 999999999 120 0.0710 0 88 999.000 999.0 99.0 -4521600.0 9.4 5.6 78 102100 167 1398 300 64 288 31 6700 17600 4600 550 30 2.8 2 2 16.1 2000 9 999999999 120 0.0710 0 88 999.000 999.0 99.0 -4525200.0 10.6 6.5 76 102200 424 1398 306 223 491 76 23300 43400 10100 1420 40 2.4 3 2 16.1 2000 9 999999999 120 0.0710 0 88 999.000 999.0 99.0 -4528800.0 11.7 7.2 74 102200 643 1398 311 397 681 87 42700 66900 11800 1840 60 2.1 3 2 16.1 2000 9 999999999 110 0.0710 0 88 999.000 999.0 99.0 -4532400.0 12.1 6.3 69 102200 809 1398 315 554 771 112 58100 76300 13800 2440 60 2.4 3 3 16.1 2000 9 999999999 110 0.0710 0 88 999.000 999.0 99.0 -4536000.0 12.4 5.4 64 102100 910 1398 315 452 425 177 49600 44000 20800 4450 60 2.8 4 3 16.1 2000 9 999999999 110 0.0710 0 88 999.000 999.0 99.0 -4539600.0 12.8 5.0 59 102100 939 1398 319 723 867 144 75100 86200 17000 3390 60 3.1 4 4 40.2 2000 9 999999999 110 0.0710 0 88 999.000 999.0 99.0 -4543200.0 13.0 4.1 56 102000 894 1398 322 495 366 262 53700 39200 28600 6830 10 3.8 6 5 40.2 2000 9 999999999 110 0.0710 0 88 999.000 999.0 99.0 -4546800.0 13.1 3.6 54 102000 778 1398 324 474 526 184 50800 53500 20900 4110 330 4.5 8 6 40.2 2000 9 999999999 110 0.0710 0 88 999.000 999.0 99.0 -4550400.0 13.3 3.3 51 102000 599 1398 329 264 228 167 28300 22900 18400 3560 280 5.2 10 7 32.2 6100 9 999999999 110 0.0710 0 88 999.000 999.0 99.0 -4554000.0 12.8 2.9 52 101900 369 1398 331 97 57 82 10700 5000 9300 2210 270 4.5 10 8 32.2 5083 9 999999999 110 0.0710 0 88 999.000 999.0 99.0 -4557600.0 12.2 2.7 54 101900 109 1270 335 34 30 31 3700 1900 3500 740 250 3.8 10 9 32.2 4067 9 999999999 120 0.0710 0 88 999.000 999.0 99.0 -4561200.0 11.7 2.8 55 101900 0 0 342 0 0 0 0 0 0 0 240 3.1 10 10 24.1 3050 9 999999999 130 0.0710 0 88 999.000 999.0 99.0 -4564800.0 11.5 2.8 56 101800 0 0 341 0 0 0 0 0 0 0 220 3.8 10 10 24.1 2540 9 999999999 130 0.0710 0 88 999.000 999.0 99.0 -4568400.0 11.3 3.0 58 101800 0 0 341 0 0 0 0 0 0 0 190 4.5 10 10 24.1 2030 9 999999999 140 0.0710 0 88 999.000 999.0 99.0 -4572000.0 11.1 3.3 59 101700 0 0 340 0 0 0 0 0 0 0 170 5.2 10 10 24.1 1520 9 999999999 140 0.0710 0 88 999.000 999.0 99.0 -4575600.0 10.7 3.5 62 101700 0 0 338 0 0 0 0 0 0 0 150 4.7 10 10 24.1 1400 9 999999999 150 0.0710 0 88 999.000 999.0 99.0 -4579200.0 10.4 3.8 66 101600 0 0 337 0 0 0 0 0 0 0 130 4.1 10 10 24.1 1280 9 999999999 150 0.0710 0 88 999.000 999.0 99.0 -4582800.0 10.0 4.4 69 101500 0 0 336 0 0 0 0 0 0 0 110 3.6 10 10 16.1 1160 9 999999999 150 0.0710 0 88 999.000 999.0 99.0 -4586400.0 9.4 4.6 75 101500 0 0 334 0 0 0 0 0 0 0 120 4.1 10 10 16.1 947 9 999999999 160 0.0710 0 88 999.000 999.0 99.0 -4590000.0 8.9 5.3 80 101400 0 0 332 0 0 0 0 0 0 0 140 4.7 10 10 16.1 733 9 999999999 160 0.0710 0 88 999.000 999.0 99.0 -4593600.0 8.3 6.1 86 101400 0 0 330 0 0 0 0 0 0 0 150 5.2 10 10 19.3 520 9 999999999 170 0.0710 0 88 999.000 999.0 99.0 -4597200.0 9.4 6.4 83 101400 0 0 319 0 0 0 0 0 0 0 190 4.8 9 8 19.3 550 9 999999999 160 0.0710 0 88 999.000 999.0 99.0 -4600800.0 10.6 6.9 80 101500 0 0 320 0 0 0 0 0 0 0 220 4.5 7 7 19.3 580 9 999999999 150 0.0710 0 88 999.000 999.0 99.0 -4604400.0 11.7 7.8 77 101500 3 221 320 2 2 1 0 0 0 0 260 4.1 6 5 19.3 610 9 999999999 150 0.0720 0 88 999.000 999.0 99.0 -4608000.0 11.9 6.9 73 101600 173 1397 323 57 119 43 6100 6700 5300 790 260 6.2 7 6 19.3 863 9 999999999 140 0.0720 0 88 999.000 999.0 99.0 -4611600.0 12.0 6.3 68 101700 430 1397 326 147 117 112 16200 10800 12900 2510 270 8.2 7 7 19.3 1117 9 999999999 130 0.0720 0 88 999.000 999.0 99.0 -4615200.0 12.2 5.6 64 101800 650 1397 331 260 169 182 28600 17200 20600 4430 270 10.3 8 8 24.1 1370 9 999999999 130 0.0720 0 88 999.000 999.0 99.0 -4618800.0 12.8 4.9 60 101900 816 1397 324 359 258 209 39200 27400 23100 4980 280 10.0 6 6 24.1 2000 9 999999999 120 0.0720 0 88 999.000 999.0 99.0 -4622400.0 13.3 4.2 55 101900 916 1397 323 465 466 161 51600 48300 19700 4050 290 9.6 5 5 24.1 2000 9 999999999 110 0.0720 0 88 999.000 999.0 99.0 -4626000.0 13.9 3.9 51 102000 945 1397 320 512 512 168 54400 51800 19200 4480 300 9.3 3 3 64.4 2000 9 999999999 100 0.0720 0 88 999.000 999.0 99.0 -4629600.0 13.3 3.0 51 102000 900 1397 317 577 712 122 62500 72600 15500 3180 300 9.3 4 3 64.4 2000 9 999999999 90 0.0720 0 88 999.000 999.0 99.0 -4633200.0 12.8 2.5 51 102100 783 1397 311 520 655 155 54400 64900 17900 3420 290 9.3 6 2 64.4 2000 9 999999999 90 0.0720 0 88 999.000 999.0 99.0 -4636800.0 12.2 2.2 51 102100 604 1397 308 369 600 112 38600 57500 13600 2220 290 9.3 7 2 64.4 2000 9 999999999 80 0.0720 0 88 999.000 999.0 99.0 -4640400.0 11.7 1.8 52 102100 374 1397 311 180 341 90 18900 28900 11100 1670 300 8.4 8 4 64.4 2000 9 999999999 80 0.0720 0 88 999.000 999.0 99.0 -4644000.0 11.1 1.6 53 102100 114 1316 313 42 35 38 4500 2200 4300 870 300 7.6 9 6 64.4 2000 9 999999999 80 0.0720 0 88 999.000 999.0 99.0 -4647600.0 10.6 1.7 54 102100 0 0 320 0 0 0 0 0 0 0 310 6.7 10 8 24.1 7620 9 999999999 80 0.0720 0 88 999.000 999.0 99.0 -4651200.0 10.2 1.5 56 102100 0 0 324 0 0 0 0 0 0 0 310 5.2 10 9 24.1 7113 9 999999999 80 0.0720 0 88 999.000 999.0 99.0 -4654800.0 9.8 1.5 57 102200 0 0 323 0 0 0 0 0 0 0 310 3.6 10 9 24.1 6607 9 999999999 80 0.0720 0 88 999.000 999.0 99.0 -4658400.0 9.4 1.7 59 102200 0 0 330 0 0 0 0 0 0 0 310 2.1 10 10 24.1 6100 9 999999999 80 0.0720 0 88 999.000 999.0 99.0 -4662000.0 9.2 1.7 60 102200 0 0 329 0 0 0 0 0 0 0 300 2.3 10 10 24.1 6100 9 999999999 70 0.0720 0 88 999.000 999.0 99.0 -4665600.0 9.1 1.8 62 102200 0 0 329 0 0 0 0 0 0 0 300 2.4 10 10 24.1 6100 9 999999999 70 0.0720 0 88 999.000 999.0 99.0 -4669200.0 8.9 2.2 63 102200 0 0 328 0 0 0 0 0 0 0 290 2.6 10 10 24.1 6100 9 999999999 70 0.0720 0 88 999.000 999.0 99.0 -4672800.0 8.3 1.9 66 102200 0 0 316 0 0 0 0 0 0 0 300 2.6 9 9 24.1 6607 9 999999999 70 0.0720 0 88 999.000 999.0 99.0 -4676400.0 7.8 1.9 68 102100 0 0 303 0 0 0 0 0 0 0 320 2.6 9 7 24.1 7113 9 999999999 70 0.0720 0 88 999.000 999.0 99.0 -4680000.0 7.2 2.2 71 102100 0 0 297 0 0 0 0 0 0 0 330 2.6 8 6 24.1 7620 9 999999999 70 0.0720 0 88 999.000 999.0 99.0 -4683600.0 7.2 1.4 68 102100 0 0 293 0 0 0 0 0 0 0 340 1.7 7 5 24.1 2000 9 999999999 70 0.0720 0 88 999.000 999.0 99.0 -4687200.0 7.2 0.8 66 102100 0 0 288 0 0 0 0 0 0 0 350 0.9 7 3 24.1 2000 9 999999999 70 0.0720 0 88 999.000 999.0 99.0 -4690800.0 7.2 0.6 63 102100 4 244 285 2 4 1 0 0 0 0 0 0.0 6 2 48.3 2000 9 999999999 70 0.0800 0 88 999.000 999.0 99.0 -4694400.0 8.1 1.2 62 102100 179 1396 290 70 160 50 7400 9200 6200 950 350 1.2 7 2 48.3 2000 9 999999999 70 0.0800 0 88 999.000 999.0 99.0 -4698000.0 9.1 2.1 62 102200 436 1396 295 239 455 99 25400 40800 12600 1850 350 2.4 7 2 48.3 2000 9 999999999 70 0.0800 0 88 999.000 999.0 99.0 -4701600.0 10.0 2.8 61 102200 656 1396 299 354 475 133 38300 47200 16100 2690 340 3.6 8 2 64.4 2000 9 999999999 70 0.0800 0 88 999.000 999.0 99.0 -4705200.0 10.9 2.7 58 102200 822 1396 306 532 687 130 56700 69200 15800 3070 350 3.9 8 3 64.4 2000 9 999999999 70 0.0800 0 88 999.000 999.0 99.0 -4708800.0 11.9 2.5 54 102100 923 1396 315 496 276 315 53300 29500 33700 8700 10 4.3 9 5 64.4 2000 9 999999999 70 0.0800 0 88 999.000 999.0 99.0 -4712400.0 12.8 2.8 51 102100 951 1396 322 359 193 228 39600 20800 25400 6110 20 4.6 9 6 80.5 7620 9 999999999 70 0.0800 0 88 999.000 999.0 99.0 -4716000.0 13.0 2.9 52 102100 905 1396 323 433 389 182 47300 40200 21100 4560 360 6.2 9 6 80.5 7620 9 999999999 70 0.0800 0 88 999.000 999.0 99.0 -4719600.0 13.1 3.3 52 102100 789 1396 324 320 190 213 35300 19800 24100 5580 330 7.7 9 6 80.5 7620 9 999999999 70 0.0800 0 88 999.000 999.0 99.0 -4723200.0 13.3 3.9 53 102000 609 1396 326 259 224 162 27900 22600 18000 3440 310 9.3 9 6 80.5 7620 9 999999999 70 0.0800 0 88 999.000 999.0 99.0 -4726800.0 12.4 3.3 55 102100 379 1396 318 148 242 83 16000 21100 10300 1570 310 8.6 7 5 80.5 2000 9 999999999 70 0.0800 0 88 999.000 999.0 99.0 -4730400.0 11.5 2.9 57 102100 118 1338 309 49 186 30 4900 9200 4100 540 300 7.9 4 3 80.5 2000 9 999999999 70 0.0800 0 88 999.000 999.0 99.0 -4734000.0 10.6 2.8 59 102100 0 0 302 0 0 0 0 0 0 0 300 7.2 2 2 24.1 2000 9 999999999 80 0.0800 0 88 999.000 999.0 99.0 -4737600.0 10.4 3.2 62 102200 0 0 297 0 0 0 0 0 0 0 300 6.7 1 1 24.1 2000 9 999999999 80 0.0800 0 88 999.000 999.0 99.0 -4741200.0 10.2 3.7 66 102200 0 0 297 0 0 0 0 0 0 0 310 6.2 1 1 24.1 2000 9 999999999 80 0.0800 0 88 999.000 999.0 99.0 -4744800.0 10.0 4.4 69 102300 0 0 291 0 0 0 0 0 0 0 310 5.7 0 0 24.1 2000 9 999999999 80 0.0800 0 88 999.000 999.0 99.0 -4748400.0 9.6 3.5 67 102300 0 0 289 0 0 0 0 0 0 0 300 4.5 0 0 24.1 2000 9 999999999 80 0.0800 0 88 999.000 999.0 99.0 -4752000.0 9.3 2.7 65 102400 0 0 287 0 0 0 0 0 0 0 300 3.3 0 0 24.1 2000 9 999999999 80 0.0800 0 88 999.000 999.0 99.0 -4755600.0 8.9 2.2 63 102400 0 0 285 0 0 0 0 0 0 0 290 2.1 0 0 24.1 2000 9 999999999 90 0.0800 0 88 999.000 999.0 99.0 -4759200.0 8.2 1.9 67 102400 0 0 281 0 0 0 0 0 0 0 290 2.1 0 0 24.1 2000 9 999999999 90 0.0800 0 88 999.000 999.0 99.0 -4762800.0 7.4 1.9 70 102500 0 0 278 0 0 0 0 0 0 0 290 2.1 0 0 24.1 2000 9 999999999 90 0.0800 0 88 999.000 999.0 99.0 -4766400.0 6.7 2.2 74 102500 0 0 276 0 0 0 0 0 0 0 290 2.1 0 0 24.1 2000 9 999999999 90 0.0800 0 88 999.000 999.0 99.0 -4770000.0 6.3 1.7 75 102500 0 0 274 0 0 0 0 0 0 0 280 2.1 2 0 24.1 2000 9 999999999 90 0.0800 0 88 999.000 999.0 99.0 -4773600.0 6.0 1.5 75 102600 0 0 278 0 0 0 0 0 0 0 280 2.1 4 1 24.1 2000 9 999999999 90 0.0800 0 88 999.000 999.0 99.0 -4777200.0 5.6 1.7 76 102600 5 291 276 2 5 2 0 0 0 0 270 2.1 6 1 72.4 2000 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4780800.0 7.4 2.6 73 102600 186 1396 284 70 239 39 7400 14600 5500 690 330 2.1 5 1 72.4 2000 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4784400.0 9.3 3.9 69 102700 443 1396 293 244 578 63 25900 52300 9300 1230 20 2.1 4 1 72.4 2000 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4788000.0 11.1 5.0 66 102800 662 1396 302 425 709 92 45600 69900 12300 1970 80 2.1 3 1 56.3 2000 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4791600.0 11.8 3.6 59 102700 828 1396 304 579 839 85 60900 82900 11500 1880 70 2.3 2 1 56.3 2000 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4795200.0 12.6 2.1 51 102700 929 1396 300 688 885 103 71900 87900 13200 2250 70 2.4 1 0 56.3 2000 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4798800.0 13.3 1.1 44 102700 957 1396 302 716 900 102 74700 89600 13100 2360 60 2.6 0 0 80.5 2000 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4802400.0 13.3 1.4 46 102700 911 1396 308 637 823 103 68400 82800 14100 2650 10 4.0 3 1 80.5 2000 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4806000.0 13.3 2.0 47 102600 795 1396 308 530 755 103 55800 74800 13100 2280 330 5.3 6 1 80.5 2000 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4809600.0 13.3 2.8 49 102600 615 1396 313 379 597 118 39500 57300 14200 2340 280 6.7 9 2 80.5 2000 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4813200.0 12.6 3.1 54 102700 385 1396 316 170 278 95 18300 24300 11600 1840 280 6.0 9 4 80.5 2000 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4816800.0 11.8 3.6 59 102700 123 1361 316 37 8 36 4100 0 4100 1140 280 5.3 10 5 80.5 2000 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4820400.0 11.1 4.4 64 102700 0 0 320 0 0 0 0 0 0 0 280 4.6 10 7 24.1 7620 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4824000.0 10.9 4.4 66 102800 0 0 315 0 0 0 0 0 0 0 290 4.8 9 6 24.1 7620 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4827600.0 10.8 4.6 67 102800 0 0 315 0 0 0 0 0 0 0 290 5.0 9 6 24.1 7620 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4831200.0 10.6 5.0 69 102900 0 0 312 0 0 0 0 0 0 0 300 5.2 8 5 24.1 7620 9 999999999 90 0.0920 0 88 999.000 999.0 99.0 -4834800.0 10.0 4.4 70 102900 0 0 304 0 0 0 0 0 0 0 290 4.0 5 3 24.1 2000 9 999999999 100 0.0920 0 88 999.000 999.0 99.0 -4838400.0 9.5 4.1 70 102900 0 0 298 0 0 0 0 0 0 0 270 2.7 3 2 24.1 2000 9 999999999 100 0.0920 0 88 999.000 999.0 99.0 -4842000.0 8.9 3.9 71 102900 0 0 286 0 0 0 0 0 0 0 260 1.5 0 0 24.1 2000 9 999999999 100 0.0920 0 88 999.000 999.0 99.0 -4845600.0 8.0 3.2 74 102900 0 0 282 0 0 0 0 0 0 0 230 1.5 0 0 24.1 2000 9 999999999 100 0.0920 0 88 999.000 999.0 99.0 -4849200.0 7.0 2.9 76 102900 0 0 278 0 0 0 0 0 0 0 210 1.5 0 0 24.1 2000 9 999999999 100 0.0920 0 88 999.000 999.0 99.0 -4852800.0 6.1 2.8 79 102900 0 0 274 0 0 0 0 0 0 0 180 1.5 0 0 24.1 2000 9 999999999 100 0.0920 0 88 999.000 999.0 99.0 -4856400.0 5.7 2.3 80 102900 0 0 272 0 0 0 0 0 0 0 200 1.7 1 0 24.1 2000 9 999999999 100 0.0920 0 88 999.000 999.0 99.0 -4860000.0 5.4 2.1 81 102900 0 0 271 0 0 0 0 0 0 0 220 1.9 1 0 24.1 2000 9 999999999 100 0.0920 0 88 999.000 999.0 99.0 -4863600.0 5.0 2.2 82 102900 6 314 269 5 19 3 0 0 0 0 240 2.1 2 0 48.3 2000 9 999999999 100 0.0630 0 88 999.000 999.0 99.0 -4867200.0 6.9 3.0 78 103000 192 1395 277 84 400 31 8900 26300 5300 570 180 1.9 2 0 48.3 2000 9 999999999 100 0.0630 0 88 999.000 999.0 99.0 -4870800.0 8.7 4.1 73 103000 449 1395 286 275 710 50 29400 64900 8400 1060 130 1.7 1 0 48.3 2000 9 999999999 100 0.0630 0 88 999.000 999.0 99.0 -4874400.0 10.6 5.0 69 103100 669 1395 294 461 829 67 48800 80400 10100 1480 70 1.5 1 0 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4878000.0 11.5 4.9 65 103000 835 1395 308 579 829 87 60800 81900 11700 1910 70 1.7 3 2 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4881600.0 12.4 4.7 61 103000 935 1395 315 559 567 181 58900 57100 20500 4720 60 1.9 6 3 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4885200.0 13.3 5.0 57 102900 963 1395 324 619 662 164 65900 67200 19400 4520 60 2.1 8 5 24.1 7620 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4888800.0 13.9 5.6 59 102900 917 1395 325 523 459 223 56100 47400 24800 5760 20 3.6 7 4 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4892400.0 14.4 6.6 60 102800 800 1395 326 486 607 140 51400 60700 16400 3200 330 5.2 6 3 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4896000.0 15.0 7.8 62 102800 620 1395 326 383 627 107 40300 60600 13300 2170 290 6.7 5 2 40.2 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4899600.0 14.1 7.6 66 102800 390 1395 322 182 385 76 19600 33300 10300 1380 290 6.2 5 2 40.2 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4903200.0 13.1 7.6 71 102800 127 1383 318 46 122 34 4800 5800 4300 620 290 5.7 6 2 40.2 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4906800.0 12.2 7.8 75 102800 0 0 314 0 0 0 0 0 0 0 290 5.2 6 2 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4910400.0 12.0 7.6 76 102800 0 0 313 0 0 0 0 0 0 0 300 5.0 6 2 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4914000.0 11.9 7.6 76 102800 0 0 316 0 0 0 0 0 0 0 310 4.8 6 3 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4917600.0 11.7 7.8 77 102800 0 0 315 0 0 0 0 0 0 0 320 4.6 6 3 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4921200.0 11.1 7.2 78 102800 0 0 309 0 0 0 0 0 0 0 300 4.1 4 2 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4924800.0 10.6 6.9 79 102800 0 0 302 0 0 0 0 0 0 0 290 3.6 3 1 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4928400.0 10.0 6.7 80 102800 0 0 294 0 0 0 0 0 0 0 270 3.1 1 0 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4932000.0 9.3 5.8 81 102700 0 0 290 0 0 0 0 0 0 0 260 2.8 1 0 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4935600.0 8.5 5.3 82 102700 0 0 286 0 0 0 0 0 0 0 250 2.4 0 0 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4939200.0 7.8 5.0 83 102700 0 0 283 0 0 0 0 0 0 0 240 2.1 0 0 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4942800.0 7.6 4.5 83 102700 0 0 282 0 0 0 0 0 0 0 250 1.9 0 0 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4946400.0 7.4 4.3 83 102800 0 0 281 0 0 0 0 0 0 0 270 1.7 1 0 24.1 2000 9 999999999 90 0.0630 0 88 999.000 999.0 99.0 -4950000.0 7.2 4.4 83 102800 8 337 280 5 7 4 0 0 0 0 280 1.5 1 0 16.1 2000 9 999999999 90 0.1070 0 88 999.000 999.0 99.0 -4953600.0 8.5 5.4 82 102800 198 1394 286 82 314 39 8500 20700 5600 690 330 1.7 1 0 16.1 2000 9 999999999 90 0.1070 0 88 999.000 999.0 99.0 -4957200.0 9.8 6.7 81 102800 456 1394 298 261 561 80 27300 50700 10700 1510 30 1.9 1 1 16.1 2000 9 999999999 90 0.1070 0 88 999.000 999.0 99.0 -4960800.0 11.1 7.8 80 102800 676 1394 305 420 660 103 44700 65100 13100 2190 80 2.1 1 1 14.5 2000 9 999999999 90 0.1070 0 88 999.000 999.0 99.0 -4964400.0 12.6 7.1 71 102800 841 1394 311 580 809 95 62100 81000 13100 2300 80 1.9 1 1 14.5 2000 9 999999999 100 0.1070 0 88 999.000 999.0 99.0 -4968000.0 14.1 6.4 63 102700 941 1394 317 693 875 106 74500 88200 14700 2820 80 1.7 1 1 14.5 2000 9 999999999 100 0.1070 0 88 999.000 999.0 99.0 -4971600.0 15.6 6.1 54 102600 969 1394 323 690 842 108 74300 85100 15000 2980 80 1.5 1 1 16.1 2000 9 999999999 100 0.1070 0 88 999.000 999.0 99.0 -4975200.0 16.0 6.2 54 102600 923 1394 329 630 736 145 67400 74800 17700 3830 30 3.1 4 2 16.1 2000 9 999999999 100 0.1070 0 88 999.000 999.0 99.0 -4978800.0 16.3 6.6 54 102500 806 1394 331 514 627 154 54000 62500 17800 3490 350 4.6 6 2 16.1 2000 9 999999999 100 0.1070 0 88 999.000 999.0 99.0 -4982400.0 16.7 7.2 54 102500 625 1394 337 332 335 182 35500 34000 20200 3960 300 6.2 9 3 48.3 2000 9 999999999 100 0.1070 0 88 999.000 999.0 99.0 -4986000.0 15.2 7.2 61 102500 395 1394 330 204 387 96 21500 33500 11900 1790 290 6.0 8 3 48.3 2000 9 999999999 100 0.1070 0 88 999.000 999.0 99.0 -4989600.0 13.7 7.4 68 102500 132 1394 320 47 88 38 4800 4000 4500 710 280 5.9 7 2 48.3 2000 9 999999999 110 0.1070 0 88 999.000 999.0 99.0 -4993200.0 12.2 7.8 75 102500 0 12 314 0 0 0 0 0 0 0 270 5.7 6 2 24.1 2000 9 999999999 110 0.1070 0 88 999.000 999.0 99.0 -4996800.0 12.0 7.6 76 102400 0 0 313 0 0 0 0 0 0 0 270 5.2 6 2 24.1 2000 9 999999999 120 0.1070 0 88 999.000 999.0 99.0 -5000400.0 11.9 7.6 76 102400 0 0 308 0 0 0 0 0 0 0 260 4.6 5 1 24.1 2000 9 999999999 130 0.1070 0 88 999.000 999.0 99.0 -5004000.0 11.7 7.8 77 102400 0 0 308 0 0 0 0 0 0 0 260 4.1 5 1 24.1 2000 9 999999999 130 0.1070 0 88 999.000 999.0 99.0 -5007600.0 11.7 7.8 78 102400 0 0 317 0 0 0 0 0 0 0 270 5.1 7 4 24.1 2000 9 999999999 140 0.1070 0 88 999.000 999.0 99.0 -5011200.0 11.7 7.9 79 102400 0 0 326 0 0 0 0 0 0 0 280 6.2 8 7 24.1 2000 9 999999999 140 0.1070 0 88 999.000 999.0 99.0 -5014800.0 11.7 8.3 80 102400 0 0 349 0 0 0 0 0 0 0 290 7.2 10 10 24.1 370 9 999999999 150 0.1070 0 88 999.000 999.0 99.0 -5018400.0 11.5 8.0 81 102400 0 0 331 0 0 0 0 0 0 0 290 6.3 9 8 24.1 2000 9 999999999 150 0.1070 0 88 999.000 999.0 99.0 -5022000.0 11.3 8.0 82 102400 0 0 318 0 0 0 0 0 0 0 290 5.5 7 5 24.1 2000 9 999999999 150 0.1070 0 88 999.000 999.0 99.0 -5025600.0 11.1 8.3 83 102400 0 0 313 0 0 0 0 0 0 0 290 4.6 6 3 24.1 2000 9 999999999 160 0.1070 0 88 999.000 999.0 99.0 -5029200.0 11.1 7.8 82 102400 0 0 312 0 0 0 0 0 0 0 290 4.3 6 3 24.1 2000 9 999999999 150 0.1070 0 88 999.000 999.0 99.0 -5032800.0 11.1 7.6 81 102400 0 0 314 0 0 0 0 0 0 0 280 3.9 7 4 24.1 2000 9 999999999 150 0.1070 0 88 999.000 999.0 99.0 -5036400.0 11.1 7.8 80 102400 9 383 315 6 13 4 0 0 0 0 280 3.6 7 4 19.3 7620 9 999999999 140 0.0640 0 88 999.000 999.0 99.0 -5040000.0 10.7 7.3 80 102400 205 1394 318 62 67 52 6700 4500 6100 1100 290 4.5 8 6 19.3 5333 9 999999999 130 0.0640 0 88 999.000 999.0 99.0 -5043600.0 10.4 7.1 80 102500 462 1394 325 178 104 144 19300 9800 16100 3270 300 5.3 9 8 19.3 3047 9 999999999 120 0.0640 0 88 999.000 999.0 99.0 -5047200.0 10.0 6.7 80 102500 682 1394 339 158 12 152 18300 900 17900 6450 310 6.2 10 10 16.1 760 9 999999999 110 0.0640 0 88 999.000 999.0 99.0 -5050800.0 10.9 5.6 72 102500 848 1394 325 419 275 253 45300 29300 27500 6360 300 7.4 8 8 16.1 2000 9 999999999 110 0.0640 0 88 999.000 999.0 99.0 -5054400.0 11.9 4.5 63 102500 948 1394 320 415 193 285 45800 20400 31900 8420 300 8.6 6 6 16.1 2000 9 999999999 100 0.0640 0 88 999.000 999.0 99.0 -5058000.0 12.8 3.9 55 102500 975 1394 318 634 579 231 68400 60100 26200 6460 290 9.8 4 4 40.2 2000 9 999999999 90 0.0640 0 88 999.000 999.0 99.0 -5061600.0 12.6 3.0 54 102400 929 1394 316 560 627 144 60000 63800 17300 3840 290 10.0 4 4 40.2 2000 9 999999999 90 0.0640 0 88 999.000 999.0 99.0 -5065200.0 12.4 2.5 52 102400 811 1394 312 511 672 123 54700 67700 15200 2900 300 10.1 3 3 40.2 2000 9 999999999 80 0.0640 0 88 999.000 999.0 99.0 -5068800.0 12.2 2.2 51 102300 631 1394 311 404 658 109 42600 63800 13600 2220 300 10.3 3 3 48.3 2000 9 999999999 70 0.0640 0 88 999.000 999.0 99.0 -5072400.0 11.3 2.2 55 102300 400 1394 304 212 539 60 22500 47300 8900 1150 300 9.8 2 2 48.3 2000 9 999999999 70 0.0640 0 88 999.000 999.0 99.0 -5076000.0 10.3 2.4 59 102300 137 1394 300 58 194 38 5800 9800 4900 690 300 9.3 2 2 48.3 2000 9 999999999 70 0.0640 0 88 999.000 999.0 99.0 -5079600.0 9.4 2.8 63 102400 0 35 293 0 0 0 0 0 0 0 300 8.8 1 1 24.1 2000 9 999999999 70 0.0640 0 88 999.000 999.0 99.0 -5083200.0 9.0 1.9 61 102400 0 0 290 0 0 0 0 0 0 0 300 7.6 1 1 24.1 2000 9 999999999 70 0.0640 0 88 999.000 999.0 99.0 -5086800.0 8.7 1.2 60 102400 0 0 283 0 0 0 0 0 0 0 300 6.4 0 0 24.1 2000 9 999999999 70 0.0640 0 88 999.000 999.0 99.0 -5090400.0 8.8 2.4 58 102400 0 0 284 0 0 0 0 0 0 0 300 5.9 0 0 24.1 2000 9 999999999 70 0.0640 0 88 999.000 999.0 99.0 -5094000.0 8.9 3.5 57 102400 0 0 286 0 0 0 0 0 0 0 300 5.5 0 0 24.1 2000 9 999999999 70 0.0640 0 88 999.000 999.0 99.0 -5097600.0 9.0 4.7 57 102400 0 0 287 0 0 0 0 0 0 0 300 5.0 0 0 24.1 2000 9 999999999 70 0.0640 0 88 999.000 999.0 99.0 -5101200.0 9.1 5.9 100 102100 0 0 304 0 0 0 0 0 0 0 310 4.5 6 4 6.4 91 9 999999999 160 0.1430 0 88 0.130 0.0 1.0 -5104800.0 9.2 7.1 100 102200 0 0 303 0 0 0 0 0 0 0 270 4.0 4 3 8.0 2000 9 999999999 160 0.1430 0 88 0.130 0.0 1.0 -5108400.0 9.3 8.2 100 102100 0 0 298 0 0 0 0 0 0 0 310 3.6 1 1 11.2 2000 9 999999999 160 0.1430 0 88 0.130 0.0 1.0 -5112000.0 9.4 9.4 100 102100 0 0 306 0 0 0 0 0 0 0 320 3.1 3 3 8.0 2000 9 999999999 160 0.1430 0 88 0.130 0.0 1.0 -5115600.0 10.0 10.0 100 102200 0 0 343 0 0 0 0 0 0 0 310 2.1 10 10 4.8 61 9 999999999 150 0.1430 0 88 0.130 0.0 1.0 -5119200.0 9.4 9.4 100 102200 0 0 339 0 0 0 0 0 0 0 0 0.0 10 10 0.2 30 9 999999999 150 0.1430 0 88 0.130 0.0 1.0 -5122800.0 9.4 9.4 100 102200 11 406 339 0 0 0 0 0 0 0 0 0.0 10 10 0.2 30 9 999999999 150 0.1430 0 88 0.130 0.0 1.0 -5126400.0 10.0 10.0 100 102300 211 1393 343 24 0 24 2800 0 2800 950 0 0.0 10 10 0.1 30 9 999999999 150 0.1430 0 88 0.130 0.0 1.0 -5130000.0 10.0 10.0 100 102300 468 1393 343 52 0 52 6300 0 6300 2290 30 1.5 10 10 0.1 91 9 999999999 150 0.1430 0 88 0.130 0.0 1.0 -5133600.0 10.0 10.0 100 102300 688 1393 343 89 0 89 10800 0 10800 4170 30 2.1 10 10 0.2 61 9 999999999 150 0.1430 0 88 0.130 0.0 1.0 -5137200.0 10.0 10.0 100 102300 853 1393 333 224 83 172 25100 8800 19700 4700 350 1.5 10 9 1.2 61 9 999999999 150 0.1430 0 88 0.130 0.0 1.0 -5140800.0 11.7 11.1 96 102300 953 1393 305 691 774 161 73300 78600 19400 4390 20 2.1 3 0 2.4 2000 9 999999999 150 0.1430 0 88 0.130 0.0 1.0 -5144400.0 15.0 12.2 83 102200 981 1393 327 692 711 191 72800 71800 22000 5320 50 2.1 2 1 9.6 2000 9 999999999 150 0.1430 0 88 0.130 0.0 1.0 -5148000.0 17.2 12.2 72 102100 934 1393 337 665 769 149 70800 78200 18200 3990 70 2.1 3 1 11.2 2000 9 999999999 140 0.1430 0 88 0.130 0.0 1.0 -5151600.0 20.6 12.2 59 102100 816 1393 346 565 729 138 59700 73200 16700 3220 40 2.6 2 0 12.8 2000 9 999999999 140 0.1430 0 88 0.130 0.0 1.0 -5155200.0 20.0 11.7 59 102100 635 1393 358 376 509 144 40000 50200 17000 2910 360 2.6 4 3 16.0 2000 9 999999999 140 0.1430 0 88 0.130 0.0 1.0 -5158800.0 17.8 12.2 70 102000 404 1393 344 182 328 86 19200 28700 10800 1580 320 6.7 5 2 16.0 2000 9 999999999 140 0.1430 0 88 0.130 0.0 1.0 -5162400.0 15.0 11.7 81 102000 141 1393 342 60 25 57 6500 1700 6300 1180 310 6.7 8 6 14.4 7620 9 999999999 140 0.1430 0 88 0.130 0.0 1.0 -5166000.0 12.2 11.1 93 102100 0 35 326 0 0 0 0 0 0 0 310 7.2 6 5 16.0 7620 9 999999999 140 0.1430 0 88 0.130 0.0 1.0 -5169600.0 13.3 11.1 87 102100 0 0 326 0 0 0 0 0 0 0 260 2.1 5 3 17.6 2000 9 999999999 140 0.1430 0 88 0.130 0.0 1.0 -5173200.0 11.7 11.1 96 102100 0 0 305 0 0 0 0 0 0 0 310 6.2 2 0 17.6 2000 9 999999999 140 0.1430 0 88 0.130 0.0 1.0 -5176800.0 11.1 10.6 97 102100 0 0 302 0 0 0 0 0 0 0 310 3.1 1 0 17.6 2000 9 999999999 140 0.1430 0 88 0.130 0.0 1.0 -5180400.0 11.7 10.6 93 102200 0 0 305 0 0 0 0 0 0 0 330 1.5 1 0 17.6 2000 9 999999999 130 0.1430 0 88 0.130 0.0 1.0 -5184000.0 11.1 10.6 97 102200 0 0 302 0 0 0 0 0 0 0 170 2.1 4 0 17.6 2000 9 999999999 130 0.1430 0 88 0.130 0.0 1.0 -5187600.0 11.1 9.4 89 102200 0 0 301 0 0 0 0 0 0 0 0 0.0 4 0 17.6 2000 9 999999999 130 0.1430 0 88 0.130 0.0 1.0 -5191200.0 10.6 10.0 96 102200 0 0 299 0 0 0 0 0 0 0 0 0.0 2 0 17.6 2000 9 999999999 130 0.1430 0 88 0.130 0.0 1.0 -5194800.0 11.1 10.6 97 102100 0 0 302 0 0 0 0 0 0 0 0 0.0 1 0 17.6 2000 9 999999999 130 0.1430 0 88 0.130 0.0 1.0 -5198400.0 10.0 10.0 100 102100 0 0 297 0 0 0 0 0 0 0 0 0.0 2 0 19.2 2000 9 999999999 130 0.1430 0 88 0.130 0.0 1.0 -5202000.0 9.4 9.4 100 102100 0 0 294 0 0 0 0 0 0 0 0 0.0 6 0 19.2 2000 9 999999999 130 0.1430 0 88 0.130 0.0 1.0 -5205600.0 9.4 9.4 100 102100 0 0 303 0 0 0 0 0 0 0 0 0.0 7 2 11.2 2000 9 999999999 130 0.1430 0 88 0.130 0.0 1.0 -5209200.0 11.1 11.1 100 102100 13 429 316 2 8 2 0 0 0 0 10 4.1 5 3 8.0 2000 9 999999999 130 0.1430 0 88 0.130 0.0 1.0 -5212800.0 11.7 11.7 100 102200 217 1392 312 89 264 48 9300 17500 6600 860 340 1.5 4 1 6.4 2000 9 999999999 130 0.1430 0 88 0.130 0.0 1.0 -5216400.0 13.9 11.7 87 102200 475 1392 321 244 447 92 26200 41300 12100 1710 130 2.1 4 1 6.4 2000 9 999999999 130 0.1430 0 88 0.130 0.0 1.0 -5220000.0 15.6 12.2 80 102100 694 1392 330 424 577 136 44000 56400 15800 2820 100 3.1 6 1 6.4 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5223600.0 15.6 12.8 83 102100 860 1392 330 500 549 161 52500 55100 18400 3870 40 3.1 6 1 8.0 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5227200.0 16.7 13.3 80 102000 959 1392 336 667 747 152 71100 76100 18500 4210 70 3.1 6 1 8.0 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5230800.0 16.1 12.8 81 101900 987 1392 332 687 751 155 73500 76600 19000 4470 20 3.6 6 1 8.0 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5234400.0 19.4 12.2 63 101900 940 1392 347 654 788 122 68800 79000 15400 3100 40 2.6 2 1 11.2 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5238000.0 18.9 13.3 70 101800 821 1392 346 549 687 143 57800 68900 17000 3340 10 5.2 3 1 14.4 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5241600.0 20.6 12.2 59 101700 640 1392 358 372 471 156 39300 46500 17900 3190 20 4.1 7 2 16.0 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5245200.0 21.1 11.1 53 101700 409 1392 365 184 278 102 19600 24900 12300 1990 10 3.1 9 4 19.2 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5248800.0 18.9 13.3 70 101700 145 1392 351 55 110 44 5800 5400 5200 840 320 5.7 7 2 19.2 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5252400.0 16.1 11.1 72 101800 0 58 331 0 0 0 0 0 0 0 290 7.7 4 1 24.0 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5256000.0 14.4 10.0 75 101900 0 0 316 0 0 0 0 0 0 0 310 5.2 4 0 24.0 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5259600.0 13.3 10.0 80 101900 0 0 311 0 0 0 0 0 0 0 310 4.1 3 0 24.0 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5263200.0 13.3 10.0 80 101900 0 0 311 0 0 0 0 0 0 0 290 5.2 1 0 24.0 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5266800.0 13.3 10.0 80 102000 0 0 311 0 0 0 0 0 0 0 300 5.2 4 0 24.0 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5270400.0 13.3 10.0 80 101900 0 0 317 0 0 0 0 0 0 0 340 3.1 7 1 24.0 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -5274000.0 12.2 8.9 80 101900 0 0 311 0 0 0 0 0 0 0 310 5.2 7 1 24.0 2000 9 999999999 110 0.1440 0 88 0.130 0.0 1.0 -5277600.0 11.7 9.4 86 101900 0 0 309 0 0 0 0 0 0 0 300 2.1 8 1 24.0 2000 9 999999999 110 0.1440 0 88 0.130 0.0 1.0 -5281200.0 11.1 8.9 86 101900 0 0 310 0 0 0 0 0 0 0 0 0.0 9 2 24.0 2000 9 999999999 110 0.1440 0 88 0.130 0.0 1.0 -5284800.0 11.1 8.3 83 101900 0 0 313 0 0 0 0 0 0 0 0 0.0 9 3 24.0 2000 9 999999999 110 0.1440 0 88 0.130 0.0 1.0 -5288400.0 10.0 7.8 86 101900 0 0 304 0 0 0 0 0 0 0 0 0.0 9 2 24.0 2000 9 999999999 120 0.1440 0 88 0.130 0.0 1.0 -5292000.0 10.0 7.8 86 101900 0 0 307 0 0 0 0 0 0 0 340 2.1 9 3 24.0 2000 9 999999999 120 0.1440 0 88 0.130 0.0 1.0 -5295600.0 10.0 7.2 83 101900 15 475 312 3 7 2 0 0 0 0 310 3.1 10 5 16.0 2000 9 999999999 120 0.1440 0 88 0.130 0.0 1.0 -5299200.0 12.8 10.0 83 102000 224 1392 325 98 179 70 10300 11800 8400 1370 360 2.6 10 4 12.8 2000 9 999999999 120 0.1440 0 88 0.130 0.0 1.0 -5302800.0 14.4 11.1 81 102000 482 1392 343 165 165 108 17900 15700 12400 2110 330 4.1 10 7 12.8 7620 9 999999999 120 0.1440 0 88 0.130 0.0 1.0 -5306400.0 15.6 11.7 78 102100 701 1392 345 286 88 241 31300 8800 26900 7040 330 3.1 10 6 12.8 7620 9 999999999 130 0.1440 0 88 0.130 0.0 1.0 -5310000.0 16.1 11.1 72 102100 866 1392 351 522 477 225 55300 49000 24700 5530 30 2.1 10 7 12.8 7620 9 999999999 130 0.1440 0 88 0.130 0.0 1.0 -5313600.0 18.3 11.1 63 102100 966 1392 349 587 537 214 63500 55800 24700 5880 360 1.5 10 3 12.8 2000 9 999999999 130 0.1440 0 88 0.130 0.0 1.0 -5317200.0 18.9 10.6 59 102000 993 1392 357 703 715 192 73900 72300 22200 5460 330 3.6 10 5 19.2 2000 9 999999999 130 0.1440 0 88 0.130 0.0 1.0 -5320800.0 17.8 12.2 70 102000 945 1392 348 628 657 182 66100 66300 20900 4830 310 6.7 10 3 24.0 2000 9 999999999 140 0.1440 0 88 0.130 0.0 1.0 -5324400.0 16.7 12.2 75 102000 827 1392 348 406 226 271 44200 23600 30200 7290 300 7.2 10 5 32.0 2000 9 999999999 140 0.1440 0 88 0.130 0.0 1.0 -5328000.0 16.1 11.7 75 102000 646 1392 344 419 597 141 43000 57400 16300 2770 320 6.7 9 5 56.0 7620 9 999999999 140 0.1440 0 88 0.130 0.0 1.0 -5331600.0 15.6 11.7 78 102000 414 1392 339 183 212 120 19300 19100 13600 2420 290 6.7 9 4 56.0 2000 9 999999999 140 0.1440 0 88 0.130 0.0 1.0 -5335200.0 15.6 12.2 80 102100 150 1392 340 44 34 40 4800 2300 4500 940 300 5.7 9 4 56.0 2000 9 999999999 150 0.1440 0 88 0.130 0.0 1.0 -5338800.0 15.0 12.2 83 102100 1 81 331 0 1 0 0 0 0 0 280 5.2 6 2 32.0 2000 9 999999999 150 0.1440 0 88 0.130 0.0 1.0 -5342400.0 14.4 12.2 87 102100 0 0 324 0 0 0 0 0 0 0 280 5.7 4 1 24.0 2000 9 999999999 150 0.1440 0 88 0.130 0.0 1.0 -5346000.0 13.3 12.2 93 102200 0 0 324 0 0 0 0 0 0 0 340 4.1 6 2 24.0 2000 9 999999999 150 0.1440 0 88 0.130 0.0 1.0 -5349600.0 12.8 12.2 96 102200 0 0 324 0 0 0 0 0 0 0 350 2.1 6 3 19.2 2000 9 999999999 150 0.1440 0 88 0.130 0.0 1.0 -5353200.0 12.8 12.2 96 102200 0 0 321 0 0 0 0 0 0 0 330 4.1 7 2 19.2 2000 9 999999999 160 0.1440 0 88 0.130 0.0 1.0 -5356800.0 12.2 12.2 100 102200 0 0 330 0 0 0 0 0 0 0 300 3.6 8 6 16.0 91 9 999999999 160 0.1440 0 88 0.130 0.0 1.0 -5360400.0 12.2 12.2 100 102200 0 0 346 0 0 0 0 0 0 0 320 3.1 9 9 11.2 152 9 999999999 160 0.1440 0 88 0.130 0.0 1.0 -5364000.0 11.7 11.7 100 102200 0 0 353 0 0 0 0 0 0 0 300 3.1 10 10 8.0 91 9 999999999 160 0.1440 0 88 0.130 0.0 1.0 -5367600.0 11.7 11.7 100 102200 0 0 319 0 0 0 0 0 0 0 310 3.6 5 3 9.6 2000 9 999999999 170 0.1440 0 88 0.130 0.0 1.0 -5371200.0 12.2 12.2 100 102100 0 0 346 0 0 0 0 0 0 0 320 3.1 9 9 9.6 152 9 999999999 170 0.1440 0 88 0.130 0.0 1.0 -5374800.0 11.7 11.7 100 102100 0 0 353 0 0 0 0 0 0 0 210 2.6 10 10 9.6 152 9 999999999 170 0.1440 0 88 0.130 0.0 1.0 -5378400.0 11.7 11.7 100 102100 0 0 353 0 0 0 0 0 0 0 0 0.0 10 10 2.4 91 9 999999999 170 0.1440 0 88 0.130 0.0 1.0 -5382000.0 11.7 11.7 100 102100 17 498 353 1 0 1 0 0 0 0 150 2.6 10 10 0.8 30 9 999999999 170 0.1440 0 88 0.130 0.0 1.0 -5385600.0 11.7 11.7 100 102200 231 1391 353 33 0 33 3800 0 3800 1270 190 3.1 10 10 1.2 30 9 999999999 180 0.1440 0 88 0.130 0.0 1.0 -5389200.0 12.2 12.2 100 102200 488 1391 356 66 0 66 7900 0 7900 2860 0 0.0 10 10 0.8 30 9 999999999 180 0.1440 0 88 0.130 0.0 1.0 -5392800.0 12.8 12.8 100 102200 708 1391 350 282 29 267 31400 2700 30000 9550 50 1.5 10 9 2.2 61 9 999999999 180 0.1440 0 88 0.130 0.0 1.0 -5396400.0 13.9 12.8 93 102200 873 1391 348 388 199 262 42500 20900 29300 7280 30 3.1 8 8 2.4 91 9 999999999 180 0.1440 0 88 0.130 0.0 1.0 -5400000.0 14.4 12.8 90 102200 972 1391 329 635 520 271 67100 53800 29300 7660 30 3.6 4 2 3.2 2000 9 999999999 180 0.1440 0 88 0.130 0.0 1.0 -5403600.0 16.7 13.3 80 102100 999 1391 336 644 469 306 67400 48500 32400 9080 300 9.8 8 1 16.0 2000 9 999999999 180 0.1440 0 88 0.130 0.0 1.0 -5407200.0 17.2 12.8 75 102000 951 1391 342 598 476 272 62900 49200 29200 7480 320 7.7 7 2 32.0 2000 9 999999999 190 0.1440 0 88 0.130 0.0 1.0 -5410800.0 18.3 11.1 63 102000 832 1391 375 245 49 216 27000 4900 24100 7230 320 8.2 10 9 56.0 7620 9 999999999 190 0.1440 0 88 0.130 0.0 1.0 -5414400.0 16.1 12.8 81 101900 651 1391 353 301 100 254 32900 10000 28300 6960 310 8.2 9 7 56.0 7620 9 999999999 190 0.1440 0 88 0.130 0.0 1.0 -5418000.0 13.9 12.2 89 102000 419 1391 354 105 0 105 11800 0 11800 3860 300 9.8 10 9 32.0 3048 9 999999999 190 0.1440 0 88 0.130 0.0 1.0 -5421600.0 13.9 12.8 93 102000 154 1391 365 39 0 39 4300 0 4300 1270 280 6.2 10 10 40.0 4572 9 999999999 190 0.1440 0 88 0.130 0.0 1.0 -5425200.0 13.9 12.2 89 101900 1 104 354 0 0 0 0 0 0 0 320 4.1 9 9 32.0 1189 9 999999999 200 0.1440 0 88 0.130 0.0 1.0 -5428800.0 13.9 12.8 93 101900 0 0 342 0 0 0 0 0 0 0 320 2.1 7 7 40.0 579 9 999999999 200 0.1440 0 88 0.130 0.0 1.0 -5432400.0 13.9 12.8 93 102000 0 0 355 0 0 0 0 0 0 0 290 3.1 9 9 32.0 640 9 999999999 200 0.1440 0 88 0.130 0.0 1.0 -5436000.0 13.3 12.8 97 101900 0 0 362 0 0 0 0 0 0 0 360 2.6 10 10 19.2 1067 9 999999999 200 0.1440 0 88 0.130 0.0 1.0 -5439600.0 13.9 12.8 93 101900 0 0 365 0 0 0 0 0 0 0 340 2.6 10 10 24.0 427 9 999999999 200 0.1440 0 88 0.130 0.0 1.0 -5443200.0 13.9 12.8 93 101800 0 0 365 0 0 0 0 0 0 0 280 3.1 10 10 19.2 366 9 999999999 200 0.1440 0 88 0.130 0.0 1.0 -5446800.0 13.3 12.8 97 101800 0 0 352 0 0 0 0 0 0 0 260 2.1 9 9 19.2 579 9 999999999 209 0.1450 0 88 0.130 0.0 1.0 -5450400.0 13.9 12.8 93 101800 0 0 348 0 0 0 0 0 0 0 0 0.0 8 8 19.2 823 9 999999999 209 0.1450 0 88 0.130 0.0 1.0 -5454000.0 12.2 11.7 97 101700 0 0 326 0 0 0 0 0 0 0 260 2.1 5 5 19.2 2000 9 999999999 209 0.1450 0 88 0.130 0.0 1.0 -5457600.0 12.8 12.2 96 101700 0 0 342 0 0 0 0 0 0 0 280 2.6 8 8 19.2 396 9 999999999 209 0.1450 0 88 0.130 0.0 1.0 -5461200.0 12.2 12.2 100 101700 0 0 356 0 0 0 0 0 0 0 290 3.6 10 10 11.2 274 9 999999999 209 0.1450 0 88 0.130 0.0 1.0 -5464800.0 12.2 11.7 97 101700 0 0 346 0 0 0 0 0 0 0 300 2.6 9 9 19.2 335 9 999999999 209 0.1450 0 88 0.130 0.0 1.0 -5468400.0 11.7 11.7 100 101700 19 544 353 2 0 2 0 0 0 0 330 3.1 10 10 19.2 305 9 999999999 200 0.1450 0 88 0.130 0.0 1.0 -5472000.0 12.2 11.7 97 101700 237 1390 346 56 27 51 6100 2100 5700 1300 290 4.6 10 9 16.0 579 9 999999999 200 0.1450 0 88 0.130 0.0 1.0 -5475600.0 12.2 11.1 93 101700 495 1390 345 199 66 176 21800 6300 19600 4540 270 5.2 9 9 16.0 1372 9 999999999 200 0.1450 0 88 0.130 0.0 1.0 -5479200.0 13.3 11.1 87 101700 714 1390 360 140 0 140 16400 0 16400 6200 270 5.2 10 10 16.0 457 9 999999999 200 0.1450 0 88 0.130 0.0 1.0 -5482800.0 13.3 10.0 80 101700 879 1390 359 181 0 181 21400 0 21400 8370 260 4.1 10 10 19.2 518 9 999999999 190 0.1450 0 88 0.130 0.0 1.0 -5486400.0 13.9 9.4 74 101700 978 1390 351 380 147 276 42000 15600 31000 8410 270 5.2 10 9 19.2 732 9 999999999 190 0.1450 0 88 0.130 0.0 1.0 -5490000.0 13.3 10.6 84 101600 1004 1390 359 212 0 212 25200 0 25200 10060 260 4.6 10 10 19.2 640 9 999999999 190 0.1450 0 88 0.130 0.0 1.0 -5493600.0 13.3 10.0 80 101500 957 1390 349 457 76 405 50200 7900 44800 13290 300 5.7 10 9 19.2 610 9 999999999 190 0.1450 0 88 0.130 0.0 1.0 -5497200.0 13.9 8.9 72 101400 838 1390 338 391 268 229 42400 28500 25200 5630 300 6.2 7 7 24.0 610 9 999999999 180 0.1450 0 88 0.130 0.0 1.0 -5500800.0 13.3 8.9 75 101400 656 1390 340 338 264 213 35800 27000 23000 4820 260 6.7 8 8 40.0 610 9 999999999 180 0.1450 0 88 0.130 0.0 1.0 -5504400.0 12.8 10.0 83 101400 424 1390 327 188 289 100 20200 26300 12200 1940 280 6.2 5 5 40.0 2000 9 999999999 180 0.1450 0 88 0.130 0.0 1.0 -5508000.0 12.8 9.4 80 101400 159 1390 338 40 12 38 4300 800 4200 920 270 6.2 9 8 17.6 640 9 999999999 180 0.1450 0 88 0.130 0.0 1.0 -5511600.0 12.2 8.9 80 101400 1 127 342 0 0 0 0 0 0 0 270 5.2 10 9 19.2 884 9 999999999 180 0.1450 0 88 0.130 0.0 1.0 -5515200.0 12.2 8.9 80 101400 0 0 352 0 0 0 0 0 0 0 270 5.2 10 10 17.6 823 9 999999999 170 0.1450 0 88 0.130 0.0 1.0 -5518800.0 11.7 9.4 86 101400 0 0 328 0 0 0 0 0 0 0 290 4.1 9 7 17.6 1219 9 999999999 170 0.1450 0 88 0.130 0.0 1.0 -5522400.0 11.7 8.9 83 101400 0 0 340 0 0 0 0 0 0 0 300 4.1 10 9 17.6 914 9 999999999 170 0.1450 0 88 0.130 0.0 1.0 -5526000.0 11.7 8.9 83 101400 0 0 340 0 0 0 0 0 0 0 310 3.1 10 9 17.6 823 9 999999999 170 0.1450 0 88 0.130 0.0 1.0 -5529600.0 10.0 8.9 93 101400 0 0 311 0 0 0 0 0 0 0 290 2.1 4 4 17.6 2000 9 999999999 160 0.1450 0 88 0.130 0.0 1.0 -5533200.0 10.0 8.3 89 101300 0 0 308 0 0 0 0 0 0 0 260 2.1 3 3 17.6 2000 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -5536800.0 9.4 8.9 97 101400 0 0 303 0 0 0 0 0 0 0 310 4.1 2 2 17.6 2000 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -5540400.0 9.4 8.9 97 101400 0 0 313 0 0 0 0 0 0 0 290 2.1 8 6 17.6 1006 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -5544000.0 10.0 9.4 96 101300 0 0 320 0 0 0 0 0 0 0 260 2.1 7 7 17.6 1067 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -5547600.0 10.0 9.4 96 101300 0 0 317 0 0 0 0 0 0 0 270 2.6 8 6 17.6 396 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -5551200.0 10.0 9.4 96 101300 0 0 306 0 0 0 0 0 0 0 280 2.1 4 2 17.6 2000 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -5554800.0 9.4 8.9 97 101400 22 567 306 6 39 4 0 0 0 0 220 2.1 3 3 16.0 2000 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -5558400.0 11.1 10.0 93 101400 244 1389 311 112 351 50 11400 25300 6900 880 160 2.1 2 2 11.2 2000 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -5562000.0 12.2 10.0 86 101400 502 1389 324 245 269 148 26000 25800 16600 3080 120 2.6 5 5 12.8 2000 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -5565600.0 15.0 9.4 69 101400 721 1389 328 474 782 68 49800 76500 9900 1570 170 2.1 2 2 12.8 2000 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -5569200.0 16.1 4.4 46 101500 885 1389 331 625 787 123 65200 78400 15100 2880 0 0.0 3 3 40.0 2000 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -5572800.0 16.7 5.0 46 101500 984 1389 331 662 650 202 69400 65500 22900 5630 360 2.6 2 2 72.0 2000 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -5576400.0 18.9 6.7 45 101400 1010 1389 339 703 813 112 75500 82300 15500 3290 70 2.6 3 1 72.0 2000 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -5580000.0 20.0 6.7 42 101400 962 1389 337 705 883 94 73500 88000 12300 2330 0 0.0 1 0 72.0 2000 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -5583600.0 19.4 9.4 52 101400 843 1389 338 609 864 85 63600 85500 11600 1920 320 3.6 1 0 72.0 2000 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -5587200.0 18.3 8.3 52 101400 661 1389 338 444 780 72 47100 76400 10700 1600 310 5.7 1 1 64.0 2000 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -5590800.0 17.2 6.1 48 101400 429 1389 330 252 635 56 26100 57100 8400 1110 310 8.2 1 1 72.0 2000 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -5594400.0 15.6 6.7 55 101400 164 1389 317 72 372 28 7400 22700 4700 510 300 6.2 0 0 72.0 2000 9 999999999 130 0.1460 0 88 0.130 0.0 1.0 -5598000.0 15.0 5.6 53 101500 2 151 314 0 11 0 0 0 0 0 290 5.2 0 0 32.0 2000 9 999999999 130 0.1460 0 88 0.130 0.0 1.0 -5601600.0 15.0 4.4 49 101500 0 0 312 0 0 0 0 0 0 0 290 6.7 0 0 40.0 2000 9 999999999 130 0.1460 0 88 0.130 0.0 1.0 -5605200.0 13.3 7.2 67 101600 0 0 308 0 0 0 0 0 0 0 320 4.1 0 0 40.0 2000 9 999999999 130 0.1460 0 88 0.130 0.0 1.0 -5608800.0 12.8 9.4 80 101600 0 0 308 0 0 0 0 0 0 0 290 3.1 0 0 40.0 2000 9 999999999 130 0.1460 0 88 0.130 0.0 1.0 -5612400.0 12.2 10.0 86 101600 0 0 306 0 0 0 0 0 0 0 320 4.6 0 0 24.0 2000 9 999999999 130 0.1460 0 88 0.130 0.0 1.0 -5616000.0 11.7 10.0 89 101500 0 0 304 0 0 0 0 0 0 0 320 4.1 0 0 24.0 2000 9 999999999 130 0.1460 0 88 0.130 0.0 1.0 -5619600.0 12.2 9.4 83 101500 0 0 306 0 0 0 0 0 0 0 320 4.6 0 0 24.0 2000 9 999999999 130 0.1460 0 88 0.130 0.0 1.0 -5623200.0 12.2 10.6 90 101600 0 0 307 0 0 0 0 0 0 0 330 2.6 0 0 24.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5626800.0 10.6 9.4 92 101500 0 0 304 0 0 0 0 0 0 0 300 2.1 4 1 24.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5630400.0 11.1 10.0 93 101500 0 0 307 0 0 0 0 0 0 0 320 2.1 3 1 24.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5634000.0 10.0 8.9 93 101500 0 0 296 0 0 0 0 0 0 0 230 2.1 0 0 24.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5637600.0 10.6 8.9 89 101500 0 0 298 0 0 0 0 0 0 0 240 1.5 0 0 24.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5641200.0 10.0 7.8 86 101500 24 613 295 6 55 4 700 2300 600 80 210 2.1 0 0 24.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5644800.0 12.2 8.9 80 101600 251 1389 305 126 482 39 13100 35700 6600 720 0 0.0 0 0 24.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5648400.0 14.4 10.0 75 101700 509 1389 316 327 725 62 34300 67800 9300 1270 60 2.6 0 0 24.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5652000.0 16.1 11.1 72 101600 727 1389 324 512 801 93 53700 78800 12300 2000 50 2.6 3 0 24.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5655600.0 17.8 10.0 60 101600 892 1389 331 654 860 102 69800 86500 14100 2580 130 2.1 2 0 24.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5659200.0 20.6 3.3 32 101600 990 1389 336 745 880 117 79400 88800 15800 3280 30 1.5 3 0 72.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5662800.0 21.7 -0.6 22 101500 1016 1389 337 759 884 112 78600 88200 13900 2710 360 3.1 2 0 72.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5666400.0 21.7 1.7 27 101400 968 1389 339 693 808 129 72800 81000 16100 3380 350 3.1 5 0 72.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5670000.0 18.9 12.2 65 101400 848 1389 345 577 758 114 60400 75400 14100 2610 320 8.2 6 1 72.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5673600.0 17.2 11.7 70 101400 666 1389 336 446 638 140 46100 61800 16300 2810 310 7.7 6 1 72.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5677200.0 17.2 9.4 60 101400 433 1389 334 240 574 61 25300 51700 9100 1190 310 6.2 4 1 72.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5680800.0 13.9 9.4 74 101400 168 1389 313 72 317 34 7400 19300 5000 600 320 7.2 3 0 56.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5684400.0 12.2 7.8 74 101500 2 174 304 0 8 0 0 0 0 0 320 6.2 2 0 24.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5688000.0 13.3 6.7 64 101500 0 0 307 0 0 0 0 0 0 0 330 4.1 0 0 24.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5691600.0 10.6 9.4 92 101600 0 0 299 0 0 0 0 0 0 0 310 4.6 0 0 24.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5695200.0 10.0 8.9 93 101600 0 0 296 0 0 0 0 0 0 0 310 3.6 0 0 24.0 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5698800.0 9.4 8.9 97 101600 0 0 293 0 0 0 0 0 0 0 310 3.1 0 0 19.2 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5702400.0 10.0 7.2 83 101600 0 0 294 0 0 0 0 0 0 0 300 4.1 0 0 19.2 2000 9 999999999 120 0.1460 0 88 0.130 0.0 1.0 -5706000.0 8.9 8.9 100 101600 0 0 291 0 0 0 0 0 0 0 310 5.2 0 0 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5709600.0 8.9 8.9 100 101600 0 0 291 0 0 0 0 0 0 0 330 4.6 2 0 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5713200.0 8.3 8.3 100 101600 0 0 294 0 0 0 0 0 0 0 310 3.6 4 1 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5716800.0 7.8 7.8 100 101600 0 0 295 0 0 0 0 0 0 0 310 3.1 5 2 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5720400.0 7.8 7.2 96 101700 0 0 297 0 0 0 0 0 0 0 0 0.0 8 3 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5724000.0 7.2 6.1 93 101700 0 0 287 0 0 0 0 0 0 0 260 1.5 5 1 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5727600.0 7.2 6.7 97 101700 27 636 294 5 0 5 600 0 600 200 310 1.5 6 3 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5731200.0 9.4 7.2 86 101800 258 1388 301 93 87 76 10000 6600 8700 1630 0 0.0 7 2 16.0 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5734800.0 10.6 9.4 92 101900 515 1388 319 189 104 150 20600 10100 16800 3460 140 1.5 8 6 12.8 213 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5738400.0 12.2 10.0 86 101900 734 1388 306 463 524 185 48800 52900 20800 4030 70 3.1 2 0 12.8 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5742000.0 13.3 10.0 80 101900 898 1388 311 612 621 210 65700 64100 24100 5310 40 2.6 0 0 12.8 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5745600.0 15.0 9.4 69 101900 996 1388 318 704 662 228 73200 66300 25400 6390 50 3.1 0 0 16.0 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5749200.0 16.7 11.1 70 101800 1022 1388 327 728 671 233 75800 67300 26000 6820 330 5.7 0 0 16.0 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5752800.0 16.7 11.1 70 101700 973 1388 327 682 653 224 70900 65300 24900 6050 360 4.1 0 0 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5756400.0 16.7 10.6 67 101700 853 1388 333 545 563 198 58300 57900 22600 4760 330 7.7 1 1 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5760000.0 15.6 10.0 69 101700 671 1388 332 362 349 193 38800 36000 21300 4290 320 8.8 2 2 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5763600.0 14.4 10.6 78 101700 438 1388 330 196 206 130 20600 18900 14600 2650 320 8.8 5 3 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5767200.0 12.2 10.0 86 101800 173 1388 316 54 28 51 6000 2000 5700 1180 320 5.7 6 2 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5770800.0 11.1 9.4 89 101800 3 197 314 0 0 0 0 0 0 0 310 5.2 6 3 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5774400.0 10.6 9.4 92 101800 0 0 304 0 0 0 0 0 0 0 310 5.7 4 1 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5778000.0 10.0 8.9 93 101900 0 0 296 0 0 0 0 0 0 0 300 3.1 3 0 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5781600.0 10.0 8.9 93 101900 0 0 296 0 0 0 0 0 0 0 320 2.6 0 0 19.2 2000 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5785200.0 10.0 9.4 96 102000 0 0 314 0 0 0 0 0 0 0 300 2.6 6 5 19.2 396 9 999999999 120 0.1470 0 88 0.130 0.0 1.0 -5788800.0 10.6 8.9 89 101900 0 0 323 0 0 0 0 0 0 0 170 2.1 7 7 19.2 366 9 999999999 130 0.1470 0 88 0.130 0.0 1.0 -5792400.0 9.4 8.3 93 102000 0 0 302 0 0 0 0 0 0 0 0 0.0 2 2 19.2 2000 9 999999999 130 0.1470 0 88 0.130 0.0 1.0 -5796000.0 9.4 7.8 90 102000 0 0 305 0 0 0 0 0 0 0 250 2.1 4 3 19.2 2000 9 999999999 130 0.1470 0 88 0.130 0.0 1.0 -5799600.0 9.4 8.3 93 101900 0 0 308 0 0 0 0 0 0 0 0 0.0 4 4 19.2 2000 9 999999999 130 0.1470 0 88 0.130 0.0 1.0 -5803200.0 8.9 7.8 93 101900 0 0 305 0 0 0 0 0 0 0 240 2.1 6 4 19.2 518 9 999999999 130 0.1470 0 88 0.130 0.0 1.0 -5806800.0 10.0 8.9 93 101900 0 0 306 0 0 0 0 0 0 0 0 0.0 7 2 19.2 2000 9 999999999 130 0.1470 0 88 0.130 0.0 1.0 -5810400.0 9.4 8.3 93 101900 0 0 321 0 0 0 0 0 0 0 240 2.1 9 8 19.2 518 9 999999999 130 0.1470 0 88 0.130 0.0 1.0 -5814000.0 10.0 8.9 93 101900 30 659 341 4 0 4 500 0 500 160 260 3.1 10 10 19.2 518 9 999999999 130 0.1470 0 88 0.130 0.0 1.0 -5817600.0 11.1 8.9 86 102000 265 1387 337 58 21 54 6400 1700 6000 1410 250 2.6 10 9 19.2 518 9 999999999 130 0.1470 0 88 0.130 0.0 1.0 -5821200.0 12.2 8.9 80 102100 522 1387 352 92 0 92 10700 0 10700 3870 250 2.6 10 10 19.2 579 9 999999999 130 0.1470 0 88 0.130 0.0 1.0 -5824800.0 12.8 9.4 80 102100 741 1387 356 146 0 146 17200 0 17200 6520 210 2.6 10 10 19.2 518 9 999999999 130 0.1470 0 88 0.130 0.0 1.0 -5828400.0 13.9 9.4 74 102100 905 1387 338 360 182 241 39900 19300 27300 6880 270 3.6 10 7 19.2 610 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -5832000.0 15.0 10.0 72 102000 1002 1387 337 655 470 315 68500 48600 33200 9470 100 3.6 10 5 24.0 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -5835600.0 15.0 10.0 72 101900 1028 1387 337 518 449 185 57400 46900 22500 5570 100 3.6 10 5 24.0 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -5839200.0 15.6 10.0 69 101900 979 1387 343 538 265 350 57600 28500 37400 10420 110 3.1 10 6 24.0 6096 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -5842800.0 15.6 10.0 69 101900 858 1387 338 513 465 224 54200 47800 24600 5470 310 7.7 9 4 24.0 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -5846400.0 13.3 9.4 77 101900 676 1387 326 248 224 139 27300 23200 16000 2920 280 5.2 9 4 24.0 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -5850000.0 12.8 9.4 80 101900 443 1387 318 229 432 91 24400 39100 11900 1690 270 10.3 7 2 24.0 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -5853600.0 12.2 9.4 83 101900 177 1387 319 68 159 48 7200 9100 6000 900 270 3.1 8 3 24.0 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -5857200.0 12.2 9.4 83 101900 3 220 316 0 2 0 0 0 0 0 250 4.1 7 2 24.0 2000 9 999999999 150 0.1470 0 88 0.130 0.0 1.0 -5860800.0 11.7 9.4 86 101900 0 0 317 0 0 0 0 0 0 0 270 4.1 5 3 24.0 2000 9 999999999 150 0.1470 0 88 0.130 0.0 1.0 -5864400.0 11.7 9.4 86 102000 0 0 313 0 0 0 0 0 0 0 280 3.6 5 2 24.0 2000 9 999999999 150 0.1470 0 88 0.130 0.0 1.0 -5868000.0 11.7 7.8 77 102000 0 0 315 0 0 0 0 0 0 0 270 3.1 8 3 24.0 2000 9 999999999 150 0.1470 0 88 0.130 0.0 1.0 -5871600.0 11.1 8.9 86 102000 0 0 310 0 0 0 0 0 0 0 260 2.1 6 2 24.0 2000 9 999999999 150 0.1470 0 88 0.130 0.0 1.0 -5875200.0 11.1 8.3 83 102000 0 0 313 0 0 0 0 0 0 0 270 2.1 6 3 24.0 2000 9 999999999 150 0.1470 0 88 0.130 0.0 1.0 -5878800.0 11.1 7.8 80 102000 0 0 312 0 0 0 0 0 0 0 150 2.1 6 3 24.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5882400.0 10.6 8.3 86 102000 0 0 307 0 0 0 0 0 0 0 130 2.6 5 2 24.0 2000 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -5886000.0 9.4 6.7 83 101900 0 0 311 0 0 0 0 0 0 0 250 1.5 8 6 24.0 1676 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -5889600.0 11.1 8.3 83 101900 0 0 336 0 0 0 0 0 0 0 0 0.0 10 9 24.0 1250 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -5893200.0 11.7 9.4 86 102000 0 0 340 0 0 0 0 0 0 0 250 2.6 10 9 19.2 1402 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -5896800.0 11.7 10.0 89 102000 0 0 351 0 0 0 0 0 0 0 260 2.6 10 10 19.2 366 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -5900400.0 11.7 10.6 93 102000 33 705 352 4 0 4 500 0 500 160 240 2.6 10 10 19.2 335 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -5904000.0 11.7 11.1 96 102100 271 1386 352 33 0 33 3900 0 3900 1330 0 0.0 10 10 11.2 274 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -5907600.0 12.8 11.7 93 102100 529 1386 358 81 0 81 9600 0 9600 3500 130 1.5 10 10 12.8 305 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -5911200.0 13.9 11.1 83 102100 747 1386 363 126 0 126 15000 0 15000 5810 90 3.6 10 10 19.2 335 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -5914800.0 13.9 10.6 80 102100 911 1386 363 191 0 191 22600 0 22600 8890 70 3.1 10 10 19.2 457 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -5918400.0 15.6 12.2 80 102000 1008 1386 373 215 0 215 25600 0 25600 10200 230 5.2 10 10 19.2 518 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -5922000.0 15.0 12.2 83 102000 1033 1386 370 222 0 222 26500 0 26500 10570 250 5.7 10 10 12.8 488 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5925600.0 14.4 11.7 84 101900 984 1386 366 209 0 209 24900 0 24900 9880 250 6.2 10 10 16.0 579 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5929200.0 14.4 12.8 90 101900 864 1386 368 180 0 180 21300 0 21300 8270 270 6.7 10 10 8.0 488 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5932800.0 13.9 11.7 87 101900 681 1386 364 134 0 134 15700 0 15700 5860 270 6.2 10 10 8.0 488 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5936400.0 13.3 12.2 93 101900 447 1386 361 65 0 65 7700 0 7700 2740 290 9.3 10 10 8.0 335 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5940000.0 12.8 11.1 89 101900 182 1386 348 45 9 44 5000 100 5000 1470 270 6.7 9 9 19.2 335 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5943600.0 12.2 10.6 90 101900 4 243 344 0 0 0 0 0 0 0 310 8.2 9 9 19.2 640 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5947200.0 12.2 9.4 83 101900 0 0 353 0 0 0 0 0 0 0 290 9.8 10 10 24.0 1341 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5950800.0 11.7 8.3 80 102000 0 0 349 0 0 0 0 0 0 0 310 8.8 10 10 24.0 1219 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5954400.0 11.1 7.8 80 102000 0 0 324 0 0 0 0 0 0 0 310 11.8 7 7 24.0 1433 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5958000.0 11.1 7.8 80 102000 0 0 312 0 0 0 0 0 0 0 310 8.8 3 3 24.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5961600.0 10.6 7.8 83 102000 0 0 307 0 0 0 0 0 0 0 300 7.2 2 2 24.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5965200.0 10.0 7.8 86 102000 0 0 295 0 0 0 0 0 0 0 300 5.7 0 0 24.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5968800.0 10.0 7.8 86 102000 0 0 295 0 0 0 0 0 0 0 300 5.2 0 0 24.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5972400.0 9.4 7.8 90 102000 0 0 292 0 0 0 0 0 0 0 300 4.6 0 0 24.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5976000.0 8.9 7.8 93 102000 0 0 290 0 0 0 0 0 0 0 320 4.1 0 0 24.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5979600.0 8.3 7.2 93 102000 0 0 293 0 0 0 0 0 0 0 300 3.1 1 1 24.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -5983200.0 8.9 7.8 93 102100 0 0 290 0 0 0 0 0 0 0 310 2.6 0 0 40.0 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -5986800.0 8.9 7.8 93 102100 37 727 290 8 1 7 900 0 900 270 310 2.6 0 0 40.0 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -5990400.0 12.2 7.8 74 102200 278 1386 304 105 154 74 11100 11600 8700 1420 350 1.5 0 0 40.0 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -5994000.0 13.3 7.8 69 102200 536 1386 309 287 389 136 30000 37000 15600 2660 360 2.1 0 0 56.0 2000 9 999999999 130 0.1480 0 88 0.130 0.0 1.0 -5997600.0 13.9 8.9 72 102200 754 1386 312 473 523 189 50100 53000 21200 4180 30 3.1 1 0 56.0 2000 9 999999999 130 0.1480 0 88 0.130 0.0 1.0 -6001200.0 13.9 9.4 74 102200 917 1386 313 623 604 223 66700 62400 25200 5800 20 3.1 1 0 56.0 2000 9 999999999 130 0.1480 0 88 0.130 0.0 1.0 -6004800.0 16.7 8.9 60 102200 1014 1386 325 712 642 242 73900 64200 26800 6960 350 4.6 1 0 72.0 2000 9 999999999 120 0.1480 0 88 0.130 0.0 1.0 -6008400.0 17.8 8.9 56 102200 1039 1386 330 739 647 253 76600 64700 27900 7590 300 6.2 2 0 72.0 2000 9 999999999 120 0.1480 0 88 0.130 0.0 1.0 -6012000.0 16.7 9.4 62 102100 989 1386 325 642 549 250 68700 57000 27800 7230 290 8.8 3 0 72.0 2000 9 999999999 120 0.1480 0 88 0.130 0.0 1.0 -6015600.0 16.7 9.4 62 102100 869 1386 336 560 502 246 58900 51500 26500 6130 290 8.2 5 2 72.0 2000 9 999999999 120 0.1480 0 88 0.130 0.0 1.0 -6019200.0 16.7 7.8 56 102100 685 1386 338 386 352 212 41200 36400 23100 4820 280 8.2 6 3 72.0 2000 9 999999999 110 0.1480 0 88 0.130 0.0 1.0 -6022800.0 15.6 7.8 60 102100 452 1386 325 209 264 123 22300 24600 14200 2470 280 11.3 4 1 72.0 2000 9 999999999 110 0.1480 0 88 0.130 0.0 1.0 -6026400.0 14.4 8.3 67 102100 186 1386 320 62 50 55 6700 3600 6300 1280 290 9.3 5 1 56.0 2000 9 999999999 110 0.1480 0 88 0.130 0.0 1.0 -6030000.0 13.9 9.4 74 102100 5 266 319 0 0 0 0 0 0 0 300 7.2 4 1 24.0 2000 9 999999999 100 0.1480 0 88 0.130 0.0 1.0 -6033600.0 13.3 9.4 77 102200 0 0 316 0 0 0 0 0 0 0 300 5.2 3 1 24.0 2000 9 999999999 100 0.1480 0 88 0.130 0.0 1.0 -6037200.0 13.3 7.8 69 102300 0 0 309 0 0 0 0 0 0 0 310 4.1 0 0 24.0 2000 9 999999999 100 0.1480 0 88 0.130 0.0 1.0 -6040800.0 16.7 2.2 38 102300 0 0 317 0 0 0 0 0 0 0 350 6.2 0 0 24.0 2000 9 999999999 90 0.1480 0 88 0.130 0.0 1.0 -6044400.0 15.0 6.7 58 102300 0 0 315 0 0 0 0 0 0 0 40 2.1 0 0 24.0 2000 9 999999999 90 0.1480 0 88 0.130 0.0 1.0 -6048000.0 15.0 6.1 55 102300 0 0 314 0 0 0 0 0 0 0 30 2.1 0 0 24.0 2000 9 999999999 90 0.1480 0 88 0.130 0.0 1.0 -6051600.0 12.8 3.3 52 102400 0 0 302 0 0 0 0 0 0 0 330 2.1 0 0 24.0 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6055200.0 12.8 2.8 51 102400 0 0 301 0 0 0 0 0 0 0 0 0.0 0 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6058800.0 16.1 1.1 36 102400 0 0 314 0 0 0 0 0 0 0 40 7.2 0 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6062400.0 15.0 2.2 42 102400 0 0 310 0 0 0 0 0 0 0 80 10.3 0 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6066000.0 15.0 2.2 42 102400 0 0 310 0 0 0 0 0 0 0 60 10.3 0 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6069600.0 14.4 3.3 47 102500 0 0 309 0 0 0 0 0 0 0 70 8.8 0 0 48.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6073200.0 15.0 0.6 37 102500 40 773 308 11 69 8 1300 3100 1100 160 60 15.5 0 0 72.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6076800.0 15.6 2.8 42 102600 285 1385 313 148 493 47 15400 38400 7500 870 40 9.8 0 0 72.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6080400.0 16.7 3.9 42 102600 543 1385 319 356 724 72 36900 68300 10000 1430 60 5.7 0 0 72.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6084000.0 18.3 4.4 40 102700 760 1385 327 549 831 92 57900 82400 12500 2070 60 3.6 0 0 72.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6087600.0 20.0 1.1 28 102700 923 1385 331 697 885 106 74300 89200 14700 2770 70 2.1 0 0 72.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6091200.0 21.1 2.2 29 102700 1020 1385 337 772 879 124 82100 88700 16500 3630 30 3.1 2 0 72.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6094800.0 22.2 1.1 25 102600 1045 1385 341 804 868 149 84100 87100 18200 4320 350 1.5 5 0 72.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6098400.0 23.3 0.0 21 102500 995 1385 351 743 829 148 77300 82800 17600 3880 10 2.6 7 1 72.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6102000.0 23.9 -1.1 19 102500 874 1385 353 611 726 153 64500 73200 18200 3790 100 2.1 8 1 72.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6105600.0 23.9 -0.6 20 102500 690 1385 347 483 762 103 51200 75500 13500 2230 120 1.5 4 0 72.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6109200.0 23.3 1.7 24 102500 457 1385 347 279 619 75 29100 56300 10500 1440 50 2.1 4 0 72.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6112800.0 21.7 0.0 24 102500 191 1385 337 82 318 38 8300 20600 5500 670 160 1.5 2 0 72.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6116400.0 18.9 5.6 42 102500 6 289 331 0 11 0 0 0 0 0 310 3.1 1 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6120000.0 17.2 4.4 43 102500 0 0 322 0 0 0 0 0 0 0 210 1.5 0 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6123600.0 16.1 2.8 41 102600 0 0 315 0 0 0 0 0 0 0 180 1.5 0 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6127200.0 15.0 3.3 45 102600 0 0 311 0 0 0 0 0 0 0 0 0.0 0 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6130800.0 13.3 8.9 75 102600 0 0 310 0 0 0 0 0 0 0 0 0.0 0 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6134400.0 12.8 10.6 86 102600 0 0 309 0 0 0 0 0 0 0 20 1.5 0 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6138000.0 12.8 7.8 72 102600 0 0 306 0 0 0 0 0 0 0 0 0.0 0 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6141600.0 10.6 5.6 71 102500 0 0 295 0 0 0 0 0 0 0 0 0.0 0 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6145200.0 10.6 6.1 74 102500 0 0 295 0 0 0 0 0 0 0 230 1.5 0 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6148800.0 9.4 4.4 71 102400 0 0 289 0 0 0 0 0 0 0 250 2.1 0 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6152400.0 8.3 5.6 83 102500 0 0 286 0 0 0 0 0 0 0 240 2.6 2 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6156000.0 8.3 5.6 83 102500 0 0 286 0 0 0 0 0 0 0 260 2.1 0 0 48.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6159600.0 8.3 5.0 80 102600 44 796 285 12 64 9 1400 2400 1300 150 290 1.5 0 0 56.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6163200.0 13.9 10.0 77 102600 292 1384 314 150 474 50 15500 37200 7600 920 0 0.0 0 0 56.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6166800.0 15.6 10.6 72 102700 549 1384 322 354 681 83 37200 64900 11400 1660 80 1.5 2 0 48.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6170400.0 16.1 9.4 64 102700 767 1384 323 542 774 113 57700 77700 14500 2590 40 2.6 3 0 32.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6174000.0 16.7 10.0 65 102600 930 1384 332 663 798 127 69400 79800 15700 3150 60 2.6 4 1 32.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6177600.0 18.9 7.8 48 102600 1026 1384 348 714 687 204 75100 69500 23400 6160 70 3.1 6 3 56.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6181200.0 20.6 7.8 44 102500 1050 1384 353 605 484 237 65600 50500 27200 7570 80 3.1 7 2 56.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6184800.0 22.8 3.9 29 102400 1000 1384 365 673 655 199 70700 66200 22700 5750 70 2.6 9 4 72.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6188400.0 22.8 7.2 37 102300 879 1384 351 653 748 177 68200 74900 20400 4320 60 3.1 10 0 64.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6192000.0 23.9 1.7 23 102300 695 1384 350 479 662 146 49500 64600 17000 3000 310 5.7 10 0 64.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6195600.0 22.8 0.6 23 102200 461 1384 343 275 512 104 29000 46800 13300 1960 310 6.7 10 0 64.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6199200.0 20.0 3.3 33 102200 195 1384 348 77 174 52 8100 10600 6600 980 300 5.7 10 3 64.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6202800.0 16.7 4.4 44 102200 6 311 326 1 4 1 0 0 0 0 310 7.2 9 1 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6206400.0 16.1 5.0 48 102200 0 0 318 0 0 0 0 0 0 0 310 6.7 8 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6210000.0 15.0 6.7 58 102200 0 0 315 0 0 0 0 0 0 0 340 5.2 5 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6213600.0 14.4 5.6 55 102200 0 0 311 0 0 0 0 0 0 0 320 4.6 3 0 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6217200.0 13.3 5.0 57 102200 0 0 316 0 0 0 0 0 0 0 310 4.6 5 2 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6220800.0 12.2 9.4 83 102200 0 0 311 0 0 0 0 0 0 0 290 3.1 4 1 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6224400.0 11.7 8.9 83 102100 0 0 309 0 0 0 0 0 0 0 280 2.1 3 1 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6228000.0 11.1 6.1 71 102100 0 0 303 0 0 0 0 0 0 0 0 0.0 4 1 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6231600.0 10.0 2.2 58 102000 0 0 295 0 0 0 0 0 0 0 310 3.6 4 1 24.0 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6235200.0 10.0 10.0 100 102000 0 0 303 0 0 0 0 0 0 0 310 5.2 4 1 19.2 2000 9 999999999 80 0.1490 0 88 0.130 0.0 1.0 -6238800.0 8.9 8.9 100 101900 0 0 297 0 0 0 0 0 0 0 310 4.1 3 1 24.0 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6242400.0 7.8 7.2 96 101900 0 0 290 0 0 0 0 0 0 0 270 2.6 5 1 19.2 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6246000.0 8.9 5.0 77 101900 48 842 293 12 4 12 1300 200 1300 310 220 2.1 5 1 14.4 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6249600.0 11.1 8.9 86 101900 299 1383 306 128 221 80 13500 17300 9800 1540 310 2.6 5 1 14.4 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6253200.0 13.9 10.6 80 102000 556 1383 320 313 444 135 33000 42600 15800 2650 340 2.6 5 1 12.8 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6256800.0 15.6 11.1 75 101900 773 1383 328 488 517 199 51600 52500 22100 4490 30 3.1 4 1 14.4 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6260400.0 16.1 11.1 72 101900 936 1383 331 632 623 211 65700 62300 23500 5440 50 3.1 4 1 16.0 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6264000.0 17.2 11.7 70 101800 1032 1383 336 716 683 206 75300 69100 23600 6290 30 3.6 2 1 16.0 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6267600.0 18.3 10.6 61 101700 1056 1383 348 546 279 333 59400 30200 36300 10810 40 2.6 6 3 19.2 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6271200.0 20.6 10.0 51 101600 1005 1383 355 672 564 262 71700 58600 29000 7810 10 3.1 7 2 19.2 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6274800.0 22.2 5.0 33 101600 883 1383 366 583 371 345 61700 39500 36300 9500 310 6.2 10 5 16.0 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6278400.0 18.9 1.7 32 101600 699 1383 337 450 487 204 46800 48700 22100 4420 290 6.7 10 2 24.0 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6282000.0 17.8 3.9 40 101600 466 1383 338 209 211 138 22100 19800 15400 2840 310 7.2 10 3 32.0 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6285600.0 14.4 4.4 51 101600 199 1383 331 69 16 66 7400 400 7400 1960 300 6.2 10 6 32.0 7620 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6289200.0 13.9 1.7 44 101600 7 334 323 1 0 1 0 0 0 0 290 5.2 10 5 24.0 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6292800.0 13.3 2.2 47 101600 0 0 313 0 0 0 0 0 0 0 280 2.6 10 2 24.0 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6296400.0 12.8 5.0 59 101700 0 0 317 0 0 0 0 0 0 0 330 4.1 9 3 24.0 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6300000.0 11.1 5.0 66 101700 0 0 306 0 0 0 0 0 0 0 300 3.1 9 2 24.0 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6303600.0 11.1 5.0 66 101700 0 0 309 0 0 0 0 0 0 0 240 3.1 8 3 24.0 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6307200.0 10.6 6.1 74 101700 0 0 305 0 0 0 0 0 0 0 250 2.6 7 2 24.0 2000 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6310800.0 9.4 5.6 77 101700 0 0 310 0 0 0 0 0 0 0 290 2.1 10 6 24.0 6096 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6314400.0 9.4 3.3 66 101700 0 0 308 0 0 0 0 0 0 0 170 2.1 10 6 24.0 6096 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6318000.0 8.3 2.8 68 101600 0 0 302 0 0 0 0 0 0 0 320 3.1 10 6 24.0 6096 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6321600.0 10.0 7.2 83 101600 0 0 314 0 0 0 0 0 0 0 320 2.1 10 6 24.0 6096 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6325200.0 10.0 8.9 93 101600 0 0 316 0 0 0 0 0 0 0 310 4.6 10 6 24.0 6096 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6328800.0 9.4 9.4 100 101600 0 0 314 0 0 0 0 0 0 0 310 5.2 10 6 16.0 6096 9 999999999 90 0.1490 0 88 0.130 0.0 1.0 -6332400.0 9.4 8.9 97 101700 52 864 313 20 8 19 2100 400 2100 460 310 3.1 10 6 16.0 6096 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6336000.0 11.1 10.0 93 101700 306 1383 319 108 125 80 11800 10200 9500 1730 310 3.1 10 5 19.2 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6339600.0 12.8 8.9 77 101700 563 1383 318 333 496 131 35200 47800 15700 2570 180 2.6 10 2 24.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6343200.0 13.9 7.2 64 101700 780 1383 324 503 683 117 53400 68700 14600 2700 120 1.5 9 3 40.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6346800.0 15.6 8.9 64 101700 942 1383 330 646 680 183 67900 68600 21100 4870 20 3.1 7 2 40.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6350400.0 16.1 10.0 67 101700 1038 1383 337 722 605 268 77300 62900 29900 8460 290 5.2 10 3 40.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6354000.0 16.1 10.6 70 101700 1061 1383 341 488 297 260 54100 32200 29300 8230 300 6.7 10 4 48.0 2000 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6357600.0 17.2 8.3 56 101600 1010 1383 349 538 149 428 57900 15700 46500 13580 240 5.2 10 6 48.0 6096 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6361200.0 17.2 5.6 46 101600 888 1383 350 351 257 186 39000 27600 21300 4610 250 6.2 10 7 56.0 6096 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6364800.0 16.7 9.4 62 101500 704 1383 357 263 178 172 29100 18400 19700 4310 300 4.6 10 8 56.0 6096 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6368400.0 16.1 9.4 64 101500 470 1383 345 250 206 179 26700 19300 20100 4080 310 6.2 10 6 56.0 6096 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6372000.0 14.4 9.4 72 101500 204 1383 337 53 27 49 5800 2000 5500 1210 280 4.6 10 6 48.0 6096 9 999999999 120 0.1490 0 88 0.130 0.0 1.0 -6375600.0 14.4 9.4 72 101600 8 357 337 1 1 1 0 0 0 0 340 3.1 10 6 24.0 6096 9 999999999 120 0.1490 0 88 0.130 0.0 1.0 -6379200.0 13.3 9.4 77 101600 0 0 332 0 0 0 0 0 0 0 280 2.1 10 6 24.0 6096 9 999999999 120 0.1490 0 88 0.130 0.0 1.0 -6382800.0 13.3 10.0 80 101600 0 0 336 0 0 0 0 0 0 0 170 2.6 10 7 24.0 4572 9 999999999 120 0.1490 0 88 0.130 0.0 1.0 -6386400.0 12.8 9.4 80 101600 0 0 326 0 0 0 0 0 0 0 140 2.6 8 5 24.0 6096 9 999999999 120 0.1490 0 88 0.130 0.0 1.0 -6390000.0 12.8 10.0 83 101600 0 0 330 0 0 0 0 0 0 0 110 2.6 10 6 24.0 823 9 999999999 130 0.1490 0 88 0.130 0.0 1.0 -6393600.0 13.3 10.0 80 101600 0 0 349 0 0 0 0 0 0 0 150 2.1 10 9 24.0 549 9 999999999 130 0.1490 0 88 0.130 0.0 1.0 -6397200.0 13.3 10.6 84 101600 0 0 350 0 0 0 0 0 0 0 0 0.0 10 9 24.0 884 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6400800.0 13.9 10.6 80 101500 0 0 363 0 0 0 0 0 0 0 230 4.1 10 10 24.0 640 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6404400.0 13.3 11.1 87 101500 0 0 360 0 0 0 0 0 0 0 230 5.7 10 10 24.0 823 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6408000.0 13.3 11.7 90 101500 0 0 361 0 0 0 0 0 0 0 230 5.2 10 10 24.0 762 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6411600.0 13.3 10.6 84 101600 0 0 359 0 0 0 0 0 0 0 230 5.2 10 10 24.0 1433 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6415200.0 12.8 10.0 83 101600 0 0 334 0 0 0 0 0 0 0 230 6.2 10 7 24.0 3962 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6418800.0 12.8 11.1 89 101600 57 910 348 13 1 13 1500 0 1500 480 230 4.6 10 9 24.0 3962 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6422400.0 12.8 11.7 93 101700 313 1382 348 86 37 78 9500 3100 8800 2010 270 5.2 10 9 32.0 945 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6426000.0 12.8 11.1 89 101800 570 1382 348 204 42 186 22300 4100 20600 5130 310 5.7 10 9 32.0 1006 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6429600.0 13.3 10.6 84 101800 786 1382 350 133 1 133 16000 100 15900 6210 300 4.6 10 9 48.0 1524 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6433200.0 13.9 8.9 72 101900 948 1382 351 439 188 310 48100 19900 34400 9230 300 5.2 10 9 48.0 3048 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6436800.0 13.9 8.9 72 101900 1044 1382 351 453 177 319 50000 18800 35700 10530 310 5.2 10 9 48.0 3048 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6440400.0 13.9 9.4 74 101900 1066 1382 351 359 59 313 39600 6000 34900 12260 310 5.7 10 9 48.0 3048 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6444000.0 13.9 8.9 72 101900 1015 1382 338 505 312 276 55500 33700 30600 8270 280 5.7 9 7 48.0 3658 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6447600.0 13.9 8.3 69 101800 893 1382 328 535 401 276 57800 42900 30000 7310 270 4.1 8 4 48.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6451200.0 14.4 7.2 62 101800 709 1382 329 284 284 138 30700 28600 16000 2890 300 6.7 5 4 48.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6454800.0 13.3 7.8 69 101800 475 1382 322 225 329 112 23700 30300 13200 2130 290 8.2 4 3 48.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6458400.0 12.2 7.8 74 101800 208 1382 314 80 120 62 8700 8200 7400 1310 290 7.2 4 2 48.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6462000.0 11.7 7.2 74 101800 9 380 307 1 1 1 0 0 0 0 290 6.7 3 1 24.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6465600.0 10.6 7.2 79 101900 0 0 302 0 0 0 0 0 0 0 300 6.7 2 1 24.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6469200.0 10.6 7.2 79 101900 0 0 297 0 0 0 0 0 0 0 300 6.2 3 0 24.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6472800.0 10.6 7.2 79 101900 0 0 297 0 0 0 0 0 0 0 300 5.7 0 0 24.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6476400.0 10.6 6.7 77 101900 0 0 296 0 0 0 0 0 0 0 310 4.1 0 0 24.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6480000.0 10.0 7.8 86 101900 0 0 295 0 0 0 0 0 0 0 290 4.6 0 0 24.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6483600.0 10.0 7.8 86 101800 0 0 300 0 0 0 0 0 0 0 300 4.6 1 1 24.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6487200.0 9.4 6.7 83 101800 0 0 297 0 0 0 0 0 0 0 320 2.1 8 1 24.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6490800.0 8.9 6.7 86 101800 0 0 299 0 0 0 0 0 0 0 250 1.5 7 2 24.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6494400.0 8.3 6.7 90 101700 0 0 292 0 0 0 0 0 0 0 0 0.0 3 1 24.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6498000.0 6.7 5.6 93 101800 0 0 279 0 0 0 0 0 0 0 300 3.1 1 0 19.2 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6501600.0 6.7 5.6 93 101800 0 0 279 0 0 0 0 0 0 0 320 2.6 5 0 24.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6505200.0 7.2 6.7 97 101700 61 932 282 16 19 15 1800 900 1800 310 280 1.5 2 0 32.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6508800.0 10.6 7.8 83 101800 320 1381 297 152 254 93 16000 20500 11200 1830 180 1.5 8 0 32.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6512400.0 12.8 7.8 72 101800 576 1381 306 339 452 150 35400 43700 17100 3000 0 0.0 7 0 48.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6516000.0 13.3 7.8 69 101800 793 1381 309 531 547 216 55700 55700 23700 4990 60 2.1 10 0 48.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6519600.0 13.9 6.7 62 101700 954 1381 310 636 579 235 68000 60000 26400 6460 50 2.6 7 0 48.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6523200.0 14.4 7.8 65 101600 1049 1381 313 773 742 209 81500 75100 24200 6610 60 3.6 3 0 48.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6526800.0 16.1 4.4 46 101500 1072 1381 323 743 682 213 78300 69100 24500 7050 80 2.1 2 1 48.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6530400.0 16.7 4.4 44 101400 1020 1381 326 695 632 228 72500 63500 25500 6740 50 2.6 6 1 48.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6534000.0 17.8 5.6 45 101400 898 1381 337 585 566 217 62600 58400 24500 5530 0 0.0 7 2 48.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6537600.0 14.4 8.3 67 101300 713 1381 345 242 109 185 26600 11300 20800 4660 310 8.2 9 8 48.0 4267 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6541200.0 13.9 7.2 64 101300 479 1381 349 107 38 93 11700 3500 10500 2710 290 8.8 9 9 48.0 3658 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6544800.0 12.8 7.2 69 101300 213 1381 336 53 23 50 5900 1700 5600 1240 300 8.2 8 8 48.0 3658 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6548400.0 11.7 7.8 77 101200 11 403 312 2 0 2 0 0 0 0 300 7.7 7 2 24.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6552000.0 11.7 8.9 83 101300 0 0 319 0 0 0 0 0 0 0 290 7.2 5 4 24.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6555600.0 11.1 8.9 86 101300 0 0 325 0 0 0 0 0 0 0 290 6.2 9 7 24.0 3658 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6559200.0 11.1 8.9 86 101300 0 0 313 0 0 0 0 0 0 0 290 4.6 8 3 24.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6562800.0 11.1 8.9 86 101300 0 0 310 0 0 0 0 0 0 0 290 4.6 7 2 19.2 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6566400.0 11.1 8.9 86 101200 0 0 316 0 0 0 0 0 0 0 240 2.6 8 4 19.2 6096 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6570000.0 11.1 8.9 86 101100 0 0 337 0 0 0 0 0 0 0 210 2.1 10 9 19.2 3658 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6573600.0 10.6 8.3 86 101200 0 0 322 0 0 0 0 0 0 0 250 1.5 10 7 19.2 3658 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6577200.0 11.1 8.9 86 101100 0 0 337 0 0 0 0 0 0 0 0 0.0 10 9 19.2 3658 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6580800.0 11.1 8.9 86 101100 0 0 337 0 0 0 0 0 0 0 250 2.6 10 9 19.2 3658 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6584400.0 10.6 8.3 86 101100 0 0 327 0 0 0 0 0 0 0 270 1.5 9 8 19.2 3658 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6588000.0 10.6 8.9 89 101100 0 0 323 0 0 0 0 0 0 0 250 4.6 7 7 24.0 3658 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6591600.0 11.1 8.9 86 101200 66 978 318 16 23 15 1900 1100 1800 310 290 4.1 8 5 19.2 640 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6595200.0 12.2 8.9 80 101200 327 1380 330 135 64 119 14700 5600 13300 2800 290 5.2 9 7 24.0 671 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6598800.0 13.3 8.9 75 101200 583 1380 348 207 63 180 22700 6100 20100 5080 300 5.2 10 9 32.0 671 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6602400.0 12.8 9.4 80 101300 799 1380 346 399 191 288 43200 19900 31700 7640 310 5.2 10 9 40.0 640 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6606000.0 13.9 8.9 72 101300 960 1380 343 322 174 201 35900 18800 22800 5410 260 4.6 8 8 40.0 853 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6609600.0 14.4 8.9 70 101300 1055 1380 340 486 351 217 53200 36700 25100 6990 290 5.7 7 7 56.0 792 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6613200.0 13.9 8.3 69 101200 1077 1380 342 388 103 307 43000 11000 34400 10600 290 5.2 8 8 56.0 792 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6616800.0 15.6 9.4 67 101200 1025 1380 346 546 352 284 59800 38100 31500 8660 310 6.2 7 7 56.0 975 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6620400.0 16.1 9.4 64 101200 902 1380 337 497 554 135 53200 56400 16200 3540 300 5.7 5 3 56.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6624000.0 15.0 8.9 67 101100 718 1380 323 461 651 122 48400 64500 14800 2640 300 6.2 2 1 56.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6627600.0 13.9 8.9 72 101100 483 1380 328 305 553 111 32200 51300 14100 2110 280 7.2 5 4 56.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6631200.0 12.8 8.9 77 101100 217 1380 318 96 249 57 9900 16500 7300 1040 290 5.7 4 2 56.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6634800.0 11.7 8.3 80 101100 12 426 302 2 19 1 0 0 0 0 270 4.6 3 0 24.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6638400.0 11.1 8.9 86 101100 0 0 310 0 0 0 0 0 0 0 270 3.6 7 2 24.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6642000.0 11.7 9.4 86 101200 0 0 333 0 0 0 0 0 0 0 280 3.6 8 8 24.0 701 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6645600.0 12.2 9.4 83 101200 0 0 327 0 0 0 0 0 0 0 280 4.1 6 6 24.0 701 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6649200.0 11.7 9.4 86 101200 0 0 333 0 0 0 0 0 0 0 290 5.2 8 8 24.0 884 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6652800.0 11.1 8.9 86 101200 0 0 325 0 0 0 0 0 0 0 270 3.6 7 7 24.0 1128 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6656400.0 10.6 8.9 89 101200 0 0 308 0 0 0 0 0 0 0 280 7.2 2 2 24.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6660000.0 9.4 7.8 90 101200 0 0 321 0 0 0 0 0 0 0 310 3.1 8 8 24.0 518 9 999999999 150 0.1500 0 88 0.130 0.0 1.0 -6663600.0 10.0 7.2 83 101200 0 0 312 0 0 0 0 0 0 0 290 5.2 5 5 24.0 2000 9 999999999 150 0.1500 0 88 0.130 0.0 1.0 -6667200.0 10.0 7.2 83 101200 0 0 330 0 0 0 0 0 0 0 290 5.7 9 9 24.0 1372 9 999999999 150 0.1500 0 88 0.130 0.0 1.0 -6670800.0 8.9 4.4 73 101200 0 0 310 0 0 0 0 0 0 0 290 4.1 7 7 24.0 2286 9 999999999 150 0.1500 0 88 0.130 0.0 1.0 -6674400.0 8.3 3.9 74 101200 0 0 296 0 0 0 0 0 0 0 310 5.2 3 3 24.0 2000 9 999999999 150 0.1500 0 88 0.130 0.0 1.0 -6678000.0 8.3 2.2 65 101200 71 1000 291 20 69 15 2200 3000 2000 260 320 8.8 2 2 32.0 2000 9 999999999 150 0.1500 0 88 0.130 0.0 1.0 -6681600.0 10.0 1.7 56 101200 334 1379 289 173 453 63 17700 37100 8700 1140 310 9.3 3 0 40.0 2000 9 999999999 150 0.1500 0 88 0.130 0.0 1.0 -6685200.0 10.6 2.2 56 101200 590 1379 292 380 682 88 40100 65900 11800 1800 320 10.8 1 0 56.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6688800.0 11.7 2.8 54 101200 805 1379 297 573 794 108 59800 78800 13600 2410 310 7.2 0 0 56.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6692400.0 12.8 2.8 51 101200 966 1379 307 689 812 120 73000 81700 15600 3240 50 3.1 1 1 56.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6696000.0 13.9 3.9 51 101200 1060 1379 320 644 583 196 68300 59300 22600 6410 70 3.1 3 3 56.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6699600.0 14.4 3.9 49 101200 1082 1379 315 775 823 129 82800 83300 17200 4270 50 2.1 1 1 64.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6703200.0 15.6 5.0 49 101100 1030 1379 322 713 777 132 75400 78300 16800 3890 310 5.7 1 1 64.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6706800.0 15.0 5.6 53 101100 907 1379 314 664 830 118 69900 83100 15100 2920 310 8.2 0 0 64.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6710400.0 13.9 5.6 57 101200 722 1379 309 499 761 100 51800 74600 12600 2080 300 7.7 0 0 64.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6714000.0 13.3 4.4 55 101200 488 1379 305 296 628 74 31100 58300 10400 1450 300 9.3 0 0 48.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6717600.0 12.2 5.6 64 101200 221 1379 302 98 339 44 10000 23500 6200 780 290 8.2 0 0 48.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6721200.0 11.7 6.1 68 101200 13 448 300 2 13 1 0 0 0 0 300 8.8 0 0 24.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6724800.0 11.1 6.7 74 101300 0 0 298 0 0 0 0 0 0 0 310 6.7 0 0 24.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6728400.0 10.6 6.7 77 101300 0 0 296 0 0 0 0 0 0 0 300 5.2 0 0 24.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6732000.0 10.6 7.2 79 101400 0 0 297 0 0 0 0 0 0 0 290 5.2 0 0 24.0 2000 9 999999999 140 0.1500 0 88 0.130 0.0 1.0 -6735600.0 10.6 8.3 86 101400 0 0 298 0 0 0 0 0 0 0 310 5.2 0 0 16.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6739200.0 10.0 8.3 89 101400 0 0 295 0 0 0 0 0 0 0 310 4.6 0 0 16.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6742800.0 9.4 7.8 90 101500 0 0 292 0 0 0 0 0 0 0 300 3.6 0 0 16.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6746400.0 9.4 7.8 90 101500 0 0 292 0 0 0 0 0 0 0 290 3.1 0 0 16.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6750000.0 8.9 7.8 93 101500 0 0 290 0 0 0 0 0 0 0 230 2.6 0 0 16.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6753600.0 7.8 6.1 89 101600 0 0 284 0 0 0 0 0 0 0 280 2.6 0 0 16.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6757200.0 7.2 6.1 93 101600 0 0 282 0 0 0 0 0 0 0 310 3.1 0 0 16.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6760800.0 7.8 6.7 93 101700 0 0 285 0 0 0 0 0 0 0 170 1.5 0 0 16.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6764400.0 7.8 7.2 96 101700 76 1045 285 26 152 15 2800 7700 2200 280 0 0.0 0 0 14.4 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6768000.0 11.1 7.2 77 101800 341 1379 299 190 573 49 20000 48000 8100 930 0 0.0 0 0 16.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6771600.0 13.3 7.8 69 101900 596 1379 309 400 760 72 42100 73200 10300 1520 20 1.5 0 0 16.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6775200.0 14.4 8.3 67 101900 812 1379 314 590 849 90 63000 85000 12800 2160 300 5.2 0 0 16.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6778800.0 14.4 7.8 65 102000 972 1379 313 734 896 102 76200 89300 13100 2460 310 7.7 0 0 19.2 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6782400.0 15.0 8.3 64 101900 1066 1379 317 819 918 109 84800 91800 13700 3020 300 7.7 0 0 32.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6786000.0 15.6 8.3 62 101900 1087 1379 319 839 923 110 86800 92300 13800 3180 310 10.3 0 0 56.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6789600.0 15.0 8.3 64 101900 1035 1379 317 785 898 111 81300 89600 13800 2840 310 8.2 1 0 56.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6793200.0 14.4 7.8 65 101900 911 1379 313 669 859 101 69500 85300 12900 2220 280 8.8 1 0 56.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6796800.0 13.3 7.2 67 101900 726 1379 308 514 818 83 54500 81000 11800 1870 300 10.8 0 0 56.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6800400.0 12.8 7.2 69 102000 492 1379 306 312 698 62 32400 64900 9200 1260 280 11.3 0 0 56.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6804000.0 11.7 7.2 74 101900 225 1379 301 108 428 38 11100 30300 6200 690 270 10.8 0 0 56.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6807600.0 11.1 6.7 74 102000 14 471 298 3 31 2 0 0 0 0 290 4.6 0 0 24.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6811200.0 10.6 6.7 77 102100 0 0 296 0 0 0 0 0 0 0 290 4.1 0 0 24.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6814800.0 10.6 7.2 79 102100 0 0 297 0 0 0 0 0 0 0 270 5.2 0 0 24.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6818400.0 10.6 7.8 83 102100 0 0 307 0 0 0 0 0 0 0 280 5.2 2 2 24.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6822000.0 10.6 7.8 83 102200 0 0 312 0 0 0 0 0 0 0 280 3.6 4 4 24.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6825600.0 10.6 7.2 79 102200 0 0 312 0 0 0 0 0 0 0 280 3.1 4 4 24.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6829200.0 10.6 9.4 92 102200 0 0 319 0 0 0 0 0 0 0 290 3.1 6 6 24.0 823 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6832800.0 11.1 8.9 86 102200 0 0 321 0 0 0 0 0 0 0 280 3.6 6 6 24.0 1067 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6836400.0 10.6 8.9 89 102100 0 0 323 0 0 0 0 0 0 0 290 3.1 7 7 24.0 488 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6840000.0 11.1 8.9 86 102100 0 0 330 0 0 0 0 0 0 0 290 3.1 8 8 19.2 518 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6843600.0 10.0 8.3 89 102100 0 0 305 0 0 0 0 0 0 0 270 3.1 9 2 24.0 2000 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6847200.0 10.0 8.9 93 102100 0 0 332 0 0 0 0 0 0 0 250 2.1 9 9 24.0 1219 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6850800.0 11.1 9.4 89 102200 81 1068 347 14 0 14 1600 0 1600 520 270 2.6 10 10 24.0 1250 9 999999999 130 0.1500 0 88 0.130 0.0 1.0 -6854400.0 12.8 10.0 83 102100 348 1378 356 56 0 56 6500 0 6500 2230 270 2.6 10 10 24.0 1402 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6858000.0 12.2 10.6 90 102200 603 1378 354 104 0 104 12200 0 12200 4540 300 6.2 10 10 19.2 853 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6861600.0 14.4 9.4 72 102200 818 1378 346 386 221 255 42300 23100 28500 6850 320 6.2 9 8 24.0 1524 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6865200.0 14.4 7.8 65 102200 978 1378 352 377 72 325 41400 7400 36200 11580 310 6.2 9 9 40.0 1524 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6868800.0 15.6 6.1 53 102100 1071 1378 331 718 628 229 75300 63400 25900 7540 280 6.2 8 3 48.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6872400.0 15.6 4.4 47 102000 1092 1378 325 742 632 241 77800 63700 27100 8270 310 10.3 2 2 56.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6876000.0 15.0 4.4 49 101900 1039 1378 326 692 580 254 74500 60400 28800 8060 310 7.7 3 3 64.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6879600.0 13.9 2.2 45 101800 916 1378 315 613 588 222 65700 60800 25100 5800 290 6.7 5 2 64.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6883200.0 13.3 5.0 57 101800 731 1378 319 418 510 147 45200 51700 17700 3140 290 10.3 4 3 64.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6886800.0 11.7 5.6 66 101800 496 1378 317 182 244 94 20000 23500 11500 1790 300 10.8 5 5 64.0 2000 9 999999999 120 0.1500 0 88 0.130 0.0 1.0 -6890400.0 11.1 6.1 71 101800 230 1378 327 59 47 51 6500 3400 5900 1080 290 9.8 8 8 32.0 3658 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6894000.0 10.6 5.6 71 101700 16 494 315 3 0 3 0 0 0 0 310 7.7 7 6 24.0 3658 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6897600.0 10.0 4.4 68 101700 0 0 311 0 0 0 0 0 0 0 290 9.3 6 6 24.0 3658 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6901200.0 10.0 3.9 66 101700 0 0 311 0 0 0 0 0 0 0 300 10.3 7 6 24.0 6096 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6904800.0 10.0 3.3 63 101700 0 0 319 0 0 0 0 0 0 0 310 11.3 8 8 24.0 6096 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6908400.0 9.4 1.1 56 101700 0 0 286 0 0 0 0 0 0 0 310 10.8 0 0 24.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6912000.0 8.9 2.8 66 101700 0 0 298 0 0 0 0 0 0 0 310 7.2 3 3 24.0 2000 9 999999999 110 0.1500 0 88 0.130 0.0 1.0 -6915600.0 8.9 1.7 61 101600 0 0 304 0 0 0 0 0 0 0 310 6.7 6 6 24.0 1006 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6919200.0 8.3 1.1 60 101600 0 0 304 0 0 0 0 0 0 0 310 6.2 7 7 24.0 1006 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6922800.0 8.3 1.1 60 101500 0 0 309 0 0 0 0 0 0 0 310 6.2 8 8 24.0 1006 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6926400.0 8.9 1.7 61 101500 0 0 319 0 0 0 0 0 0 0 310 6.7 9 9 19.2 1006 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6930000.0 8.3 2.2 65 101500 0 0 302 0 0 0 0 0 0 0 310 6.2 6 6 19.2 1219 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6933600.0 8.3 2.2 65 101500 0 0 302 0 0 0 0 0 0 0 350 4.1 6 6 19.2 1219 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6937200.0 6.7 3.9 82 101600 86 1113 289 29 99 21 3100 4500 2700 370 270 4.1 3 3 40.0 2000 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6940800.0 9.4 3.9 68 101600 355 1377 305 143 111 115 15500 9600 13000 2530 310 6.2 5 5 40.0 2000 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6944400.0 7.2 5.6 90 101700 610 1377 315 268 88 229 29400 8700 25500 6230 310 7.2 9 9 24.0 1219 9 999999999 110 0.1490 0 88 0.130 1.0 1.0 -6948000.0 9.4 4.4 71 101700 824 1377 312 469 280 301 49800 29700 32000 7790 280 5.2 7 7 40.0 1981 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6951600.0 10.6 4.4 65 101700 984 1377 314 515 330 279 56300 35600 30700 8090 310 7.2 6 6 48.0 1829 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6955200.0 11.1 4.4 63 101700 1077 1377 332 407 94 332 44800 9600 37200 13080 300 9.3 9 9 48.0 1006 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6958800.0 11.1 3.3 59 101700 1097 1377 300 633 655 111 68900 66800 15500 3940 300 9.8 1 1 72.0 2000 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6962400.0 11.1 2.2 54 101700 1044 1377 303 717 709 179 76400 72300 21400 5740 290 10.3 2 2 72.0 2000 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -6966000.0 11.1 2.8 57 101700 920 1377 312 410 374 160 45400 38900 19400 4110 300 10.3 5 5 72.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6969600.0 10.6 0.0 48 101700 735 1377 299 511 713 130 53600 70700 15700 2840 270 9.3 2 2 72.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6973200.0 10.0 1.7 56 101700 500 1377 301 280 496 99 30000 46600 13000 1860 310 8.2 3 3 72.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6976800.0 9.4 1.1 56 101800 234 1377 295 101 271 54 10400 18800 7200 980 310 8.2 7 2 72.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6980400.0 8.9 1.1 58 101800 17 493 296 4 12 3 0 0 0 0 310 7.2 9 3 24.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6984000.0 8.9 1.7 61 101800 0 0 293 0 0 0 0 0 0 0 290 5.2 10 2 24.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6987600.0 8.3 2.2 65 101900 0 0 297 0 0 0 0 0 0 0 290 5.7 10 4 24.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6991200.0 8.3 2.2 65 101900 0 0 297 0 0 0 0 0 0 0 330 2.6 10 4 24.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6994800.0 6.7 2.8 76 101800 0 0 288 0 0 0 0 0 0 0 240 3.1 10 3 24.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -6998400.0 7.2 3.3 76 101800 0 0 288 0 0 0 0 0 0 0 0 0.0 10 2 24.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -7002000.0 6.7 3.3 79 101700 0 0 286 0 0 0 0 0 0 0 230 2.6 10 2 24.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -7005600.0 5.0 2.8 86 101600 0 0 281 0 0 0 0 0 0 0 210 2.1 10 3 24.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -7009200.0 6.1 2.8 79 101600 0 0 283 0 0 0 0 0 0 0 0 0.0 10 2 24.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -7012800.0 5.0 2.8 86 101500 0 0 281 0 0 0 0 0 0 0 230 1.5 10 3 24.0 2000 9 999999999 100 0.1490 0 88 0.130 0.0 1.0 -7016400.0 4.4 2.8 89 101500 0 0 276 0 0 0 0 0 0 0 240 2.1 10 2 24.0 2000 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -7020000.0 4.4 3.3 93 101500 0 0 286 0 0 0 0 0 0 0 160 3.1 8 6 24.0 3962 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -7023600.0 5.6 3.3 85 101500 92 1135 306 24 2 24 2700 0 2700 820 150 2.6 9 9 72.0 3962 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -7027200.0 7.8 3.3 73 101500 361 1376 325 66 0 66 7600 0 7600 2580 160 3.1 10 10 72.0 3962 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -7030800.0 10.0 3.3 63 101400 616 1376 335 136 0 136 15700 0 15700 5670 130 4.1 10 10 72.0 3962 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -7034400.0 10.6 3.9 63 101400 830 1376 338 204 0 204 23800 0 23800 8960 120 6.2 10 10 72.0 3048 9 999999999 110 0.1490 0 88 0.130 0.0 1.0 -7038000.0 11.7 4.4 61 101400 989 1376 344 255 0 255 29900 0 29900 11570 120 6.7 10 10 72.0 3048 9 999999999 120 0.1490 0 88 0.130 0.0 1.0 -7041600.0 12.8 4.4 57 101300 1082 1376 350 284 0 284 33500 0 33500 13030 150 4.1 10 10 72.0 3048 9 999999999 120 0.1490 0 88 0.130 0.0 1.0 -7045200.0 13.9 2.8 47 101200 1102 1376 331 658 333 391 71100 36000 42200 14110 230 6.2 10 7 72.0 3048 9 999999999 120 0.1490 0 88 0.130 0.0 1.0 -7048800.0 13.3 3.3 51 101100 1049 1376 334 458 274 249 50900 29700 28200 7750 210 7.7 10 8 72.0 2743 9 999999999 120 0.1490 0 88 0.130 0.0 1.0 -7052400.0 13.3 3.3 51 101100 925 1376 351 234 0 234 27400 0 27400 10500 230 7.2 10 10 72.0 6096 9 999999999 120 0.1490 0 88 0.130 0.0 1.0 -7056000.0 13.3 4.4 55 101000 739 1376 342 226 84 180 24800 8400 20300 5800 210 7.7 10 9 72.0 6096 9 999999999 120 0.1490 0 88 0.130 0.0 1.0 -7059600.0 12.8 4.4 57 100900 505 1376 340 105 46 88 11600 4300 10000 2630 210 6.7 10 9 72.0 3658 9 999999999 130 0.1490 0 88 0.130 0.0 1.0 -7063200.0 12.2 5.0 61 100900 238 1376 338 52 11 50 5900 200 5800 1780 200 7.2 10 9 72.0 2591 9 999999999 130 0.1490 0 88 0.130 0.0 1.0 -7066800.0 11.7 5.0 63 100900 19 516 335 5 0 5 0 0 0 0 160 4.1 10 9 24.0 2286 9 999999999 130 0.1490 0 88 0.130 0.0 1.0 -7070400.0 11.1 5.0 66 100800 0 0 333 0 0 0 0 0 0 0 150 7.2 9 9 24.0 3353 9 999999999 130 0.1490 0 88 0.130 0.0 1.0 -7074000.0 11.1 5.6 69 100800 0 0 321 0 0 0 0 0 0 0 140 8.2 9 7 24.0 2286 9 999999999 130 0.1490 0 88 0.130 0.0 1.0 -7077600.0 11.1 6.1 71 100800 0 0 327 0 0 0 0 0 0 0 140 7.2 9 8 24.0 2743 9 999999999 130 0.1490 0 88 0.130 0.0 1.0 -7081200.0 11.1 6.1 71 100700 0 0 322 0 0 0 0 0 0 0 140 8.2 7 7 32.0 1829 9 999999999 140 0.1490 0 88 0.130 0.0 1.0 -7084800.0 11.7 4.4 61 100600 0 0 328 0 0 0 0 0 0 0 140 9.3 9 8 32.0 2743 9 999999999 140 0.1490 0 88 0.130 0.0 1.0 -7088400.0 11.7 3.9 59 100600 0 0 344 0 0 0 0 0 0 0 140 9.8 10 10 32.0 2743 9 999999999 140 0.1490 0 88 0.130 0.0 1.0 -7092000.0 10.6 4.4 65 100500 0 0 339 0 0 0 0 0 0 0 140 7.7 10 10 32.0 2743 9 999999999 140 0.1490 0 88 0.130 0.0 1.0 -7095600.0 10.6 3.3 61 100400 0 0 328 0 0 0 0 0 0 0 130 8.8 10 9 32.0 4267 9 999999999 140 0.1490 0 88 0.130 0.0 1.0 -7099200.0 10.0 2.2 58 100400 0 0 313 0 0 0 0 0 0 0 130 8.8 7 7 32.0 4572 9 999999999 140 0.1490 0 88 0.130 0.0 1.0 -7102800.0 10.0 2.8 61 100400 0 0 302 0 0 0 0 0 0 0 130 6.2 8 3 32.0 2000 9 999999999 140 0.1490 0 88 0.130 0.0 1.0 -7106400.0 10.0 3.3 63 100300 0 0 310 0 0 0 0 0 0 0 130 8.2 7 6 72.0 3658 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -7110000.0 10.6 4.4 65 100400 98 1181 323 23 4 23 2700 0 2700 800 130 8.2 8 8 72.0 2896 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -7113600.0 11.1 5.6 69 100400 368 1375 333 82 16 77 9300 800 9100 2920 120 8.2 9 9 72.0 2591 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -7117200.0 12.2 5.6 64 100300 623 1375 339 277 58 251 30300 5800 27700 6740 120 9.3 9 9 72.0 2591 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -7120800.0 12.8 3.9 55 100300 836 1375 339 268 40 244 29500 4000 27100 8080 130 13.4 10 9 72.0 2896 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -7124400.0 13.3 5.0 57 100300 995 1375 353 254 0 254 29800 0 29800 11570 120 11.3 10 10 72.0 3658 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -7128000.0 13.9 4.4 53 100300 1087 1375 355 284 0 284 33500 0 33500 13060 120 10.3 10 10 72.0 3658 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -7131600.0 13.9 5.0 55 100300 1107 1375 356 232 0 232 27900 0 27900 11230 140 10.8 10 10 48.0 2743 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -7135200.0 13.3 6.7 64 100300 1053 1375 355 218 0 218 26100 0 26100 10520 140 11.3 10 10 40.0 2743 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -7138800.0 12.2 8.9 80 100300 929 1375 352 233 0 233 27300 0 27300 10490 130 7.2 10 10 32.0 3962 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -7142400.0 11.1 8.9 86 100400 743 1375 347 138 0 138 16300 0 16300 6260 150 6.2 10 10 32.0 1829 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -7146000.0 10.6 8.3 86 100400 509 1375 343 81 0 81 9500 0 9500 3460 170 5.2 10 10 48.0 1676 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -7149600.0 10.0 8.3 89 100400 242 1375 341 44 0 44 5000 0 5000 1630 130 8.2 10 10 16.0 945 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7153200.0 10.0 7.8 86 100500 20 539 340 2 0 2 0 0 0 0 130 6.2 10 10 19.2 1250 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7156800.0 9.4 7.2 86 100600 0 0 336 0 0 0 0 0 0 0 130 4.6 10 10 19.2 1829 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7160400.0 8.9 7.8 93 100600 0 0 335 0 0 0 0 0 0 0 170 2.1 10 10 19.2 1433 9 999999999 160 0.1490 0 88 0.130 1.0 1.0 -7164000.0 8.3 7.8 97 100700 0 0 332 0 0 0 0 0 0 0 150 5.7 10 10 16.0 1219 9 999999999 160 0.1490 0 88 0.130 1.0 1.0 -7167600.0 8.3 7.8 97 100800 0 0 332 0 0 0 0 0 0 0 120 3.6 10 10 16.0 1280 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7171200.0 8.3 7.8 97 100800 0 0 332 0 0 0 0 0 0 0 150 2.1 10 10 17.6 1341 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7174800.0 8.3 7.8 97 100900 0 0 332 0 0 0 0 0 0 0 0 0.0 10 10 24.0 1463 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7178400.0 8.3 7.2 93 100900 0 0 331 0 0 0 0 0 0 0 180 1.5 10 10 24.0 1494 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7182000.0 7.8 7.8 100 100900 0 0 330 0 0 0 0 0 0 0 0 0.0 10 10 32.0 1494 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7185600.0 7.8 7.8 100 100900 0 0 330 0 0 0 0 0 0 0 0 0.0 10 10 32.0 1676 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7189200.0 7.8 7.2 96 101000 0 0 308 0 0 0 0 0 0 0 200 1.5 7 7 32.0 1372 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7192800.0 7.2 6.7 97 101000 0 0 310 0 0 0 0 0 0 0 130 2.6 8 8 72.0 1128 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7196400.0 7.2 6.7 97 101100 103 1203 299 34 19 32 3700 1200 3600 750 130 2.1 7 5 56.0 2134 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7200000.0 8.9 7.2 89 101200 375 1375 304 174 232 110 18300 20100 12800 2200 130 2.6 8 4 56.0 2000 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7203600.0 9.4 6.1 80 101200 629 1375 305 265 301 127 28500 29800 14800 2540 130 3.1 7 4 56.0 2000 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7207200.0 11.1 6.7 74 101300 843 1375 314 524 498 218 55500 51100 24100 5270 160 2.1 8 4 56.0 2000 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7210800.0 12.8 7.2 69 101300 1001 1375 322 588 327 349 63200 35200 37500 10730 80 2.6 7 4 56.0 2000 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7214400.0 12.8 5.6 62 101300 1093 1375 320 660 448 304 70300 46700 33100 10900 40 2.6 8 4 56.0 6096 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7218000.0 13.9 6.1 59 101200 1112 1375 328 791 617 291 84800 64400 32600 10860 20 3.1 7 5 56.0 6096 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7221600.0 13.9 4.4 53 101200 1058 1375 338 379 76 320 41800 7800 35800 12450 10 2.1 8 8 56.0 6096 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7225200.0 13.9 6.7 62 101200 933 1375 348 337 141 241 37400 15000 27200 7100 280 5.2 9 9 56.0 1676 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7228800.0 13.3 6.1 62 101200 747 1375 337 397 152 314 42500 15600 34000 8090 280 6.2 8 8 48.0 1676 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7232400.0 12.8 6.7 66 101200 513 1375 315 292 490 109 31100 46300 13800 2080 270 6.7 2 2 32.0 2000 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7236000.0 11.7 6.7 71 101200 246 1375 314 96 264 49 10200 18800 6800 870 280 7.7 3 3 32.0 2000 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7239600.0 10.6 7.8 83 101300 22 561 307 4 8 3 0 0 0 0 280 6.7 2 2 24.0 2000 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7243200.0 10.6 7.8 83 101300 0 0 310 0 0 0 0 0 0 0 280 6.2 3 3 24.0 2000 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7246800.0 10.6 8.9 89 101400 0 0 323 0 0 0 0 0 0 0 250 4.1 7 7 24.0 1341 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7250400.0 10.6 8.9 89 101400 0 0 319 0 0 0 0 0 0 0 270 3.6 6 6 24.0 1250 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7254000.0 10.6 8.9 89 101400 0 0 304 0 0 0 0 0 0 0 260 5.2 1 1 24.0 2000 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7257600.0 10.6 8.9 89 101500 0 0 298 0 0 0 0 0 0 0 270 4.6 0 0 24.0 2000 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -7261200.0 10.6 9.4 92 101500 0 0 328 0 0 0 0 0 0 0 300 4.6 8 8 24.0 579 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -7264800.0 11.1 8.9 86 101500 0 0 337 0 0 0 0 0 0 0 290 6.7 9 9 24.0 518 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -7268400.0 11.1 8.9 86 101500 0 0 347 0 0 0 0 0 0 0 310 5.7 10 10 24.0 457 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -7272000.0 11.1 8.9 86 101500 0 0 337 0 0 0 0 0 0 0 300 5.7 10 9 24.0 457 9 999999999 160 0.1480 0 88 0.130 0.0 1.0 -7275600.0 10.6 8.9 89 101600 0 0 328 0 0 0 0 0 0 0 310 3.1 8 8 24.0 549 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -7279200.0 11.1 8.9 86 101600 0 0 321 0 0 0 0 0 0 0 310 2.1 6 6 19.2 549 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -7282800.0 11.1 9.4 89 101700 110 1248 331 27 1 27 3100 0 3100 920 220 2.1 8 8 40.0 488 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -7286400.0 11.7 9.4 86 101800 382 1374 340 161 54 146 17600 4900 16200 3480 240 2.6 9 9 40.0 488 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -7290000.0 13.3 9.4 77 101800 635 1374 326 330 362 162 34600 35800 18000 3330 330 1.5 4 4 24.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -7293600.0 15.0 9.4 69 101900 849 1374 324 492 463 206 52500 47600 23100 4990 110 3.1 1 1 24.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -7297200.0 15.0 10.0 72 101900 1006 1374 318 706 633 242 73300 63300 26800 6970 70 3.1 0 0 24.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -7300800.0 16.7 10.6 67 101800 1098 1374 327 791 667 258 82600 67000 28900 8950 20 3.1 0 0 24.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -7304400.0 16.7 10.6 67 101800 1117 1374 327 809 673 262 84500 67700 29400 9510 330 6.2 0 0 24.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -7308000.0 17.8 10.6 63 101800 1062 1374 332 758 654 252 78900 65600 28100 8080 330 6.2 0 0 24.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -7311600.0 16.1 10.0 67 101800 937 1374 323 642 606 228 68800 62800 25800 6160 310 8.2 0 0 32.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -7315200.0 15.6 10.6 72 101800 751 1374 322 471 516 189 49900 52300 21200 4190 310 7.2 0 0 32.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -7318800.0 13.9 10.0 77 101800 517 1374 314 270 361 134 28200 34100 15300 2610 310 8.2 0 0 32.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -7322400.0 12.2 10.0 86 101800 250 1374 306 90 118 68 9700 8800 8100 1450 300 7.7 0 0 32.0 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -7326000.0 11.1 9.4 89 101800 23 584 301 4 0 4 500 0 500 160 300 7.2 0 0 19.2 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -7329600.0 10.6 9.4 92 101800 0 0 304 0 0 0 0 0 0 0 310 7.2 1 1 19.2 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -7333200.0 10.0 8.9 93 101900 0 0 301 0 0 0 0 0 0 0 310 5.2 1 1 19.2 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -7336800.0 10.0 8.9 93 102000 0 0 306 0 0 0 0 0 0 0 300 5.7 2 2 19.2 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -7340400.0 10.0 8.9 93 102000 0 0 301 0 0 0 0 0 0 0 320 4.1 1 1 24.0 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -7344000.0 10.0 8.9 93 102000 0 0 316 0 0 0 0 0 0 0 280 3.6 6 6 24.0 366 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -7347600.0 10.0 8.9 93 102000 0 0 332 0 0 0 0 0 0 0 290 5.2 9 9 24.0 366 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7351200.0 10.6 8.9 89 102000 0 0 344 0 0 0 0 0 0 0 260 3.6 10 10 19.2 366 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7354800.0 10.6 8.9 89 101900 0 0 344 0 0 0 0 0 0 0 180 3.1 10 10 19.2 366 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7358400.0 10.0 8.3 89 101900 0 0 341 0 0 0 0 0 0 0 0 0.0 10 10 19.2 366 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7362000.0 10.0 8.3 89 102000 0 0 341 0 0 0 0 0 0 0 170 2.6 10 10 19.2 366 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7365600.0 10.0 8.3 89 102000 0 0 341 0 0 0 0 0 0 0 120 3.1 10 10 16.0 366 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7369200.0 10.0 8.3 89 102100 116 1293 341 18 0 18 2100 0 2100 670 0 0.0 10 10 16.0 366 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7372800.0 10.6 8.3 86 102100 389 1373 343 56 0 56 6600 0 6600 2310 210 1.5 10 10 16.0 366 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7376400.0 11.7 9.4 86 102000 642 1373 350 94 0 94 11200 0 11200 4280 120 3.1 10 10 16.0 366 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7380000.0 13.3 9.4 77 102100 854 1373 324 597 614 215 63600 63100 24200 5260 80 3.6 3 3 16.0 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7383600.0 13.9 10.0 77 102000 1012 1373 314 726 706 206 76300 71300 23600 6140 130 2.1 0 0 16.0 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7387200.0 16.7 10.0 65 102000 1103 1373 326 811 736 220 85700 74700 25600 7890 20 2.1 0 0 16.0 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7390800.0 17.8 10.6 63 101900 1121 1373 332 828 742 222 87600 75400 25900 8320 310 6.7 0 0 16.0 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7394400.0 19.4 10.0 54 101900 1066 1373 338 777 724 214 81900 73400 24800 7090 20 3.6 0 0 19.2 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7398000.0 17.8 12.2 70 101800 941 1373 333 661 679 195 69200 68300 22200 5190 50 3.1 0 0 19.2 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7401600.0 19.4 11.1 59 101700 755 1373 339 491 595 163 50800 58600 18400 3500 320 5.2 0 0 19.2 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7405200.0 16.1 10.6 70 101700 521 1373 324 288 445 119 30400 42200 14400 2290 320 8.8 0 0 17.6 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7408800.0 13.9 10.6 80 101700 254 1373 314 98 182 64 10400 13100 7900 1200 310 7.7 0 0 17.6 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7412400.0 12.2 10.0 86 101700 25 606 306 4 2 4 500 100 500 110 310 7.2 0 0 17.6 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7416000.0 11.7 10.0 89 101800 0 0 304 0 0 0 0 0 0 0 320 5.7 0 0 19.2 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7419600.0 11.1 10.0 93 101900 0 0 301 0 0 0 0 0 0 0 310 5.7 0 0 17.6 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7423200.0 11.1 10.0 93 101900 0 0 301 0 0 0 0 0 0 0 310 5.7 0 0 17.6 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7426800.0 11.1 10.0 93 101900 0 0 311 0 0 0 0 0 0 0 320 4.6 6 2 16.0 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7430400.0 10.0 9.4 96 101900 0 0 309 0 0 0 0 0 0 0 280 2.6 10 3 16.0 2000 9 999999999 140 0.1470 0 88 0.130 0.0 1.0 -7434000.0 10.0 8.9 93 102000 0 0 309 0 0 0 0 0 0 0 0 0.0 10 3 16.0 2000 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -7437600.0 9.4 8.3 93 102000 0 0 302 0 0 0 0 0 0 0 240 2.1 10 2 19.2 2000 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -7441200.0 10.0 8.3 89 101900 0 0 310 0 0 0 0 0 0 0 0 0.0 10 4 19.2 5486 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -7444800.0 10.0 8.9 93 102000 0 0 332 0 0 0 0 0 0 0 270 2.1 10 9 19.2 457 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -7448400.0 10.6 8.9 89 102000 0 0 335 0 0 0 0 0 0 0 220 6.2 10 9 19.2 488 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -7452000.0 10.6 8.3 86 102100 0 0 318 0 0 0 0 0 0 0 180 3.6 10 6 16.0 4877 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -7455600.0 10.6 8.3 86 102100 122 1315 327 44 37 40 4800 2400 4500 910 170 4.1 8 8 16.0 3658 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -7459200.0 11.7 8.3 80 102200 395 1372 312 215 464 81 22000 40100 10400 1470 160 2.6 7 2 16.0 2000 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -7462800.0 13.3 9.4 77 102200 648 1372 324 371 527 122 38600 51300 14300 2490 100 3.6 8 3 16.0 2000 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -7466400.0 13.9 9.4 74 102200 860 1372 332 393 409 136 43800 42300 17200 3230 70 4.1 7 5 16.0 6096 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -7470000.0 15.0 10.6 75 102200 1017 1372 338 592 523 204 62300 52900 23000 6160 90 4.1 8 5 12.8 6096 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -7473600.0 15.6 10.0 69 102100 1108 1372 332 745 736 150 78600 74200 18500 5140 50 3.1 7 2 12.8 2000 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -7477200.0 17.8 11.1 65 102200 1126 1372 338 807 823 132 86600 83500 17900 4890 320 6.2 4 1 19.2 2000 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -7480800.0 17.8 10.0 60 102100 1071 1372 337 774 805 146 81600 81000 18200 4600 310 6.7 2 1 24.0 2000 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -7484400.0 17.8 9.4 58 102100 945 1372 347 627 624 197 65600 62800 22300 5280 280 5.7 5 4 24.0 2000 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -7488000.0 17.8 8.9 56 102100 759 1372 341 480 610 142 50200 60600 16600 3140 260 5.7 4 2 24.0 2000 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -7491600.0 17.8 3.9 40 102100 525 1372 338 328 635 85 34300 59800 11400 1670 250 4.6 3 3 56.0 2000 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -7495200.0 15.6 2.2 40 102100 258 1372 323 126 336 63 13100 24500 8500 1150 250 4.1 2 2 56.0 2000 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -7498800.0 13.3 5.6 60 102100 27 629 306 7 46 5 800 2000 700 100 270 4.1 3 0 56.0 2000 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -7502400.0 12.2 7.8 74 102200 0 0 304 0 0 0 0 0 0 0 260 3.1 2 0 24.0 2000 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -7506000.0 11.7 7.8 77 102200 0 0 302 0 0 0 0 0 0 0 240 2.6 3 0 24.0 2000 9 999999999 170 0.1460 0 88 0.130 0.0 1.0 -7509600.0 11.7 7.8 77 102200 0 0 308 0 0 0 0 0 0 0 0 0.0 5 1 24.0 2000 9 999999999 170 0.1460 0 88 0.130 0.0 1.0 -7513200.0 11.7 7.8 77 102200 0 0 323 0 0 0 0 0 0 0 170 2.1 9 6 19.2 7620 9 999999999 170 0.1460 0 88 0.130 0.0 1.0 -7516800.0 11.1 7.8 80 102200 0 0 317 0 0 0 0 0 0 0 0 0.0 9 5 19.2 2743 9 999999999 170 0.1460 0 88 0.130 0.0 1.0 -7520400.0 10.6 8.3 86 102200 0 0 315 0 0 0 0 0 0 0 0 0.0 7 5 19.2 7620 9 999999999 170 0.1460 0 88 0.130 0.0 1.0 -7524000.0 10.0 7.2 83 102200 0 0 314 0 0 0 0 0 0 0 0 0.0 8 6 19.2 2591 9 999999999 170 0.1460 0 88 0.130 0.0 1.0 -7527600.0 10.0 7.8 86 102200 0 0 319 0 0 0 0 0 0 0 0 0.0 9 7 19.2 2438 9 999999999 170 0.1460 0 88 0.130 0.0 1.0 -7531200.0 8.3 6.1 86 102200 0 0 303 0 0 0 0 0 0 0 270 3.1 8 5 19.2 7620 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7534800.0 10.6 7.2 79 102200 0 0 314 0 0 0 0 0 0 0 260 2.6 10 5 19.2 2000 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7538400.0 10.0 6.7 80 102200 0 0 314 0 0 0 0 0 0 0 0 0.0 10 6 16.0 6096 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7542000.0 9.4 8.3 93 102200 129 1360 310 37 50 32 4100 2800 3800 670 0 0.0 9 5 16.0 6096 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7545600.0 12.2 9.4 83 102200 402 1371 327 178 212 115 18700 19000 13200 2300 200 1.5 9 6 12.8 6096 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7549200.0 13.3 10.6 84 102300 654 1371 337 293 259 169 31600 26700 18900 3650 80 2.1 10 7 11.2 6096 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7552800.0 14.4 10.6 78 102300 866 1371 335 519 470 222 55200 48400 24500 5510 60 3.1 8 5 11.2 6096 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7556400.0 15.0 10.6 75 102300 1022 1371 338 586 458 244 63200 47700 27500 7550 100 3.1 7 5 11.2 6096 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7560000.0 15.6 11.1 75 102200 1112 1371 354 400 109 312 44500 11700 35100 11490 60 3.1 10 8 11.2 6096 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7563600.0 17.8 12.8 73 102200 1130 1371 375 561 179 413 61400 19000 45600 15680 250 4.6 10 9 19.2 6096 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7567200.0 17.2 12.8 75 102200 1075 1371 372 507 105 425 55900 10900 47300 16010 270 4.1 10 9 24.0 6096 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7570800.0 17.2 13.9 81 102200 949 1371 384 250 0 250 29200 0 29200 11190 270 5.2 10 10 48.0 3048 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7574400.0 16.1 12.8 81 102100 763 1371 376 153 0 153 18000 0 18000 6900 320 5.2 10 10 48.0 1372 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7578000.0 14.4 12.8 90 102200 528 1371 368 95 0 95 11100 0 11100 4010 280 7.7 10 10 19.2 945 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7581600.0 14.4 12.8 90 102200 262 1371 368 37 0 37 4300 0 4300 1450 280 6.2 10 10 19.2 853 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7585200.0 12.8 12.2 96 102100 29 651 332 5 1 5 600 0 600 200 250 2.6 9 6 19.2 6096 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -7588800.0 12.2 11.7 97 102200 0 0 321 0 0 0 0 0 0 0 260 2.6 5 3 19.2 2000 9 999999999 190 0.1460 0 88 0.130 0.0 1.0 -7592400.0 12.2 11.7 97 102300 0 0 333 0 0 0 0 0 0 0 270 4.1 7 7 19.2 183 9 999999999 190 0.1460 0 88 0.130 0.0 1.0 -7596000.0 12.2 12.2 100 102300 0 0 356 0 0 0 0 0 0 0 260 4.6 10 10 16.0 152 9 999999999 190 0.1460 0 88 0.130 0.0 1.0 -7599600.0 11.7 11.7 100 102400 0 0 343 0 0 0 0 0 0 0 290 7.2 9 9 16.0 122 9 999999999 190 0.1460 0 88 0.130 0.0 1.0 -7603200.0 12.2 11.1 93 102400 0 0 355 0 0 0 0 0 0 0 270 6.2 10 10 16.0 213 9 999999999 190 0.1460 0 88 0.130 0.0 1.0 -7606800.0 11.7 10.0 89 102400 0 0 351 0 0 0 0 0 0 0 310 7.7 10 10 16.0 274 9 999999999 190 0.1450 0 88 0.130 0.0 1.0 -7610400.0 11.7 10.0 89 102400 0 0 351 0 0 0 0 0 0 0 310 5.7 10 10 16.0 396 9 999999999 190 0.1450 0 88 0.130 0.0 1.0 -7614000.0 11.1 10.0 93 102400 0 0 315 0 0 0 0 0 0 0 280 6.2 3 3 19.2 2000 9 999999999 190 0.1450 0 88 0.130 0.0 1.0 -7617600.0 11.1 9.4 89 102400 0 0 301 0 0 0 0 0 0 0 280 7.7 0 0 19.2 2000 9 999999999 190 0.1450 0 88 0.130 0.0 1.0 -7621200.0 11.1 9.4 89 102400 0 0 314 0 0 0 0 0 0 0 270 6.7 4 3 19.2 2000 9 999999999 190 0.1450 0 88 0.130 0.0 1.0 -7624800.0 10.6 9.4 92 102400 0 11 299 0 0 0 0 0 0 0 280 6.2 0 0 16.0 2000 9 999999999 190 0.1450 0 88 0.130 0.0 1.0 -7628400.0 11.7 9.4 86 102500 135 1371 303 53 258 27 5300 14300 3900 480 280 5.7 1 0 16.0 2000 9 999999999 180 0.1450 0 88 0.130 0.0 1.0 -7632000.0 13.3 9.4 77 102500 408 1371 310 241 627 54 24900 55900 8200 1070 300 5.2 0 0 16.0 2000 9 999999999 180 0.1450 0 88 0.130 0.0 1.0 -7635600.0 14.4 9.4 72 102500 661 1371 315 452 779 76 47800 76300 10900 1670 320 6.2 0 0 19.2 2000 9 999999999 180 0.1450 0 88 0.130 0.0 1.0 -7639200.0 15.0 9.4 69 102500 872 1371 318 638 856 93 66400 84900 12200 2070 290 7.2 0 0 24.0 2000 9 999999999 180 0.1450 0 88 0.130 0.0 1.0 -7642800.0 15.6 9.4 67 102500 1028 1371 320 778 897 105 80700 89600 13300 2780 310 8.8 0 0 40.0 2000 9 999999999 170 0.1450 0 88 0.130 0.0 1.0 -7646400.0 16.1 10.6 70 102500 1117 1371 343 685 526 256 74500 55000 29600 9670 320 9.3 5 5 40.0 2000 9 999999999 170 0.1450 0 88 0.130 0.0 1.0 -7650000.0 16.1 10.6 70 102500 1135 1371 338 747 665 196 79900 68000 23400 7740 290 7.2 3 3 48.0 2000 9 999999999 170 0.1450 0 88 0.130 0.0 1.0 -7653600.0 16.1 10.0 67 102400 1079 1371 323 813 889 112 84000 88900 13900 3180 290 9.8 1 0 48.0 2000 9 999999999 170 0.1450 0 88 0.130 0.0 1.0 -7657200.0 15.6 9.4 67 102400 953 1371 327 656 764 124 69200 76800 15600 3280 280 11.8 5 1 48.0 2000 9 999999999 170 0.1450 0 88 0.130 0.0 1.0 -7660800.0 14.4 8.9 70 102400 767 1371 315 542 761 116 57600 76400 14700 2670 300 7.2 6 0 48.0 2000 9 999999999 160 0.1450 0 88 0.130 0.0 1.0 -7664400.0 13.9 8.3 69 102400 532 1371 312 336 663 78 35400 63000 10900 1570 290 10.8 4 0 32.0 2000 9 999999999 160 0.1450 0 88 0.130 0.0 1.0 -7668000.0 12.8 8.3 74 102400 266 1371 313 128 383 54 13100 28800 7500 960 270 6.7 1 1 32.0 2000 9 999999999 160 0.1450 0 88 0.130 0.0 1.0 -7671600.0 11.7 7.8 77 102400 30 674 302 8 62 5 900 2700 800 100 290 8.8 0 0 19.2 2000 9 999999999 160 0.1450 0 88 0.130 0.0 1.0 -7675200.0 11.7 7.8 77 102400 0 0 302 0 0 0 0 0 0 0 290 11.3 0 0 19.2 2000 9 999999999 160 0.1450 0 88 0.130 0.0 1.0 -7678800.0 11.1 8.3 83 102400 0 0 300 0 0 0 0 0 0 0 290 8.2 0 0 19.2 2000 9 999999999 150 0.1450 0 88 0.130 0.0 1.0 -7682400.0 10.6 8.3 86 102400 0 0 298 0 0 0 0 0 0 0 310 6.2 0 0 19.2 2000 9 999999999 150 0.1450 0 88 0.130 0.0 1.0 -7686000.0 10.6 8.3 86 102400 0 0 298 0 0 0 0 0 0 0 320 4.1 0 0 19.2 2000 9 999999999 150 0.1450 0 88 0.130 0.0 1.0 -7689600.0 10.6 7.8 83 102400 0 0 297 0 0 0 0 0 0 0 310 6.7 0 0 19.2 2000 9 999999999 150 0.1450 0 88 0.130 0.0 1.0 -7693200.0 10.0 7.2 83 102400 0 0 294 0 0 0 0 0 0 0 290 5.2 0 0 19.2 2000 9 999999999 150 0.1450 0 88 0.130 0.0 1.0 -7696800.0 10.0 7.8 86 102300 0 0 295 0 0 0 0 0 0 0 300 4.6 0 0 24.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7700400.0 8.9 7.2 89 102300 0 0 290 0 0 0 0 0 0 0 300 3.6 0 0 24.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7704000.0 7.8 6.1 89 102300 0 0 284 0 0 0 0 0 0 0 310 2.1 0 0 24.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7707600.0 8.3 7.2 93 102300 0 0 287 0 0 0 0 0 0 0 240 1.5 0 0 24.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7711200.0 7.8 6.7 93 102300 0 57 285 0 0 0 0 0 0 0 240 2.1 0 0 56.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7714800.0 9.4 7.2 86 102300 142 1370 292 51 180 32 5300 9400 4300 570 250 2.1 0 0 24.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7718400.0 12.8 7.8 72 102300 415 1370 306 234 539 71 24300 47800 9800 1340 0 0.0 0 0 40.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7722000.0 13.9 7.8 67 102300 667 1370 311 447 710 101 47300 70100 13100 2160 60 1.5 0 0 48.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7725600.0 15.0 7.2 60 102300 877 1370 315 635 797 124 66200 79400 15200 2910 30 2.1 0 0 56.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7729200.0 16.7 6.1 50 102300 1033 1370 322 777 845 139 81800 85000 17500 4110 70 2.1 0 0 56.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7732800.0 17.8 3.9 40 102200 1122 1370 324 855 858 151 90300 86500 19200 5390 30 3.1 1 0 56.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7736400.0 18.9 7.8 48 102200 1139 1370 345 819 713 226 86700 72400 26300 8920 320 5.7 5 2 64.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7740000.0 18.9 6.1 43 102100 1083 1370 346 752 664 226 79100 67200 25800 7760 310 8.8 8 3 64.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7743600.0 17.8 5.0 43 102100 957 1370 336 693 724 187 72900 73100 21700 5150 310 7.7 9 2 64.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7747200.0 16.7 6.7 52 102100 771 1370 336 475 472 209 49900 48000 22900 4750 320 7.7 9 3 64.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7750800.0 15.6 8.3 62 102000 536 1370 330 300 395 145 31200 37600 16400 2860 310 9.3 7 2 56.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7754400.0 14.4 6.7 60 102000 270 1370 318 120 322 56 12600 24100 7900 1000 280 8.2 3 1 56.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7758000.0 12.8 7.8 72 102000 32 696 312 7 23 6 800 700 800 90 300 8.2 2 1 24.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7761600.0 12.2 8.3 77 102100 0 0 304 0 0 0 0 0 0 0 290 5.7 0 0 24.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7765200.0 11.7 9.4 86 102100 0 0 303 0 0 0 0 0 0 0 290 5.2 0 0 24.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7768800.0 12.3 8.5 89 102100 0 0 305 0 0 0 0 0 0 0 320 5.1 0 0 24.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7772400.0 12.8 7.7 89 102100 0 0 306 0 0 0 0 0 0 0 280 5.0 0 0 19.2 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7776000.0 13.4 6.8 92 102100 0 0 308 0 0 0 0 0 0 0 300 4.9 0 0 19.2 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -7779600.0 13.9 5.9 50 101700 0 0 309 0 0 0 0 0 0 0 350 4.9 10 0 16.0 2000 9 999999999 100 0.1340 0 88 0.130 0.0 1.0 -7783200.0 14.5 5.0 52 101700 0 0 311 0 0 0 0 0 0 0 0 4.8 10 0 16.0 2000 9 999999999 100 0.1340 0 88 0.130 0.0 1.0 -7786800.0 15.0 4.2 27 101700 0 0 312 0 0 0 0 0 0 0 90 4.7 10 0 16.0 2000 9 999999999 100 0.1340 0 88 0.130 0.0 1.0 -7790400.0 15.6 3.3 44 101600 0 0 314 0 0 0 0 0 0 0 170 4.6 0 0 16.0 2000 9 999999999 90 0.1340 0 88 0.130 0.0 1.0 -7794000.0 16.1 3.3 42 101700 0 0 316 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 90 0.1340 0 88 0.130 0.0 1.0 -7797600.0 17.8 3.3 38 101700 1 103 323 0 0 0 0 0 0 0 350 2.6 0 0 16.0 2000 9 999999999 80 0.1340 0 88 0.130 0.0 1.0 -7801200.0 18.3 6.1 45 101700 152 1368 329 53 233 28 5500 13800 4000 500 50 7.7 0 0 16.0 7620 9 999999999 80 0.1340 0 88 0.130 0.0 1.0 -7804800.0 18.9 6.7 45 101800 425 1368 332 237 493 83 24300 43700 10700 1530 50 6.7 1 0 16.0 7620 9 999999999 80 0.1340 0 88 0.130 0.0 1.0 -7808400.0 18.9 7.8 48 101800 676 1368 340 439 649 118 46000 63800 14400 2490 50 6.2 3 1 16.0 7620 9 999999999 70 0.1340 0 88 0.130 0.0 1.0 -7812000.0 21.7 7.2 39 101800 886 1368 352 611 681 169 64100 68600 19600 4250 30 5.2 3 1 16.0 7620 9 999999999 70 0.1340 0 88 0.130 0.0 1.0 -7815600.0 23.9 2.2 24 101800 1040 1368 362 757 748 187 80300 76200 22200 6000 350 4.6 4 2 16.0 7620 9 999999999 80 0.1340 0 88 0.130 0.0 1.0 -7819200.0 24.4 4.4 27 101800 1129 1368 362 819 748 200 87200 76400 24000 7800 340 3.6 3 1 16.0 7620 9 999999999 80 0.1340 0 88 0.130 0.0 1.0 -7822800.0 21.7 8.9 44 101700 1145 1368 363 845 777 193 90400 79600 23600 7890 10 5.2 6 3 16.0 7620 9 999999999 90 0.1340 0 88 0.130 0.0 1.0 -7826400.0 24.4 6.7 32 101700 1089 1368 370 798 758 193 84900 77400 23100 6850 10 2.6 4 2 16.0 2000 9 999999999 90 0.1340 0 88 0.130 0.0 1.0 -7830000.0 26.7 2.2 20 101600 963 1368 370 694 718 188 73000 72600 21800 5240 350 1.5 2 1 16.0 7620 9 999999999 100 0.1340 0 88 0.130 0.0 1.0 -7833600.0 27.2 3.9 22 101500 776 1368 375 455 352 255 48600 37100 27500 6240 330 2.6 3 1 16.0 2000 9 999999999 110 0.1340 0 88 0.130 0.0 1.0 -7837200.0 26.1 3.9 24 101500 542 1368 363 378 621 131 39700 59400 16100 2560 270 6.7 0 0 16.0 2000 9 999999999 110 0.1340 0 88 0.130 0.0 1.0 -7840800.0 21.7 2.8 29 101500 276 1368 341 183 338 114 18600 25300 13500 2430 270 5.2 0 0 16.0 7620 9 999999999 120 0.1340 0 88 0.130 0.0 1.0 -7844400.0 20.6 2.8 31 101600 35 718 336 1 56 0 0 0 0 0 260 4.1 0 0 16.0 2000 9 999999999 120 0.1340 0 88 0.130 0.0 1.0 -7848000.0 18.9 3.9 37 101600 0 0 335 0 0 0 0 0 0 0 260 4.6 1 1 16.0 2000 9 999999999 130 0.1340 0 88 0.130 0.0 1.0 -7851600.0 17.8 5.0 43 101500 0 0 325 0 0 0 0 0 0 0 280 3.1 0 0 16.0 2000 9 999999999 140 0.1340 0 88 0.130 0.0 1.0 -7855200.0 16.1 6.1 51 101500 0 0 319 0 0 0 0 0 0 0 270 2.1 0 0 16.0 2000 9 999999999 140 0.1340 0 88 0.130 0.0 1.0 -7858800.0 15.6 6.7 55 101500 0 0 317 0 0 0 0 0 0 0 230 1.5 0 0 16.0 2000 9 999999999 140 0.1340 0 88 0.130 0.0 1.0 -7862400.0 15.0 7.2 60 101500 0 0 315 0 0 0 0 0 0 0 260 2.1 0 0 16.0 2000 9 999999999 140 0.1340 0 88 0.130 0.0 1.0 -7866000.0 13.3 8.3 72 101500 0 0 309 0 0 0 0 0 0 0 270 2.6 1 0 16.0 2000 9 999999999 150 0.1340 0 88 0.130 0.0 1.0 -7869600.0 13.8 7.8 67 101500 0 0 311 0 0 0 0 0 0 0 320 1.3 1 0 16.0 2000 9 999999999 150 0.1340 0 88 0.130 999.0 99.0 -7873200.0 14.4 7.2 62 101500 0 0 313 0 0 0 0 0 0 0 0 0.0 1 0 16.0 2000 9 999999999 150 0.1340 0 88 0.130 0.0 1.0 -7876800.0 15.0 6.1 55 101500 0 0 314 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.130 0.0 1.0 -7880400.0 12.2 5.6 64 101500 0 0 302 0 0 0 0 0 0 0 200 1.5 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.130 0.0 1.0 -7884000.0 13.3 8.3 72 101600 1 125 309 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.130 0.0 1.0 -7887600.0 15.0 8.3 64 101600 159 1367 317 62 311 26 6400 18900 4200 480 320 1.5 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.130 0.0 1.0 -7891200.0 16.1 11.1 72 101600 431 1367 324 259 613 65 27100 55300 9600 1260 0 0.0 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.130 0.0 1.0 -7894800.0 16.1 11.7 75 101600 682 1367 325 460 736 92 47800 71900 11900 1910 20 2.1 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.130 0.0 1.0 -7898400.0 16.7 12.2 75 101700 891 1367 328 627 728 152 66400 73700 18200 3910 40 2.1 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.130 0.0 1.0 -7902000.0 18.3 11.7 65 101700 1045 1367 335 797 831 160 82700 83100 19000 4660 20 1.5 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.130 0.0 1.0 -7905600.0 21.1 12.2 57 101600 1133 1367 349 878 867 157 92400 87400 19800 5750 20 1.5 0 0 14.4 2000 9 999999999 150 0.1340 0 88 0.130 0.0 1.0 -7909200.0 24.4 14.4 54 101600 1149 1367 367 821 644 278 85600 64700 31000 11120 340 3.1 0 0 16.0 2000 9 999999999 140 0.1340 0 88 0.130 0.0 1.0 -7912800.0 22.2 15.0 64 101600 1093 1367 357 824 801 182 88000 82000 22300 6560 360 4.1 0 0 16.0 2000 9 999999999 140 0.1340 0 88 0.130 0.0 1.0 -7916400.0 28.3 10.0 32 101500 966 1367 381 701 730 183 73800 73900 21400 5150 320 3.6 0 0 16.0 2000 9 999999999 140 0.1340 0 88 0.130 0.0 1.0 -7920000.0 28.3 6.1 24 101400 780 1367 376 528 609 180 56500 62100 20900 4070 290 4.6 0 0 16.0 2000 9 999999999 140 0.1340 0 88 0.130 0.0 1.0 -7923600.0 27.8 5.0 23 101400 546 1367 372 385 647 127 39300 60300 15200 2360 300 3.6 0 0 16.0 2000 9 999999999 130 0.1340 0 88 0.130 0.0 1.0 -7927200.0 23.3 5.0 30 101500 280 1367 351 178 325 111 18200 24500 13200 2340 270 7.2 0 0 16.0 2000 9 999999999 130 0.1340 0 88 0.130 0.0 1.0 -7930800.0 19.4 8.3 49 101500 37 741 336 1 57 1 500 3300 300 40 290 5.7 0 0 16.0 2000 9 999999999 130 0.1340 0 88 0.130 0.0 1.0 -7934400.0 19.4 6.1 42 101600 0 0 334 0 0 0 0 0 0 0 280 4.6 0 0 16.0 2000 9 999999999 130 0.1340 0 88 0.130 0.0 1.0 -7938000.0 20.6 3.9 33 101600 0 0 337 0 0 0 0 0 0 0 290 4.1 0 0 16.0 2000 9 999999999 120 0.1340 0 88 0.130 0.0 1.0 -7941600.0 20.0 3.9 35 101700 0 0 334 0 0 0 0 0 0 0 290 3.6 0 0 16.0 2000 9 999999999 120 0.1340 0 88 0.130 0.0 1.0 -7945200.0 17.8 5.6 45 101700 0 0 326 0 0 0 0 0 0 0 260 3.6 0 0 16.0 2000 9 999999999 120 0.1340 0 88 0.130 0.0 1.0 -7948800.0 16.7 9.4 62 101800 0 0 325 0 0 0 0 0 0 0 120 1.5 0 0 16.0 2000 9 999999999 130 0.1340 0 88 0.130 0.0 1.0 -7952400.0 14.4 11.7 84 101800 0 0 317 0 0 0 0 0 0 0 350 2.1 0 0 16.0 2000 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -7956000.0 13.3 10.0 80 101800 0 0 311 0 0 0 0 0 0 0 270 2.6 0 0 16.0 2000 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -7959600.0 12.2 10.0 86 101800 0 0 306 0 0 0 0 0 0 0 230 1.5 0 0 16.0 2000 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -7963200.0 12.2 10.0 86 101700 0 0 306 0 0 0 0 0 0 0 270 2.6 0 0 16.0 2000 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -7966800.0 12.2 10.0 86 101800 0 0 306 0 0 0 0 0 0 0 260 3.6 0 0 16.0 2000 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -7970400.0 11.7 10.0 89 101800 2 171 304 0 0 0 0 0 0 0 260 4.1 0 0 14.4 2000 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -7974000.0 12.2 10.0 86 101900 165 1367 319 44 80 34 4700 4400 4200 600 270 4.1 3 3 16.0 2000 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -7977600.0 13.9 10.0 77 101900 438 1367 327 252 452 107 26400 40800 13300 2020 280 4.6 3 3 16.0 2000 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -7981200.0 15.0 11.1 77 102000 688 1367 320 441 627 125 46100 61700 15000 2640 0 0.0 0 0 16.0 2000 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -7984800.0 16.7 11.7 72 102000 897 1367 328 612 658 179 64000 66100 20500 4540 360 3.6 0 0 16.0 2000 9 999999999 160 0.1330 0 88 0.130 0.0 1.0 -7988400.0 17.8 12.2 70 102100 1050 1367 333 696 552 270 74500 57500 30200 8920 10 3.6 0 0 16.0 2000 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -7992000.0 17.8 12.8 73 102000 1138 1367 334 784 598 284 84500 62500 32300 11460 30 3.6 0 0 16.0 2000 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -7995600.0 17.8 12.8 73 102000 1154 1367 334 784 602 274 81800 60600 30600 11130 30 3.6 0 0 16.0 2000 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -7999200.0 18.9 12.8 68 102000 1096 1367 339 753 588 280 80900 61400 31500 10200 40 3.6 0 0 16.0 2000 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -8002800.0 18.9 12.8 68 101900 970 1367 354 687 601 259 73000 62300 28600 7450 60 2.6 3 3 16.0 2000 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -8006400.0 19.4 11.7 61 101900 783 1367 355 315 82 268 34600 8300 29800 8340 150 2.1 3 3 16.0 2000 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -8010000.0 17.8 11.1 65 101900 549 1367 346 253 153 191 27300 15000 21200 4480 230 3.1 3 3 16.0 2000 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -8013600.0 16.7 10.6 67 101900 284 1367 341 191 205 148 19900 15900 16600 3200 30 1.5 3 3 16.0 2000 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -8017200.0 14.4 10.0 75 102000 40 763 329 2 39 1 400 2300 200 40 300 1.5 3 3 16.0 2000 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -8020800.0 14.4 8.9 70 102000 0 0 328 0 0 0 0 0 0 0 230 4.1 3 3 16.0 2000 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8024400.0 13.3 9.4 77 102100 0 0 324 0 0 0 0 0 0 0 220 3.1 3 3 16.0 2000 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8028000.0 12.8 9.4 80 102100 0 0 321 0 0 0 0 0 0 0 200 4.1 3 3 16.0 2000 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8031600.0 12.2 8.9 80 102100 0 0 318 0 0 0 0 0 0 0 200 3.1 3 3 16.0 2000 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8035200.0 12.2 9.4 83 102200 0 0 321 0 0 0 0 0 0 0 190 5.2 4 4 16.0 2000 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8038800.0 12.2 9.4 83 102200 0 0 324 0 0 0 0 0 0 0 180 6.2 5 5 16.0 2000 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8042400.0 11.7 8.9 83 102100 0 0 321 0 0 0 0 0 0 0 200 3.6 5 5 16.0 2000 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8046000.0 11.7 8.9 83 102100 0 0 319 0 0 0 0 0 0 0 190 3.1 4 4 16.0 2000 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8049600.0 11.1 8.3 83 102000 0 0 315 0 0 0 0 0 0 0 200 3.6 4 4 16.0 2000 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8053200.0 11.7 8.3 80 102100 0 0 332 0 0 0 0 0 0 0 210 4.1 8 8 16.0 701 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8056800.0 11.7 8.3 80 102100 3 193 318 0 0 0 0 0 0 0 190 3.1 4 4 14.4 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8060400.0 12.2 8.9 80 102200 172 1366 335 26 0 26 3000 0 3000 970 190 3.1 8 8 12.8 549 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8064000.0 12.8 8.3 74 102200 444 1366 337 76 0 76 8900 0 8900 3130 220 4.1 8 8 16.0 610 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8067600.0 13.3 8.3 72 102300 693 1366 340 124 0 124 14700 0 14700 5590 230 5.7 8 8 16.0 610 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8071200.0 13.9 8.3 69 102300 902 1366 342 177 0 177 21100 0 21100 8380 230 5.2 8 8 16.0 671 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8074800.0 15.0 8.3 64 102300 1055 1366 330 300 30 277 33200 3100 30800 11060 230 5.2 3 3 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8078400.0 16.1 9.4 64 102200 1142 1366 337 725 443 354 76600 46100 37900 14670 290 6.7 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8082000.0 16.1 8.9 62 102200 1158 1366 336 796 596 290 86000 62300 33000 12380 250 8.8 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8085600.0 15.6 8.3 62 102100 1100 1366 333 753 631 244 78900 63700 27500 8710 260 8.8 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8089200.0 15.6 8.9 64 102100 974 1366 334 633 515 265 67200 53400 29000 7680 260 7.7 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8092800.0 15.0 8.9 67 102000 787 1366 331 409 207 290 44300 21500 31900 7670 260 7.2 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8096400.0 13.9 8.3 69 102000 553 1366 325 226 73 196 24700 7100 21800 5280 260 8.2 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8100000.0 12.8 8.3 74 102000 288 1366 325 153 168 117 16200 13200 13400 2530 250 7.2 5 5 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8103600.0 12.2 8.3 77 102000 42 785 323 2 34 1 300 2000 200 40 270 7.2 5 5 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8107200.0 11.7 8.3 80 102000 0 0 318 0 0 0 0 0 0 0 260 6.2 4 4 16.0 2000 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8110800.0 11.7 7.8 77 102000 0 0 320 0 0 0 0 0 0 0 250 6.7 5 5 16.0 2000 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8114400.0 11.1 7.8 80 102000 0 0 315 0 0 0 0 0 0 0 250 6.2 4 4 16.0 2000 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8118000.0 11.1 7.8 80 102000 0 0 329 0 0 0 0 0 0 0 240 5.7 8 8 16.0 518 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8121600.0 11.1 7.8 80 102000 0 0 345 0 0 0 0 0 0 0 270 4.1 10 10 16.0 518 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8125200.0 11.1 7.8 80 102000 0 0 345 0 0 0 0 0 0 0 240 4.1 10 10 16.0 518 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8128800.0 11.1 7.8 80 101900 0 0 345 0 0 0 0 0 0 0 260 5.2 10 10 16.0 518 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8132400.0 10.6 7.8 83 101900 0 0 343 0 0 0 0 0 0 0 260 4.1 10 10 16.0 518 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8136000.0 10.6 7.8 83 101800 0 0 343 0 0 0 0 0 0 0 250 4.1 10 10 16.0 457 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8139600.0 11.1 7.8 80 101900 0 0 345 0 0 0 0 0 0 0 260 4.6 10 10 16.0 457 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8143200.0 11.1 7.8 80 101800 4 239 345 0 0 0 0 0 0 0 260 5.2 10 10 16.0 457 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8146800.0 11.1 7.2 77 101900 178 1365 345 29 0 29 3300 0 3300 1070 270 4.6 10 10 16.0 518 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8150400.0 11.7 7.8 77 101900 450 1365 348 85 0 85 9800 0 9800 3440 230 5.7 10 10 16.0 518 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8154000.0 12.2 7.8 74 101900 699 1365 334 199 17 190 22800 1400 22000 7780 260 6.2 9 8 16.0 518 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8157600.0 12.8 7.8 72 101900 907 1365 337 339 41 312 37300 4200 34500 10550 260 5.2 8 8 16.0 518 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8161200.0 14.4 7.8 65 101800 1060 1365 327 368 30 345 40600 3100 38200 13390 280 5.7 3 3 16.0 7620 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8164800.0 15.0 8.3 64 101800 1146 1365 333 484 96 403 53400 9900 45000 16990 270 7.2 5 4 16.0 7620 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8168400.0 15.6 7.8 60 101800 1161 1365 338 404 30 379 44700 3100 42000 16500 270 8.8 5 5 16.0 7620 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8172000.0 15.6 7.8 60 101700 1104 1365 338 383 30 358 42200 3100 39700 14540 270 7.7 5 5 16.0 7620 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8175600.0 15.6 8.3 62 101700 977 1365 358 336 25 319 38800 2300 37100 13490 260 7.2 10 9 16.0 7620 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8179200.0 14.4 8.3 67 101600 790 1365 330 343 81 296 37600 8200 32900 9060 270 10.3 5 4 16.0 7620 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8182800.0 13.9 8.3 69 101600 556 1365 325 217 66 189 23700 6400 21000 5160 270 5.7 4 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8186400.0 11.7 7.8 77 101700 292 1365 315 199 219 152 20800 17100 17100 3300 270 8.8 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8190000.0 11.1 7.2 77 101700 44 808 312 3 47 2 600 2600 400 60 270 5.2 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8193600.0 10.6 7.2 79 101800 0 0 309 0 0 0 0 0 0 0 240 4.1 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8197200.0 10.0 7.2 83 101800 0 0 307 0 0 0 0 0 0 0 250 4.6 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8200800.0 10.0 7.2 83 101800 0 0 307 0 0 0 0 0 0 0 270 5.7 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8204400.0 10.0 7.2 83 101900 0 0 307 0 0 0 0 0 0 0 250 3.6 3 3 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8208000.0 10.0 7.8 86 101900 0 0 310 0 0 0 0 0 0 0 240 4.1 4 4 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8211600.0 10.6 8.3 86 101900 0 0 327 0 0 0 0 0 0 0 210 4.1 8 8 14.4 366 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8215200.0 10.6 8.3 86 101900 0 0 334 0 0 0 0 0 0 0 250 2.1 9 9 16.0 366 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8218800.0 10.6 7.8 83 101900 0 0 326 0 0 0 0 0 0 0 220 2.6 8 8 16.0 427 9 999999999 90 0.1330 0 88 0.130 0.0 1.0 -8222400.0 10.0 7.2 83 101900 0 0 323 0 0 0 0 0 0 0 230 3.6 8 8 16.0 427 9 999999999 90 0.1330 0 88 0.130 0.0 1.0 -8226000.0 10.0 7.2 83 102000 0 0 323 0 0 0 0 0 0 0 230 5.2 8 8 16.0 488 9 999999999 80 0.1330 0 88 0.130 0.0 1.0 -8229600.0 9.4 7.2 86 102000 5 261 307 0 0 0 0 0 0 0 0 0.0 4 4 16.0 2000 9 999999999 70 0.1330 0 88 0.130 0.0 1.0 -8233200.0 10.6 7.2 79 102100 185 1364 326 28 0 28 3200 0 3200 1050 220 3.6 8 8 16.0 488 9 999999999 70 0.1330 0 88 0.130 0.0 1.0 -8236800.0 10.6 6.7 77 102100 456 1364 325 124 16 118 13900 1000 13600 4420 230 4.1 8 8 16.0 488 9 999999999 60 0.1330 0 88 0.130 0.0 1.0 -8240400.0 11.7 7.2 74 102100 705 1364 331 294 109 237 32200 10900 26600 7070 260 3.1 8 8 16.0 549 9 999999999 60 0.1330 0 88 0.130 0.0 1.0 -8244000.0 13.3 7.2 67 102100 912 1364 321 382 94 319 42000 9600 35600 10800 290 4.6 3 3 16.0 2000 9 999999999 50 0.1330 0 88 0.130 0.0 1.0 -8247600.0 14.4 7.2 62 102100 1064 1364 326 544 238 358 59000 25700 38800 12170 280 6.7 3 3 16.0 2000 9 999999999 60 0.1330 0 88 0.130 0.0 1.0 -8251200.0 15.0 6.7 58 102100 1151 1364 328 861 700 269 90000 70500 30400 10920 280 7.7 3 3 16.0 2000 9 999999999 60 0.1330 0 88 0.130 0.0 1.0 -8254800.0 15.6 7.2 57 102100 1165 1364 332 784 560 305 84400 58500 34300 13410 280 9.8 3 3 16.0 2000 9 999999999 60 0.1330 0 88 0.130 0.0 1.0 -8258400.0 15.0 6.7 58 102000 1107 1364 328 740 582 267 80100 60800 30600 10000 260 7.2 3 3 16.0 2000 9 999999999 60 0.1330 0 88 0.130 0.0 1.0 -8262000.0 15.0 7.2 60 102000 981 1364 329 639 540 250 68300 56100 27900 7300 270 8.2 3 3 16.0 2000 9 999999999 70 0.1330 0 88 0.130 0.0 1.0 -8265600.0 14.4 7.2 62 101900 794 1364 326 430 263 277 45800 27800 29600 6960 270 8.2 3 3 16.0 2000 9 999999999 70 0.1330 0 88 0.130 0.0 1.0 -8269200.0 13.3 7.8 69 102000 560 1364 322 397 557 168 40900 53600 18800 3400 260 7.7 3 3 16.0 2000 9 999999999 70 0.1330 0 88 0.130 0.0 1.0 -8272800.0 12.2 6.7 69 102000 295 1364 316 195 381 112 19300 29300 12900 2190 270 6.7 3 3 16.0 2000 9 999999999 80 0.1330 0 88 0.130 0.0 1.0 -8276400.0 11.1 7.2 77 102000 46 830 312 4 86 2 800 5100 500 80 270 7.2 3 3 16.0 2000 9 999999999 80 0.1330 0 88 0.130 0.0 1.0 -8280000.0 11.1 6.7 74 102100 0 0 311 0 0 0 0 0 0 0 250 4.1 3 3 16.0 2000 9 999999999 80 0.1330 0 88 0.130 0.0 1.0 -8283600.0 10.6 7.8 83 102100 0 0 310 0 0 0 0 0 0 0 260 4.1 3 3 16.0 2000 9 999999999 90 0.1330 0 88 0.130 0.0 1.0 -8287200.0 10.0 7.8 86 102100 0 0 295 0 0 0 0 0 0 0 280 3.6 0 0 16.0 2000 9 999999999 90 0.1330 0 88 0.130 0.0 1.0 -8290800.0 10.0 7.8 86 102100 0 0 307 0 0 0 0 0 0 0 270 4.6 3 3 16.0 2000 9 999999999 90 0.1330 0 88 0.130 0.0 1.0 -8294400.0 10.0 7.8 86 102100 0 0 307 0 0 0 0 0 0 0 270 4.1 3 3 16.0 2000 9 999999999 90 0.1330 0 88 0.130 0.0 1.0 -8298000.0 9.4 7.8 90 102100 0 0 305 0 0 0 0 0 0 0 260 2.6 3 3 16.0 2000 9 999999999 90 0.1330 0 88 0.130 0.0 1.0 -8301600.0 8.9 6.7 86 102100 0 0 302 0 0 0 0 0 0 0 250 2.6 3 3 16.0 2000 9 999999999 90 0.1330 0 88 0.130 0.0 1.0 -8305200.0 8.9 7.2 89 102100 0 0 290 0 0 0 0 0 0 0 260 3.1 0 0 16.0 2000 9 999999999 80 0.1330 0 88 0.130 0.0 1.0 -8308800.0 8.9 7.2 89 102100 0 0 304 0 0 0 0 0 0 0 240 1.5 4 4 14.4 2000 9 999999999 80 0.1330 0 88 0.130 0.0 1.0 -8312400.0 9.4 7.8 90 102100 0 0 307 0 0 0 0 0 0 0 0 0.0 4 4 16.0 2000 9 999999999 80 0.1330 0 88 0.130 0.0 1.0 -8316000.0 9.4 7.2 86 102200 6 307 320 0 0 0 0 0 0 0 180 2.1 8 8 14.4 366 9 999999999 80 0.1330 0 88 0.130 0.0 1.0 -8319600.0 10.0 7.8 86 102200 191 1363 324 39 22 36 4300 1600 4100 920 160 2.6 8 8 16.0 366 9 999999999 80 0.1330 0 88 0.130 0.0 1.0 -8323200.0 11.1 7.8 80 102200 462 1363 312 253 368 128 26200 33700 14700 2470 120 1.5 3 3 16.0 2000 9 999999999 80 0.1330 0 88 0.130 0.0 1.0 -8326800.0 12.8 8.9 77 102200 710 1363 321 475 652 134 49500 64300 15900 2860 80 3.6 3 3 12.8 2000 9 999999999 80 0.1330 0 88 0.130 0.0 1.0 -8330400.0 12.8 9.4 80 102200 917 1363 321 631 635 202 65600 63600 22600 5200 60 4.1 3 3 16.0 2000 9 999999999 80 0.1330 0 88 0.130 0.0 1.0 -8334000.0 13.9 10.0 77 102200 1069 1363 327 657 422 326 69300 43900 34800 11390 60 2.6 3 3 16.0 2000 9 999999999 80 0.1330 0 88 0.130 0.0 1.0 -8337600.0 15.0 10.0 72 102100 1155 1363 332 850 730 230 89900 74200 26900 9620 40 2.6 3 3 16.0 2000 9 999999999 80 0.1330 0 88 0.130 0.0 1.0 -8341200.0 16.7 10.6 67 102000 1169 1363 327 882 771 220 93900 78600 26300 9640 20 3.6 0 0 16.0 2000 9 999999999 90 0.1330 0 88 0.130 0.0 1.0 -8344800.0 17.8 12.2 70 101900 1111 1363 333 772 558 316 82100 58200 34600 12070 10 3.1 0 0 16.0 2000 9 999999999 90 0.1330 0 88 0.130 0.0 1.0 -8348400.0 16.7 9.4 62 101900 984 1363 339 538 251 356 58600 26500 39400 11130 290 8.8 3 3 16.0 2000 9 999999999 90 0.1330 0 88 0.130 0.0 1.0 -8352000.0 15.6 9.4 67 101900 797 1363 334 277 38 255 30500 3800 28200 8140 270 8.8 3 3 16.0 2000 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8355600.0 13.3 9.4 77 101900 563 1363 324 241 99 200 26400 9700 22400 5420 270 9.8 3 3 16.0 2000 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8359200.0 12.2 9.4 83 101900 299 1363 319 159 189 117 16900 15200 13500 2540 280 7.7 3 3 16.0 2000 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8362800.0 11.1 9.4 89 101900 49 829 314 4 45 3 700 2200 500 60 270 9.3 3 3 16.0 2000 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8366400.0 11.1 8.9 86 102000 0 0 313 0 0 0 0 0 0 0 250 7.2 3 3 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8370000.0 10.0 7.8 86 102100 0 0 307 0 0 0 0 0 0 0 240 5.7 3 3 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8373600.0 10.6 8.3 86 102100 0 0 343 0 0 0 0 0 0 0 230 6.2 10 10 16.0 305 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8377200.0 10.0 7.8 86 102100 0 0 324 0 0 0 0 0 0 0 260 5.7 8 8 16.0 335 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8380800.0 10.0 7.8 86 102100 0 0 324 0 0 0 0 0 0 0 260 4.1 8 8 16.0 335 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8384400.0 10.0 7.8 86 102100 0 0 324 0 0 0 0 0 0 0 250 3.6 8 8 16.0 396 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8388000.0 10.0 7.8 86 102100 0 0 340 0 0 0 0 0 0 0 250 4.1 10 10 16.0 427 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8391600.0 10.0 8.3 89 102100 0 0 341 0 0 0 0 0 0 0 230 4.6 10 10 16.0 366 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8395200.0 10.0 8.3 89 102100 0 0 341 0 0 0 0 0 0 0 220 3.6 10 10 16.0 305 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8398800.0 10.0 8.3 89 102100 0 0 341 0 0 0 0 0 0 0 220 3.6 10 10 16.0 305 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8402400.0 10.0 7.8 86 102100 7 329 340 0 0 0 0 0 0 0 250 3.6 10 10 16.0 366 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8406000.0 10.6 7.8 83 102100 198 1362 343 26 0 26 3000 0 3000 1000 240 4.6 10 10 16.0 366 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8409600.0 10.6 8.3 86 102100 468 1362 343 86 0 86 10000 0 10000 3530 270 4.6 10 10 16.0 366 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8413200.0 11.1 7.8 80 102200 716 1362 345 125 0 125 14800 0 14800 5710 280 2.6 10 10 16.0 427 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8416800.0 12.2 7.8 74 102100 922 1362 351 248 12 240 29000 1000 28300 10740 240 2.6 10 10 16.0 427 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8420400.0 13.3 8.3 72 102200 1073 1362 340 227 0 227 27200 0 27200 10970 260 6.2 8 8 16.0 549 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8424000.0 13.3 7.8 69 102200 1159 1362 339 307 12 297 36500 1000 35700 13790 270 8.2 8 8 16.0 610 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8427600.0 13.3 7.8 69 102100 1173 1362 339 245 0 245 29600 0 29600 11900 250 7.7 8 8 16.0 549 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8431200.0 12.8 7.8 72 102100 1114 1362 337 262 0 262 31300 0 31300 12410 250 8.8 8 8 16.0 518 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8434800.0 12.2 8.3 77 102100 987 1362 334 228 12 220 27200 1000 26500 10370 240 8.2 8 8 16.0 518 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8438400.0 12.2 7.8 74 102000 801 1362 351 437 244 293 47300 25400 32400 7830 270 7.7 10 10 16.0 518 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8442000.0 12.2 7.2 71 102000 567 1362 333 231 79 198 25300 7700 22100 5400 250 7.2 8 8 16.0 671 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8445600.0 11.7 7.2 74 102000 303 1362 331 156 179 116 16600 14500 13400 2520 250 6.7 8 8 16.0 640 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8449200.0 11.7 7.2 74 102000 51 852 348 4 45 3 700 2200 500 60 260 6.2 10 10 16.0 579 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8452800.0 11.7 7.8 77 102000 0 0 348 0 0 0 0 0 0 0 240 4.6 10 10 16.0 579 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8456400.0 11.7 7.2 74 102100 0 0 348 0 0 0 0 0 0 0 260 7.7 10 10 16.0 549 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8460000.0 11.7 7.8 77 102100 0 0 348 0 0 0 0 0 0 0 250 6.7 10 10 16.0 579 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -8463600.0 11.7 7.8 77 102100 0 0 348 0 0 0 0 0 0 0 250 9.3 10 10 16.0 579 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8467200.0 11.7 8.3 80 102000 0 0 349 0 0 0 0 0 0 0 260 7.2 10 10 16.0 457 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8470800.0 11.1 7.8 80 102000 0 0 345 0 0 0 0 0 0 0 250 6.7 10 10 16.0 457 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8474400.0 11.1 8.3 83 102000 0 0 346 0 0 0 0 0 0 0 240 6.2 10 10 16.0 457 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8478000.0 11.1 7.8 80 102000 0 0 345 0 0 0 0 0 0 0 250 7.2 10 10 16.0 457 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8481600.0 10.6 7.8 83 102000 0 0 343 0 0 0 0 0 0 0 250 4.6 10 10 16.0 457 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8485200.0 10.6 7.2 79 102100 0 0 342 0 0 0 0 0 0 0 240 3.1 10 10 16.0 457 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8488800.0 10.6 7.8 83 102100 9 374 343 0 0 0 0 0 0 0 240 5.7 10 10 16.0 457 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8492400.0 11.1 7.8 80 102100 204 1362 345 24 0 24 2800 0 2800 940 260 4.6 10 10 16.0 457 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8496000.0 11.1 7.2 77 102100 474 1362 328 117 6 115 13300 400 13200 4430 250 6.7 8 8 16.0 457 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8499600.0 12.8 7.2 69 102100 721 1362 336 231 29 215 26200 2500 24900 8630 260 6.2 8 8 16.0 518 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8503200.0 13.3 7.2 67 102100 927 1362 324 491 265 311 52900 28500 33500 8760 270 6.7 4 4 16.0 2000 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8506800.0 14.4 7.2 62 102100 1078 1362 329 760 606 279 81500 63200 31300 9840 270 6.2 4 4 16.0 2000 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8510400.0 15.6 7.2 57 102100 1163 1362 332 868 790 192 89800 78900 22200 7390 270 7.7 3 3 16.0 2000 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8514000.0 15.6 6.7 55 102000 1176 1362 331 901 861 155 95500 87000 20100 6580 250 6.2 3 3 16.0 2000 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8517600.0 15.6 6.7 55 102000 1118 1362 331 861 867 148 91100 87500 19100 5340 270 9.3 3 3 16.0 2000 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8521200.0 15.6 6.7 55 101900 990 1362 331 746 815 151 77300 81400 17900 4030 260 9.8 3 3 16.0 2000 9 999999999 100 0.1330 0 88 0.130 0.0 1.0 -8524800.0 15.6 7.2 57 101900 804 1362 332 589 770 133 62200 77500 16400 3140 260 10.8 3 3 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8528400.0 13.9 7.8 67 101900 570 1362 325 385 595 135 40600 57700 16400 2670 260 7.7 3 3 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8532000.0 13.3 7.8 69 101900 307 1362 309 199 380 113 19800 29800 13100 2200 260 9.8 0 0 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8535600.0 12.2 7.2 71 101900 53 874 303 6 100 3 1100 6000 700 120 260 9.3 0 0 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8539200.0 11.7 7.8 77 101900 0 0 302 0 0 0 0 0 0 0 270 4.6 0 0 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8542800.0 11.1 7.2 77 102000 0 0 299 0 0 0 0 0 0 0 250 3.1 0 0 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8546400.0 10.6 7.2 79 101900 0 0 297 0 0 0 0 0 0 0 260 5.7 0 0 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8550000.0 10.6 6.7 77 102000 0 0 296 0 0 0 0 0 0 0 250 7.7 0 0 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8553600.0 10.6 6.7 77 102000 0 0 296 0 0 0 0 0 0 0 260 8.2 0 0 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8557200.0 10.0 6.7 80 102000 0 0 294 0 0 0 0 0 0 0 250 7.7 0 0 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8560800.0 10.0 7.2 83 101900 0 0 294 0 0 0 0 0 0 0 250 7.7 2 0 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8564400.0 10.0 6.7 80 101900 0 0 294 0 0 0 0 0 0 0 260 6.7 0 0 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8568000.0 9.4 6.7 83 101900 0 0 291 0 0 0 0 0 0 0 260 5.7 0 0 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8571600.0 9.4 7.2 86 101900 0 0 307 0 0 0 0 0 0 0 250 5.2 4 4 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8575200.0 10.0 7.8 86 101900 11 397 310 0 0 0 0 0 0 0 260 6.2 4 4 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8578800.0 10.0 7.8 86 102000 210 1361 310 80 215 47 8400 14200 6200 840 250 6.2 4 4 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8582400.0 11.1 7.8 80 101900 480 1361 315 248 348 126 25900 32300 14500 2430 260 5.2 4 4 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8586000.0 12.8 7.8 72 101900 727 1361 320 507 676 146 52800 66700 17100 3130 270 5.7 3 3 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8589600.0 14.4 7.8 65 101900 932 1361 327 681 824 115 72100 82900 15200 3040 270 6.7 3 3 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8593200.0 15.0 8.9 67 101900 1082 1361 331 795 695 240 83100 70100 27200 8300 270 8.2 3 3 16.0 2000 9 999999999 110 0.1330 0 88 0.130 0.0 1.0 -8596800.0 15.0 8.3 64 101800 1167 1361 330 638 299 381 69700 32500 41800 16030 280 8.8 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8600400.0 16.1 9.4 64 101800 1180 1361 337 496 96 413 54800 9900 46200 18340 280 9.3 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8604000.0 15.6 8.9 64 101800 1121 1361 334 632 285 396 68400 30900 42900 15150 260 8.8 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8607600.0 15.6 8.9 64 101800 994 1361 334 571 313 342 61500 33700 36800 10510 260 8.8 3 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8611200.0 14.4 8.9 70 101700 807 1361 331 581 644 198 61800 65900 22600 4630 270 10.3 4 4 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8614800.0 13.3 8.9 75 101700 574 1361 323 366 462 171 37800 44700 18900 3480 260 8.8 4 3 16.0 2000 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8618400.0 12.8 8.3 74 101700 310 1361 323 210 318 137 21300 25200 15500 3000 280 4.6 5 4 16.0 7620 9 999999999 120 0.1330 0 88 0.130 0.0 1.0 -8622000.0 11.7 8.9 83 101700 56 896 319 7 88 5 1200 5000 900 130 290 6.7 6 4 16.0 2000 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8625600.0 11.1 8.9 86 101800 0 0 316 0 0 0 0 0 0 0 260 6.7 6 4 16.0 2000 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8629200.0 11.1 8.9 86 101800 0 0 316 0 0 0 0 0 0 0 270 6.7 6 4 16.0 2000 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8632800.0 11.1 8.9 86 101800 0 0 316 0 0 0 0 0 0 0 280 5.2 6 4 16.0 2000 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8636400.0 10.6 8.9 89 101900 0 0 316 0 0 0 0 0 0 0 270 4.1 6 5 16.0 2000 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8640000.0 10.6 8.9 89 101900 0 0 316 0 0 0 0 0 0 0 280 3.1 6 5 16.0 2000 9 999999999 130 0.1330 0 88 0.130 0.0 1.0 -8643600.0 10.6 8.9 89 101900 0 0 311 0 0 0 0 0 0 0 260 4.1 4 3 16.0 2000 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8647200.0 10.6 8.9 89 101800 0 0 311 0 0 0 0 0 0 0 250 5.2 10 3 16.0 2000 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8650800.0 10.0 8.9 93 101800 0 0 309 0 0 0 0 0 0 0 250 3.6 3 3 16.0 2000 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8654400.0 9.4 8.3 93 101800 0 0 308 0 0 0 0 0 0 0 270 3.6 4 4 16.0 2000 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8658000.0 10.0 8.9 93 101800 0 0 325 0 0 0 0 0 0 0 270 2.6 8 8 16.0 305 9 999999999 140 0.1330 0 88 0.130 0.0 1.0 -8661600.0 10.0 8.9 93 101800 12 419 325 0 0 0 0 0 0 0 0 0.0 8 8 16.0 244 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -8665200.0 11.1 9.4 89 101800 216 1360 347 79 208 46 8300 13900 6100 820 130 2.1 10 10 12.8 244 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -8668800.0 12.2 9.4 83 101800 486 1360 336 258 348 134 27500 33300 15600 2730 120 3.1 8 8 12.8 244 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -8672400.0 13.3 10.0 80 101800 732 1360 324 277 81 233 30400 8100 26000 7160 50 2.6 4 3 14.4 7620 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -8676000.0 13.9 10.6 80 101800 937 1360 325 449 165 335 48900 17400 36900 10000 20 1.5 3 2 14.4 7620 9 999999999 150 0.1330 0 88 0.130 0.0 1.0 -8679600.0 16.1 11.7 75 101900 1086 1360 342 341 24 322 39900 2200 38200 14350 350 2.6 6 4 14.4 7620 9 999999999 160 0.1330 0 88 0.130 0.0 1.0 -8683200.0 16.1 10.0 67 101800 1170 1360 340 443 42 407 48900 4300 45200 17860 300 7.2 5 4 14.4 7620 9 999999999 170 0.1330 0 88 0.130 0.0 1.0 -8686800.0 15.6 9.4 67 101800 1183 1360 337 625 229 426 68700 24400 47400 18330 290 7.2 7 4 16.0 7620 9 999999999 170 0.1330 0 88 0.130 0.0 1.0 -8690400.0 18.3 10.6 61 101700 1124 1360 340 600 249 394 65100 27000 42700 15170 290 6.2 3 1 16.0 7620 9 999999999 180 0.1330 0 88 0.130 0.0 1.0 -8694000.0 18.9 10.0 56 101600 997 1360 342 678 545 277 71800 56600 30300 8410 290 5.2 2 1 16.0 7620 9 999999999 190 0.1330 0 88 0.130 0.0 1.0 -8697600.0 21.1 8.3 44 101500 810 1360 351 363 113 295 39800 11500 32900 9230 280 7.2 3 1 16.0 7620 9 999999999 190 0.1330 0 88 0.130 0.0 1.0 -8701200.0 20.0 7.2 43 101500 577 1360 352 263 132 207 28400 13100 22800 4920 300 4.6 4 3 16.0 6096 9 999999999 200 0.1330 0 88 0.130 0.0 1.0 -8704800.0 15.0 9.4 69 101600 314 1360 331 177 249 119 18200 20000 13600 2490 280 7.2 6 3 16.0 4572 9 999999999 209 0.1330 0 88 0.130 0.0 1.0 -8708400.0 13.3 8.9 75 101600 58 918 323 7 72 5 1100 3600 900 100 280 7.2 6 3 16.0 6096 9 999999999 209 0.1330 0 88 0.130 0.0 1.0 -8712000.0 15.0 10.6 75 101700 0 0 333 0 0 0 0 0 0 0 350 2.1 7 3 16.0 6096 9 999999999 220 0.1330 0 88 0.130 0.0 1.0 -8715600.0 14.4 6.7 60 101800 0 0 328 0 0 0 0 0 0 0 260 5.7 8 4 16.0 6096 9 999999999 230 0.1330 0 88 0.130 0.0 1.0 -8719200.0 13.9 10.0 77 101800 0 0 339 0 0 0 0 0 0 0 290 6.2 10 7 16.0 6096 9 999999999 240 0.1330 0 88 0.130 0.0 1.0 -8722800.0 12.8 9.4 80 101800 0 0 333 0 0 0 0 0 0 0 290 4.1 9 7 16.0 6096 9 999999999 230 0.1330 0 88 0.130 0.0 1.0 -8726400.0 12.2 9.4 83 101800 0 0 321 0 0 0 0 0 0 0 250 4.6 9 4 16.0 6096 9 999999999 230 0.1330 0 88 0.130 0.0 1.0 -8730000.0 13.3 7.2 67 101900 0 0 321 0 0 0 0 0 0 0 280 4.6 6 3 16.0 2000 9 999999999 220 0.1340 0 88 0.130 0.0 1.0 -8733600.0 12.2 9.4 83 101900 0 0 306 0 0 0 0 0 0 0 280 5.7 0 0 16.0 2000 9 999999999 220 0.1340 0 88 0.130 0.0 1.0 -8737200.0 11.7 10.0 89 101800 0 0 317 0 0 0 0 0 0 0 360 2.6 4 3 16.0 2000 9 999999999 209 0.1340 0 88 0.130 0.0 1.0 -8740800.0 12.2 10.0 86 101800 0 0 331 0 0 0 0 0 0 0 130 2.1 8 7 16.0 3658 9 999999999 209 0.1340 0 88 0.130 0.0 1.0 -8744400.0 13.3 9.4 77 101700 0 0 332 0 0 0 0 0 0 0 100 4.6 8 6 16.0 6096 9 999999999 200 0.1340 0 88 0.130 0.0 1.0 -8748000.0 13.3 8.9 75 101700 14 464 331 0 0 0 0 0 0 0 130 2.6 8 6 16.0 6096 9 999999999 200 0.1340 0 88 0.130 0.0 1.0 -8751600.0 14.4 9.4 72 101700 223 1359 354 66 75 54 7300 5400 6400 1150 0 0.0 9 9 16.0 3353 9 999999999 190 0.1340 0 88 0.130 0.0 1.0 -8755200.0 15.6 11.1 75 101800 492 1359 344 295 382 156 31000 36700 17800 3280 90 2.1 7 6 16.0 3658 9 999999999 190 0.1340 0 88 0.130 0.0 1.0 -8758800.0 17.8 10.0 60 101700 737 1359 345 156 12 150 18400 900 17900 6710 70 1.5 4 3 16.0 3658 9 999999999 190 0.1340 0 88 0.130 0.0 1.0 -8762400.0 17.2 12.2 72 101700 941 1359 348 412 112 334 45300 11500 37300 11560 60 2.6 5 4 16.0 3658 9 999999999 180 0.1340 0 88 0.130 0.0 1.0 -8766000.0 18.3 11.7 65 101800 1091 1359 355 563 220 386 61700 23400 42900 13940 0 0.0 5 5 14.4 3658 9 999999999 180 0.1340 0 88 0.130 0.0 1.0 -8769600.0 21.7 6.1 36 101700 1174 1359 362 839 587 331 89700 61300 36600 15190 140 5.7 4 4 16.0 3658 9 999999999 190 0.1340 0 88 0.130 0.0 1.0 -8773200.0 21.1 -0.6 23 101800 1187 1359 375 521 120 416 57300 12800 46100 18070 160 7.2 9 9 16.0 3353 9 999999999 190 0.1340 0 88 0.130 0.0 1.0 -8776800.0 19.4 8.3 49 101800 1127 1359 369 344 18 329 40400 1600 39100 14750 170 2.6 9 8 16.0 3658 9 999999999 200 0.1340 0 88 0.130 0.0 1.0 -8780400.0 19.4 6.0 42 101700 1000 1359 367 228 0 228 27100 0 27100 10730 180 2.6 9 8 16.0 3658 9 999999999 200 0.1340 0 88 0.130 0.0 1.0 -8784000.0 19.4 6.1 42 101700 813 1359 361 225 6 221 26000 500 25600 9460 190 5.7 8 7 16.0 3658 9 999999999 200 0.1340 0 88 0.130 0.0 1.0 -8787600.0 18.3 11.1 63 101700 581 1359 375 195 20 186 21800 1600 21100 6850 200 6.2 9 9 16.0 3658 9 999999999 209 0.1340 0 88 0.130 0.0 1.0 -8791200.0 17.2 11.7 70 101700 318 1359 363 130 58 117 14300 5000 13100 2740 190 7.2 9 8 16.0 3962 9 999999999 209 0.1340 0 88 0.130 0.0 1.0 -8794800.0 16.1 11.7 75 101700 61 940 375 6 17 5 700 600 700 80 180 5.7 10 10 16.0 853 9 999999999 220 0.1340 0 88 0.130 0.0 1.0 -8798400.0 15.6 12.2 80 101700 0 0 373 0 0 0 0 0 0 0 160 3.6 10 10 14.4 701 9 999999999 220 0.1340 0 88 0.130 0.0 1.0 -8802000.0 14.4 12.8 90 101800 0 0 368 0 0 0 0 0 0 0 230 3.6 10 10 12.8 488 9 999999999 220 0.1340 0 88 0.130 4.0 1.0 -8805600.0 13.9 11.1 83 101800 0 0 363 0 0 0 0 0 0 0 170 1.5 10 10 14.4 1067 9 999999999 230 0.1340 0 88 0.130 2.0 1.0 -8809200.0 13.9 12.2 89 101800 0 0 364 0 0 0 0 0 0 0 110 3.6 10 10 16.0 1829 9 999999999 220 0.1340 0 88 0.130 1.0 1.0 -8812800.0 13.9 11.7 87 101800 0 0 364 0 0 0 0 0 0 0 80 2.1 10 10 16.0 2438 9 999999999 200 0.1340 0 88 0.130 0.0 1.0 -8816400.0 14.4 12.2 87 101800 0 0 349 0 0 0 0 0 0 0 120 4.6 8 8 16.0 518 9 999999999 190 0.1340 0 88 0.130 0.0 1.0 -8820000.0 14.4 11.7 84 101800 0 0 366 0 0 0 0 0 0 0 110 3.6 10 10 16.0 457 9 999999999 180 0.1340 0 88 0.130 0.0 1.0 -8823600.0 15.0 12.2 83 101800 0 0 370 0 0 0 0 0 0 0 110 2.6 10 10 16.0 518 9 999999999 170 0.1340 0 88 0.130 0.0 1.0 -8827200.0 14.4 12.2 87 101700 0 0 367 0 0 0 0 0 0 0 150 5.2 10 10 16.0 732 9 999999999 160 0.1340 0 88 0.130 0.0 1.0 -8830800.0 14.4 12.2 87 101700 0 0 367 0 0 0 0 0 0 0 190 4.1 10 10 16.0 914 9 999999999 150 0.1340 0 88 0.130 0.0 1.0 -8834400.0 13.9 11.1 83 101700 16 487 346 0 0 0 0 0 0 0 170 3.6 8 8 16.0 914 9 999999999 130 0.1340 0 88 0.130 0.0 1.0 -8838000.0 15.0 11.7 81 101700 229 1359 352 38 0 38 4400 0 4400 1430 180 4.1 8 8 16.0 1006 9 999999999 120 0.1340 0 88 0.130 0.0 1.0 -8841600.0 15.6 11.1 75 101700 497 1359 354 278 377 140 28800 35300 15800 2740 180 5.2 8 8 16.0 1128 9 999999999 110 0.1340 0 88 0.130 0.0 1.0 -8845200.0 15.6 11.7 78 101700 742 1359 373 515 700 132 54100 69700 15900 2930 200 5.7 10 10 16.0 823 9 999999999 100 0.1340 0 88 0.130 0.0 1.0 -8848800.0 17.2 10.6 65 101700 946 1359 361 645 542 267 68200 56100 29000 7500 190 4.6 8 8 16.0 1006 9 999999999 90 0.1340 0 88 0.130 0.0 1.0 -8852400.0 18.9 11.7 63 101700 1095 1359 371 443 89 371 48800 9200 41400 14900 180 7.2 8 8 16.0 1341 9 999999999 90 0.1340 0 88 0.130 0.0 1.0 -8856000.0 16.1 12.8 81 101700 1178 1359 376 821 533 358 87100 55600 38800 16730 200 5.2 10 10 11.2 1036 9 999999999 100 0.1340 0 88 0.130 0.0 1.0 -8859600.0 17.2 11.7 70 101700 1190 1359 363 913 801 210 97700 82000 25700 10000 190 5.7 8 8 16.0 853 9 999999999 110 0.1340 0 88 0.130 0.0 1.0 -8863200.0 17.8 11.1 65 101700 1130 1359 365 803 649 262 84000 65400 29500 10200 200 7.2 8 8 16.0 914 9 999999999 110 0.1340 0 88 0.130 0.0 1.0 -8866800.0 17.2 10.0 63 101600 1003 1359 345 691 606 242 74300 63100 27600 7360 200 7.2 4 4 16.0 2000 9 999999999 120 0.1340 0 88 0.130 0.0 1.0 -8870400.0 16.7 10.6 67 101500 816 1359 359 470 319 278 50200 33900 29800 7080 200 6.2 8 8 16.0 762 9 999999999 130 0.1340 0 88 0.130 0.0 1.0 -8874000.0 15.6 10.0 69 101500 584 1359 353 287 178 210 30900 17700 23300 5010 210 4.6 8 8 16.0 701 9 999999999 130 0.1340 0 88 0.130 0.0 1.0 -8877600.0 15.0 10.0 72 101500 321 1359 350 213 245 155 22400 20100 17600 3390 200 4.6 8 8 16.0 762 9 999999999 140 0.1340 0 88 0.130 0.0 1.0 -8881200.0 14.4 9.4 72 101500 64 962 354 11 77 8 1500 3900 1200 160 200 6.2 9 9 16.0 1372 9 999999999 150 0.1340 0 88 0.130 0.0 1.0 -8884800.0 14.4 9.4 72 101500 0 0 354 0 0 0 0 0 0 0 210 5.2 9 9 16.0 1829 9 999999999 150 0.1340 0 88 0.130 0.0 1.0 -8888400.0 13.9 10.0 77 101500 0 0 352 0 0 0 0 0 0 0 210 5.2 9 9 16.0 1676 9 999999999 160 0.1340 0 88 0.130 0.0 1.0 -8892000.0 13.9 10.0 77 101400 0 0 352 0 0 0 0 0 0 0 210 4.6 9 9 16.0 1311 9 999999999 160 0.1340 0 88 0.130 0.0 1.0 -8895600.0 13.3 9.4 77 101400 0 0 348 0 0 0 0 0 0 0 200 4.1 9 9 16.0 1341 9 999999999 160 0.1340 0 88 0.130 0.0 1.0 -8899200.0 12.8 8.9 77 101400 0 0 333 0 0 0 0 0 0 0 170 2.6 7 7 16.0 6096 9 999999999 160 0.1340 0 88 0.130 0.0 1.0 -8902800.0 12.8 8.9 77 101400 0 0 333 0 0 0 0 0 0 0 160 1.5 7 7 16.0 6096 9 999999999 160 0.1350 0 88 0.130 0.0 1.0 -8906400.0 13.3 8.9 75 101300 0 0 348 0 0 0 0 0 0 0 140 2.1 9 9 16.0 2591 9 999999999 160 0.1350 0 88 0.130 0.0 1.0 -8910000.0 12.8 8.9 77 101300 0 0 345 0 0 0 0 0 0 0 120 4.1 9 9 16.0 3353 9 999999999 160 0.1350 0 88 0.130 0.0 1.0 -8913600.0 12.8 8.9 77 101200 0 0 345 0 0 0 0 0 0 0 120 3.1 9 9 16.0 1829 9 999999999 160 0.1350 0 88 0.130 0.0 1.0 -8917200.0 12.2 9.4 83 101200 0 0 353 0 0 0 0 0 0 0 160 3.6 10 10 16.0 1402 9 999999999 160 0.1350 0 88 0.130 0.0 1.0 -8920800.0 11.7 9.4 86 101300 19 532 350 0 0 0 0 0 0 0 130 3.6 10 10 16.0 1829 9 999999999 160 0.1350 0 88 0.130 1.0 1.0 -8924400.0 12.2 10.0 86 101300 235 1358 344 111 417 39 11500 30200 6200 720 130 3.6 9 9 16.0 3353 9 999999999 160 0.1350 0 88 0.130 0.0 1.0 -8928000.0 12.8 10.0 83 101300 503 1358 327 319 650 78 33500 61000 10900 1540 120 2.1 5 5 16.0 2000 9 999999999 160 0.1350 0 88 0.130 0.0 1.0 -8931600.0 13.3 8.9 75 101300 747 1358 340 511 712 118 54000 71300 14700 2670 120 1.5 8 8 16.0 975 9 999999999 160 0.1350 0 88 0.130 0.0 1.0 -8935200.0 14.4 10.0 75 101400 950 1358 332 673 660 210 70100 66300 23600 5710 350 3.1 4 4 16.0 2000 9 999999999 160 0.1350 0 88 0.130 0.0 1.0 -8938800.0 14.4 10.0 75 101400 1099 1358 347 637 321 377 69100 34800 40900 13790 10 3.6 8 8 16.0 823 9 999999999 150 0.1350 0 88 0.130 0.0 1.0 -8942400.0 13.9 10.0 77 101400 1181 1358 344 839 605 312 90400 63200 35200 14660 10 4.1 8 8 16.0 1433 9 999999999 150 0.1350 0 88 0.130 0.0 1.0 -8946000.0 15.6 10.6 72 101400 1193 1358 371 876 729 235 93100 74200 27700 11250 310 1.5 10 10 16.0 1524 9 999999999 150 0.1350 0 88 0.130 0.0 1.0 -8949600.0 15.0 10.0 72 101400 1133 1358 350 880 843 175 91700 84500 20900 6360 240 4.6 8 8 16.0 884 9 999999999 150 0.1350 0 88 0.130 0.0 1.0 -8953200.0 16.1 10.0 67 101300 1006 1358 340 764 827 150 79500 82800 18000 4160 260 6.2 4 4 16.0 2000 9 999999999 150 0.1350 0 88 0.130 0.0 1.0 -8956800.0 16.1 10.0 67 101300 820 1358 340 600 768 135 63500 77400 16600 3250 260 7.7 4 4 16.0 2000 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -8960400.0 15.0 10.0 72 101400 587 1358 350 404 637 128 41500 60600 15200 2470 240 6.7 8 8 16.0 914 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -8964000.0 13.3 10.0 80 101400 325 1358 342 210 414 111 21100 33300 13100 2140 250 6.7 8 8 16.0 914 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -8967600.0 12.8 10.0 83 101400 66 984 327 11 135 6 1800 7900 1200 150 240 4.6 5 5 16.0 7620 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -8971200.0 12.8 9.4 80 101500 0 0 326 0 0 0 0 0 0 0 240 5.7 5 5 16.0 2000 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -8974800.0 12.8 9.4 80 101500 0 0 338 0 0 0 0 0 0 0 200 4.1 8 8 16.0 488 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -8978400.0 12.8 8.9 77 101500 0 0 355 0 0 0 0 0 0 0 200 2.6 10 10 16.0 549 9 999999999 130 0.1350 0 88 0.130 0.0 1.0 -8982000.0 12.2 8.9 80 101500 0 0 352 0 0 0 0 0 0 0 200 2.6 10 10 16.0 671 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -8985600.0 12.2 8.9 80 101500 0 0 335 0 0 0 0 0 0 0 200 2.1 8 8 16.0 762 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -8989200.0 12.2 8.9 80 101400 0 0 335 0 0 0 0 0 0 0 190 2.1 9 8 16.0 884 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -8992800.0 12.2 9.4 83 101400 0 0 353 0 0 0 0 0 0 0 180 2.6 10 10 16.0 1189 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -8996400.0 12.2 9.4 83 101400 0 0 336 0 0 0 0 0 0 0 160 1.5 9 8 16.0 1311 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9000000.0 12.2 9.4 83 101400 0 0 343 0 0 0 0 0 0 0 140 1.5 10 9 16.0 1250 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9003600.0 12.2 10.0 86 101400 0 0 353 0 0 0 0 0 0 0 140 3.6 10 10 16.0 1128 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9007200.0 12.2 8.9 80 101400 21 554 352 0 0 0 0 0 0 0 210 2.1 10 10 16.0 1189 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9010800.0 12.2 9.4 83 101500 240 1357 353 43 0 43 4900 0 4900 1600 270 5.2 10 10 16.0 1280 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9014400.0 12.8 9.4 80 101500 508 1357 356 138 11 134 15600 800 15400 5120 240 3.6 10 10 16.0 1250 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9018000.0 13.3 7.8 69 101500 752 1357 356 345 162 254 37400 16800 28100 6590 210 2.6 10 10 16.0 1524 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9021600.0 14.4 6.7 60 101400 955 1357 360 516 253 337 56300 26700 37400 10270 200 5.2 10 10 16.0 1676 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9025200.0 15.6 7.2 57 101400 1102 1357 367 518 149 397 56800 15800 43900 14660 180 5.2 10 10 16.0 1158 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9028800.0 16.7 7.2 53 101400 1185 1357 373 556 144 430 61000 15300 47600 18680 190 3.6 10 10 16.0 1676 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9032400.0 16.1 7.2 56 101400 1196 1357 370 374 36 342 41400 3700 38100 16130 190 6.7 10 10 16.0 1829 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9036000.0 15.0 8.3 64 101300 1136 1357 365 657 291 412 71000 31500 44600 16460 190 6.2 10 10 16.0 1524 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9039600.0 14.4 8.9 70 101300 1009 1357 346 402 73 347 44200 7500 38600 12800 180 5.7 9 8 16.0 732 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9043200.0 14.4 7.2 62 101200 823 1357 361 354 94 297 38900 9600 33100 9410 180 3.6 10 10 16.0 1341 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9046800.0 15.6 7.8 60 101200 590 1357 358 126 0 126 14600 0 14600 5280 170 6.2 10 9 16.0 1676 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9050400.0 14.4 7.8 65 101200 328 1357 352 110 8 108 12100 400 12000 3470 180 5.2 9 9 16.0 1981 9 999999999 140 0.1350 0 88 0.130 0.0 1.0 -9054000.0 13.9 7.8 67 101200 69 1006 349 7 3 6 700 200 700 160 170 5.2 10 9 16.0 1829 9 999999999 150 0.1350 0 88 0.130 0.0 1.0 -9057600.0 13.3 8.3 72 101200 0 0 340 0 0 0 0 0 0 0 170 6.7 10 8 16.0 2134 9 999999999 150 0.1350 0 88 0.130 0.0 1.0 -9061200.0 13.3 7.8 69 101200 0 0 334 0 0 0 0 0 0 0 160 3.6 9 7 16.0 6096 9 999999999 150 0.1350 0 88 0.130 0.0 1.0 -9064800.0 13.3 8.3 72 101100 0 0 340 0 0 0 0 0 0 0 140 2.1 10 8 16.0 1524 9 999999999 150 0.1350 0 88 0.130 0.0 1.0 -9068400.0 13.9 8.3 69 101100 0 0 333 0 0 0 0 0 0 0 180 5.2 9 6 16.0 6096 9 999999999 150 0.1350 0 88 0.130 0.0 1.0 -9072000.0 13.9 7.8 67 101100 0 0 342 0 0 0 0 0 0 0 120 4.6 10 8 16.0 3353 9 999999999 150 0.1350 0 88 0.130 0.0 1.0 -9075600.0 13.9 7.2 64 101100 0 0 358 0 0 0 0 0 0 0 130 6.7 10 10 16.0 3353 9 999999999 150 0.1360 0 88 0.130 0.0 1.0 -9079200.0 13.9 7.2 64 101100 0 0 358 0 0 0 0 0 0 0 120 6.2 10 10 16.0 3353 9 999999999 150 0.1360 0 88 0.130 0.0 1.0 -9082800.0 13.9 7.2 64 101000 0 0 349 0 0 0 0 0 0 0 100 5.7 10 9 16.0 2743 9 999999999 160 0.1360 0 88 0.130 0.0 1.0 -9086400.0 13.3 7.8 69 100900 0 0 346 0 0 0 0 0 0 0 130 6.7 10 9 16.0 3048 9 999999999 160 0.1360 0 88 0.130 0.0 1.0 -9090000.0 12.8 8.3 74 100900 0 0 325 0 0 0 0 0 0 0 120 5.7 8 5 16.0 6096 9 999999999 160 0.1360 0 88 0.130 0.0 1.0 -9093600.0 12.8 7.8 72 101000 23 576 328 0 0 0 0 0 0 0 120 7.2 7 6 16.0 6096 9 999999999 160 0.1360 0 88 0.130 0.0 1.0 -9097200.0 13.3 7.2 67 101000 246 1356 338 53 5 52 6000 100 6000 1870 130 5.2 9 8 16.0 2134 9 999999999 160 0.1360 0 88 0.130 0.0 1.0 -9100800.0 13.9 7.8 67 101000 514 1356 359 80 0 80 9500 0 9500 3450 110 5.7 10 10 16.0 1463 9 999999999 170 0.1360 0 88 0.130 0.0 1.0 -9104400.0 15.0 7.8 62 101000 757 1356 365 107 0 107 13000 0 13000 5120 120 7.7 10 10 16.0 2134 9 999999999 170 0.1360 0 88 0.130 0.0 1.0 -9108000.0 15.6 8.3 62 101000 959 1356 368 522 247 346 56800 26100 38300 10590 120 7.2 10 10 16.0 1829 9 999999999 170 0.1360 0 88 0.130 0.0 1.0 -9111600.0 16.7 8.9 60 101000 1106 1356 375 205 6 200 25000 500 24600 9980 110 9.3 10 10 16.0 1829 9 999999999 180 0.1360 0 88 0.130 0.0 1.0 -9115200.0 16.1 8.9 62 101000 1188 1356 372 148 0 148 18600 0 18600 7760 130 9.8 10 10 16.0 1402 9 999999999 190 0.1360 0 88 0.130 0.0 1.0 -9118800.0 16.1 8.9 62 100900 1199 1356 372 147 0 147 18500 0 18500 7720 120 11.3 10 10 16.0 1494 9 999999999 190 0.1360 0 88 0.130 0.0 1.0 -9122400.0 15.6 11.1 75 100900 1139 1356 372 153 0 153 19100 0 19100 7960 150 5.2 10 10 16.0 1311 9 999999999 200 0.1360 0 88 0.130 0.0 1.0 -9126000.0 14.4 11.7 84 100900 1012 1356 366 154 0 154 18900 0 18900 7800 150 4.6 10 10 12.8 1250 9 999999999 209 0.1360 0 88 0.130 0.0 1.0 -9129600.0 13.9 11.7 87 100800 825 1356 364 108 0 108 13200 0 13200 5330 160 3.1 10 10 16.0 1676 9 999999999 220 0.1360 0 88 0.130 1.0 1.0 -9133200.0 13.9 11.7 87 100800 594 1356 364 125 0 125 14500 0 14500 5260 120 2.6 10 10 11.2 1250 9 999999999 220 0.1360 0 88 0.130 1.0 1.0 -9136800.0 13.3 11.7 90 100700 332 1356 361 149 96 126 16300 8400 14300 2950 130 2.6 10 10 14.4 1463 9 999999999 230 0.1360 0 88 0.130 1.0 1.0 -9140400.0 13.9 11.1 83 100600 72 1028 363 10 34 8 1200 1300 1100 120 110 2.6 10 10 16.0 1829 9 999999999 240 0.1360 0 88 0.130 0.0 1.0 -9144000.0 13.3 11.7 90 100700 0 0 361 0 0 0 0 0 0 0 120 3.6 10 10 16.0 1676 9 999999999 250 0.1360 0 88 0.130 0.0 1.0 -9147600.0 13.3 11.1 87 100700 0 0 360 0 0 0 0 0 0 0 130 5.2 10 10 16.0 1829 9 999999999 250 0.1360 0 88 0.130 1.0 1.0 -9151200.0 12.8 11.1 89 100700 0 0 358 0 0 0 0 0 0 0 190 2.6 10 10 12.8 1372 9 999999999 260 0.1360 0 88 0.130 0.0 1.0 -9154800.0 12.2 11.1 93 100700 0 0 355 0 0 0 0 0 0 0 200 2.6 10 10 8.0 701 9 999999999 250 0.1360 0 88 0.130 3.0 1.0 -9158400.0 11.7 11.1 96 100700 0 0 352 0 0 0 0 0 0 0 210 2.1 10 10 3.2 732 9 999999999 240 0.1360 0 88 0.130 4.0 1.0 -9162000.0 12.2 11.1 93 100700 0 0 355 0 0 0 0 0 0 0 160 3.1 10 10 4.8 671 9 999999999 230 0.1370 0 88 0.130 4.0 1.0 -9165600.0 11.7 10.0 89 100700 0 0 351 0 0 0 0 0 0 0 170 5.2 10 10 16.0 1829 9 999999999 220 0.1370 0 88 0.130 1.0 1.0 -9169200.0 11.1 9.4 89 100700 0 0 347 0 0 0 0 0 0 0 200 4.6 10 10 16.0 2286 9 999999999 209 0.1370 0 88 0.130 0.0 1.0 -9172800.0 11.1 10.0 93 100700 0 0 348 0 0 0 0 0 0 0 190 4.1 10 10 16.0 2134 9 999999999 200 0.1370 0 88 0.130 0.0 1.0 -9176400.0 11.1 8.9 86 100800 0 0 347 0 0 0 0 0 0 0 270 2.6 10 10 16.0 1067 9 999999999 190 0.1370 0 88 0.130 0.0 1.0 -9180000.0 11.1 9.4 89 100800 26 621 347 0 0 0 0 0 0 0 170 2.1 10 10 16.0 975 9 999999999 180 0.1370 0 88 0.130 0.0 1.0 -9183600.0 11.7 8.3 80 100900 252 1355 349 38 0 38 4400 0 4400 1470 0 0.0 10 10 16.0 1402 9 999999999 170 0.1370 0 88 0.130 0.0 1.0 -9187200.0 11.7 9.4 86 100900 519 1355 350 157 28 146 17200 2700 16200 4100 180 3.1 10 10 16.0 3048 9 999999999 160 0.1370 0 88 0.130 0.0 1.0 -9190800.0 12.8 8.9 77 101000 762 1355 355 518 574 195 54800 58400 21900 4400 170 4.6 10 10 16.0 3048 9 999999999 150 0.1370 0 88 0.130 0.0 1.0 -9194400.0 13.3 6.7 64 100900 963 1355 332 696 760 154 74200 77600 18900 4460 180 4.6 7 7 16.0 4572 9 999999999 140 0.1370 0 88 0.130 0.0 1.0 -9198000.0 15.6 5.0 49 101000 1110 1355 347 837 803 178 86800 80300 20800 6040 190 4.1 8 8 16.0 3048 9 999999999 140 0.1370 0 88 0.130 0.0 1.0 -9201600.0 15.6 5.0 49 101000 1191 1355 334 881 760 211 94200 77800 25600 10190 170 4.1 5 5 16.0 3658 9 999999999 130 0.1370 0 88 0.130 0.0 1.0 -9205200.0 16.1 4.4 46 101000 1202 1355 334 944 867 173 99300 87300 21600 8030 210 5.7 4 4 16.0 2000 9 999999999 130 0.1370 0 88 0.130 0.0 1.0 -9208800.0 16.7 5.0 46 101000 1142 1355 337 886 873 149 94000 88300 19500 5830 210 5.7 4 4 16.0 2000 9 999999999 130 0.1370 0 88 0.130 0.0 1.0 -9212400.0 17.2 6.1 48 101000 1014 1355 356 770 851 131 81400 85800 17000 3880 210 6.2 8 8 16.0 3353 9 999999999 130 0.1370 0 88 0.130 0.0 1.0 -9216000.0 16.1 4.4 46 101000 828 1355 336 613 805 119 63600 79900 14600 2670 190 7.7 5 5 16.0 2000 9 999999999 120 0.1370 0 88 0.130 0.0 1.0 -9219600.0 16.1 4.4 46 101000 597 1355 334 425 707 113 44100 68000 14100 2250 200 6.2 4 4 16.0 2000 9 999999999 120 0.1370 0 88 0.130 0.0 1.0 -9223200.0 14.4 5.6 55 101000 336 1355 330 214 414 112 21600 33800 13200 2150 190 7.2 5 5 16.0 2000 9 999999999 120 0.1370 0 88 0.130 0.0 1.0 -9226800.0 13.3 7.2 67 101000 75 1050 326 15 150 8 2100 8800 1500 200 180 4.1 5 5 16.0 2000 9 999999999 120 0.1370 0 88 0.130 0.0 1.0 -9230400.0 12.2 8.3 77 101100 0 0 320 0 0 0 0 0 0 0 0 0.0 4 4 16.0 2000 9 999999999 110 0.1370 0 88 0.130 0.0 1.0 -9234000.0 12.8 5.6 62 101100 0 0 320 0 0 0 0 0 0 0 160 5.7 4 4 16.0 2000 9 999999999 110 0.1370 0 88 0.130 0.0 1.0 -9237600.0 12.8 8.3 74 101200 0 0 323 0 0 0 0 0 0 0 70 5.2 4 4 16.0 2000 9 999999999 110 0.1370 0 88 0.130 0.0 1.0 -9241200.0 12.2 6.7 69 101200 0 0 303 0 0 0 0 0 0 0 100 2.6 0 0 16.0 2000 9 999999999 110 0.1370 0 88 0.130 0.0 1.0 -9244800.0 11.1 7.2 77 101300 0 0 299 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 110 0.1370 0 88 0.130 0.0 1.0 -9248400.0 10.6 7.2 79 101300 0 0 312 0 0 0 0 0 0 0 290 2.6 4 4 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9252000.0 11.7 9.4 86 101300 0 0 321 0 0 0 0 0 0 0 330 4.6 5 5 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9255600.0 11.1 8.3 83 101300 0 0 318 0 0 0 0 0 0 0 320 3.6 5 5 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9259200.0 11.1 7.8 80 101400 0 0 315 0 0 0 0 0 0 0 0 0.0 4 4 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9262800.0 8.9 7.2 89 101400 0 0 302 0 0 0 0 0 0 0 180 2.6 3 3 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9266400.0 9.4 7.2 86 101500 28 643 307 0 0 0 0 0 0 0 270 1.5 4 4 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9270000.0 11.1 8.9 86 101600 258 1355 330 131 463 43 13600 34900 6900 790 340 3.6 8 8 16.0 457 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9273600.0 12.2 8.9 80 101700 524 1355 318 338 664 80 35500 62900 11100 1600 360 3.6 3 3 16.0 2000 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9277200.0 13.3 9.4 77 101700 766 1355 324 545 771 107 56600 76200 13400 2320 360 3.1 3 3 16.0 2000 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9280800.0 13.3 8.9 75 101800 967 1355 323 724 861 108 74900 85800 13500 2560 80 1.5 3 3 16.0 2000 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9284400.0 14.4 7.8 65 101900 1114 1355 327 849 857 143 90200 86700 18700 5220 60 2.1 3 3 16.0 2000 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9288000.0 16.1 8.3 60 101900 1195 1355 335 941 916 131 96600 91700 15500 5010 30 3.1 3 3 16.0 2000 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9291600.0 17.2 6.1 48 101900 1205 1355 338 950 873 171 100100 88000 21600 8070 260 7.2 3 3 16.0 2000 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9295200.0 16.7 6.7 52 102000 1145 1355 342 847 745 216 90000 76000 25700 9010 270 7.2 5 5 16.0 2000 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9298800.0 16.7 5.0 46 101900 1017 1355 334 723 704 193 76400 71500 22600 6010 270 8.2 3 3 16.0 2000 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9302400.0 16.7 5.0 46 101900 831 1355 334 576 655 173 60000 65400 19700 4080 260 8.2 3 3 16.0 2000 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9306000.0 15.6 6.1 53 102000 600 1355 331 416 647 128 42700 61900 15200 2500 250 7.2 3 3 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9309600.0 14.4 6.7 60 102000 339 1355 312 224 459 109 22700 37700 13200 2090 250 8.8 0 0 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9313200.0 13.3 8.9 75 102000 78 1050 323 17 171 8 2300 10100 1500 200 260 8.8 3 3 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9316800.0 12.2 9.4 83 102100 0 0 319 0 0 0 0 0 0 0 270 5.2 3 3 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9320400.0 12.2 9.4 83 102200 0 0 319 0 0 0 0 0 0 0 280 5.2 3 3 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9324000.0 11.7 9.4 86 102100 0 0 317 0 0 0 0 0 0 0 270 2.1 3 3 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9327600.0 11.7 9.4 86 102200 0 0 303 0 0 0 0 0 0 0 260 3.1 0 0 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9331200.0 11.1 8.9 86 102200 0 0 300 0 0 0 0 0 0 0 260 2.6 0 0 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9334800.0 11.1 8.9 86 102200 0 0 300 0 0 0 0 0 0 0 270 2.6 0 0 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9338400.0 11.1 8.9 86 102100 0 0 313 0 0 0 0 0 0 0 240 3.1 3 3 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9342000.0 10.6 8.3 86 102100 0 0 298 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9345600.0 8.9 6.7 86 102100 0 0 302 0 0 0 0 0 0 0 180 2.1 3 3 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9349200.0 8.3 6.1 86 102100 0 0 298 0 0 0 0 0 0 0 210 2.1 3 3 16.0 2000 9 999999999 120 0.1380 0 88 0.130 0.0 1.0 -9352800.0 9.4 6.1 80 102100 31 688 290 0 36 0 0 0 0 0 180 1.5 0 0 16.0 2000 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9356400.0 12.2 8.9 80 102200 263 1354 318 107 225 63 11100 16600 7900 1150 0 0.0 3 3 16.0 2000 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9360000.0 13.3 8.9 75 102200 529 1354 316 307 458 128 32300 43700 15200 2490 280 2.1 1 1 16.0 2000 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9363600.0 13.9 8.3 69 102200 771 1354 318 489 563 168 52600 57500 19800 3770 300 3.1 2 1 16.0 2000 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9367200.0 15.6 7.2 57 102200 971 1354 329 724 784 160 77100 80000 19600 4690 290 3.6 4 2 16.0 2000 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9370800.0 16.7 7.2 53 102300 1117 1354 329 832 773 192 88800 79100 23400 7510 290 3.6 1 1 16.0 6096 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9374400.0 17.2 6.7 50 102200 1198 1354 335 935 874 160 99200 88300 20800 7450 300 5.2 4 2 16.0 6096 9 999999999 130 0.1380 0 88 0.130 0.0 1.0 -9378000.0 17.2 5.6 46 102200 1208 1354 334 938 879 152 95900 87900 17300 5710 290 5.7 3 2 16.0 2000 9 999999999 140 0.1380 0 88 0.130 0.0 1.0 -9381600.0 17.2 7.2 52 102200 1147 1354 331 892 873 150 94600 88300 19600 5980 280 7.2 1 1 16.0 2000 9 999999999 140 0.1380 0 88 0.130 0.0 1.0 -9385200.0 17.2 7.2 52 102100 1020 1354 325 776 832 147 81000 83500 18000 4260 270 5.7 0 0 16.0 2000 9 999999999 140 0.1380 0 88 0.130 0.0 1.0 -9388800.0 16.7 6.7 52 102000 834 1354 336 611 736 157 64100 73900 18500 3770 260 7.7 3 3 16.0 2000 9 999999999 150 0.1380 0 88 0.130 0.0 1.0 -9392400.0 15.0 7.2 60 102100 603 1354 329 406 595 141 43100 58400 17000 2830 260 8.8 3 3 16.0 2000 9 999999999 150 0.1380 0 88 0.130 0.0 1.0 -9396000.0 13.9 7.8 67 102000 343 1354 317 221 440 110 22400 36300 13200 2110 260 7.7 1 1 16.0 5486 9 999999999 150 0.1380 0 88 0.130 0.0 1.0 -9399600.0 13.3 8.3 72 102000 80 1072 319 18 170 9 2400 10100 1600 220 260 7.7 3 2 16.0 2000 9 999999999 160 0.1380 0 88 0.130 0.0 1.0 -9403200.0 12.8 8.9 77 102100 0 0 321 0 0 0 0 0 0 0 260 6.7 3 3 16.0 2000 9 999999999 160 0.1380 0 88 0.130 0.0 1.0 -9406800.0 12.8 9.4 80 102100 0 0 314 0 0 0 0 0 0 0 260 6.2 1 1 16.0 2000 9 999999999 160 0.1380 0 88 0.130 0.0 1.0 -9410400.0 12.2 10.0 86 102100 0 0 312 0 0 0 0 0 0 0 270 4.6 1 1 16.0 6096 9 999999999 160 0.1380 0 88 0.130 0.0 1.0 -9414000.0 12.2 9.4 83 102100 0 0 311 0 0 0 0 0 0 0 260 3.6 1 1 16.0 6096 9 999999999 160 0.1380 0 88 0.130 0.0 1.0 -9417600.0 12.2 9.4 83 102100 0 0 321 0 0 0 0 0 0 0 240 3.6 4 4 16.0 6096 9 999999999 160 0.1380 0 88 0.130 0.0 1.0 -9421200.0 11.7 9.4 86 102100 0 0 328 0 0 0 0 0 0 0 230 1.5 7 7 16.0 6096 9 999999999 160 0.1400 0 88 0.130 0.0 1.0 -9424800.0 11.1 7.8 80 102000 0 0 336 0 0 0 0 0 0 0 210 2.6 9 9 16.0 4572 9 999999999 150 0.1400 0 88 0.130 0.0 1.0 -9428400.0 11.7 9.4 86 102000 0 0 324 0 0 0 0 0 0 0 250 4.1 6 6 16.0 4267 9 999999999 150 0.1400 0 88 0.130 0.0 1.0 -9432000.0 11.7 9.4 86 102000 0 0 328 0 0 0 0 0 0 0 270 2.1 7 7 16.0 4267 9 999999999 150 0.1400 0 88 0.130 0.0 1.0 -9435600.0 11.1 9.4 89 102000 0 0 319 0 0 0 0 0 0 0 260 3.1 5 5 16.0 4572 9 999999999 150 0.1400 0 88 0.130 0.0 1.0 -9439200.0 11.7 9.4 86 102000 34 710 319 1 50 0 0 0 0 0 260 2.1 4 4 16.0 4572 9 999999999 140 0.1400 0 88 0.130 0.0 1.0 -9442800.0 12.8 9.4 80 102000 269 1353 324 138 463 46 14200 35500 7200 840 260 3.6 4 4 16.0 2000 9 999999999 140 0.1400 0 88 0.130 0.0 1.0 -9446400.0 13.9 8.9 72 102000 534 1353 323 345 666 81 36200 63400 11200 1630 320 1.5 2 2 16.0 2000 9 999999999 140 0.1400 0 88 0.130 0.0 1.0 -9450000.0 14.4 9.4 72 102000 775 1353 315 531 691 134 55900 69200 16100 3080 30 3.1 0 0 16.0 2000 9 999999999 140 0.1400 0 88 0.130 0.0 1.0 -9453600.0 15.6 9.4 67 101900 975 1353 334 730 826 134 76700 82900 16700 3670 40 2.6 3 3 16.0 2000 9 999999999 130 0.1400 0 88 0.130 0.0 1.0 -9457200.0 16.1 9.4 64 102000 1120 1353 337 872 892 132 89600 89200 15600 3930 40 2.1 3 3 16.0 2000 9 999999999 140 0.1400 0 88 0.130 0.0 1.0 -9460800.0 18.9 9.4 54 101900 1201 1353 350 947 916 132 97200 91800 15600 5180 280 4.1 3 3 16.0 2000 9 999999999 140 0.1400 0 88 0.130 0.0 1.0 -9464400.0 18.9 7.8 48 101800 1211 1353 348 956 915 135 98100 91600 15800 5460 250 8.2 3 3 16.0 2000 9 999999999 140 0.1400 0 88 0.130 0.0 1.0 -9468000.0 18.3 7.2 48 101800 1150 1353 344 892 873 148 94800 88300 19500 5980 260 9.3 3 3 16.0 2000 9 999999999 140 0.1400 0 88 0.130 0.0 1.0 -9471600.0 17.8 6.7 48 101700 1023 1353 341 775 826 150 80900 82800 18200 4350 260 9.3 3 3 16.0 2000 9 999999999 140 0.1400 0 88 0.130 0.0 1.0 -9475200.0 17.2 8.3 56 101700 837 1353 337 618 804 119 64200 79900 14700 2710 250 9.8 2 2 16.0 2000 9 999999999 140 0.1400 0 88 0.130 0.0 1.0 -9478800.0 16.7 8.9 60 101700 606 1353 325 430 581 169 44700 57000 19200 3460 260 8.8 1 0 16.0 7620 9 999999999 150 0.1400 0 88 0.130 0.0 1.0 -9482400.0 15.6 8.9 64 101600 346 1353 330 154 109 126 16500 9300 14100 2770 250 9.3 3 2 16.0 7620 9 999999999 150 0.1400 0 88 0.130 0.0 1.0 -9486000.0 13.9 10.0 77 101600 83 1094 330 14 43 11 1600 1800 1500 180 250 8.8 4 4 16.0 7620 9 999999999 150 0.1400 0 88 0.130 0.0 1.0 -9489600.0 13.3 9.4 77 101600 0 0 324 0 0 0 0 0 0 0 260 8.8 4 3 16.0 7620 9 999999999 150 0.1400 0 88 0.130 0.0 1.0 -9493200.0 12.8 10.0 83 101600 0 0 322 0 0 0 0 0 0 0 260 7.2 3 3 16.0 2000 9 999999999 150 0.1400 0 88 0.130 0.0 1.0 -9496800.0 12.2 10.0 86 101600 0 0 319 0 0 0 0 0 0 0 260 6.7 3 3 16.0 2000 9 999999999 150 0.1400 0 88 0.130 0.0 1.0 -9500400.0 12.2 10.0 86 101700 0 0 319 0 0 0 0 0 0 0 250 7.7 3 3 16.0 2000 9 999999999 150 0.1400 0 88 0.130 0.0 1.0 -9504000.0 12.2 10.0 86 101600 0 0 319 0 0 0 0 0 0 0 260 7.2 3 3 16.0 2000 9 999999999 160 0.1400 0 88 0.130 0.0 1.0 -9507600.0 11.7 10.0 89 101600 0 0 317 0 0 0 0 0 0 0 260 5.7 3 3 16.0 2000 9 999999999 160 0.1410 0 88 0.130 0.0 1.0 -9511200.0 11.7 10.0 89 101500 0 0 320 0 0 0 0 0 0 0 270 3.6 4 4 16.0 2000 9 999999999 160 0.1410 0 88 0.130 0.0 1.0 -9514800.0 11.7 10.0 89 101400 0 0 325 0 0 0 0 0 0 0 270 4.6 6 6 16.0 2000 9 999999999 160 0.1410 0 88 0.130 0.0 1.0 -9518400.0 12.2 10.0 86 101400 0 0 336 0 0 0 0 0 0 0 260 7.2 8 8 16.0 274 9 999999999 160 0.1410 0 88 0.130 0.0 1.0 -9522000.0 11.7 10.0 89 101400 0 0 334 0 0 0 0 0 0 0 260 6.7 8 8 16.0 274 9 999999999 160 0.1410 0 88 0.130 0.0 1.0 -9525600.0 11.7 10.0 89 101400 37 733 334 1 0 1 100 0 100 40 260 8.2 8 8 16.0 274 9 999999999 160 0.1410 0 88 0.130 0.0 1.0 -9529200.0 12.2 10.0 86 101500 274 1352 353 53 0 53 6100 0 6100 1970 250 8.8 10 10 16.0 274 9 999999999 160 0.1410 0 88 0.130 0.0 1.0 -9532800.0 12.2 10.0 86 101500 539 1352 353 109 0 109 12600 0 12600 4530 260 7.7 10 10 16.0 335 9 999999999 160 0.1410 0 88 0.130 0.0 1.0 -9536400.0 13.3 10.0 80 101500 780 1352 359 230 17 220 26400 1400 25600 9230 270 5.7 10 10 16.0 335 9 999999999 160 0.1410 0 88 0.130 0.0 1.0 -9540000.0 14.4 10.0 75 101500 979 1352 364 294 18 282 34400 1600 33200 12480 260 8.8 10 10 16.0 396 9 999999999 160 0.1410 0 88 0.130 0.0 1.0 -9543600.0 14.4 9.4 72 101500 1124 1352 346 456 83 387 50300 8500 43200 16140 250 9.8 8 8 16.0 457 9 999999999 160 0.1410 0 88 0.130 0.0 1.0 -9547200.0 15.6 9.4 67 101500 1204 1352 352 491 72 427 54200 7400 47600 19920 240 12.9 8 8 16.0 518 9 999999999 160 0.1410 0 88 0.130 0.0 1.0 -9550800.0 14.4 9.4 72 101600 1214 1352 346 497 72 432 54800 7400 48200 20500 270 10.3 8 8 16.0 518 9 999999999 170 0.1410 0 88 0.130 0.0 1.0 -9554400.0 14.4 8.9 70 101600 1153 1352 346 471 85 399 52000 8800 44600 17260 250 8.8 8 8 16.0 518 9 999999999 170 0.1410 0 88 0.130 0.0 1.0 -9558000.0 13.3 9.4 77 101500 1025 1352 348 234 6 229 27800 500 27500 10900 250 10.3 9 9 16.0 457 9 999999999 170 0.1410 0 88 0.130 0.0 1.0 -9561600.0 13.3 8.9 75 101500 840 1352 357 187 0 187 22000 0 22000 8510 270 9.8 10 10 16.0 457 9 999999999 170 0.1410 0 88 0.130 0.0 1.0 -9565200.0 12.8 8.9 77 101600 609 1352 355 132 0 132 15300 0 15300 5560 260 10.8 10 10 16.0 457 9 999999999 170 0.1410 0 88 0.130 0.0 1.0 -9568800.0 12.2 8.3 77 101600 349 1352 334 127 23 121 13900 1400 13500 3840 270 8.2 8 8 16.0 457 9 999999999 170 0.1410 0 88 0.130 0.0 1.0 -9572400.0 12.2 8.3 77 101700 86 1116 334 12 9 11 1300 500 1300 290 240 10.3 8 8 16.0 457 9 999999999 180 0.1410 0 88 0.130 0.0 1.0 -9576000.0 11.7 8.3 80 101700 0 0 332 0 0 0 0 0 0 0 240 12.4 8 8 16.0 457 9 999999999 180 0.1410 0 88 0.130 0.0 1.0 -9579600.0 11.7 8.3 80 101700 0 0 332 0 0 0 0 0 0 0 240 13.4 8 8 16.0 457 9 999999999 180 0.1410 0 88 0.130 0.0 1.0 -9583200.0 11.7 8.3 80 101800 0 0 332 0 0 0 0 0 0 0 240 6.7 8 8 16.0 579 9 999999999 180 0.1410 0 88 0.130 0.0 1.0 -9586800.0 11.7 7.8 77 101700 0 0 332 0 0 0 0 0 0 0 230 4.6 8 8 16.0 640 9 999999999 180 0.1410 0 88 0.130 0.0 1.0 -9590400.0 11.7 8.3 80 101800 0 0 332 0 0 0 0 0 0 0 230 4.6 8 8 16.0 640 9 999999999 180 0.1410 0 88 0.130 0.0 1.0 -9594000.0 12.2 8.9 80 101800 0 0 335 0 0 0 0 0 0 0 240 5.2 8 8 16.0 640 9 999999999 170 0.1420 0 88 0.130 0.0 1.0 -9597600.0 12.2 10.0 86 101800 0 0 344 0 0 0 0 0 0 0 240 4.6 9 9 16.0 366 9 999999999 170 0.1420 0 88 0.130 0.0 1.0 -9601200.0 12.2 11.1 93 101800 0 0 355 0 0 0 0 0 0 0 210 4.1 10 10 16.0 305 9 999999999 170 0.1420 0 88 0.130 0.0 1.0 -9604800.0 12.8 11.7 93 101800 0 0 358 0 0 0 0 0 0 0 250 8.2 10 10 16.0 244 9 999999999 170 0.1420 0 88 0.130 0.0 1.0 -9608400.0 12.8 11.7 93 101800 0 0 358 0 0 0 0 0 0 0 220 3.6 10 10 14.4 244 9 999999999 160 0.1420 0 88 0.130 0.0 1.0 -9612000.0 12.8 12.2 96 101900 40 755 359 1 32 1 300 1800 200 40 220 2.6 10 10 9.6 488 9 999999999 160 0.1420 0 88 0.130 0.0 1.0 -9615600.0 12.8 12.2 96 101900 279 1352 359 40 0 40 4700 0 4700 1580 140 2.6 10 10 12.8 335 9 999999999 160 0.1420 0 88 0.130 0.0 1.0 -9619200.0 13.9 12.2 89 102000 544 1352 364 96 0 96 11300 0 11300 4110 220 3.1 10 10 14.4 518 9 999999999 160 0.1420 0 88 0.130 0.0 1.0 -9622800.0 14.4 12.8 90 102000 784 1352 368 128 0 128 15400 0 15400 6060 210 5.2 10 10 4.8 427 9 999999999 150 0.1420 0 88 0.130 0.0 1.0 -9626400.0 12.8 11.7 93 102000 983 1352 358 475 206 324 52000 21900 36100 10210 270 8.2 10 10 6.4 244 9 999999999 150 0.1420 0 88 0.130 0.0 1.0 -9630000.0 15.6 11.7 78 102100 1127 1352 362 759 530 316 81000 55300 34800 12880 250 8.2 9 9 16.0 884 9 999999999 150 0.1420 0 88 0.130 0.0 1.0 -9633600.0 15.0 9.4 69 102100 1207 1352 337 882 695 261 93200 70400 30100 13260 260 8.8 6 5 16.0 2000 9 999999999 150 0.1420 0 88 0.130 0.0 1.0 -9637200.0 16.1 9.4 64 102100 1216 1352 342 938 831 189 98000 83400 22800 9220 250 8.8 5 5 16.0 2000 9 999999999 150 0.1420 0 88 0.130 0.0 1.0 -9640800.0 16.1 8.9 62 102100 1155 1352 341 898 873 150 95400 88300 19700 6160 270 10.3 5 5 16.0 2000 9 999999999 140 0.1420 0 88 0.130 0.0 1.0 -9644400.0 15.6 6.7 55 102100 1028 1352 334 781 857 129 83000 86600 17000 3970 260 12.9 4 4 16.0 2000 9 999999999 140 0.1420 0 88 0.130 0.0 1.0 -9648000.0 15.0 7.2 60 102000 842 1352 329 624 748 157 65600 75200 18600 3820 250 9.3 3 3 16.0 2000 9 999999999 140 0.1420 0 88 0.130 0.0 1.0 -9651600.0 13.9 6.7 62 102100 612 1352 326 403 541 158 42300 53200 18200 3220 250 7.7 4 4 16.0 2000 9 999999999 140 0.1420 0 88 0.130 0.0 1.0 -9655200.0 12.8 6.1 64 102100 353 1352 320 225 441 110 22900 36900 13300 2100 260 7.7 4 4 16.0 2000 9 999999999 140 0.1420 0 88 0.130 0.0 1.0 -9658800.0 11.7 6.7 71 102100 90 1138 316 22 184 11 2800 11000 1900 260 260 6.7 4 4 16.0 2000 9 999999999 140 0.1420 0 88 0.130 0.0 1.0 -9662400.0 11.7 6.7 71 102100 0 0 316 0 0 0 0 0 0 0 250 6.2 4 4 16.0 2000 9 999999999 130 0.1420 0 88 0.130 0.0 1.0 -9666000.0 11.1 6.7 74 102200 0 0 314 0 0 0 0 0 0 0 270 6.2 4 4 16.0 2000 9 999999999 130 0.1420 0 88 0.130 0.0 1.0 -9669600.0 11.1 6.1 71 102100 0 0 310 0 0 0 0 0 0 0 260 9.3 3 3 16.0 2000 9 999999999 130 0.1420 0 88 0.130 0.0 1.0 -9673200.0 11.1 6.1 71 102200 0 0 310 0 0 0 0 0 0 0 260 14.4 3 3 16.0 2000 9 999999999 130 0.1420 0 88 0.130 0.0 1.0 -9676800.0 11.1 6.1 71 102200 0 0 298 0 0 0 0 0 0 0 260 13.9 0 0 16.0 2000 9 999999999 130 0.1420 0 88 0.130 0.0 1.0 -9680400.0 10.6 6.1 74 102200 0 0 308 0 0 0 0 0 0 0 260 12.9 3 3 16.0 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -9684000.0 10.6 6.7 77 102200 0 0 309 0 0 0 0 0 0 0 260 10.8 3 3 16.0 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -9687600.0 10.6 6.7 77 102200 0 0 309 0 0 0 0 0 0 0 260 9.3 3 3 16.0 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -9691200.0 10.6 6.1 74 102200 0 0 308 0 0 0 0 0 0 0 260 8.2 3 3 16.0 2000 9 999999999 120 0.1430 0 88 0.130 0.0 1.0 -9694800.0 10.0 6.7 80 102200 0 0 306 0 0 0 0 0 0 0 260 8.2 3 3 16.0 2000 9 999999999 110 0.1430 0 88 0.130 0.0 1.0 -9698400.0 10.6 6.7 77 102200 43 799 309 3 79 2 700 4600 500 80 270 6.7 3 3 16.0 2000 9 999999999 110 0.1430 0 88 0.130 0.0 1.0 -9702000.0 11.7 6.1 68 102300 284 1351 313 150 480 48 15400 37700 7500 890 270 10.8 3 3 16.0 2000 9 999999999 110 0.1430 0 88 0.130 0.0 1.0 -9705600.0 12.8 6.1 64 102300 548 1351 305 339 573 106 35100 54200 13000 2060 270 11.3 0 0 16.0 2000 9 999999999 110 0.1430 0 88 0.130 0.0 1.0 -9709200.0 13.9 5.6 57 102300 788 1351 309 543 715 126 57600 72000 15600 2960 270 10.8 0 0 16.0 2000 9 999999999 100 0.1430 0 88 0.130 0.0 1.0 -9712800.0 14.4 5.0 53 102300 986 1351 310 693 702 180 73400 71300 21200 5360 280 9.3 0 0 16.0 2000 9 999999999 100 0.1430 0 88 0.130 0.0 1.0 -9716400.0 15.0 5.6 53 102300 1130 1351 314 822 726 213 87300 74000 25200 8610 280 9.3 0 0 16.0 2000 9 999999999 100 0.1430 0 88 0.130 0.0 1.0 -9720000.0 16.7 6.1 50 102300 1209 1351 322 864 665 268 91100 67300 30700 13770 280 9.3 0 0 16.0 2000 9 999999999 100 0.1430 0 88 0.130 0.0 1.0 -9723600.0 16.1 5.6 50 102300 1219 1351 318 877 656 283 92100 66200 32200 15020 260 10.3 0 0 16.0 2000 9 999999999 100 0.1430 0 88 0.130 0.0 1.0 -9727200.0 16.1 6.1 51 102300 1158 1351 319 872 751 227 92500 76500 26800 9890 270 11.8 0 0 16.0 2000 9 999999999 100 0.1430 0 88 0.130 0.0 1.0 -9730800.0 16.1 6.7 54 102200 1030 1351 320 721 661 216 75700 66800 24600 6850 270 10.8 0 0 16.0 2000 9 999999999 110 0.1430 0 88 0.130 0.0 1.0 -9734400.0 15.6 6.1 53 102100 845 1351 323 588 660 174 61300 66000 19900 4180 260 11.8 1 1 16.0 2000 9 999999999 110 0.1430 0 88 0.130 0.0 1.0 -9738000.0 14.4 6.7 60 102200 615 1351 312 394 495 168 41100 48700 18900 3450 260 11.8 0 0 16.0 2000 9 999999999 110 0.1430 0 88 0.130 0.0 1.0 -9741600.0 12.8 7.2 69 102200 356 1351 306 247 362 152 25300 30800 17200 3320 260 11.8 0 0 16.0 2000 9 999999999 110 0.1430 0 88 0.130 0.0 1.0 -9745200.0 12.2 7.2 71 102200 93 1160 303 26 155 16 3000 8200 2300 300 260 10.8 0 0 14.4 2000 9 999999999 110 0.1430 0 88 0.130 0.0 1.0 -9748800.0 11.7 7.8 77 102200 0 0 302 0 0 0 0 0 0 0 260 7.2 0 0 16.0 2000 9 999999999 110 0.1430 0 88 0.130 0.0 1.0 -9752400.0 11.1 7.8 80 102300 0 0 299 0 0 0 0 0 0 0 250 6.7 0 0 16.0 2000 9 999999999 110 0.1430 0 88 0.130 0.0 1.0 -9756000.0 11.1 7.8 80 102200 0 0 299 0 0 0 0 0 0 0 250 5.7 0 0 16.0 2000 9 999999999 110 0.1430 0 88 0.130 0.0 1.0 -9759600.0 11.1 7.8 80 102200 0 0 299 0 0 0 0 0 0 0 240 3.1 0 0 16.0 2000 9 999999999 110 0.1430 0 88 0.130 0.0 1.0 -9763200.0 10.6 7.2 79 102200 0 0 297 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 110 0.1430 0 88 0.130 0.0 1.0 -9766800.0 9.4 7.2 86 102200 0 0 292 0 0 0 0 0 0 0 260 2.6 0 0 16.0 2000 9 999999999 110 0.1450 0 88 0.130 0.0 1.0 -9770400.0 9.4 7.2 86 102200 0 0 292 0 0 0 0 0 0 0 260 3.1 4 0 16.0 2000 9 999999999 110 0.1450 0 88 0.130 0.0 1.0 -9774000.0 8.9 7.2 89 102100 0 0 290 0 0 0 0 0 0 0 260 3.1 0 0 16.0 2000 9 999999999 110 0.1450 0 88 0.130 0.0 1.0 -9777600.0 8.9 6.7 86 102100 0 0 295 0 0 0 0 0 0 0 260 3.1 1 1 16.0 2000 9 999999999 110 0.1450 0 88 0.130 0.0 1.0 -9781200.0 8.3 6.7 90 102100 0 0 296 0 0 0 0 0 0 0 250 1.5 2 2 16.0 2000 9 999999999 110 0.1450 0 88 0.130 0.0 1.0 -9784800.0 9.4 7.8 90 102200 46 821 305 4 91 2 800 5300 500 80 270 4.1 3 3 16.0 2000 9 999999999 110 0.1450 0 88 0.130 0.0 1.0 -9788400.0 11.1 8.3 83 102200 290 1350 300 155 487 50 16000 38400 7700 920 280 2.1 0 0 16.0 2000 9 999999999 110 0.1450 0 88 0.130 0.0 1.0 -9792000.0 12.8 8.9 77 102200 553 1350 308 363 686 81 38300 65900 11200 1650 60 1.5 0 0 16.0 2000 9 999999999 110 0.1450 0 88 0.130 0.0 1.0 -9795600.0 13.9 9.4 74 102200 792 1350 313 570 808 95 60300 80700 12900 2230 30 1.5 0 0 16.0 2000 9 999999999 110 0.1450 0 88 0.130 0.0 1.0 -9799200.0 14.4 8.9 70 102100 990 1350 315 743 826 136 78000 83000 17000 3820 40 1.5 0 0 16.0 2000 9 999999999 110 0.1450 0 88 0.130 0.0 1.0 -9802800.0 16.1 8.3 60 102100 1133 1350 321 816 684 241 86000 69300 27700 9730 70 1.5 0 0 16.0 2000 9 999999999 110 0.1450 0 88 0.130 0.0 1.0 -9806400.0 17.2 8.3 56 102100 1212 1350 326 876 701 246 93000 71300 28800 12890 280 6.7 0 0 16.0 2000 9 999999999 120 0.1450 0 88 0.130 0.0 1.0 -9810000.0 17.8 8.3 54 102000 1221 1350 335 883 668 277 92900 67500 31700 14920 280 7.7 1 1 16.0 2000 9 999999999 120 0.1450 0 88 0.130 0.0 1.0 -9813600.0 16.7 6.7 52 102100 1160 1350 329 904 770 241 95500 78200 28200 10540 250 9.3 1 1 16.0 2000 9 999999999 130 0.1450 0 88 0.130 0.0 1.0 -9817200.0 15.6 7.2 57 102000 1033 1350 318 681 520 282 72500 54100 31000 9250 250 7.7 0 0 16.0 2000 9 999999999 130 0.1450 0 88 0.130 0.0 1.0 -9820800.0 15.0 6.7 58 102000 848 1350 321 494 343 278 53000 36600 30000 7240 270 9.3 1 1 16.0 2000 9 999999999 130 0.1450 0 88 0.130 0.0 1.0 -9824400.0 14.4 6.7 60 102000 618 1350 318 385 449 179 39900 44200 19700 3710 260 8.2 2 1 16.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -9828000.0 13.9 6.1 59 101900 360 1350 315 245 345 153 25100 29400 17200 3350 250 7.2 1 1 16.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -9831600.0 12.2 6.7 69 101900 96 1181 303 27 151 17 3100 8100 2400 320 240 8.8 0 0 16.0 2000 9 999999999 140 0.1450 0 88 0.130 0.0 1.0 -9835200.0 11.7 6.7 71 102000 0 0 301 0 0 0 0 0 0 0 250 9.8 0 0 16.0 2000 9 999999999 150 0.1450 0 88 0.130 0.0 1.0 -9838800.0 11.1 6.1 71 102100 0 0 307 0 0 0 0 0 0 0 270 4.1 3 2 16.0 2000 9 999999999 150 0.1450 0 88 0.130 0.0 1.0 -9842400.0 11.1 6.1 71 102100 0 0 298 0 0 0 0 0 0 0 270 8.2 0 0 16.0 2000 9 999999999 150 0.1450 0 88 0.130 0.0 1.0 -9846000.0 11.1 5.6 69 102100 0 0 297 0 0 0 0 0 0 0 270 6.7 0 0 16.0 2000 9 999999999 160 0.1450 0 88 0.130 0.0 1.0 -9849600.0 11.1 5.6 69 102100 0 0 297 0 0 0 0 0 0 0 260 5.7 0 0 16.0 2000 9 999999999 160 0.1450 0 88 0.130 0.0 1.0 -9853200.0 11.1 5.0 66 102100 0 0 296 0 0 0 0 0 0 0 260 8.2 0 0 16.0 2000 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -9856800.0 11.1 5.0 66 102100 0 0 296 0 0 0 0 0 0 0 260 9.3 0 0 16.0 2000 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -9860400.0 11.1 6.7 74 102100 0 0 298 0 0 0 0 0 0 0 260 7.7 0 0 16.0 2000 9 999999999 170 0.1460 0 88 0.130 0.0 1.0 -9864000.0 11.1 7.2 77 102100 0 0 299 0 0 0 0 0 0 0 250 7.7 0 0 16.0 2000 9 999999999 170 0.1460 0 88 0.130 0.0 1.0 -9867600.0 10.6 7.8 83 102200 0 0 297 0 0 0 0 0 0 0 260 7.2 0 0 16.0 2000 9 999999999 170 0.1460 0 88 0.130 0.0 1.0 -9871200.0 11.1 8.3 83 102200 49 843 300 5 51 4 800 2500 700 80 250 6.7 0 0 16.0 2000 9 999999999 170 0.1460 0 88 0.130 0.0 1.0 -9874800.0 12.2 8.9 80 102200 295 1349 305 87 50 76 9500 4200 8600 1940 270 7.2 0 0 16.0 2000 9 999999999 170 0.1460 0 88 0.130 0.0 1.0 -9878400.0 13.3 9.4 77 102200 557 1349 324 327 394 164 34800 39200 18600 3480 260 7.7 3 3 16.0 2000 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -9882000.0 14.4 10.0 75 102300 796 1349 329 257 41 233 28300 4100 25900 7610 270 6.7 3 3 16.0 2000 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -9885600.0 15.6 10.6 72 102300 993 1349 336 410 94 340 45100 9600 38000 12450 260 7.2 3 3 16.0 2000 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -9889200.0 16.7 11.1 70 102300 1136 1349 341 468 89 393 51600 9200 43900 16700 260 7.2 3 3 16.0 2000 9 999999999 180 0.1460 0 88 0.130 0.0 1.0 -9892800.0 15.0 11.1 77 102300 1215 1349 351 687 275 438 74700 29900 47800 22050 250 4.6 8 8 16.0 610 9 999999999 170 0.1460 0 88 0.130 0.0 1.0 -9896400.0 17.8 11.7 67 102200 1224 1349 347 478 48 434 52700 5000 48200 21120 280 7.7 3 3 16.0 2000 9 999999999 170 0.1460 0 88 0.130 0.0 1.0 -9900000.0 16.7 11.7 72 102200 1162 1349 342 401 24 380 46900 2300 44900 16480 260 9.3 3 3 16.0 2000 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -9903600.0 16.7 11.7 72 102200 1035 1349 342 280 12 271 33000 1000 32200 12460 250 11.3 4 3 16.0 2000 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -9907200.0 16.1 11.7 75 102100 850 1349 344 308 31 288 35100 2900 33200 11660 250 10.3 5 5 16.0 6096 9 999999999 160 0.1460 0 88 0.130 0.0 1.0 -9910800.0 15.0 11.1 77 102000 621 1349 339 163 0 163 18600 0 18600 6570 250 10.3 6 5 16.0 6096 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -9914400.0 13.3 11.1 87 102100 363 1349 343 157 107 128 16800 9300 14300 2830 260 7.2 8 8 16.0 305 9 999999999 150 0.1460 0 88 0.130 0.0 1.0 -9918000.0 12.8 10.0 83 102000 99 1203 327 19 48 15 2100 2100 2000 250 260 6.2 5 5 16.0 6096 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -9921600.0 13.3 8.9 75 102000 0 0 328 0 0 0 0 0 0 0 250 7.2 5 5 16.0 6096 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -9925200.0 12.2 7.8 74 102100 0 0 317 0 0 0 0 0 0 0 260 8.8 4 3 16.0 2000 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -9928800.0 11.7 8.3 80 102000 0 0 320 0 0 0 0 0 0 0 280 4.6 5 5 16.0 7620 9 999999999 130 0.1460 0 88 0.130 0.0 1.0 -9932400.0 11.1 8.3 83 102000 0 0 318 0 0 0 0 0 0 0 260 4.6 5 5 16.0 7620 9 999999999 130 0.1460 0 88 0.130 0.0 1.0 -9936000.0 11.1 7.8 80 102000 0 0 315 0 0 0 0 0 0 0 260 3.6 4 4 16.0 4572 9 999999999 140 0.1460 0 88 0.130 0.0 1.0 -9939600.0 10.6 7.8 83 102000 0 0 310 0 0 0 0 0 0 0 240 1.5 3 3 16.0 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -9943200.0 10.0 7.2 83 101900 0 0 294 0 0 0 0 0 0 0 250 1.5 0 0 16.0 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -9946800.0 11.1 7.8 80 101900 0 0 299 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -9950400.0 10.0 7.2 83 101900 0 0 294 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -9954000.0 10.0 7.2 83 101900 0 0 294 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -9957600.0 11.1 8.3 83 101900 52 888 300 6 108 3 1100 6400 700 110 0 0.0 0 0 16.0 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -9961200.0 13.9 10.0 77 101900 299 1349 314 158 471 53 16300 37600 7900 970 0 0.0 0 0 16.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -9964800.0 14.4 11.1 81 101900 562 1349 317 351 591 104 36400 56400 12900 2050 80 2.1 0 0 16.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -9968400.0 15.6 11.7 78 101900 800 1349 323 540 663 146 56700 66500 17200 3410 0 0.0 0 0 16.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -9972000.0 16.7 11.1 70 101800 997 1349 327 684 638 212 71700 64400 24000 6320 40 1.5 0 0 16.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -9975600.0 20.0 10.0 53 101800 1139 1349 341 811 667 247 85400 67500 28200 10150 340 2.6 0 0 16.0 2000 9 999999999 150 0.1480 0 88 0.130 0.0 1.0 -9979200.0 20.6 11.1 54 101700 1217 1349 345 883 707 243 93700 72000 28600 13070 50 1.5 0 0 16.0 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -9982800.0 20.0 12.8 63 101700 1226 1349 344 889 674 275 93700 68200 31500 15200 340 1.5 0 0 16.0 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -9986400.0 24.4 10.6 42 101600 1165 1349 363 904 836 180 94300 83900 21600 7360 270 8.2 0 0 16.0 2000 9 999999999 140 0.1480 0 88 0.130 0.0 1.0 -9990000.0 20.0 7.8 45 101600 1037 1349 339 793 838 148 83200 84200 18300 4490 270 9.3 0 0 16.0 2000 9 999999999 130 0.1480 0 88 0.130 0.0 1.0 -9993600.0 20.0 6.1 40 101500 853 1349 337 622 759 140 65900 76900 17200 3510 260 9.8 0 0 16.0 2000 9 999999999 130 0.1480 0 88 0.130 0.0 1.0 -9997200.0 19.4 5.0 39 101500 624 1349 333 440 688 121 45600 66700 14700 2450 270 9.8 0 0 14.4 2000 9 999999999 130 0.1480 0 88 0.130 0.0 1.0 -1.00008E7 18.3 3.9 38 101500 366 1349 326 251 485 119 25400 41100 14200 2290 260 8.2 0 0 16.0 2000 9 999999999 120 0.1480 0 88 0.130 0.0 1.0 -1.00044E7 16.1 2.8 41 101500 102 1225 315 31 222 15 3700 12100 2600 290 260 11.3 0 0 16.0 2000 9 999999999 120 0.1480 0 88 0.130 0.0 1.0 -1.0008E7 15.0 4.4 49 101600 0 0 312 0 0 0 0 0 0 0 260 11.8 0 0 16.0 2000 9 999999999 110 0.1480 0 88 0.130 0.0 1.0 -1.00116E7 14.4 3.3 47 101600 0 0 309 0 0 0 0 0 0 0 270 7.2 0 0 16.0 2000 9 999999999 110 0.1480 0 88 0.130 0.0 1.0 -1.00152E7 13.3 6.1 62 101600 0 0 307 0 0 0 0 0 0 0 290 2.6 0 0 16.0 2000 9 999999999 110 0.1480 0 88 0.130 0.0 1.0 -1.00188E7 12.8 5.6 62 101600 0 0 304 0 0 0 0 0 0 0 280 3.6 0 0 16.0 2000 9 999999999 110 0.1480 0 88 0.130 0.0 1.0 -1.00224E7 12.8 5.6 62 101600 0 0 304 0 0 0 0 0 0 0 250 7.7 0 0 16.0 2000 9 999999999 120 0.1480 0 88 0.130 0.0 1.0 -1.0026E7 12.2 7.2 71 101600 0 0 303 0 0 0 0 0 0 0 250 4.1 0 0 16.0 2000 9 999999999 130 0.1490 0 88 0.130 0.0 1.0 -1.00296E7 11.7 8.9 83 101500 0 0 303 0 0 0 0 0 0 0 250 6.2 0 0 16.0 2000 9 999999999 130 0.1490 0 88 0.130 0.0 1.0 -1.00332E7 11.1 9.4 89 101600 0 0 314 0 0 0 0 0 0 0 250 4.6 3 3 16.0 2000 9 999999999 140 0.1490 0 88 0.130 0.0 1.0 -1.00368E7 11.7 9.4 86 101600 0 0 333 0 0 0 0 0 0 0 240 3.1 8 8 16.0 366 9 999999999 140 0.1490 0 88 0.130 0.0 1.0 -1.00404E7 11.7 9.4 86 101600 0 0 333 0 0 0 0 0 0 0 260 6.2 8 8 16.0 366 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -1.0044E7 12.2 10.0 86 101600 55 910 353 4 2 4 500 100 500 110 270 2.6 10 10 16.0 518 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -1.00476E7 12.8 10.6 86 101600 304 1348 347 110 122 82 11900 10000 9700 1780 240 3.1 9 9 16.0 335 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -1.00512E7 13.9 11.1 83 101600 566 1348 346 143 6 141 16400 400 16200 5640 300 3.1 8 8 16.0 335 9 999999999 170 0.1490 0 88 0.130 0.0 1.0 -1.00548E7 15.0 11.1 77 101600 803 1348 351 211 6 208 24600 500 24300 9030 260 4.1 8 8 16.0 366 9 999999999 170 0.1490 0 88 0.130 0.0 1.0 -1.00584E7 16.7 11.7 72 101700 1000 1348 360 317 24 300 37000 2200 35400 13200 270 5.7 8 8 16.0 335 9 999999999 180 0.1490 0 88 0.130 0.0 1.0 -1.0062E7 17.2 12.2 72 101700 1142 1348 371 446 48 405 49200 4900 45000 17290 260 6.7 9 9 16.0 335 9 999999999 180 0.1490 0 88 0.130 0.0 1.0 -1.00656E7 17.2 11.7 70 101700 1220 1348 370 219 12 208 27000 900 26200 10480 260 9.3 9 9 16.0 488 9 999999999 170 0.1490 0 88 0.130 0.0 1.0 -1.00692E7 14.4 12.8 90 101800 1228 1348 368 392 24 370 46400 2200 44300 16470 260 10.8 10 10 4.0 244 9 999999999 170 0.1490 0 88 0.130 0.0 1.0 -1.00728E7 15.0 9.4 69 101800 1167 1348 357 426 30 400 47000 3100 44300 17790 250 9.3 9 9 16.0 457 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -1.00764E7 15.6 8.9 64 101800 1040 1348 351 347 18 332 40200 1700 38900 14420 250 8.2 8 8 16.0 1280 9 999999999 160 0.1490 0 88 0.130 0.0 1.0 -1.008E7 14.4 8.9 70 101800 855 1348 346 371 93 312 40800 9500 34700 10140 260 7.7 8 8 16.0 1311 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -1.00836E7 14.4 8.9 70 101800 627 1348 363 309 175 227 33300 17700 25100 5530 250 9.8 10 10 14.4 6096 9 999999999 150 0.1490 0 88 0.130 0.0 1.0 -1.00872E7 13.3 7.8 69 101800 369 1348 339 249 279 172 26200 24200 19600 3810 270 9.3 8 8 16.0 1676 9 999999999 140 0.1490 0 88 0.130 0.0 1.0 -1.00908E7 12.2 7.2 71 101900 106 1247 321 32 131 22 3600 6400 3000 380 270 8.2 5 5 16.0 2000 9 999999999 140 0.1490 0 88 0.130 0.0 1.0 -1.00944E7 11.7 6.1 68 102000 0 0 313 0 0 0 0 0 0 0 270 7.7 3 3 16.0 2000 9 999999999 130 0.1490 0 88 0.130 0.0 1.0 -1.0098E7 11.7 5.6 66 102000 0 0 317 0 0 0 0 0 0 0 280 7.2 7 5 16.0 6096 9 999999999 130 0.1490 0 88 0.130 0.0 1.0 -1.01016E7 11.1 5.0 66 102000 0 0 312 0 0 0 0 0 0 0 260 11.3 6 4 16.0 2000 9 999999999 120 0.1490 0 88 0.130 0.0 1.0 -1.01052E7 11.1 5.6 69 102100 0 0 310 0 0 0 0 0 0 0 300 7.2 3 3 16.0 2000 9 999999999 120 0.1490 0 88 0.130 0.0 1.0 -1.01088E7 11.1 4.4 63 102100 0 0 309 0 0 0 0 0 0 0 290 5.7 3 3 16.0 2000 9 999999999 120 0.1490 0 88 0.130 0.0 1.0 -1.01124E7 10.6 4.4 65 102100 0 0 306 0 0 0 0 0 0 0 280 5.7 3 3 16.0 2000 9 999999999 120 0.1510 0 88 0.130 0.0 1.0 -1.0116E7 10.0 4.4 68 102000 0 0 304 0 0 0 0 0 0 0 310 3.1 3 3 16.0 2000 9 999999999 130 0.1510 0 88 0.130 0.0 1.0 -1.01196E7 10.0 4.4 68 102000 0 0 304 0 0 0 0 0 0 0 290 5.7 3 3 16.0 2000 9 999999999 130 0.1510 0 88 0.130 0.0 1.0 -1.01232E7 10.0 5.0 71 102000 0 0 304 0 0 0 0 0 0 0 270 5.2 4 3 16.0 6096 9 999999999 130 0.1510 0 88 0.130 0.0 1.0 -1.01268E7 10.0 3.3 63 102100 0 0 303 0 0 0 0 0 0 0 290 7.7 5 3 16.0 6096 9 999999999 130 0.1510 0 88 0.130 0.0 1.0 -1.01304E7 10.0 3.3 63 102200 59 932 307 8 82 5 1200 4700 900 130 270 6.7 7 5 16.0 6096 9 999999999 130 0.1510 0 88 0.130 0.0 1.0 -1.0134E7 10.6 3.9 63 102200 309 1347 306 168 480 58 17300 38600 8400 1050 300 6.7 4 3 14.4 7620 9 999999999 130 0.1510 0 88 0.130 0.0 1.0 -1.01376E7 11.7 3.3 56 102200 570 1347 297 376 688 84 39700 66500 11500 1720 290 8.2 0 0 16.0 2000 9 999999999 130 0.1510 0 88 0.130 0.0 1.0 -1.01412E7 12.8 3.3 52 102300 807 1347 302 583 786 111 60800 78100 13900 2510 280 8.2 0 0 16.0 2000 9 999999999 130 0.1510 0 88 0.130 0.0 1.0 -1.01448E7 13.9 3.3 49 102200 1003 1347 306 756 862 113 78100 86000 13900 2810 280 9.8 0 0 16.0 2000 9 999999999 130 0.1510 0 88 0.130 0.0 1.0 -1.01484E7 14.4 3.9 49 102300 1145 1347 323 892 887 136 91500 88700 15900 4360 280 10.8 3 3 16.0 2000 9 999999999 130 0.1510 0 88 0.130 0.0 1.0 -1.0152E7 15.0 4.4 49 102300 1222 1347 326 972 868 182 102000 87300 22500 9340 270 9.3 3 3 16.0 2000 9 999999999 130 0.1510 0 88 0.130 0.0 1.0 -1.01556E7 15.0 5.0 51 102200 1231 1347 327 858 554 351 92000 57900 38900 20580 270 12.9 3 3 16.0 2000 9 999999999 130 0.1510 0 88 0.130 0.0 1.0 -1.01592E7 15.0 5.0 51 102200 1169 1347 327 833 654 264 87500 66100 30000 11880 270 12.9 3 3 16.0 2000 9 999999999 120 0.1510 0 88 0.130 0.0 1.0 -1.01628E7 15.6 5.0 49 102100 1042 1347 329 746 654 239 77900 65800 26800 7720 260 10.8 3 3 16.0 2000 9 999999999 120 0.1510 0 88 0.130 0.0 1.0 -1.01664E7 14.4 4.4 51 102000 858 1347 323 556 498 239 58700 51200 26000 6020 260 12.9 3 3 16.0 2000 9 999999999 120 0.1510 0 88 0.130 0.0 1.0 -1.017E7 13.9 4.4 53 102100 629 1347 321 421 570 154 44500 56500 18000 3150 260 14.4 3 3 16.0 2000 9 999999999 120 0.1510 0 88 0.130 0.0 1.0 -1.01736E7 12.2 5.6 64 102100 373 1347 307 258 489 122 26100 41700 14500 2350 260 13.4 1 1 16.0 2000 9 999999999 120 0.1510 0 88 0.130 0.0 1.0 -1.01772E7 11.7 5.0 63 102100 109 1269 299 35 233 17 4000 12800 2800 320 260 10.8 0 0 16.0 2000 9 999999999 110 0.1510 0 88 0.130 0.0 1.0 -1.01808E7 11.1 6.1 71 102100 0 0 298 0 0 0 0 0 0 0 260 9.3 0 0 16.0 2000 9 999999999 110 0.1510 0 88 0.130 0.0 1.0 -1.01844E7 10.6 6.1 74 102200 0 0 295 0 0 0 0 0 0 0 260 7.7 0 0 16.0 2000 9 999999999 110 0.1510 0 88 0.130 0.0 1.0 -1.0188E7 10.6 6.7 77 102100 0 0 296 0 0 0 0 0 0 0 250 6.2 0 0 16.0 2000 9 999999999 110 0.1510 0 88 0.130 0.0 1.0 -1.01916E7 10.6 6.1 74 102200 0 0 295 0 0 0 0 0 0 0 250 5.2 0 0 16.0 2000 9 999999999 110 0.1510 0 88 0.130 0.0 1.0 -1.01952E7 10.0 6.7 80 102200 0 0 294 0 0 0 0 0 0 0 250 5.2 0 0 16.0 2000 9 999999999 110 0.1510 0 88 0.130 0.0 1.0 -1.01988E7 10.0 6.1 77 102100 0 0 293 0 0 0 0 0 0 0 240 4.1 0 0 16.0 2000 9 999999999 110 0.1530 0 88 0.130 0.0 1.0 -1.02024E7 9.4 6.1 80 102100 0 0 290 0 0 0 0 0 0 0 250 2.6 0 0 16.0 2000 9 999999999 110 0.1530 0 88 0.130 0.0 1.0 -1.0206E7 8.9 5.6 80 102100 0 0 288 0 0 0 0 0 0 0 250 2.6 0 0 16.0 2000 9 999999999 120 0.1530 0 88 0.130 0.0 1.0 -1.02096E7 8.3 6.1 86 102100 0 0 286 0 0 0 0 0 0 0 260 3.6 0 0 16.0 2000 9 999999999 120 0.1530 0 88 0.130 0.0 1.0 -1.02132E7 8.3 6.1 86 102100 0 0 298 0 0 0 0 0 0 0 270 4.1 3 3 16.0 2000 9 999999999 120 0.1530 0 88 0.130 0.0 1.0 -1.02168E7 8.9 6.1 83 102200 62 954 288 10 129 5 1500 7800 1000 180 320 1.5 0 0 16.0 2000 9 999999999 120 0.1530 0 88 0.130 0.0 1.0 -1.02204E7 11.1 6.1 71 102200 313 1347 298 173 522 51 17900 42600 8000 950 0 0.0 0 0 14.4 2000 9 999999999 120 0.1530 0 88 0.130 0.0 1.0 -1.0224E7 12.8 7.8 72 102200 574 1347 320 381 689 87 40200 66600 11800 1780 30 1.5 3 3 14.4 2000 9 999999999 130 0.1530 0 88 0.130 0.0 1.0 -1.02276E7 15.0 7.8 62 102300 811 1347 316 557 687 143 58700 69100 17000 3400 300 4.6 0 0 14.4 2000 9 999999999 130 0.1530 0 88 0.130 0.0 1.0 -1.02312E7 16.7 6.1 50 102200 1006 1347 322 734 768 159 78600 78600 19700 5000 320 4.1 0 0 14.4 2000 9 999999999 130 0.1530 0 88 0.130 0.0 1.0 -1.02348E7 16.7 4.4 44 102200 1147 1347 320 875 816 178 91200 81900 21300 6930 290 5.2 0 0 14.4 2000 9 999999999 130 0.1530 0 88 0.130 0.0 1.0 -1.02384E7 17.8 5.6 45 102200 1225 1347 326 972 868 180 102100 87400 22400 9380 300 5.7 0 0 16.0 2000 9 999999999 130 0.1530 0 88 0.130 0.0 1.0 -1.0242E7 19.4 5.6 40 102200 1233 1347 333 864 548 362 92400 57200 39900 21510 280 6.2 0 0 16.0 2000 9 999999999 130 0.1530 0 88 0.130 0.0 1.0 -1.02456E7 16.7 7.2 53 102200 1171 1347 323 878 733 239 92900 74500 28000 10950 270 8.8 0 0 16.0 2000 9 999999999 130 0.1530 0 88 0.130 0.0 1.0 -1.02492E7 17.2 6.1 48 102100 1044 1347 324 753 703 206 79400 71400 23900 6820 270 8.2 0 0 16.0 2000 9 999999999 130 0.1530 0 88 0.130 0.0 1.0 -1.02528E7 16.1 5.6 50 102100 860 1347 318 606 684 168 63500 68800 19500 4160 270 8.2 0 0 16.0 2000 9 999999999 130 0.1530 0 88 0.130 0.0 1.0 -1.02564E7 15.0 6.7 58 102000 632 1347 315 412 524 166 43300 51900 18900 3430 260 9.8 0 0 16.0 2000 9 999999999 140 0.1530 0 88 0.130 0.0 1.0 -1.026E7 13.9 7.2 64 102000 376 1347 311 255 471 123 25800 40300 14500 2380 260 8.8 0 0 16.0 2000 9 999999999 140 0.1530 0 88 0.130 0.0 1.0 -1.02636E7 12.2 7.2 71 102000 112 1268 303 36 229 18 4100 12700 2900 340 260 8.2 0 0 16.0 7620 9 999999999 140 0.1530 0 88 0.130 0.0 1.0 -1.02672E7 11.7 7.2 74 102100 0 0 301 0 0 0 0 0 0 0 260 8.2 0 0 16.0 7620 9 999999999 140 0.1530 0 88 0.130 0.0 1.0 -1.02708E7 11.1 7.8 80 102100 0 0 299 0 0 0 0 0 0 0 260 8.2 0 0 16.0 2000 9 999999999 140 0.1530 0 88 0.130 0.0 1.0 -1.02744E7 11.1 8.3 83 102100 0 0 300 0 0 0 0 0 0 0 260 8.2 0 0 16.0 2000 9 999999999 140 0.1530 0 88 0.130 0.0 1.0 -1.0278E7 10.6 7.8 83 102200 0 0 297 0 0 0 0 0 0 0 260 4.6 0 0 16.0 2000 9 999999999 140 0.1530 0 88 0.130 0.0 1.0 -1.02816E7 10.6 8.3 86 102200 0 0 298 0 0 0 0 0 0 0 270 6.2 0 0 16.0 2000 9 999999999 130 0.1530 0 88 0.130 0.0 1.0 -1.02852E7 10.6 7.8 83 102200 0 0 297 0 0 0 0 0 0 0 250 6.7 0 0 16.0 2000 9 999999999 130 0.1550 0 88 0.130 0.0 1.0 -1.02888E7 10.0 7.8 86 102200 0 0 295 0 0 0 0 0 0 0 270 5.7 0 0 16.0 2000 9 999999999 130 0.1550 0 88 0.130 0.0 1.0 -1.02924E7 10.0 8.3 89 102100 0 0 295 0 0 0 0 0 0 0 260 5.7 0 0 16.0 2000 9 999999999 120 0.1550 0 88 0.130 0.0 1.0 -1.0296E7 10.0 7.8 86 102000 0 0 295 0 0 0 0 0 0 0 260 3.1 0 0 16.0 2000 9 999999999 120 0.1550 0 88 0.130 0.0 1.0 -1.02996E7 9.4 7.2 86 102100 0 0 292 0 0 0 0 0 0 0 280 2.6 0 0 16.0 2000 9 999999999 120 0.1550 0 88 0.130 0.0 1.0 -1.03032E7 10.0 7.8 86 102100 65 976 295 10 99 6 1500 5700 1100 150 260 2.1 0 0 16.0 2000 9 999999999 110 0.1550 0 88 0.130 0.0 1.0 -1.03068E7 11.7 7.8 77 102100 318 1346 302 174 483 60 17900 39300 8600 1090 0 0.0 0 0 16.0 2000 9 999999999 110 0.1550 0 88 0.130 0.0 1.0 -1.03104E7 12.8 8.9 77 102100 578 1346 308 382 689 86 40400 66700 11700 1770 70 2.1 0 0 16.0 2000 9 999999999 110 0.1550 0 88 0.130 0.0 1.0 -1.0314E7 14.4 9.4 72 102100 814 1346 315 574 734 129 60900 74200 16000 3130 30 2.1 0 0 16.0 2000 9 999999999 110 0.1550 0 88 0.130 0.0 1.0 -1.03176E7 15.6 10.0 69 102000 1009 1346 321 757 821 140 79500 82500 17500 4080 40 2.6 0 0 16.0 2000 9 999999999 100 0.1550 0 88 0.130 0.0 1.0 -1.03212E7 16.1 10.6 70 102000 1150 1346 324 881 851 152 93400 86000 19700 6210 50 3.1 0 0 16.0 2000 9 999999999 100 0.1550 0 88 0.130 0.0 1.0 -1.03248E7 18.3 8.9 54 102000 1227 1346 332 972 868 179 102300 87400 22400 9460 280 7.2 0 0 16.0 2000 9 999999999 100 0.1550 0 88 0.130 0.0 1.0 -1.03284E7 17.2 8.3 56 102000 1235 1346 326 895 644 303 93800 64800 34200 17460 270 9.8 0 0 16.0 2000 9 999999999 110 0.1550 0 88 0.130 0.0 1.0 -1.0332E7 16.7 8.3 58 102000 1173 1346 324 909 800 211 97200 81800 25700 9850 270 11.8 0 0 16.0 2000 9 999999999 110 0.1550 0 88 0.130 0.0 1.0 -1.03356E7 16.1 8.3 60 102000 1046 1346 321 772 758 182 82300 77400 22000 6140 260 12.9 0 0 16.0 2000 9 999999999 110 0.1550 0 88 0.130 0.0 1.0 -1.03392E7 15.6 7.2 57 101900 863 1346 318 619 690 176 64700 69200 20200 4350 260 12.4 0 0 16.0 2000 9 999999999 110 0.1550 0 88 0.130 0.0 1.0 -1.03428E7 14.4 7.8 65 101900 635 1346 327 427 595 146 45500 59100 17500 2980 260 13.4 3 3 16.0 2000 9 999999999 110 0.1550 0 88 0.130 0.0 1.0 -1.03464E7 13.9 7.2 64 101900 379 1346 311 241 365 138 25000 32000 16000 2900 260 10.3 0 0 16.0 2000 9 999999999 110 0.1550 0 88 0.130 0.0 1.0 -1.035E7 13.3 5.6 60 101900 116 1290 306 36 181 21 3900 10000 3000 390 260 9.8 0 0 16.0 2000 9 999999999 110 0.1550 0 88 0.130 0.0 1.0 -1.03536E7 12.2 6.7 69 102000 0 0 303 0 0 0 0 0 0 0 280 5.7 0 0 16.0 2000 9 999999999 110 0.1550 0 88 0.130 0.0 1.0 -1.03572E7 11.7 7.2 74 102000 0 0 301 0 0 0 0 0 0 0 280 4.1 0 0 16.0 2000 9 999999999 110 0.1550 0 88 0.130 0.0 1.0 -1.03608E7 12.3 7.8 80 101900 0 0 304 0 0 0 0 0 0 0 270 3.7 0 0 16.0 2000 9 999999999 110 0.1550 0 88 0.130 0.0 1.0 -1.03644E7 12.8 8.3 77 101900 0 0 307 0 0 0 0 0 0 0 260 3.4 0 0 16.0 2000 9 999999999 120 0.1550 0 88 0.130 0.0 1.0 -1.0368E7 13.4 8.9 83 101900 0 0 310 0 0 0 0 0 0 0 260 3.0 0 0 16.0 2000 9 999999999 120 0.1550 0 88 0.130 0.0 1.0 -1.03716E7 13.9 9.4 60 101400 0 0 313 0 0 0 0 0 0 0 260 2.6 0 0 48.0 2000 9 999999999 230 0.1570 0 88 0.130 0.0 1.0 -1.03752E7 14.5 10.0 62 101400 0 0 322 0 0 0 0 0 0 0 260 2.2 3 1 48.0 2000 9 999999999 230 0.1570 0 88 0.130 0.0 1.0 -1.03788E7 15.0 10.5 67 101400 0 0 325 0 0 0 0 0 0 0 0 1.9 2 1 48.0 2000 9 999999999 230 0.1570 0 88 0.130 0.0 1.0 -1.03824E7 15.6 11.1 75 101400 0 0 322 0 0 0 0 0 0 0 200 1.5 0 0 48.0 2000 9 999999999 230 0.1570 0 88 0.130 0.0 1.0 -1.0386E7 14.4 10.0 75 101400 0 0 316 0 0 0 0 0 0 0 0 0.0 0 0 48.0 2000 9 999999999 230 0.1570 0 88 0.130 0.0 1.0 -1.03896E7 15.6 9.4 67 101500 69 998 327 18 12 17 2000 700 1900 430 0 0.0 3 1 48.0 2000 9 999999999 220 0.1570 0 88 0.130 0.0 1.0 -1.03932E7 20.0 7.8 45 101500 322 1345 345 134 234 78 14300 19200 9700 1470 0 0.0 2 1 48.0 2000 9 999999999 220 0.1570 0 88 0.130 0.0 1.0 -1.03968E7 22.8 7.8 38 101500 582 1345 358 321 424 137 34000 41400 16000 2720 70 2.1 4 1 48.0 2000 9 999999999 220 0.1570 0 88 0.130 0.0 1.0 -1.04004E7 23.9 7.8 36 101600 817 1345 364 516 547 183 55500 56200 21300 4320 50 2.6 4 1 48.0 2000 9 999999999 209 0.1570 0 88 0.130 0.0 1.0 -1.0404E7 25.0 6.7 31 101600 1012 1345 368 685 614 223 71700 61900 25100 6840 40 2.6 4 1 48.0 2000 9 999999999 209 0.1570 0 88 0.130 0.0 1.0 -1.04076E7 26.7 7.2 29 101600 1152 1345 377 824 703 222 87700 71600 26200 9670 360 3.1 2 1 48.0 2000 9 999999999 200 0.1570 0 88 0.130 0.0 1.0 -1.04112E7 29.4 6.1 23 101500 1229 1345 389 881 702 240 94000 71600 28400 13740 280 6.2 3 1 48.0 2000 9 999999999 200 0.1570 0 88 0.130 0.0 1.0 -1.04148E7 27.2 6.1 26 101500 1237 1345 378 887 702 241 94600 71600 28600 14280 260 9.3 2 1 48.0 2000 9 999999999 200 0.1570 0 88 0.130 0.0 1.0 -1.04184E7 25.0 7.8 33 101500 1175 1345 378 844 596 323 90600 62300 36100 15430 260 10.3 5 3 48.0 2000 9 999999999 190 0.1570 0 88 0.130 0.0 1.0 -1.0422E7 23.3 8.3 38 101500 1048 1345 366 744 636 248 77600 63900 27700 8120 260 10.3 6 2 48.0 2000 9 999999999 190 0.1570 0 88 0.130 0.0 1.0 -1.04256E7 22.8 8.3 39 101500 865 1345 359 577 578 205 61900 59700 23500 5140 270 9.3 6 1 48.0 2000 9 999999999 180 0.1570 0 88 0.130 0.0 1.0 -1.04292E7 21.7 8.3 42 101400 638 1345 354 377 433 171 39500 42900 19100 3560 270 9.3 7 1 48.0 2000 9 999999999 180 0.1570 0 88 0.130 0.0 1.0 -1.04328E7 21.1 8.3 44 101400 382 1345 351 174 265 98 18500 23400 11800 1900 270 8.8 5 1 48.0 2000 9 999999999 180 0.1570 0 88 0.130 0.0 1.0 -1.04364E7 18.3 8.9 54 101400 119 1312 343 33 26 31 3700 1700 3500 740 280 8.2 4 2 48.0 2000 9 999999999 170 0.1570 0 88 0.130 0.0 1.0 -1.044E7 17.2 8.9 58 101400 0 0 341 0 0 0 0 0 0 0 280 5.7 3 3 48.0 2000 9 999999999 170 0.1570 0 88 0.130 0.0 1.0 -1.04436E7 17.2 8.9 58 101500 0 0 338 0 0 0 0 0 0 0 280 6.7 2 2 48.0 2000 9 999999999 160 0.1570 0 88 0.130 0.0 1.0 -1.04472E7 16.1 8.9 62 101500 0 0 328 0 0 0 0 0 0 0 280 6.7 3 1 32.0 2000 9 999999999 160 0.1570 0 88 0.130 0.0 1.0 -1.04508E7 14.4 9.4 72 101500 0 0 321 0 0 0 0 0 0 0 280 6.7 1 1 32.0 2000 9 999999999 160 0.1570 0 88 0.130 0.0 1.0 -1.04544E7 14.4 8.9 70 101500 0 0 328 0 0 0 0 0 0 0 270 3.6 3 3 32.0 2000 9 999999999 150 0.1570 0 88 0.130 0.0 1.0 -1.0458E7 14.4 8.9 70 101500 0 0 328 0 0 0 0 0 0 0 280 4.6 3 3 32.0 2000 9 999999999 150 0.1590 0 88 0.130 0.0 1.0 -1.04616E7 13.3 8.9 75 101400 0 0 320 0 0 0 0 0 0 0 280 4.1 2 2 32.0 2000 9 999999999 140 0.1590 0 88 0.130 0.0 1.0 -1.04652E7 13.3 8.9 75 101400 0 0 323 0 0 0 0 0 0 0 0 0.0 3 3 48.0 2000 9 999999999 140 0.1590 0 88 0.130 0.0 1.0 -1.04688E7 13.9 8.9 72 101500 0 0 312 0 0 0 0 0 0 0 0 0.0 0 0 48.0 2000 9 999999999 140 0.1590 0 88 0.130 0.0 1.0 -1.04724E7 12.2 8.3 77 101500 0 0 318 0 0 0 0 0 0 0 290 4.1 3 3 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.0476E7 12.8 8.9 77 101500 72 1042 318 18 37 16 2100 1400 1900 270 270 4.6 2 2 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.04796E7 17.8 8.3 54 101600 326 1344 343 132 286 62 14100 23400 8400 1110 320 2.6 3 3 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.04832E7 20.0 8.9 49 101600 586 1344 351 363 548 124 38900 53700 15500 2440 330 3.6 2 2 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.04868E7 21.1 10.0 49 101600 820 1344 361 563 556 223 59400 57000 24600 5380 340 3.1 3 3 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.04904E7 23.3 7.2 35 101600 1014 1344 365 706 710 170 75400 72600 20500 5420 290 4.1 2 2 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.0494E7 25.6 7.8 32 101600 1154 1344 381 837 674 258 88100 68100 29400 11190 290 5.7 3 3 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.04976E7 23.3 7.2 35 101600 1231 1344 365 872 724 208 93900 74300 25600 12150 270 9.3 2 2 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.05012E7 22.2 5.0 33 101600 1239 1344 352 925 830 160 98800 84100 21200 9150 270 9.8 1 1 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.05048E7 22.2 5.0 33 101600 1177 1344 352 873 820 155 92900 83000 20100 6940 270 9.8 1 1 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.05084E7 22.8 3.9 29 101600 1050 1344 354 761 790 144 80300 79600 18000 4570 260 10.8 1 1 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.0512E7 20.6 1.7 28 101500 867 1344 341 602 737 126 64500 75100 16000 3270 270 12.9 1 1 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.05156E7 20.0 0.0 26 101500 640 1344 336 401 619 106 42200 60700 13200 2220 270 12.4 1 1 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.05192E7 19.4 1.1 29 101500 385 1344 334 199 427 76 21200 37300 10500 1380 260 11.3 1 1 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.05228E7 17.2 2.8 38 101500 122 1333 326 38 108 28 4100 5100 3600 490 260 11.3 1 1 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.05264E7 16.1 3.9 44 101500 0 0 323 0 0 0 0 0 0 0 270 10.3 1 1 48.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.053E7 15.0 5.6 53 101600 0 0 314 0 0 0 0 0 0 0 280 8.2 0 0 32.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.05336E7 13.9 6.7 62 101600 0 0 310 0 0 0 0 0 0 0 290 4.6 0 0 32.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.05372E7 13.3 7.2 67 101600 0 0 308 0 0 0 0 0 0 0 280 6.7 0 0 32.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.05408E7 12.8 6.7 66 101600 0 0 315 0 0 0 0 0 0 0 270 6.2 9 2 32.0 2000 9 999999999 130 0.1590 0 88 0.130 0.0 1.0 -1.05444E7 12.2 7.2 71 101600 0 0 313 0 0 0 0 0 0 0 280 7.2 10 2 32.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.0548E7 11.7 7.2 74 101500 0 0 314 0 0 0 0 0 0 0 270 7.2 10 3 32.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.05516E7 11.1 7.2 77 101500 0 0 314 0 0 0 0 0 0 0 270 5.7 10 4 32.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.05552E7 10.6 6.1 74 101600 0 0 308 0 0 0 0 0 0 0 250 4.6 5 3 32.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.05588E7 10.0 6.7 80 101600 0 0 299 0 0 0 0 0 0 0 260 3.1 2 1 40.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.05624E7 11.1 6.1 71 101600 76 1064 303 24 95 18 2700 4100 2400 310 290 3.6 6 1 48.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.0566E7 11.7 7.2 74 101700 331 1344 301 177 524 48 18500 43800 7800 910 270 6.7 1 0 48.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.05696E7 13.9 7.2 64 101700 589 1344 311 389 721 73 40800 69600 10300 1540 270 6.7 1 0 40.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.05732E7 14.4 6.7 60 101700 824 1344 312 599 816 99 63600 81700 13400 2400 280 6.2 2 0 40.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.05768E7 16.1 6.1 51 101700 1017 1344 319 732 805 122 78200 81500 16400 3780 280 6.2 3 0 48.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.05804E7 16.7 5.6 48 101800 1157 1344 321 859 851 126 88500 85200 14900 4430 280 7.7 2 0 48.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.0584E7 16.7 5.6 48 101800 1233 1344 335 748 607 190 81000 62500 23500 11280 280 7.7 3 3 32.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.05876E7 16.7 3.9 42 101800 1240 1344 319 968 905 132 99500 90700 15600 6390 260 9.3 2 0 32.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.05912E7 16.1 4.4 46 101800 1179 1344 317 924 920 116 95400 92200 14300 4570 280 6.2 0 0 48.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.05948E7 15.6 4.4 47 101800 1052 1344 325 769 780 157 80300 78300 18900 4880 270 7.7 2 2 48.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.05984E7 15.0 5.0 51 101700 870 1344 327 638 810 114 67200 81100 14600 2800 260 7.7 3 3 48.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.0602E7 13.3 5.6 60 101700 643 1344 316 414 676 90 44100 66800 12000 1940 260 6.2 2 2 48.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.06056E7 12.8 5.6 62 101600 389 1344 310 195 489 53 20500 43200 8000 1030 230 6.2 1 1 48.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.06092E7 11.7 5.6 66 101600 126 1344 300 48 247 25 4900 13400 3600 440 240 6.2 0 0 48.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.06128E7 11.1 4.4 63 101600 0 11 309 0 0 0 0 0 0 0 280 4.1 3 3 48.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.06164E7 11.1 5.0 66 101700 0 0 296 0 0 0 0 0 0 0 260 5.2 0 0 48.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.062E7 10.6 4.4 65 101700 0 0 294 0 0 0 0 0 0 0 290 3.1 0 0 48.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.06236E7 10.0 6.1 77 101700 0 0 293 0 0 0 0 0 0 0 290 3.1 0 0 48.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.06272E7 10.0 6.7 80 101700 0 0 294 0 0 0 0 0 0 0 290 4.1 0 0 32.0 2000 9 999999999 130 0.1600 0 88 0.130 0.0 1.0 -1.06308E7 10.0 6.1 77 101700 0 0 293 0 0 0 0 0 0 0 260 5.2 0 0 32.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06344E7 8.9 6.7 86 101700 0 0 295 0 0 0 0 0 0 0 280 3.6 1 1 32.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.0638E7 8.9 6.1 83 101700 0 0 294 0 0 0 0 0 0 0 280 3.1 1 1 32.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06416E7 8.9 6.7 86 101700 0 0 295 0 0 0 0 0 0 0 280 3.1 1 1 32.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06452E7 8.9 6.1 83 101700 0 0 294 0 0 0 0 0 0 0 240 2.6 5 1 32.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06488E7 9.4 7.2 86 101700 79 1086 297 23 81 17 2500 3600 2200 290 260 3.1 2 1 24.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06524E7 11.7 7.8 77 101800 335 1343 302 177 481 57 18300 40100 8300 1060 270 2.6 1 0 24.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.0656E7 13.9 6.1 59 101800 593 1343 309 387 681 86 41000 66400 11600 1790 20 2.6 1 0 24.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06596E7 15.0 7.2 60 101800 827 1343 315 590 760 122 61200 75400 14700 2730 300 4.6 3 0 24.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06632E7 15.6 6.7 55 101800 1020 1343 317 769 834 135 81300 84100 17300 4090 300 5.7 2 0 32.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06668E7 16.7 6.1 50 101900 1159 1343 322 894 855 156 94900 86400 20100 6580 290 7.7 3 0 32.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06704E7 18.3 5.6 43 101800 1235 1343 328 946 861 154 96800 86200 17400 6830 300 6.7 2 0 40.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.0674E7 18.3 7.2 48 101800 1242 1343 330 954 855 163 101800 86600 21500 9520 290 8.8 3 0 48.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06776E7 19.4 5.6 40 101800 1181 1343 333 910 864 150 97200 87500 20100 6880 270 9.3 2 0 48.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06812E7 18.9 5.6 42 101800 1054 1343 331 799 831 146 84200 83700 18300 4670 280 7.2 3 0 48.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06848E7 17.2 3.9 41 101800 872 1343 328 583 687 137 62200 69800 16800 3550 270 7.7 4 1 48.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06884E7 16.7 2.8 39 101800 646 1343 324 409 636 103 43100 62600 13000 2180 290 6.7 4 1 48.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.0692E7 16.1 2.2 39 101800 392 1343 321 209 427 84 22100 37400 11200 1540 270 5.2 6 1 48.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06956E7 13.3 5.6 60 101800 129 1343 312 42 132 29 4400 6600 3700 510 290 4.1 3 1 48.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.06992E7 12.2 6.7 69 101800 0 34 309 0 0 0 0 0 0 0 290 4.6 2 1 40.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.07028E7 12.2 7.2 71 101900 0 0 309 0 0 0 0 0 0 0 290 4.1 3 1 32.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.07064E7 11.1 7.8 80 101900 0 0 305 0 0 0 0 0 0 0 280 4.6 2 1 32.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.071E7 11.1 7.8 80 101900 0 0 305 0 0 0 0 0 0 0 260 5.7 3 1 32.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.07136E7 10.6 8.3 86 101900 0 0 298 0 0 0 0 0 0 0 260 6.2 0 0 32.0 2000 9 999999999 130 0.1620 0 88 0.130 0.0 1.0 -1.07172E7 10.6 8.3 86 101900 0 0 298 0 0 0 0 0 0 0 270 6.2 0 0 48.0 2000 9 999999999 140 0.1630 0 88 0.130 0.0 1.0 -1.07208E7 10.0 7.8 86 101900 0 0 295 0 0 0 0 0 0 0 270 5.2 0 0 40.0 2000 9 999999999 140 0.1630 0 88 0.130 0.0 1.0 -1.07244E7 10.0 7.8 86 101900 0 0 295 0 0 0 0 0 0 0 290 5.2 0 0 40.0 2000 9 999999999 140 0.1630 0 88 0.130 0.0 1.0 -1.0728E7 9.4 6.7 83 101900 0 0 304 0 0 0 0 0 0 0 290 2.6 3 3 40.0 2000 9 999999999 140 0.1630 0 88 0.130 0.0 1.0 -1.07316E7 9.4 7.8 90 101900 0 0 307 0 0 0 0 0 0 0 280 3.1 4 4 40.0 2000 9 999999999 140 0.1630 0 88 0.130 0.0 1.0 -1.07352E7 10.0 8.3 89 101900 82 1108 310 25 3 25 2800 0 2800 830 280 3.1 4 4 32.0 2000 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.07388E7 12.2 8.3 77 102000 339 1342 320 102 79 82 11200 6800 9500 1800 280 3.1 4 4 40.0 2000 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.07424E7 13.9 8.9 72 102000 596 1342 326 285 234 180 30300 23700 19700 3910 290 3.1 3 3 40.0 2000 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.0746E7 15.6 8.9 64 102000 829 1342 326 529 550 189 57000 56600 21900 4540 310 4.1 1 1 40.0 2000 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.07496E7 17.8 2.2 35 102100 1022 1342 339 629 502 246 67900 52300 28000 7920 290 5.2 5 4 40.0 2000 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.07532E7 17.8 2.8 37 102100 1161 1342 340 680 397 336 72600 41400 36600 15490 260 6.2 7 4 48.0 2000 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.07568E7 18.9 2.2 33 102100 1237 1342 341 770 466 340 82900 48700 37900 20860 270 6.7 6 3 48.0 2000 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.07604E7 18.9 1.7 32 102000 1244 1342 337 866 585 324 93900 61200 37000 20530 270 6.7 6 2 48.0 2000 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.0764E7 18.9 1.1 30 102000 1183 1342 340 813 539 338 87000 56300 37300 16720 260 7.7 8 3 48.0 2000 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.07676E7 17.2 3.9 41 102000 1056 1342 332 715 532 296 76200 55400 32500 10340 270 8.8 7 2 48.0 2000 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.07712E7 16.1 6.1 51 101900 874 1342 333 466 235 313 50800 24700 34700 8920 260 8.2 8 3 48.0 2000 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.07748E7 14.4 7.8 65 101900 648 1342 330 352 297 208 37400 30600 22600 4690 260 7.7 10 4 48.0 2000 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.07784E7 13.9 7.8 67 101900 395 1342 327 137 79 113 14900 7200 12800 2970 270 5.2 10 4 48.0 2000 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.0782E7 12.8 7.2 69 101800 133 1342 331 36 6 35 3900 0 3900 1130 280 4.6 10 7 32.0 5182 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.07856E7 11.7 7.2 74 101900 0 56 331 0 0 0 0 0 0 0 300 2.6 10 8 32.0 5182 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.07892E7 11.7 7.2 74 101900 0 0 326 0 0 0 0 0 0 0 250 3.6 10 7 32.0 5182 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.07928E7 11.1 7.8 80 101900 0 0 329 0 0 0 0 0 0 0 250 6.2 10 8 32.0 5182 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.07964E7 10.6 8.3 86 101900 0 0 313 0 0 0 0 0 0 0 250 5.7 7 4 32.0 7620 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.08E7 10.6 7.8 83 101900 0 0 312 0 0 0 0 0 0 0 260 4.1 10 4 32.0 2000 9 999999999 130 0.1630 0 88 0.130 0.0 1.0 -1.08036E7 10.0 7.8 86 101900 0 0 307 0 0 0 0 0 0 0 250 3.6 8 3 32.0 2000 9 999999999 120 0.1650 0 88 0.130 0.0 1.0 -1.08072E7 10.0 8.3 89 101800 0 0 305 0 0 0 0 0 0 0 260 3.6 6 2 32.0 2000 9 999999999 120 0.1650 0 88 0.130 0.0 1.0 -1.08108E7 10.0 8.3 89 101800 0 0 313 0 0 0 0 0 0 0 250 3.6 8 5 32.0 7620 9 999999999 120 0.1650 0 88 0.130 0.0 1.0 -1.08144E7 10.0 8.3 89 101800 0 0 313 0 0 0 0 0 0 0 260 4.6 7 5 32.0 7620 9 999999999 120 0.1650 0 88 0.130 0.0 1.0 -1.0818E7 10.0 8.3 89 101800 0 0 315 0 0 0 0 0 0 0 230 3.1 8 6 32.0 3658 9 999999999 130 0.1650 0 88 0.130 0.0 1.0 -1.08216E7 10.0 8.3 89 101800 86 1129 310 22 1 22 2500 0 2500 760 170 2.6 7 4 40.0 2000 9 999999999 130 0.1650 0 88 0.130 0.0 1.0 -1.08252E7 11.7 8.9 83 101900 342 1342 319 117 93 94 12800 8000 10800 2060 290 4.1 5 4 40.0 2000 9 999999999 130 0.1650 0 88 0.130 0.0 1.0 -1.08288E7 13.3 8.3 72 101900 600 1342 319 314 248 203 33200 25100 21900 4530 270 4.6 7 2 40.0 2000 9 999999999 130 0.1650 0 88 0.130 0.0 1.0 -1.08324E7 14.4 8.9 70 101900 832 1342 328 537 287 359 57800 29900 39200 9910 260 4.6 8 3 40.0 2000 9 999999999 130 0.1650 0 88 0.130 0.0 1.0 -1.0836E7 15.0 8.9 67 101900 1025 1342 328 688 508 300 72900 52800 32500 9850 250 5.2 7 2 40.0 2000 9 999999999 140 0.1650 0 88 0.130 0.0 1.0 -1.08396E7 15.6 8.9 64 101900 1163 1342 334 851 510 408 89000 53100 42900 19190 250 6.7 10 3 40.0 2000 9 999999999 140 0.1650 0 88 0.130 0.0 1.0 -1.08432E7 15.6 8.3 62 101800 1239 1342 330 894 480 451 93600 50000 47400 28340 260 5.2 7 2 48.0 2000 9 999999999 140 0.1650 0 88 0.130 0.0 1.0 -1.08468E7 16.1 8.3 60 101800 1246 1342 335 798 440 389 84900 45900 42100 25110 260 8.2 8 3 48.0 2000 9 999999999 140 0.1650 0 88 0.130 0.0 1.0 -1.08504E7 16.1 8.3 60 101700 1184 1342 332 813 458 408 85300 47700 43100 20570 270 7.7 7 2 48.0 2000 9 999999999 140 0.1650 0 88 0.130 0.0 1.0 -1.0854E7 15.6 8.3 62 101700 1058 1342 336 632 427 295 67400 44500 32200 10350 280 9.3 4 4 48.0 2000 9 999999999 150 0.1650 0 88 0.130 0.0 1.0 -1.08576E7 13.3 8.9 75 101600 876 1342 326 477 354 246 52000 38000 27200 6430 260 10.3 7 4 48.0 2000 9 999999999 150 0.1650 0 88 0.130 0.0 1.0 -1.08612E7 13.9 8.9 72 101600 651 1342 328 299 156 224 32500 15900 24800 5520 260 9.3 5 4 48.0 2000 9 999999999 150 0.1650 0 88 0.130 0.0 1.0 -1.08648E7 12.2 8.9 80 101600 398 1342 315 157 128 119 17100 11600 13600 2660 260 8.2 6 2 48.0 2000 9 999999999 150 0.1650 0 88 0.130 0.0 1.0 -1.08684E7 11.7 8.9 83 101600 136 1342 333 35 1 35 3900 0 3900 1140 260 8.2 9 8 32.0 5182 9 999999999 150 0.1650 0 88 0.130 0.0 1.0 -1.0872E7 11.7 8.9 83 101600 0 78 328 0 0 0 0 0 0 0 260 4.1 9 7 32.0 5182 9 999999999 160 0.1650 0 88 0.130 0.0 1.0 -1.08756E7 11.1 8.9 86 101700 0 0 330 0 0 0 0 0 0 0 270 5.2 8 8 32.0 5182 9 999999999 160 0.1650 0 88 0.130 0.0 1.0 -1.08792E7 11.1 8.9 86 101700 0 0 347 0 0 0 0 0 0 0 250 5.2 10 10 32.0 4572 9 999999999 160 0.1650 0 88 0.130 0.0 1.0 -1.08828E7 11.1 8.3 83 101600 0 0 320 0 0 0 0 0 0 0 260 4.1 8 6 32.0 4572 9 999999999 160 0.1650 0 88 0.130 0.0 1.0 -1.08864E7 11.1 8.3 83 101700 0 0 346 0 0 0 0 0 0 0 250 4.1 10 10 32.0 427 9 999999999 160 0.1650 0 88 0.130 0.0 1.0 -1.089E7 11.1 8.3 83 101600 0 0 346 0 0 0 0 0 0 0 250 8.2 10 10 32.0 427 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.08936E7 11.1 8.3 83 101600 0 0 346 0 0 0 0 0 0 0 260 6.2 10 10 32.0 427 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.08972E7 10.6 8.3 86 101600 0 0 343 0 0 0 0 0 0 0 240 4.6 10 10 32.0 427 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.09008E7 10.0 7.8 86 101600 0 0 324 0 0 0 0 0 0 0 260 4.1 8 8 32.0 4572 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.09044E7 10.0 7.8 86 101600 0 0 312 0 0 0 0 0 0 0 250 4.6 5 5 32.0 2000 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.0908E7 10.0 7.8 86 101600 89 1151 307 25 96 17 2700 4400 2300 290 260 3.1 3 3 24.0 2000 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.09116E7 11.7 7.8 77 101700 346 1341 312 192 520 57 19900 44000 8500 1070 250 5.2 2 2 24.0 2000 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.09152E7 13.3 7.2 67 101700 603 1341 321 374 609 100 39300 59200 12600 2050 250 4.6 3 3 24.0 2000 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.09188E7 15.0 6.7 58 101800 835 1341 325 591 712 147 62400 71800 17600 3600 260 5.7 2 2 24.0 2000 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.09224E7 15.6 6.1 53 101800 1027 1341 331 714 631 231 74700 63600 26000 7330 270 5.7 3 3 24.0 2000 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.0926E7 16.1 6.1 51 101800 1165 1341 330 875 848 137 89800 84900 15900 4790 260 8.2 5 2 32.0 2000 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.09296E7 16.7 6.1 50 101700 1240 1341 336 888 741 203 96000 76200 25400 12560 260 8.2 8 3 40.0 2000 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.09332E7 16.1 6.1 51 101700 1247 1341 330 907 759 201 94700 76100 23800 11740 270 8.2 6 2 48.0 2000 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.09368E7 16.1 7.2 56 101800 1186 1341 326 886 861 124 91300 86300 14800 4910 260 7.7 3 1 48.0 2000 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.09404E7 15.6 6.1 53 101700 1060 1341 317 809 886 109 83800 88600 13600 3180 250 10.3 0 0 48.0 2000 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.0944E7 15.0 5.6 53 101700 878 1341 327 522 499 195 56500 51600 22600 4960 260 8.8 6 3 48.0 2000 9 999999999 170 0.1660 0 88 0.130 0.0 1.0 -1.09476E7 13.9 6.7 62 101700 654 1341 320 367 460 142 39300 46000 16800 2920 260 7.7 6 2 48.0 2000 9 999999999 160 0.1660 0 88 0.130 0.0 1.0 -1.09512E7 13.3 7.2 67 101700 401 1341 314 211 486 66 22000 43000 9100 1250 260 6.7 3 1 48.0 2000 9 999999999 160 0.1660 0 88 0.130 0.0 1.0 -1.09548E7 11.7 6.7 71 101700 140 1341 306 50 188 31 5300 9900 4300 550 250 5.2 5 1 48.0 2000 9 999999999 160 0.1660 0 88 0.130 0.0 1.0 -1.09584E7 10.6 7.8 83 101800 1 101 297 0 3 0 0 0 0 0 260 5.2 3 0 40.0 2000 9 999999999 160 0.1660 0 88 0.130 0.0 1.0 -1.0962E7 10.6 7.8 83 101800 0 0 297 0 0 0 0 0 0 0 240 5.2 0 0 40.0 2000 9 999999999 160 0.1660 0 88 0.130 0.0 1.0 -1.09656E7 10.6 7.8 83 101800 0 0 297 0 0 0 0 0 0 0 240 6.7 0 0 40.0 2000 9 999999999 160 0.1660 0 88 0.130 0.0 1.0 -1.09692E7 10.6 7.8 83 101800 0 0 303 0 0 0 0 0 0 0 250 7.2 4 1 40.0 2000 9 999999999 160 0.1660 0 88 0.130 0.0 1.0 -1.09728E7 10.6 7.8 83 101800 0 0 303 0 0 0 0 0 0 0 250 5.7 3 1 40.0 2000 9 999999999 160 0.1660 0 88 0.130 0.0 1.0 -1.09764E7 10.0 7.8 86 101700 0 0 300 0 0 0 0 0 0 0 250 5.2 3 1 40.0 2000 9 999999999 160 0.1680 0 88 0.130 0.0 1.0 -1.098E7 10.0 7.8 86 101700 0 0 304 0 0 0 0 0 0 0 250 4.1 2 2 40.0 2000 9 999999999 160 0.1680 0 88 0.130 0.0 1.0 -1.09836E7 10.0 7.8 86 101700 0 0 307 0 0 0 0 0 0 0 250 5.2 3 3 40.0 2000 9 999999999 160 0.1680 0 88 0.130 0.0 1.0 -1.09872E7 10.0 7.8 86 101700 0 0 304 0 0 0 0 0 0 0 240 4.1 2 2 40.0 2000 9 999999999 160 0.1680 0 88 0.130 0.0 1.0 -1.09908E7 10.0 7.8 86 101700 0 0 310 0 0 0 0 0 0 0 250 2.6 4 4 40.0 2000 9 999999999 160 0.1680 0 88 0.130 0.0 1.0 -1.09944E7 10.0 7.8 86 101700 93 1173 319 25 17 24 2800 1000 2700 590 190 2.6 7 7 40.0 5182 9 999999999 160 0.1680 0 88 0.130 0.0 1.0 -1.0998E7 11.1 8.3 83 101800 350 1341 336 64 23 58 7100 2000 6500 1630 230 3.6 9 9 40.0 3048 9 999999999 150 0.1680 0 88 0.130 0.0 1.0 -1.10016E7 12.8 8.3 74 101800 606 1341 345 189 179 107 20900 18300 12600 2130 240 3.1 9 9 40.0 4572 9 999999999 150 0.1680 0 88 0.130 0.0 1.0 -1.10052E7 14.4 7.8 65 101800 838 1341 352 477 302 289 51200 32200 31000 7560 270 4.1 9 9 40.0 4572 9 999999999 150 0.1680 0 88 0.130 0.0 1.0 -1.10088E7 15.6 8.3 62 101800 1029 1341 345 619 530 212 65200 53700 23900 6840 280 5.2 7 7 40.0 4572 9 999999999 150 0.1680 0 88 0.130 0.0 1.0 -1.10124E7 16.7 8.3 58 101800 1167 1341 356 448 107 354 49700 11400 39700 15240 270 6.2 8 8 40.0 4572 9 999999999 150 0.1680 0 88 0.130 0.0 1.0 -1.1016E7 16.7 7.2 53 101800 1242 1341 349 859 581 320 93200 60800 36700 20240 240 5.7 7 7 40.0 4572 9 999999999 150 0.1680 0 88 0.130 0.0 1.0 -1.10196E7 16.7 7.2 53 101700 1249 1341 345 797 545 288 84000 55100 32500 18280 290 3.1 6 6 40.0 7620 9 999999999 150 0.1680 0 88 0.130 0.0 1.0 -1.10232E7 16.7 7.2 53 101800 1188 1341 340 825 587 304 89300 61400 34700 15320 260 6.7 4 4 40.0 2000 9 999999999 150 0.1680 0 88 0.130 0.0 1.0 -1.10268E7 16.7 7.8 56 101800 1062 1341 338 731 683 190 77900 69700 22600 6670 250 7.7 3 3 40.0 2000 9 999999999 140 0.1680 0 88 0.130 0.0 1.0 -1.10304E7 15.0 7.2 60 101700 881 1341 326 651 767 147 69200 77800 17900 3830 250 8.8 2 2 40.0 2000 9 999999999 140 0.1680 0 88 0.130 0.0 1.0 -1.1034E7 13.3 7.2 67 101700 656 1341 321 392 451 171 41200 45000 19200 3590 240 11.8 3 3 40.0 2000 9 999999999 140 0.1680 0 88 0.130 0.0 1.0 -1.10376E7 12.8 7.2 69 101600 404 1341 316 216 422 89 22900 37400 11600 1650 240 7.2 2 2 40.0 2000 9 999999999 140 0.1680 0 88 0.130 0.0 1.0 -1.10412E7 11.7 6.7 71 101700 143 1341 301 50 160 33 5200 8500 4300 590 240 6.7 1 0 40.0 2000 9 999999999 140 0.1680 0 88 0.130 0.0 1.0 -1.10448E7 11.1 6.7 74 101700 1 123 298 0 0 0 0 0 0 0 240 5.7 0 0 32.0 2000 9 999999999 140 0.1680 0 88 0.130 0.0 1.0 -1.10484E7 10.6 6.7 77 101800 0 0 296 0 0 0 0 0 0 0 240 5.7 0 0 32.0 2000 9 999999999 140 0.1680 0 88 0.130 0.0 1.0 -1.1052E7 10.6 6.7 77 101800 0 0 296 0 0 0 0 0 0 0 250 7.7 0 0 32.0 2000 9 999999999 140 0.1680 0 88 0.130 0.0 1.0 -1.10556E7 10.0 7.2 83 101800 0 0 294 0 0 0 0 0 0 0 250 5.2 0 0 32.0 2000 9 999999999 140 0.1680 0 88 0.130 0.0 1.0 -1.10592E7 10.0 7.8 86 101800 0 0 295 0 0 0 0 0 0 0 250 6.7 0 0 32.0 2000 9 999999999 130 0.1680 0 88 0.130 0.0 1.0 -1.10628E7 10.0 7.8 86 101700 0 0 319 0 0 0 0 0 0 0 240 5.7 7 7 32.0 457 9 999999999 130 0.1690 0 88 0.130 0.0 1.0 -1.10664E7 10.0 7.8 86 101700 0 0 300 0 0 0 0 0 0 0 240 7.2 4 1 32.0 2000 9 999999999 130 0.1690 0 88 0.130 0.0 1.0 -1.107E7 10.0 7.8 86 101700 0 0 300 0 0 0 0 0 0 0 250 5.7 4 1 32.0 2000 9 999999999 130 0.1690 0 88 0.130 0.0 1.0 -1.10736E7 9.4 7.8 90 101700 0 0 298 0 0 0 0 0 0 0 240 6.2 4 1 32.0 2000 9 999999999 130 0.1690 0 88 0.130 0.0 1.0 -1.10772E7 9.4 7.2 86 101700 0 0 297 0 0 0 0 0 0 0 230 6.2 2 1 32.0 2000 9 999999999 130 0.1690 0 88 0.130 0.0 1.0 -1.10808E7 10.0 7.2 83 101900 96 1195 307 31 114 22 3400 5300 2900 380 230 5.2 4 3 24.0 2000 9 999999999 130 0.1690 0 88 0.130 0.0 1.0 -1.10844E7 11.1 7.2 77 101900 353 1340 319 112 77 92 12300 6700 10500 2030 240 6.7 7 6 24.0 518 9 999999999 130 0.1690 0 88 0.130 0.0 1.0 -1.1088E7 12.2 7.2 71 101900 609 1340 316 402 550 152 42400 54200 17800 3090 250 3.6 3 3 24.0 2000 9 999999999 130 0.1690 0 88 0.130 0.0 1.0 -1.10916E7 14.4 7.2 62 101900 840 1340 313 622 859 83 64900 85200 11400 1970 270 2.1 0 0 24.0 2000 9 999999999 130 0.1690 0 88 0.130 0.0 1.0 -1.10952E7 15.0 7.8 62 101900 1031 1340 316 794 906 96 82500 90600 12600 2820 30 3.1 0 0 24.0 2000 9 999999999 120 0.1690 0 88 0.130 0.0 1.0 -1.10988E7 16.7 8.3 58 101900 1169 1340 324 908 917 109 94100 92000 13700 4300 270 5.2 1 0 32.0 2000 9 999999999 120 0.1690 0 88 0.130 0.0 1.0 -1.11024E7 18.3 7.8 50 101900 1244 1340 331 987 946 109 102100 95000 13700 5780 280 4.1 0 0 32.0 2000 9 999999999 120 0.1690 0 88 0.130 0.0 1.0 -1.1106E7 18.9 6.7 45 101900 1251 1340 332 993 947 109 102700 95100 13700 5980 300 8.2 0 0 32.0 2000 9 999999999 120 0.1690 0 88 0.130 0.0 1.0 -1.11096E7 18.3 7.8 50 101900 1189 1340 331 938 937 105 97000 94000 13400 4500 270 8.2 0 0 32.0 2000 9 999999999 120 0.1690 0 88 0.130 0.0 1.0 -1.11132E7 16.7 7.8 56 101900 1064 1340 324 824 914 98 85600 91500 12700 3050 270 8.2 0 0 32.0 2000 9 999999999 120 0.1690 0 88 0.130 0.0 1.0 -1.11168E7 15.0 7.8 62 101900 883 1340 316 661 872 86 68900 86700 11600 2110 260 10.8 0 0 32.0 2000 9 999999999 120 0.1690 0 88 0.130 0.0 1.0 -1.11204E7 13.9 7.8 67 101900 659 1340 311 462 797 69 49400 78600 10700 1580 240 9.3 0 0 32.0 2000 9 999999999 120 0.1690 0 88 0.130 0.0 1.0 -1.1124E7 12.8 7.8 72 101900 407 1340 306 248 654 49 25900 58900 8000 1020 250 9.3 0 0 32.0 2000 9 999999999 120 0.1690 0 88 0.130 0.0 1.0 -1.11276E7 11.7 7.2 74 101900 147 1340 301 62 327 26 6300 19200 4200 470 250 5.2 0 0 32.0 2000 9 999999999 120 0.1690 0 88 0.130 0.0 1.0 -1.11312E7 11.1 7.2 77 101900 1 123 299 0 8 0 0 0 0 0 250 5.7 0 0 32.0 2000 9 999999999 120 0.1690 0 88 0.130 0.0 1.0 -1.11348E7 10.6 7.2 79 102000 0 0 297 0 0 0 0 0 0 0 270 6.2 0 0 32.0 2000 9 999999999 120 0.1690 0 88 0.130 0.0 1.0 -1.11384E7 10.6 7.2 79 102000 0 0 297 0 0 0 0 0 0 0 280 4.1 0 0 48.0 2000 9 999999999 120 0.1690 0 88 0.130 0.0 1.0 -1.1142E7 10.0 7.2 83 102100 0 0 294 0 0 0 0 0 0 0 270 6.2 0 0 48.0 2000 9 999999999 110 0.1690 0 88 0.130 0.0 1.0 -1.11456E7 10.0 7.2 83 102100 0 0 294 0 0 0 0 0 0 0 260 5.7 0 0 32.0 2000 9 999999999 110 0.1690 0 88 0.130 0.0 1.0 -1.11492E7 9.4 7.2 86 102100 0 0 292 0 0 0 0 0 0 0 270 4.6 0 0 32.0 2000 9 999999999 110 0.1700 0 88 0.130 0.0 1.0 -1.11528E7 8.9 7.2 89 102000 0 0 290 0 0 0 0 0 0 0 280 4.6 0 0 32.0 2000 9 999999999 110 0.1700 0 88 0.130 0.0 1.0 -1.11564E7 8.9 6.7 86 102100 0 0 295 0 0 0 0 0 0 0 290 3.1 1 1 32.0 2000 9 999999999 110 0.1700 0 88 0.130 0.0 1.0 -1.116E7 8.9 7.2 89 102100 0 0 295 0 0 0 0 0 0 0 0 0.0 1 1 32.0 2000 9 999999999 110 0.1700 0 88 0.130 0.0 1.0 -1.11636E7 9.4 7.2 86 102100 0 0 307 0 0 0 0 0 0 0 250 3.6 4 4 32.0 2000 9 999999999 110 0.1700 0 88 0.130 0.0 1.0 -1.11672E7 9.4 7.2 86 102200 99 1216 301 25 8 25 2800 500 2800 610 0 0.0 2 2 32.0 2000 9 999999999 110 0.1700 0 88 0.130 0.0 1.0 -1.11708E7 10.6 7.8 83 102200 357 1339 310 129 137 93 14200 12000 11000 2050 250 1.5 3 3 32.0 2000 9 999999999 120 0.1700 0 88 0.130 0.0 1.0 -1.11744E7 12.8 8.3 74 102200 612 1339 313 334 382 159 35000 37600 17800 3250 260 3.6 1 1 32.0 2000 9 999999999 120 0.1700 0 88 0.130 0.0 1.0 -1.1178E7 14.4 7.8 65 102200 843 1339 319 533 501 218 56700 51600 24200 5380 290 5.7 1 1 32.0 2000 9 999999999 120 0.1700 0 88 0.130 0.0 1.0 -1.11816E7 15.0 7.8 62 102200 1033 1339 322 683 548 260 73500 57100 29400 8620 290 5.7 2 1 32.0 2000 9 999999999 120 0.1700 0 88 0.130 0.0 1.0 -1.11852E7 16.7 8.3 58 102200 1170 1339 324 860 660 283 90100 66500 31900 13010 330 3.6 1 0 32.0 2000 9 999999999 120 0.1700 0 88 0.130 0.0 1.0 -1.11888E7 17.2 10.0 63 102100 1245 1339 328 936 693 291 98600 70000 33400 18200 360 4.1 0 0 48.0 2000 9 999999999 130 0.1700 0 88 0.130 0.0 1.0 -1.11924E7 20.6 8.3 45 102000 1252 1339 342 942 694 292 99200 70100 33500 18920 290 6.2 0 0 48.0 2000 9 999999999 130 0.1700 0 88 0.130 0.0 1.0 -1.1196E7 20.6 7.2 42 102000 1191 1339 347 828 620 277 87100 62600 31300 13740 290 8.8 1 1 48.0 2000 9 999999999 130 0.1700 0 88 0.130 0.0 1.0 -1.11996E7 19.4 7.8 47 102000 1065 1339 336 765 635 260 79800 63800 28900 8900 280 8.2 0 0 48.0 2000 9 999999999 130 0.1700 0 88 0.130 0.0 1.0 -1.12032E7 18.3 7.8 50 101900 885 1339 331 595 562 224 63600 58100 25200 5810 280 9.3 0 0 48.0 2000 9 999999999 130 0.1700 0 88 0.130 0.0 1.0 -1.12068E7 15.6 7.8 60 101900 661 1339 319 392 444 173 41300 44300 19400 3640 270 11.8 0 0 48.0 2000 9 999999999 130 0.1700 0 88 0.130 0.0 1.0 -1.12104E7 16.1 5.0 48 101900 410 1339 318 188 256 109 20000 23300 12800 2150 270 7.2 0 0 48.0 2000 9 999999999 140 0.1700 0 88 0.130 0.0 1.0 -1.1214E7 15.0 5.0 51 101900 150 1339 313 44 29 40 4700 2000 4500 950 270 7.2 0 0 48.0 2000 9 999999999 140 0.1700 0 88 0.130 0.0 1.0 -1.12176E7 12.8 6.1 64 101900 1 145 311 0 0 0 0 0 0 0 280 7.2 1 1 48.0 2000 9 999999999 140 0.1700 0 88 0.130 0.0 1.0 -1.12212E7 12.2 7.2 71 102000 0 0 309 0 0 0 0 0 0 0 280 5.2 1 1 48.0 2000 9 999999999 140 0.1700 0 88 0.130 0.0 1.0 -1.12248E7 11.7 7.2 74 102000 0 0 301 0 0 0 0 0 0 0 290 4.1 0 0 48.0 2000 9 999999999 140 0.1700 0 88 0.130 0.0 1.0 -1.12284E7 11.7 7.8 77 102000 0 0 302 0 0 0 0 0 0 0 290 4.1 0 0 48.0 2000 9 999999999 150 0.1700 0 88 0.130 0.0 1.0 -1.1232E7 11.1 8.3 83 101900 0 0 318 0 0 0 0 0 0 0 270 4.6 5 5 48.0 2000 9 999999999 150 0.1700 0 88 0.130 0.0 1.0 -1.12356E7 11.1 7.8 80 101900 0 0 317 0 0 0 0 0 0 0 270 2.1 5 5 48.0 2000 9 999999999 150 0.1710 0 88 0.130 0.0 1.0 -1.12392E7 11.7 7.8 77 101900 0 0 320 0 0 0 0 0 0 0 0 0.0 6 5 48.0 6096 9 999999999 150 0.1710 0 88 0.130 0.0 1.0 -1.12428E7 11.1 7.2 77 101700 0 0 309 0 0 0 0 0 0 0 200 2.1 6 2 48.0 2000 9 999999999 150 0.1710 0 88 0.130 0.0 1.0 -1.12464E7 12.2 7.8 74 101700 0 0 322 0 0 0 0 0 0 0 0 0.0 6 5 48.0 6096 9 999999999 150 0.1710 0 88 0.130 0.0 1.0 -1.125E7 12.8 7.8 72 101700 0 0 328 0 0 0 0 0 0 0 0 0.0 7 6 48.0 5182 9 999999999 160 0.1710 0 88 0.130 0.0 1.0 -1.12536E7 12.2 8.3 77 101700 102 1238 323 27 7 26 3000 0 3000 880 0 0.0 8 5 32.0 6096 9 999999999 160 0.1710 0 88 0.130 0.0 1.0 -1.12572E7 15.0 10.6 75 101800 360 1339 345 144 122 111 15600 10700 12700 2450 0 0.0 9 7 32.0 6096 9 999999999 160 0.1710 0 88 0.130 0.0 1.0 -1.12608E7 17.2 11.7 70 101800 614 1339 363 176 47 154 19300 4600 17200 4680 0 0.0 8 8 32.0 6096 9 999999999 160 0.1710 0 88 0.130 0.0 1.0 -1.12644E7 18.9 11.7 63 101800 845 1339 361 511 430 240 53900 44200 25900 6000 60 2.6 6 6 32.0 6096 9 999999999 160 0.1710 0 88 0.130 0.0 1.0 -1.1268E7 20.6 12.8 61 101800 1035 1339 365 696 559 263 74800 58300 29700 8770 60 3.1 8 4 32.0 6096 9 999999999 160 0.1710 0 88 0.130 0.0 1.0 -1.12716E7 22.2 11.1 49 101700 1172 1339 377 592 301 328 65600 32800 36900 14480 50 3.1 7 6 32.0 7620 9 999999999 160 0.1710 0 88 0.130 0.0 1.0 -1.12752E7 26.7 8.9 33 101700 1247 1339 391 791 517 309 86200 54200 35600 20140 40 2.6 8 4 32.0 7620 9 999999999 170 0.1710 0 88 0.130 0.0 1.0 -1.12788E7 27.2 10.6 35 101600 1253 1339 389 907 638 309 95200 64200 34900 20150 290 3.6 7 2 32.0 2000 9 999999999 170 0.1710 0 88 0.130 0.0 1.0 -1.12824E7 27.2 6.7 27 101600 1192 1339 388 828 620 275 87100 62600 31200 13750 280 8.8 6 3 32.0 2000 9 999999999 170 0.1710 0 88 0.130 0.0 1.0 -1.1286E7 28.3 6.1 24 101500 1067 1339 389 761 655 238 79800 66100 26900 8280 280 7.7 5 2 32.0 2000 9 999999999 170 0.1710 0 88 0.130 0.0 1.0 -1.12896E7 25.0 4.4 26 101500 887 1339 365 601 642 176 63100 64700 20200 4530 270 8.2 3 1 32.0 2000 9 999999999 170 0.1710 0 88 0.130 0.0 1.0 -1.12932E7 23.9 3.9 27 101400 664 1339 352 367 463 137 39600 46400 16500 2820 270 10.3 1 0 40.0 2000 9 999999999 170 0.1710 0 88 0.130 0.0 1.0 -1.12968E7 19.4 8.3 49 101400 413 1339 336 209 380 92 22100 33900 11600 1710 270 10.8 1 0 40.0 2000 9 999999999 170 0.1710 0 88 0.130 0.0 1.0 -1.13004E7 17.2 8.3 56 101400 153 1339 326 49 83 40 5400 4900 4800 840 270 9.3 1 0 40.0 2000 9 999999999 170 0.1710 0 88 0.130 0.0 1.0 -1.1304E7 15.6 6.1 53 101400 2 167 317 0 0 0 0 0 0 0 280 8.2 1 0 40.0 2000 9 999999999 180 0.1710 0 88 0.130 0.0 1.0 -1.13076E7 15.6 6.1 53 101400 0 0 317 0 0 0 0 0 0 0 290 6.2 0 0 40.0 2000 9 999999999 180 0.1710 0 88 0.130 0.0 1.0 -1.13112E7 15.0 6.1 55 101400 0 0 314 0 0 0 0 0 0 0 280 5.2 0 0 40.0 2000 9 999999999 180 0.1710 0 88 0.130 0.0 1.0 -1.13148E7 15.0 6.7 58 101500 0 0 315 0 0 0 0 0 0 0 300 4.1 0 0 48.0 2000 9 999999999 180 0.1710 0 88 0.130 0.0 1.0 -1.13184E7 14.4 7.2 62 101400 0 0 313 0 0 0 0 0 0 0 270 5.2 0 0 48.0 2000 9 999999999 180 0.1710 0 88 0.130 0.0 1.0 -1.1322E7 13.9 7.8 67 101400 0 0 311 0 0 0 0 0 0 0 280 4.1 0 0 48.0 2000 9 999999999 180 0.1730 0 88 0.130 0.0 1.0 -1.13256E7 13.3 8.3 72 101400 0 0 309 0 0 0 0 0 0 0 290 3.1 0 0 48.0 2000 9 999999999 180 0.1730 0 88 0.130 0.0 1.0 -1.13292E7 12.8 8.3 74 101300 0 0 307 0 0 0 0 0 0 0 280 3.1 0 0 48.0 2000 9 999999999 180 0.1730 0 88 0.130 0.0 1.0 -1.13328E7 13.3 8.9 75 101300 0 0 310 0 0 0 0 0 0 0 280 3.1 0 0 48.0 2000 9 999999999 190 0.1730 0 88 0.130 0.0 1.0 -1.13364E7 11.7 8.9 83 101300 0 0 303 0 0 0 0 0 0 0 270 3.1 0 0 72.0 2000 9 999999999 190 0.1730 0 88 0.130 0.0 1.0 -1.134E7 13.3 9.4 77 101400 106 1260 310 30 57 26 3400 3000 3200 540 260 3.1 0 0 72.0 2000 9 999999999 190 0.1730 0 88 0.130 0.0 1.0 -1.13436E7 16.1 10.0 67 101400 363 1338 323 178 371 77 18800 31700 10200 1400 280 3.1 0 0 72.0 2000 9 999999999 190 0.1730 0 88 0.130 0.0 1.0 -1.13472E7 18.9 10.6 59 101400 617 1338 337 383 572 119 39800 55400 14200 2410 300 2.6 0 0 40.0 2000 9 999999999 190 0.1730 0 88 0.130 0.0 1.0 -1.13508E7 18.9 11.1 61 101400 847 1338 337 588 685 154 62000 69100 18200 3820 10 4.1 0 0 40.0 2000 9 999999999 190 0.1730 0 88 0.130 0.0 1.0 -1.13544E7 20.0 11.7 59 101400 1037 1338 343 761 751 178 81200 76800 21600 5970 20 3.1 0 0 40.0 2000 9 999999999 190 0.1730 0 88 0.130 0.0 1.0 -1.1358E7 22.2 12.2 53 101400 1174 1338 354 886 789 194 92100 78900 22600 8320 30 2.6 0 0 64.0 2000 9 999999999 190 0.1730 0 88 0.130 0.0 1.0 -1.13616E7 23.9 12.2 48 101300 1248 1338 362 954 806 202 99600 80800 24000 12000 290 7.7 0 0 48.0 2000 9 999999999 190 0.1730 0 88 0.130 0.0 1.0 -1.13652E7 22.2 11.1 49 101300 1255 1338 353 960 808 203 100300 81000 24200 12520 290 9.8 0 0 48.0 2000 9 999999999 190 0.1730 0 88 0.130 0.0 1.0 -1.13688E7 22.2 10.6 48 101300 1194 1338 359 865 751 194 90000 75200 22700 9000 290 10.8 1 1 48.0 2000 9 999999999 200 0.1730 0 88 0.130 0.0 1.0 -1.13724E7 20.0 10.0 53 101300 1069 1338 348 773 730 189 82400 74600 22700 6770 270 11.3 3 1 48.0 2000 9 999999999 200 0.1730 0 88 0.130 0.0 1.0 -1.1376E7 18.9 8.9 52 101300 889 1338 341 595 647 165 62800 65400 19200 4300 260 12.9 2 1 48.0 2000 9 999999999 200 0.1730 0 88 0.130 0.0 1.0 -1.13796E7 17.8 10.0 60 101200 666 1338 337 405 531 140 43600 53300 17000 2900 280 9.3 3 1 48.0 2000 9 999999999 200 0.1730 0 88 0.130 0.0 1.0 -1.13832E7 17.8 10.0 60 101200 416 1338 342 222 294 131 23400 26800 15100 2680 300 5.7 2 2 48.0 2000 9 999999999 200 0.1730 0 88 0.130 0.0 1.0 -1.13868E7 16.1 10.6 70 101200 156 1338 338 48 89 38 5100 4800 4600 690 280 7.2 3 3 48.0 2000 9 999999999 200 0.1730 0 88 0.130 0.0 1.0 -1.13904E7 15.0 11.1 77 101300 2 190 326 0 0 0 0 0 0 0 280 5.7 2 1 48.0 2000 9 999999999 200 0.1730 0 88 0.130 0.0 1.0 -1.1394E7 14.4 11.1 81 101400 0 0 323 0 0 0 0 0 0 0 290 5.7 3 1 32.0 2000 9 999999999 200 0.1730 0 88 0.130 0.0 1.0 -1.13976E7 13.9 11.7 87 101400 0 0 321 0 0 0 0 0 0 0 290 6.2 2 1 32.0 2000 9 999999999 200 0.1730 0 88 0.130 0.0 1.0 -1.14012E7 13.3 11.7 90 101400 0 0 326 0 0 0 0 0 0 0 290 6.7 3 3 32.0 2000 9 999999999 200 0.1730 0 88 0.130 0.0 1.0 -1.14048E7 13.3 11.7 90 101300 0 0 313 0 0 0 0 0 0 0 320 6.2 0 0 40.0 2000 9 999999999 200 0.1730 0 88 0.130 0.0 1.0 -1.14084E7 13.9 11.7 87 101300 0 0 315 0 0 0 0 0 0 0 300 5.2 0 0 40.0 2000 9 999999999 209 0.1740 0 88 0.130 0.0 1.0 -1.1412E7 13.3 11.7 90 101300 0 0 313 0 0 0 0 0 0 0 300 6.2 0 0 40.0 2000 9 999999999 209 0.1740 0 88 0.130 0.0 1.0 -1.14156E7 12.8 11.7 93 101300 0 0 310 0 0 0 0 0 0 0 290 5.2 0 0 40.0 2000 9 999999999 209 0.1740 0 88 0.130 0.0 1.0 -1.14192E7 12.2 11.1 93 101400 0 0 313 0 0 0 0 0 0 0 280 2.6 1 1 40.0 2000 9 999999999 209 0.1740 0 88 0.130 0.0 1.0 -1.14228E7 12.2 11.1 93 101400 0 0 317 0 0 0 0 0 0 0 290 5.2 2 2 56.0 2000 9 999999999 209 0.1740 0 88 0.130 0.0 1.0 -1.14264E7 13.3 11.7 90 101400 109 1282 326 41 85 33 4300 3800 3900 610 290 7.7 8 3 32.0 2000 9 999999999 220 0.1740 0 88 0.130 0.0 1.0 -1.143E7 13.9 11.7 87 101400 366 1337 326 182 407 71 19500 34900 10000 1280 310 7.2 7 2 32.0 2000 9 999999999 220 0.1740 0 88 0.130 0.0 1.0 -1.14336E7 14.4 12.2 87 101400 620 1337 332 297 368 126 32000 36500 15000 2520 280 6.2 8 3 32.0 2000 9 999999999 220 0.1740 0 88 0.130 0.0 1.0 -1.14372E7 17.2 12.8 75 101400 849 1337 342 447 449 162 49100 46400 19600 3940 320 5.2 7 2 32.0 2000 9 999999999 230 0.1740 0 88 0.130 0.0 1.0 -1.14408E7 20.6 13.3 63 101400 1039 1337 372 652 452 301 69200 47000 32600 10230 290 6.2 8 6 40.0 7620 9 999999999 230 0.1740 0 88 0.130 0.0 1.0 -1.14444E7 23.3 13.9 55 101400 1175 1337 386 767 591 247 81100 60000 28300 11750 280 7.2 7 6 40.0 7620 9 999999999 230 0.1740 0 88 0.130 0.0 1.0 -1.1448E7 23.3 14.4 57 101400 1249 1337 387 865 690 220 93000 70700 26800 14410 260 9.3 9 6 40.0 7620 9 999999999 240 0.1740 0 88 0.130 0.0 1.0 -1.14516E7 21.1 14.4 66 101400 1256 1337 375 740 337 423 81300 36600 46800 26030 270 7.7 9 6 48.0 7620 9 999999999 240 0.1740 0 88 0.130 0.0 1.0 -1.14552E7 22.2 15.6 66 101400 1195 1337 382 869 683 258 91900 69300 29800 13170 270 8.8 10 6 48.0 7620 9 999999999 250 0.1740 0 88 0.130 0.0 1.0 -1.14588E7 21.7 15.0 66 101400 1071 1337 384 633 555 189 67600 56700 22100 6810 260 10.3 10 7 64.0 7620 9 999999999 250 0.1740 0 88 0.130 0.0 1.0 -1.14624E7 21.7 14.4 63 101400 891 1337 389 532 180 411 57000 18800 44400 11930 270 8.2 10 8 64.0 7620 9 999999999 250 0.1740 0 88 0.130 0.0 1.0 -1.1466E7 20.0 15.0 73 101400 668 1337 367 330 378 141 35500 37900 16500 2920 260 7.2 9 5 64.0 7620 9 999999999 260 0.1740 0 88 0.130 0.0 1.0 -1.14696E7 17.8 14.4 80 101400 418 1337 359 144 77 120 15800 7100 13600 3200 250 7.2 8 6 64.0 7620 9 999999999 260 0.1740 0 88 0.130 0.0 1.0 -1.14732E7 16.1 14.4 90 101400 160 1337 355 64 48 58 6900 3400 6500 1270 280 6.2 7 7 64.0 7620 9 999999999 260 0.1740 0 88 0.130 0.0 1.0 -1.14768E7 15.0 13.9 93 101400 3 212 345 0 2 0 0 0 0 0 260 7.7 10 6 24.0 7620 9 999999999 270 0.1740 0 88 0.130 0.0 1.0 -1.14804E7 15.6 14.4 93 101400 0 0 336 0 0 0 0 0 0 0 250 7.2 6 2 24.0 2000 9 999999999 270 0.1740 0 88 0.130 0.0 1.0 -1.1484E7 15.6 13.9 90 101500 0 0 339 0 0 0 0 0 0 0 290 3.6 6 3 24.0 2000 9 999999999 270 0.1740 0 88 0.130 0.0 1.0 -1.14876E7 15.0 13.9 93 101500 0 0 329 0 0 0 0 0 0 0 330 2.6 6 1 24.0 2000 9 999999999 280 0.1740 0 88 0.130 0.0 1.0 -1.14912E7 15.0 13.3 90 101400 0 0 336 0 0 0 0 0 0 0 0 0.0 3 3 32.0 2000 9 999999999 280 0.1740 0 88 0.130 0.0 1.0 -1.14948E7 12.8 12.8 100 101400 0 0 330 0 0 0 0 0 0 0 280 7.7 5 5 24.0 2000 9 999999999 290 0.1750 0 88 0.130 0.0 1.0 -1.14984E7 13.3 12.8 97 101400 0 0 339 0 0 0 0 0 0 0 250 4.1 7 7 32.0 5486 9 999999999 290 0.1750 0 88 0.130 0.0 1.0 -1.1502E7 14.4 13.3 93 101300 0 0 341 0 0 0 0 0 0 0 270 2.1 6 6 32.0 396 9 999999999 290 0.1750 0 88 0.130 0.0 1.0 -1.15056E7 15.0 14.4 96 101300 0 0 349 0 0 0 0 0 0 0 50 2.6 7 7 32.0 1524 9 999999999 300 0.1750 0 88 0.130 0.0 1.0 -1.15092E7 15.0 14.4 96 101300 0 0 373 0 0 0 0 0 0 0 270 2.6 10 10 32.0 457 9 999999999 300 0.1750 0 88 0.130 0.0 1.0 -1.15128E7 16.1 15.0 93 101300 112 1281 379 20 0 20 2300 0 2300 720 270 2.1 10 10 40.0 457 9 999999999 300 0.1750 0 88 0.130 0.0 1.0 -1.15164E7 16.7 15.0 90 101300 369 1337 382 57 0 57 6700 0 6700 2330 0 0.0 10 10 40.0 457 9 999999999 300 0.1750 0 88 0.130 0.0 1.0 -1.152E7 17.8 16.1 90 101400 622 1337 390 110 0 110 13000 0 13000 4880 170 4.1 10 10 40.0 457 9 999999999 300 0.1750 0 88 0.130 0.0 1.0 -1.15236E7 19.4 16.7 84 101300 851 1337 399 169 0 169 20100 0 20100 7940 140 5.2 10 10 40.0 1219 9 999999999 300 0.1750 0 88 0.130 0.0 1.0 -1.15272E7 21.1 16.7 76 101400 1040 1337 408 218 0 218 26200 0 26200 10580 170 6.2 10 10 40.0 610 9 999999999 300 0.1750 0 88 0.130 0.0 1.0 -1.15308E7 21.1 16.7 76 101400 1177 1337 389 524 117 420 57500 12500 46500 18650 200 7.7 8 8 48.0 914 9 999999999 300 0.1750 0 88 0.130 0.0 1.0 -1.15344E7 21.1 16.7 76 101400 1251 1337 397 537 129 416 59400 13800 46500 23320 190 5.2 9 9 64.0 914 9 999999999 300 0.1750 0 88 0.130 0.0 1.0 -1.1538E7 20.0 16.7 81 101300 1257 1337 402 273 0 273 33200 0 33200 13210 180 3.6 10 10 64.0 914 9 999999999 300 0.1750 0 88 0.130 0.0 1.0 -1.15416E7 20.6 16.7 78 101300 1197 1337 394 212 6 207 26200 500 25800 10420 180 3.6 9 9 64.0 457 9 999999999 300 0.1750 0 88 0.130 0.0 1.0 -1.15452E7 19.4 16.7 84 101300 1072 1337 388 290 81 224 32800 8700 25800 8070 180 2.6 9 9 64.0 457 9 999999999 300 0.1750 0 88 0.130 0.0 1.0 -1.15488E7 18.3 16.7 90 101300 893 1337 393 179 0 179 21400 0 21400 8490 220 5.2 10 10 64.0 457 9 999999999 300 0.1750 0 88 0.130 0.0 1.0 -1.15524E7 18.9 16.1 84 101300 671 1337 395 122 0 122 14400 0 14400 5480 220 4.6 10 10 72.0 457 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.1556E7 18.9 16.1 84 101200 421 1337 395 64 0 64 7500 0 7500 2680 220 3.1 10 10 72.0 457 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.15596E7 17.8 15.0 84 101300 163 1337 388 30 0 30 3400 0 3400 1080 240 2.1 10 10 48.0 457 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.15632E7 16.7 14.4 86 101300 3 234 382 0 0 0 0 0 0 0 230 4.6 10 10 32.0 457 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.15668E7 16.1 14.4 90 101300 0 0 378 0 0 0 0 0 0 0 220 3.6 10 10 32.0 457 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.15704E7 16.7 14.4 86 101300 0 0 382 0 0 0 0 0 0 0 160 2.6 10 10 32.0 914 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.1574E7 17.2 15.0 87 101300 0 0 385 0 0 0 0 0 0 0 220 4.6 10 10 32.0 914 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.15776E7 16.7 14.4 86 101300 0 0 358 0 0 0 0 0 0 0 200 4.1 10 7 32.0 914 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.15812E7 16.1 13.9 87 101400 0 0 378 0 0 0 0 0 0 0 230 5.2 10 10 40.0 1524 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.15848E7 15.6 13.3 86 101300 0 0 356 0 0 0 0 0 0 0 210 3.6 8 8 40.0 1524 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.15884E7 15.6 13.3 86 101300 0 0 374 0 0 0 0 0 0 0 190 2.1 10 10 40.0 3353 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.1592E7 16.1 13.3 83 101300 0 0 377 0 0 0 0 0 0 0 0 0.0 10 10 40.0 3048 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.15956E7 16.1 13.3 83 101300 0 0 353 0 0 0 0 0 0 0 60 2.1 7 7 40.0 3048 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.15992E7 16.7 13.9 84 101200 115 1303 381 22 0 22 2500 0 2500 780 190 3.1 10 10 40.0 914 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.16028E7 17.2 13.9 81 101300 372 1336 384 76 0 76 8700 0 8700 2940 210 2.1 10 10 48.0 914 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.16064E7 17.8 13.9 78 101200 624 1336 387 127 0 127 14800 0 14800 5490 0 0.0 10 10 48.0 762 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.161E7 17.8 14.4 80 101200 853 1336 387 172 0 172 20400 0 20400 8060 30 3.1 10 10 48.0 823 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.16136E7 17.2 15.0 87 101200 1042 1336 385 222 0 222 26600 0 26600 10740 10 4.1 10 10 32.0 610 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.16172E7 17.2 15.6 90 101200 1178 1336 386 259 0 259 31300 0 31300 12500 10 4.1 10 10 11.2 488 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.16208E7 16.1 16.1 100 101200 1252 1336 380 278 0 278 33800 0 33800 13390 350 4.6 10 10 2.4 488 9 999999999 310 0.1750 0 88 0.130 4.0 1.0 -1.16244E7 16.1 15.6 97 101200 1259 1336 380 280 0 280 34000 0 34000 13480 200 4.6 10 10 4.8 488 9 999999999 310 0.1750 0 88 0.130 4.0 1.0 -1.1628E7 16.1 14.4 90 101200 1198 1336 378 264 0 264 32000 0 32000 12740 190 3.6 10 10 8.0 488 9 999999999 310 0.1750 0 88 0.130 2.0 1.0 -1.16316E7 15.6 15.0 96 101100 1074 1336 377 231 0 231 27800 0 27800 11190 130 4.1 10 10 9.6 1006 9 999999999 310 0.1750 0 88 0.130 1.0 1.0 -1.16352E7 16.1 15.6 97 101000 895 1336 380 183 0 183 21800 0 21800 8660 140 3.1 10 10 6.4 488 9 999999999 310 0.1750 0 88 0.130 1.0 1.0 -1.16388E7 16.1 15.6 97 100900 673 1336 380 136 0 136 16000 0 16000 6000 160 5.7 10 10 4.0 488 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.16424E7 16.1 15.6 97 100800 424 1336 380 87 0 87 10000 0 10000 3440 160 5.2 10 10 4.0 488 9 999999999 310 0.1750 0 88 0.130 1.0 1.0 -1.1646E7 15.6 15.0 96 100800 166 1336 377 34 0 34 3900 0 3900 1190 140 4.1 10 10 4.8 488 9 999999999 310 0.1750 0 88 0.130 1.0 1.0 -1.16496E7 15.6 15.6 100 100700 4 256 377 0 0 0 0 0 0 0 110 3.6 10 10 4.8 488 9 999999999 310 0.1750 0 88 0.130 3.0 1.0 -1.16532E7 16.7 15.6 93 100700 0 0 383 0 0 0 0 0 0 0 170 7.2 10 10 11.2 488 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.16568E7 16.7 15.0 90 100800 0 0 382 0 0 0 0 0 0 0 170 6.2 10 10 11.2 488 9 999999999 310 0.1750 0 88 0.130 2.0 1.0 -1.16604E7 16.7 15.6 93 100700 0 0 383 0 0 0 0 0 0 0 160 3.1 10 10 24.0 488 9 999999999 310 0.1750 0 88 0.130 0.0 1.0 -1.1664E7 16.1 15.0 93 100700 0 0 379 0 0 0 0 0 0 0 160 5.2 10 10 11.2 762 9 999999999 300 0.1750 0 88 0.130 1.0 1.0 -1.16676E7 16.1 15.6 97 100500 0 0 380 0 0 0 0 0 0 0 100 8.2 10 10 16.0 2134 9 999999999 300 0.1760 0 88 0.130 0.0 1.0 -1.16712E7 15.6 15.0 96 100500 0 0 343 0 0 0 0 0 0 0 140 4.1 5 4 32.0 2000 9 999999999 300 0.1760 0 88 0.130 0.0 1.0 -1.16748E7 15.0 15.0 100 100600 0 0 355 0 0 0 0 0 0 0 0 0.0 8 8 32.0 1524 9 999999999 300 0.1760 0 88 0.130 0.0 1.0 -1.16784E7 15.0 13.9 93 100600 0 0 349 0 0 0 0 0 0 0 210 4.1 7 7 32.0 2134 9 999999999 300 0.1760 0 88 0.130 0.0 1.0 -1.1682E7 15.6 14.4 93 100600 0 0 358 0 0 0 0 0 0 0 170 5.2 8 8 40.0 1524 9 999999999 300 0.1760 0 88 0.130 0.0 1.0 -1.16856E7 15.6 14.4 93 100700 118 1325 376 23 0 23 2600 0 2600 810 160 5.2 10 10 24.0 914 9 999999999 300 0.1760 0 88 0.130 0.0 1.0 -1.16892E7 16.1 15.0 93 100800 374 1336 379 74 0 74 8500 0 8500 2890 180 8.2 10 10 16.0 610 9 999999999 300 0.1760 0 88 0.130 0.0 1.0 -1.16928E7 17.2 14.4 84 100800 627 1336 384 120 0 120 14100 0 14100 5250 160 6.2 10 10 32.0 2743 9 999999999 300 0.1760 0 88 0.130 0.0 1.0 -1.16964E7 16.7 15.0 90 100900 855 1336 382 170 0 170 20200 0 20200 8000 170 5.2 10 10 32.0 762 9 999999999 290 0.1760 0 88 0.130 0.0 1.0 -1.17E7 17.2 15.0 87 101000 1043 1336 385 220 0 220 26400 0 26400 10670 180 5.2 10 10 32.0 610 9 999999999 290 0.1760 0 88 0.130 0.0 1.0 -1.17036E7 18.3 13.9 76 101100 1179 1336 371 628 191 459 68700 20300 50700 20580 180 7.7 8 8 48.0 3048 9 999999999 290 0.1760 0 88 0.130 0.0 1.0 -1.17072E7 20.0 14.4 70 101100 1253 1336 388 477 135 351 53500 14500 39900 19950 180 5.7 9 9 48.0 1433 9 999999999 290 0.1760 0 88 0.130 0.0 1.0 -1.17108E7 18.9 14.4 75 101200 1260 1336 393 278 0 278 33800 0 33800 13410 190 6.2 10 10 48.0 975 9 999999999 290 0.1760 0 88 0.130 0.0 1.0 -1.17144E7 17.2 15.0 87 101200 1199 1336 385 262 0 262 31700 0 31700 12660 170 6.7 10 10 24.0 975 9 999999999 290 0.1760 0 88 0.130 0.0 1.0 -1.1718E7 18.3 14.4 78 101200 1075 1336 390 229 0 229 27600 0 27600 11110 190 6.7 10 10 32.0 975 9 999999999 280 0.1760 0 88 0.130 0.0 1.0 -1.17216E7 18.9 13.9 73 101200 897 1336 382 216 14 207 25500 1100 24800 9560 160 6.2 9 9 48.0 975 9 999999999 280 0.1760 0 88 0.130 0.0 1.0 -1.17252E7 17.8 13.9 78 101200 675 1336 387 129 0 129 15200 0 15200 5760 190 6.2 10 10 48.0 975 9 999999999 280 0.1760 0 88 0.130 0.0 1.0 -1.17288E7 17.2 13.9 81 101200 427 1336 384 83 0 83 9600 0 9600 3330 180 6.7 10 10 48.0 975 9 999999999 280 0.1760 0 88 0.130 0.0 1.0 -1.17324E7 16.1 14.4 90 101300 169 1336 378 34 0 34 3900 0 3900 1200 180 7.2 10 10 32.0 610 9 999999999 280 0.1760 0 88 0.130 0.0 1.0 -1.1736E7 16.1 13.9 87 101300 4 256 378 0 0 0 0 0 0 0 170 5.7 10 10 24.0 610 9 999999999 280 0.1760 0 88 0.130 0.0 1.0 -1.17396E7 16.7 13.3 80 101300 0 0 380 0 0 0 0 0 0 0 180 5.2 10 10 24.0 975 9 999999999 270 0.1760 0 88 0.130 0.0 1.0 -1.17432E7 16.1 14.4 90 101400 0 0 351 0 0 0 0 0 0 0 190 5.7 10 6 24.0 610 9 999999999 270 0.1760 0 88 0.130 0.0 1.0 -1.17468E7 16.7 13.9 84 101400 0 0 381 0 0 0 0 0 0 0 200 7.2 10 10 24.0 884 9 999999999 270 0.1760 0 88 0.130 0.0 1.0 -1.17504E7 16.1 13.9 87 101400 0 0 378 0 0 0 0 0 0 0 210 5.2 10 10 16.0 1219 9 999999999 270 0.1760 0 88 0.130 0.0 1.0 -1.1754E7 16.1 14.4 90 101400 0 0 378 0 0 0 0 0 0 0 210 5.2 10 10 16.0 762 9 999999999 270 0.1770 0 88 0.130 0.0 1.0 -1.17576E7 15.0 14.4 96 101300 0 0 373 0 0 0 0 0 0 0 230 3.1 10 10 24.0 762 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.17612E7 15.0 13.9 93 101300 0 0 372 0 0 0 0 0 0 0 190 4.1 10 10 32.0 610 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.17648E7 15.0 13.3 90 101300 0 0 361 0 0 0 0 0 0 0 170 3.1 9 9 32.0 914 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.17684E7 15.0 12.8 87 101300 0 11 371 0 0 0 0 0 0 0 160 3.1 10 10 32.0 1219 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.1772E7 15.0 13.3 90 101300 121 1335 371 20 0 20 2300 0 2300 720 150 4.6 10 10 24.0 762 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.17756E7 15.6 13.3 86 101400 377 1335 374 59 0 59 6900 0 6900 2410 170 5.2 10 10 32.0 1524 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.17792E7 16.1 13.3 83 101400 629 1335 377 118 0 118 13900 0 13900 5190 170 5.2 10 10 40.0 1829 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.17828E7 16.7 13.3 80 101400 857 1335 380 176 0 176 20900 0 20900 8230 160 5.2 10 10 48.0 1067 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.17864E7 16.7 12.8 78 101500 1045 1335 380 223 0 223 26800 0 26800 10790 150 7.2 10 10 48.0 762 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.179E7 17.8 13.3 75 101500 1180 1335 386 256 0 256 31000 0 31000 12390 140 7.2 10 10 48.0 732 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.17936E7 17.8 13.3 75 101500 1254 1335 386 274 0 274 33300 0 33300 13240 160 5.2 10 10 48.0 732 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.17972E7 18.3 13.3 73 101400 1261 1335 389 276 0 276 33600 0 33600 13340 150 4.6 10 10 64.0 762 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.18008E7 19.4 13.3 68 101400 1200 1335 395 261 0 261 31600 0 31600 12630 180 7.2 10 10 64.0 762 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.18044E7 19.4 13.3 68 101300 1077 1335 395 231 0 231 27800 0 27800 11200 180 10.3 10 10 64.0 1676 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.1808E7 18.3 13.3 73 101300 898 1335 389 186 0 186 22100 0 22100 8790 180 8.2 10 10 64.0 1067 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.18116E7 16.7 15.0 90 101300 678 1335 382 130 0 130 15300 0 15300 5800 170 10.3 10 10 11.2 610 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.18152E7 15.6 15.0 96 101200 430 1335 377 70 0 70 8200 0 8200 2910 170 8.2 10 10 3.2 610 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.18188E7 15.6 15.0 96 101200 172 1335 377 27 0 27 3100 0 3100 1010 170 6.2 10 10 2.0 610 9 999999999 260 0.1770 0 88 0.130 1.0 1.0 -1.18224E7 16.1 15.0 93 101300 5 278 379 0 0 0 0 0 0 0 200 9.3 10 10 11.2 457 9 999999999 260 0.1770 0 88 0.130 1.0 1.0 -1.1826E7 15.6 15.0 96 101300 0 0 377 0 0 0 0 0 0 0 210 7.2 10 10 24.0 457 9 999999999 260 0.1770 0 88 0.130 0.0 1.0 -1.18296E7 15.6 14.4 93 101400 0 0 376 0 0 0 0 0 0 0 200 4.6 10 10 24.0 457 9 999999999 250 0.1770 0 88 0.130 0.0 1.0 -1.18332E7 15.6 14.4 93 101400 0 0 376 0 0 0 0 0 0 0 180 3.6 10 10 24.0 457 9 999999999 250 0.1770 0 88 0.130 0.0 1.0 -1.18368E7 15.6 13.9 90 101400 0 0 375 0 0 0 0 0 0 0 210 4.1 10 10 24.0 914 9 999999999 250 0.1770 0 88 0.130 0.0 1.0 -1.18404E7 15.6 13.9 90 101400 0 0 375 0 0 0 0 0 0 0 240 3.1 10 10 32.0 640 9 999999999 250 0.1780 0 88 0.130 0.0 1.0 -1.1844E7 14.4 12.8 90 101400 0 0 345 0 0 0 0 0 0 0 220 3.1 10 7 32.0 3962 9 999999999 250 0.1780 0 88 0.130 0.0 1.0 -1.18476E7 14.4 13.3 93 101400 0 0 351 0 0 0 0 0 0 0 220 3.1 10 8 24.0 3962 9 999999999 250 0.1780 0 88 0.130 0.0 1.0 -1.18512E7 14.4 12.8 90 101500 0 0 345 0 0 0 0 0 0 0 200 2.6 7 7 24.0 4572 9 999999999 250 0.1780 0 88 0.130 0.0 1.0 -1.18548E7 13.9 12.2 89 101500 0 33 338 0 0 0 0 0 0 0 180 4.1 6 6 11.2 4572 9 999999999 250 0.1780 0 88 0.130 0.0 1.0 -1.18584E7 14.4 12.8 90 101600 124 1335 368 22 0 22 2500 0 2500 780 180 3.1 10 10 14.4 1524 9 999999999 250 0.1780 0 88 0.130 0.0 1.0 -1.1862E7 15.0 12.8 87 101600 379 1335 371 56 0 56 6600 0 6600 2320 160 2.1 10 10 14.4 914 9 999999999 250 0.1780 0 88 0.130 0.0 1.0 -1.18656E7 16.7 12.2 75 101600 631 1335 379 115 0 115 13600 0 13600 5090 190 3.6 10 10 14.4 1219 9 999999999 240 0.1780 0 88 0.130 0.0 1.0 -1.18692E7 16.7 12.8 78 101700 858 1335 380 173 0 173 20600 0 20600 8130 230 4.6 10 10 16.0 1067 9 999999999 240 0.1780 0 88 0.130 0.0 1.0 -1.18728E7 16.7 12.8 78 101700 1046 1335 369 408 130 306 45300 13900 34400 10630 230 4.1 10 9 16.0 975 9 999999999 240 0.1780 0 88 0.130 0.0 1.0 -1.18764E7 18.3 12.2 68 101800 1182 1335 369 533 204 352 58900 22200 39200 16250 210 6.2 8 8 24.0 1006 9 999999999 230 0.1780 0 88 0.130 0.0 1.0 -1.188E7 16.7 12.8 78 101800 1255 1335 356 654 299 372 72500 32600 41800 22830 240 6.2 9 7 24.0 1006 9 999999999 230 0.1780 0 88 0.130 0.0 1.0 -1.18836E7 18.9 11.7 63 101800 1262 1335 371 573 273 314 64400 29800 36100 19730 250 5.7 10 8 24.0 4572 9 999999999 230 0.1780 0 88 0.130 0.0 1.0 -1.18872E7 18.3 12.2 68 101800 1202 1335 363 699 402 337 75100 42000 37200 18350 240 6.7 10 7 24.0 3962 9 999999999 230 0.1780 0 88 0.130 0.0 1.0 -1.18908E7 18.9 11.7 63 101700 1078 1335 371 543 240 349 59300 26000 38200 12580 240 7.7 10 8 24.0 3962 9 999999999 220 0.1780 0 88 0.130 0.0 1.0 -1.18944E7 17.2 11.7 70 101800 900 1335 357 465 235 306 50900 24800 34100 8970 220 5.2 9 7 24.0 3962 9 999999999 220 0.1780 0 88 0.130 0.0 1.0 -1.1898E7 17.2 11.7 70 101700 680 1335 363 340 196 240 36900 20100 26600 6020 220 5.7 10 8 24.0 4572 9 999999999 220 0.1780 0 88 0.130 0.0 1.0 -1.19016E7 16.7 11.7 72 101700 432 1335 347 174 158 123 19000 14800 14200 2780 280 3.1 7 5 24.0 4572 9 999999999 220 0.1780 0 88 0.130 0.0 1.0 -1.19052E7 15.6 12.2 80 101700 176 1335 343 47 35 42 5100 2500 4800 1030 260 4.1 8 5 24.0 4572 9 999999999 209 0.1780 0 88 0.130 0.0 1.0 -1.19088E7 14.4 12.2 87 101800 6 300 337 0 0 0 0 0 0 0 280 3.1 7 5 24.0 7620 9 999999999 209 0.1780 0 88 0.130 0.0 1.0 -1.19124E7 13.9 12.2 89 101800 0 0 347 0 0 0 0 0 0 0 260 4.6 8 8 24.0 2286 9 999999999 209 0.1780 0 88 0.130 0.0 1.0 -1.1916E7 13.9 12.2 89 101800 0 0 364 0 0 0 0 0 0 0 250 3.1 10 10 24.0 366 9 999999999 209 0.1780 0 88 0.130 0.0 1.0 -1.19196E7 13.3 12.2 93 101800 0 0 344 0 0 0 0 0 0 0 280 4.1 8 8 24.0 366 9 999999999 200 0.1780 0 88 0.130 0.0 1.0 -1.19232E7 12.8 11.7 93 101800 0 0 321 0 0 0 0 0 0 0 270 4.1 2 2 40.0 2000 9 999999999 200 0.1780 0 88 0.130 0.0 1.0 -1.19268E7 12.8 11.1 89 101800 0 0 316 0 0 0 0 0 0 0 260 4.1 1 1 40.0 2000 9 999999999 200 0.1790 0 88 0.130 0.0 1.0 -1.19304E7 12.2 11.1 93 101800 0 0 313 0 0 0 0 0 0 0 260 4.1 1 1 40.0 2000 9 999999999 200 0.1790 0 88 0.130 0.0 1.0 -1.1934E7 12.2 11.1 93 101800 0 0 317 0 0 0 0 0 0 0 260 4.1 2 2 40.0 2000 9 999999999 190 0.1790 0 88 0.130 0.0 1.0 -1.19376E7 12.8 11.7 93 101800 0 0 341 0 0 0 0 0 0 0 300 3.1 8 8 24.0 335 9 999999999 190 0.1790 0 88 0.130 0.0 1.0 -1.19412E7 11.7 11.1 96 101800 0 33 330 0 0 0 0 0 0 0 280 4.6 7 7 24.0 6096 9 999999999 190 0.1790 0 88 0.130 0.0 1.0 -1.19448E7 12.2 11.1 93 101900 126 1334 323 33 13 32 3600 800 3600 760 260 4.1 8 4 24.0 2000 9 999999999 190 0.1790 0 88 0.130 0.0 1.0 -1.19484E7 13.9 11.7 87 101900 382 1334 332 180 274 101 19100 24300 12200 1970 280 3.6 7 4 24.0 2000 9 999999999 190 0.1790 0 88 0.130 0.0 1.0 -1.1952E7 15.0 11.1 77 101900 633 1334 333 392 497 156 41500 49400 18000 3210 320 1.5 5 3 24.0 2000 9 999999999 190 0.1790 0 88 0.130 0.0 1.0 -1.19556E7 16.7 11.1 70 101900 860 1334 338 577 596 192 59900 59500 21500 4700 360 2.6 5 2 24.0 2000 9 999999999 190 0.1790 0 88 0.130 0.0 1.0 -1.19592E7 17.2 9.4 60 101900 1047 1334 334 743 743 159 77500 74500 18900 4950 250 4.1 1 1 40.0 2000 9 999999999 190 0.1790 0 88 0.130 0.0 1.0 -1.19628E7 17.2 8.9 58 102000 1183 1334 333 858 788 159 91200 79700 20400 7470 260 5.7 1 1 56.0 2000 9 999999999 180 0.1790 0 88 0.130 0.0 1.0 -1.19664E7 17.8 10.0 60 101900 1256 1334 345 903 725 220 97200 74400 27000 15190 280 6.7 3 3 56.0 2000 9 999999999 180 0.1790 0 88 0.130 0.0 1.0 -1.197E7 18.3 11.1 63 101900 1263 1334 345 916 783 175 97400 79100 22300 11850 270 8.2 2 2 56.0 2000 9 999999999 180 0.1790 0 88 0.130 0.0 1.0 -1.19736E7 18.3 10.0 58 101900 1203 1334 348 790 588 260 83600 59600 29700 13840 260 7.2 3 3 56.0 2000 9 999999999 180 0.1790 0 88 0.130 0.0 1.0 -1.19772E7 18.3 8.9 54 101900 1080 1334 343 761 714 182 81400 73100 22100 6770 270 7.7 2 2 64.0 2000 9 999999999 180 0.1790 0 88 0.130 0.0 1.0 -1.19808E7 17.2 8.3 56 101900 902 1334 340 565 535 203 61200 55500 23600 5370 260 8.2 6 3 64.0 2000 9 999999999 180 0.1790 0 88 0.130 0.0 1.0 -1.19844E7 16.7 7.8 56 101800 682 1334 334 408 407 199 42400 40800 21500 4310 270 7.7 5 2 64.0 2000 9 999999999 180 0.1790 0 88 0.130 0.0 1.0 -1.1988E7 15.0 8.3 64 101800 435 1334 323 231 431 90 24600 39200 11800 1670 260 6.7 3 1 56.0 2000 9 999999999 180 0.1790 0 88 0.130 0.0 1.0 -1.19916E7 13.9 8.9 72 101800 179 1334 318 64 173 41 6700 10500 5300 730 260 8.2 2 1 56.0 2000 9 999999999 180 0.1790 0 88 0.130 0.0 1.0 -1.19952E7 13.3 7.8 69 101700 6 322 315 0 1 0 0 0 0 0 260 6.7 3 1 32.0 2000 9 999999999 180 0.1790 0 88 0.130 0.0 1.0 -1.19988E7 13.3 8.3 72 101800 0 0 309 0 0 0 0 0 0 0 260 6.2 1 0 32.0 2000 9 999999999 170 0.1790 0 88 0.130 0.0 1.0 -1.20024E7 12.8 8.3 74 101800 0 0 307 0 0 0 0 0 0 0 260 5.7 0 0 32.0 2000 9 999999999 170 0.1790 0 88 0.130 0.0 1.0 -1.2006E7 12.8 9.4 80 101800 0 0 308 0 0 0 0 0 0 0 260 6.2 0 0 32.0 2000 9 999999999 170 0.1790 0 88 0.130 0.0 1.0 -1.20096E7 12.2 10.0 86 101700 0 0 306 0 0 0 0 0 0 0 270 5.2 0 0 32.0 2000 9 999999999 170 0.1790 0 88 0.130 0.0 1.0 -1.20132E7 12.2 9.4 83 101700 0 0 306 0 0 0 0 0 0 0 260 6.2 0 0 32.0 2000 9 999999999 170 0.1790 0 88 0.130 0.0 1.0 -1.20168E7 11.7 9.4 86 101700 0 0 303 0 0 0 0 0 0 0 260 6.2 0 0 32.0 2000 9 999999999 170 0.1790 0 88 0.130 0.0 1.0 -1.20204E7 11.7 10.0 89 101700 0 0 304 0 0 0 0 0 0 0 250 5.7 0 0 32.0 2000 9 999999999 170 0.1790 0 88 0.130 0.0 1.0 -1.2024E7 11.1 10.0 93 101700 0 0 301 0 0 0 0 0 0 0 240 5.2 0 0 32.0 2000 9 999999999 170 0.1790 0 88 0.130 0.0 1.0 -1.20276E7 11.1 10.0 93 101700 0 56 301 0 0 0 0 0 0 0 260 5.7 3 0 24.0 2000 9 999999999 170 0.1790 0 88 0.130 0.0 1.0 -1.20312E7 11.7 10.0 89 101700 129 1334 314 39 10 38 4300 0 4300 1180 270 6.2 7 2 16.0 2000 9 999999999 170 0.1790 0 88 0.130 0.0 1.0 -1.20348E7 12.8 10.0 83 101700 384 1334 322 166 146 124 18000 13100 14200 2760 260 6.2 8 3 16.0 2000 9 999999999 170 0.1790 0 88 0.130 0.0 1.0 -1.20384E7 13.9 10.0 77 101800 635 1334 324 356 358 186 38200 36800 20700 4090 250 7.7 6 2 32.0 2000 9 999999999 180 0.1790 0 88 0.130 0.0 1.0 -1.2042E7 15.6 9.4 67 101800 861 1334 334 508 356 278 54800 38100 30100 7370 250 4.6 6 3 32.0 2000 9 999999999 180 0.1790 0 88 0.130 0.0 1.0 -1.20456E7 16.7 10.0 65 101800 1049 1334 332 709 571 260 76600 59600 29600 8980 270 6.2 4 1 32.0 2000 9 999999999 180 0.1790 0 88 0.130 0.0 1.0 -1.20492E7 17.2 9.4 60 101800 1184 1334 334 833 628 276 87700 63400 31200 13580 260 7.2 3 1 40.0 2000 9 999999999 180 0.1790 0 88 0.130 0.0 1.0 -1.20528E7 17.8 8.9 56 101700 1257 1334 336 893 650 280 94500 65900 32300 19240 270 6.2 2 1 40.0 2000 9 999999999 190 0.1790 0 88 0.130 0.0 1.0 -1.20564E7 16.7 8.3 58 101700 1264 1334 330 885 605 311 93000 60900 35100 22120 260 8.2 5 1 48.0 2000 9 999999999 190 0.1790 0 88 0.130 0.0 1.0 -1.206E7 16.7 8.3 58 101700 1204 1334 330 851 604 306 89100 60700 34200 16170 250 7.2 6 1 48.0 2000 9 999999999 190 0.1790 0 88 0.130 0.0 1.0 -1.20636E7 16.7 8.9 60 101700 1081 1334 331 751 543 310 80000 56600 34000 11660 270 9.8 9 1 56.0 2000 9 999999999 190 0.1790 0 88 0.130 0.0 1.0 -1.20672E7 16.1 7.8 58 101600 904 1334 327 604 483 277 63400 49900 29500 7540 260 8.8 10 1 56.0 2000 9 999999999 200 0.1790 0 88 0.130 0.0 1.0 -1.20708E7 14.4 8.9 70 101600 684 1334 336 342 147 267 36900 15000 29200 6720 260 8.2 10 6 56.0 7620 9 999999999 200 0.1790 0 88 0.130 0.0 1.0 -1.20744E7 13.9 8.9 72 101500 437 1334 334 157 91 127 17100 8500 14300 2870 250 6.2 10 6 48.0 7620 9 999999999 200 0.1790 0 88 0.130 0.0 1.0 -1.2078E7 13.3 9.4 77 101500 182 1334 329 51 26 47 5500 1900 5300 1140 250 7.2 5 5 48.0 2000 9 999999999 200 0.1790 0 88 0.130 0.0 1.0 -1.20816E7 12.8 9.4 80 101600 7 344 324 0 0 0 0 0 0 0 260 8.2 4 4 32.0 2000 9 999999999 209 0.1790 0 88 0.130 0.0 1.0 -1.20852E7 12.2 9.4 83 101600 0 0 319 0 0 0 0 0 0 0 250 3.6 3 3 32.0 2000 9 999999999 209 0.1790 0 88 0.130 0.0 1.0 -1.20888E7 12.2 9.4 83 101600 0 0 316 0 0 0 0 0 0 0 240 3.6 2 2 32.0 2000 9 999999999 209 0.1790 0 88 0.130 0.0 1.0 -1.20924E7 12.2 9.4 83 101600 0 0 319 0 0 0 0 0 0 0 250 5.2 3 3 32.0 2000 9 999999999 209 0.1790 0 88 0.130 0.0 1.0 -1.2096E7 11.7 9.4 86 101600 0 0 313 0 0 0 0 0 0 0 230 3.1 6 2 32.0 2000 9 999999999 220 0.1790 0 88 0.130 0.0 1.0 -1.20996E7 12.2 9.4 83 101600 0 0 353 0 0 0 0 0 0 0 160 3.6 10 10 32.0 3658 9 999999999 220 0.1800 0 88 0.130 0.0 1.0 -1.21032E7 12.2 8.9 80 101500 0 0 352 0 0 0 0 0 0 0 180 2.6 10 10 32.0 2438 9 999999999 220 0.1800 0 88 0.130 0.0 1.0 -1.21068E7 12.8 10.0 83 101500 0 0 356 0 0 0 0 0 0 0 130 3.6 10 10 32.0 2438 9 999999999 220 0.1800 0 88 0.130 0.0 1.0 -1.21104E7 12.8 9.4 80 101500 0 0 356 0 0 0 0 0 0 0 150 3.6 10 10 32.0 2134 9 999999999 230 0.1800 0 88 0.130 0.0 1.0 -1.2114E7 13.3 7.2 67 101400 0 78 355 0 0 0 0 0 0 0 120 4.6 10 10 64.0 1524 9 999999999 230 0.1800 0 88 0.130 0.0 1.0 -1.21176E7 13.3 7.2 67 101500 131 1333 355 22 0 22 2500 0 2500 800 120 4.6 10 10 64.0 1006 9 999999999 220 0.1800 0 88 0.130 0.0 1.0 -1.21212E7 14.4 7.2 62 101500 386 1333 361 59 0 59 6900 0 6900 2430 150 3.1 10 10 64.0 1006 9 999999999 220 0.1800 0 88 0.130 0.0 1.0 -1.21248E7 15.0 10.0 72 101400 636 1333 367 117 0 117 13800 0 13800 5190 140 5.7 10 10 64.0 732 9 999999999 220 0.1800 0 88 0.130 0.0 1.0 -1.21284E7 14.4 12.8 90 101400 863 1333 368 175 0 175 20800 0 20800 8230 140 5.7 10 10 11.2 1006 9 999999999 220 0.1800 0 88 0.130 0.0 1.0 -1.2132E7 15.6 15.0 96 101400 1050 1333 377 222 0 222 26700 0 26700 10770 170 6.2 10 10 4.8 1006 9 999999999 220 0.1800 0 88 0.130 0.0 1.0 -1.21356E7 17.8 15.6 87 101400 1184 1333 364 738 533 265 77900 53900 29900 13150 180 9.3 7 7 14.4 427 9 999999999 220 0.1800 0 88 0.130 0.0 1.0 -1.21392E7 18.9 15.0 78 101400 1258 1333 375 697 344 372 77400 37500 41900 23320 190 9.3 8 8 24.0 427 9 999999999 220 0.1800 0 88 0.130 0.0 1.0 -1.21428E7 18.3 15.6 84 101400 1265 1333 392 276 0 276 33600 0 33600 13350 180 6.2 10 10 24.0 457 9 999999999 209 0.1800 0 88 0.130 0.0 1.0 -1.21464E7 17.2 16.1 93 101400 1205 1333 368 831 348 516 89400 37700 55300 26910 180 8.2 10 8 8.0 488 9 999999999 209 0.1800 0 88 0.130 0.0 1.0 -1.215E7 17.2 15.6 90 101400 1083 1333 361 508 246 307 55900 26700 34200 11000 200 7.7 10 7 16.0 488 9 999999999 209 0.1800 0 88 0.130 0.0 1.0 -1.21536E7 16.7 15.0 90 101400 906 1333 364 336 160 227 37500 17000 25900 6690 210 5.7 10 8 16.0 488 9 999999999 209 0.1800 0 88 0.130 0.0 1.0 -1.21572E7 16.1 13.9 87 101400 686 1333 378 130 0 130 15300 0 15300 5840 260 5.7 10 10 24.0 640 9 999999999 209 0.1800 0 88 0.130 0.0 1.0 -1.21608E7 15.6 13.3 86 101400 440 1333 374 70 0 70 8200 0 8200 2940 240 5.2 10 10 24.0 488 9 999999999 209 0.1800 0 88 0.130 0.0 1.0 -1.21644E7 14.4 13.9 97 101400 185 1333 346 56 44 50 6100 3200 5700 1200 230 4.1 7 7 16.0 1067 9 999999999 209 0.1800 0 88 0.130 0.0 1.0 -1.2168E7 13.3 13.3 100 101500 8 367 363 0 0 0 0 0 0 0 270 6.2 10 10 4.8 335 9 999999999 209 0.1800 0 88 0.130 0.0 1.0 -1.21716E7 12.8 12.2 96 101500 0 0 359 0 0 0 0 0 0 0 260 5.7 10 10 40.0 549 9 999999999 200 0.1800 0 88 0.130 0.0 1.0 -1.21752E7 12.8 11.1 89 101600 0 0 348 0 0 0 0 0 0 0 270 7.2 9 9 40.0 762 9 999999999 200 0.1800 0 88 0.130 0.0 1.0 -1.21788E7 12.8 10.0 83 101600 0 0 346 0 0 0 0 0 0 0 280 9.3 9 9 40.0 792 9 999999999 200 0.1800 0 88 0.130 0.0 1.0 -1.21824E7 12.2 10.0 86 101600 0 0 327 0 0 0 0 0 0 0 270 7.2 6 6 40.0 488 9 999999999 200 0.1800 0 88 0.130 0.0 1.0 -1.2186E7 11.7 10.0 89 101600 0 0 325 0 0 0 0 0 0 0 270 8.8 6 6 40.0 488 9 999999999 200 0.1800 0 88 0.130 0.0 1.0 -1.21896E7 12.2 10.0 86 101700 0 0 331 0 0 0 0 0 0 0 290 7.7 7 7 40.0 488 9 999999999 200 0.1800 0 88 0.130 0.0 1.0 -1.21932E7 11.7 9.4 86 101700 0 0 350 0 0 0 0 0 0 0 270 8.2 10 10 40.0 488 9 999999999 200 0.1800 0 88 0.130 0.0 1.0 -1.21968E7 11.7 9.4 86 101700 0 0 328 0 0 0 0 0 0 0 270 8.8 7 7 40.0 488 9 999999999 190 0.1800 0 88 0.130 0.0 1.0 -1.22004E7 11.1 9.4 89 101700 0 78 331 0 0 0 0 0 0 0 280 7.2 8 8 40.0 4572 9 999999999 190 0.1800 0 88 0.130 0.0 1.0 -1.2204E7 11.7 9.4 86 101700 134 1332 328 32 39 28 3500 2200 3300 580 270 7.2 7 7 40.0 4572 9 999999999 190 0.1800 0 88 0.130 0.0 1.0 -1.22076E7 12.8 10.0 83 101700 388 1332 339 147 84 122 16000 7600 13800 3140 280 6.2 8 8 40.0 6096 9 999999999 190 0.1800 0 88 0.130 0.0 1.0 -1.22112E7 14.4 9.4 72 101800 638 1332 334 376 462 154 39800 46000 17800 3170 280 4.1 5 5 40.0 2000 9 999999999 180 0.1800 0 88 0.130 0.0 1.0 -1.22148E7 16.1 9.4 64 101800 864 1332 339 561 601 171 58900 60500 19600 4300 310 2.1 4 4 40.0 2000 9 999999999 180 0.1800 0 88 0.130 0.0 1.0 -1.22184E7 16.7 10.0 65 101800 1051 1332 343 758 640 253 79000 64300 28200 8490 320 2.6 4 4 40.0 2000 9 999999999 180 0.1800 0 88 0.130 0.0 1.0 -1.2222E7 17.2 10.0 63 101900 1185 1332 342 827 632 264 87200 64000 30200 13170 280 5.7 4 3 40.0 2000 9 999999999 180 0.1800 0 88 0.130 0.0 1.0 -1.22256E7 17.2 10.0 63 101900 1259 1332 339 899 734 204 97200 75500 25700 14470 270 7.2 7 2 40.0 2000 9 999999999 180 0.1800 0 88 0.130 0.0 1.0 -1.22292E7 18.3 9.4 56 101900 1266 1332 347 938 768 208 97800 77000 24600 14100 260 8.2 5 3 40.0 2000 9 999999999 170 0.1800 0 88 0.130 0.0 1.0 -1.22328E7 18.3 9.4 56 101800 1206 1332 344 874 712 229 93400 72700 27400 12530 260 8.2 5 2 40.0 2000 9 999999999 170 0.1800 0 88 0.130 0.0 1.0 -1.22364E7 17.2 8.3 56 101800 1084 1332 340 537 405 207 59600 42500 25000 7680 270 10.3 5 3 40.0 2000 9 999999999 170 0.1800 0 88 0.130 0.0 1.0 -1.224E7 17.2 8.9 58 101700 907 1332 338 595 653 150 63400 66500 18000 4090 260 8.2 4 2 40.0 2000 9 999999999 170 0.1800 0 88 0.130 0.0 1.0 -1.22436E7 16.7 8.3 58 101700 688 1332 338 440 580 140 45700 57000 16200 2950 260 8.2 3 3 40.0 2000 9 999999999 160 0.1800 0 88 0.130 0.0 1.0 -1.22472E7 15.6 8.3 62 101700 443 1332 319 255 545 74 26600 49600 10100 1420 270 8.8 1 0 40.0 2000 9 999999999 160 0.1800 0 88 0.130 0.0 1.0 -1.22508E7 13.9 8.3 69 101700 187 1332 312 76 257 40 8000 16100 5800 710 260 8.2 0 0 40.0 2000 9 999999999 160 0.1800 0 88 0.130 0.0 1.0 -1.22544E7 12.8 8.3 74 101700 9 366 307 1 6 1 0 0 0 0 250 8.8 0 0 32.0 2000 9 999999999 160 0.1800 0 88 0.130 0.0 1.0 -1.2258E7 12.2 8.9 80 101700 0 0 305 0 0 0 0 0 0 0 250 8.2 0 0 32.0 2000 9 999999999 150 0.1800 0 88 0.130 0.0 1.0 -1.22616E7 12.2 8.9 80 101700 0 0 305 0 0 0 0 0 0 0 260 7.2 0 0 32.0 2000 9 999999999 150 0.1800 0 88 0.130 0.0 1.0 -1.22652E7 11.7 8.9 83 101700 0 0 303 0 0 0 0 0 0 0 260 8.8 0 0 32.0 2000 9 999999999 150 0.1800 0 88 0.130 0.0 1.0 -1.22688E7 11.1 8.9 86 101700 0 0 300 0 0 0 0 0 0 0 260 8.8 0 0 32.0 2000 9 999999999 150 0.1800 0 88 0.130 0.0 1.0 -1.22724E7 11.1 8.9 86 101700 0 0 300 0 0 0 0 0 0 0 260 8.2 0 0 32.0 2000 9 999999999 150 0.1810 0 88 0.130 0.0 1.0 -1.2276E7 10.6 8.9 89 101700 0 0 298 0 0 0 0 0 0 0 250 6.2 0 0 32.0 2000 9 999999999 140 0.1810 0 88 0.130 0.0 1.0 -1.22796E7 10.6 8.3 86 101700 0 0 298 0 0 0 0 0 0 0 260 4.1 0 0 32.0 2000 9 999999999 140 0.1810 0 88 0.130 0.0 1.0 -1.22832E7 9.4 8.3 93 101700 0 0 293 0 0 0 0 0 0 0 270 3.6 0 0 32.0 2000 9 999999999 140 0.1810 0 88 0.130 0.0 1.0 -1.22868E7 9.4 8.3 93 101700 1 100 298 0 3 0 0 0 0 0 260 3.6 1 1 24.0 2000 9 999999999 140 0.1810 0 88 0.130 0.0 1.0 -1.22904E7 10.6 8.9 89 101800 136 1332 298 53 247 27 5300 13900 3900 480 280 5.2 0 0 24.0 2000 9 999999999 140 0.1810 0 88 0.130 0.0 1.0 -1.2294E7 12.8 9.4 80 101800 390 1332 308 227 588 55 23900 52100 8700 1070 260 3.6 0 0 24.0 2000 9 999999999 130 0.1810 0 88 0.130 0.0 1.0 -1.22976E7 15.0 10.0 72 101800 639 1332 318 437 746 79 46000 72900 11000 1700 340 2.1 0 0 24.0 2000 9 999999999 130 0.1810 0 88 0.130 0.0 1.0 -1.23012E7 16.7 7.8 56 101800 865 1332 324 638 831 98 68300 83800 13800 2540 290 2.1 0 0 32.0 2000 9 999999999 130 0.1810 0 88 0.130 0.0 1.0 -1.23048E7 17.8 7.8 52 101800 1052 1332 328 807 879 112 83400 87900 13800 3200 290 2.6 0 0 32.0 2000 9 999999999 130 0.1810 0 88 0.130 0.0 1.0 -1.23084E7 18.9 7.2 47 101700 1186 1332 333 930 907 122 95900 90900 14700 5020 280 5.7 0 0 48.0 2000 9 999999999 130 0.1810 0 88 0.130 0.0 1.0 -1.2312E7 18.9 7.2 47 101700 1260 1332 333 997 920 126 102500 92300 15100 7280 280 6.2 0 0 48.0 2000 9 999999999 130 0.1810 0 88 0.130 0.0 1.0 -1.23156E7 18.9 8.3 50 101700 1267 1332 334 1004 922 127 103300 92500 15200 7650 260 7.7 0 0 48.0 2000 9 999999999 130 0.1810 0 88 0.130 0.0 1.0 -1.23192E7 18.3 7.2 48 101600 1207 1332 330 950 912 123 97900 91400 14800 5500 250 7.2 0 0 48.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.23228E7 17.2 7.8 54 101600 1085 1332 326 839 889 115 86700 89000 14100 3520 260 8.2 0 0 48.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.23264E7 17.8 6.7 48 101500 909 1332 327 679 846 102 70500 84200 12900 2330 270 9.3 0 0 64.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.233E7 17.2 7.8 54 101500 691 1332 326 484 772 83 51100 76200 11500 1850 270 9.3 0 0 72.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.23336E7 15.0 8.3 64 101400 445 1332 317 273 636 60 28200 58200 8700 1200 260 10.8 0 0 48.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.23372E7 13.9 8.9 72 101400 190 1332 312 85 347 35 8700 23000 5400 630 270 8.2 0 0 48.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.23408E7 12.8 8.9 77 101400 9 388 308 1 17 1 0 0 0 0 270 7.7 0 0 48.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.23444E7 13.3 8.9 75 101400 0 0 310 0 0 0 0 0 0 0 280 7.7 0 0 48.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.2348E7 13.3 8.9 75 101300 0 0 310 0 0 0 0 0 0 0 280 6.7 0 0 48.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.23516E7 12.8 8.9 77 101300 0 0 308 0 0 0 0 0 0 0 280 6.2 0 0 48.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.23552E7 13.9 7.8 67 101300 0 0 311 0 0 0 0 0 0 0 260 6.2 0 0 48.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.23588E7 17.2 7.2 52 101200 0 0 325 0 0 0 0 0 0 0 320 6.2 0 0 72.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.23624E7 17.2 5.6 46 101200 0 0 323 0 0 0 0 0 0 0 340 10.3 0 0 72.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.2366E7 17.2 3.3 39 101100 0 0 321 0 0 0 0 0 0 0 310 10.3 0 0 72.0 2000 9 999999999 100 0.1810 0 88 0.130 0.0 1.0 -1.23696E7 17.2 5.6 46 101100 0 0 323 0 0 0 0 0 0 0 350 13.4 0 0 72.0 2000 9 999999999 100 0.1810 0 88 0.130 0.0 1.0 -1.23732E7 16.7 5.6 48 101100 1 122 321 0 0 0 0 0 0 0 340 9.8 0 0 72.0 2000 9 999999999 100 0.1810 0 88 0.130 0.0 1.0 -1.23768E7 17.2 5.6 46 101200 138 1331 323 39 23 37 4300 1500 4200 880 330 9.3 0 0 72.0 2000 9 999999999 100 0.1810 0 88 0.130 0.0 1.0 -1.23804E7 17.8 6.1 46 101200 392 1331 327 176 243 105 18800 21800 12400 2060 340 7.7 0 0 72.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.2384E7 18.9 5.6 42 101100 641 1331 331 376 428 170 39500 42600 19000 3550 350 11.8 1 0 72.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.23876E7 20.0 6.7 42 101200 866 1331 337 581 550 223 61900 56800 24900 5690 340 9.3 1 0 72.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.23912E7 21.1 6.1 38 101200 1053 1331 342 757 632 257 78900 63500 28600 8660 340 9.3 0 0 72.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.23948E7 22.2 7.2 38 101200 1187 1331 355 852 646 276 89600 65200 31400 13850 340 6.2 1 1 72.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.23984E7 23.3 6.1 33 101100 1260 1331 352 949 687 298 100000 69400 34200 21010 340 6.2 1 0 72.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.2402E7 23.3 6.7 34 101100 1267 1331 353 955 689 299 100700 69600 34300 22040 270 7.7 1 0 72.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.24056E7 22.8 6.1 34 101000 1208 1331 350 898 670 289 94300 67600 32800 15740 270 10.3 1 0 72.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.24092E7 21.1 7.8 42 101000 1086 1331 344 761 604 267 79300 60700 29700 9760 260 11.3 1 0 72.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.24128E7 19.4 8.3 49 101000 911 1331 336 617 562 232 66000 58200 26100 6280 260 11.3 1 0 72.0 2000 9 999999999 110 0.1810 0 88 0.130 0.0 1.0 -1.24164E7 20.0 7.2 43 100900 693 1331 338 420 454 183 44200 45700 20400 3950 270 10.8 1 0 72.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.242E7 18.3 8.3 52 100900 448 1331 331 216 283 121 23100 26600 14100 2420 280 8.8 1 0 72.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.24236E7 16.1 8.9 62 100900 193 1331 328 62 51 55 6800 3400 6300 1160 280 8.8 3 1 72.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.24272E7 13.9 9.4 74 100900 10 411 313 1 0 1 0 0 0 0 280 9.3 1 0 32.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.24308E7 13.3 9.4 77 100900 0 0 310 0 0 0 0 0 0 0 280 7.2 0 0 32.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.24344E7 13.3 9.4 77 100900 0 0 310 0 0 0 0 0 0 0 280 6.2 0 0 32.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.2438E7 13.9 10.0 77 100800 0 0 314 0 0 0 0 0 0 0 310 5.7 0 0 32.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.24416E7 12.8 10.0 83 100800 0 0 309 0 0 0 0 0 0 0 280 5.7 0 0 32.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.24452E7 12.8 10.0 83 100800 0 0 309 0 0 0 0 0 0 0 270 3.6 0 0 32.0 2000 9 999999999 120 0.1810 0 88 0.130 0.0 1.0 -1.24488E7 13.3 9.4 77 100800 0 0 310 0 0 0 0 0 0 0 280 5.2 0 0 32.0 2000 9 999999999 130 0.1810 0 88 0.130 0.0 1.0 -1.24524E7 13.3 9.4 77 100800 0 0 310 0 0 0 0 0 0 0 270 3.6 0 0 32.0 2000 9 999999999 130 0.1810 0 88 0.130 0.0 1.0 -1.2456E7 13.9 10.0 77 100800 0 0 314 0 0 0 0 0 0 0 130 1.0 0 0 32.0 2000 9 999999999 130 0.1810 0 88 0.130 0.0 1.0 -1.24596E7 12.8 9.4 80 100800 1 122 314 0 0 0 0 0 0 0 260 3.6 1 1 48.0 2000 9 999999999 130 0.1810 0 88 0.130 0.0 1.0 -1.24632E7 16.1 11.7 75 100800 140 1331 325 45 99 35 4800 4900 4300 640 110 3.1 0 0 48.0 2000 9 999999999 130 0.1810 0 88 0.130 0.0 1.0 -1.24668E7 21.1 10.6 51 100900 393 1331 347 203 411 82 21700 36200 10900 1500 10 1.5 0 0 48.0 2000 9 999999999 140 0.1810 0 88 0.130 0.0 1.0 -1.24704E7 22.2 10.6 48 100900 642 1331 359 363 448 147 38800 44700 17200 3020 350 5.7 1 1 48.0 2000 9 999999999 140 0.1810 0 88 0.130 0.0 1.0 -1.2474E7 23.3 10.6 45 100900 867 1331 364 569 641 151 60300 64900 17900 3880 350 6.7 1 1 48.0 2000 9 999999999 140 0.1810 0 88 0.130 0.0 1.0 -1.24776E7 23.9 10.6 43 100900 1053 1331 367 755 719 186 80600 73500 22300 6520 340 6.2 1 1 48.0 2000 9 999999999 150 0.1810 0 88 0.130 0.0 1.0 -1.24812E7 25.0 10.6 40 100900 1188 1331 373 902 800 188 94200 80300 22500 8790 340 6.2 1 1 48.0 2000 9 999999999 150 0.1810 0 88 0.130 0.0 1.0 -1.24848E7 26.7 8.9 33 100900 1261 1331 372 962 798 205 100400 80000 24400 13620 330 7.2 1 0 72.0 2000 9 999999999 150 0.1810 0 88 0.130 0.0 1.0 -1.24884E7 27.2 10.0 34 100900 1268 1331 376 981 817 201 102700 82000 24300 14050 280 7.2 0 0 72.0 2000 9 999999999 160 0.1810 0 88 0.130 0.0 1.0 -1.2492E7 25.6 9.4 36 100900 1209 1331 367 925 803 195 96500 80500 23200 9930 260 8.8 0 0 72.0 2000 9 999999999 160 0.1810 0 88 0.130 0.0 1.0 -1.24956E7 24.4 8.9 37 100900 1088 1331 361 813 772 182 87200 79100 22400 6950 260 9.8 0 0 72.0 2000 9 999999999 160 0.1810 0 88 0.130 0.0 1.0 -1.24992E7 25.0 8.3 35 100900 912 1331 363 651 716 160 69100 72700 19100 4370 270 10.3 0 0 72.0 2000 9 999999999 170 0.1810 0 88 0.130 0.0 1.0 -1.25028E7 23.9 7.8 36 100900 695 1331 357 399 512 132 41700 50600 15300 2830 260 8.8 1 0 72.0 2000 9 999999999 170 0.1810 0 88 0.130 0.0 1.0 -1.25064E7 22.2 7.8 40 100900 450 1331 356 232 404 95 24700 37100 12100 1770 270 8.8 3 1 72.0 2000 9 999999999 170 0.1810 0 88 0.130 0.0 1.0 -1.251E7 17.8 10.0 60 101000 196 1331 337 69 149 47 7300 9300 6000 860 280 7.7 1 1 72.0 2000 9 999999999 180 0.1810 0 88 0.130 0.0 1.0 -1.25136E7 15.0 10.0 72 101100 11 433 324 1 1 1 0 0 0 0 290 5.2 1 1 32.0 2000 9 999999999 180 0.1810 0 88 0.130 0.0 1.0 -1.25172E7 15.0 10.6 75 101200 0 0 325 0 0 0 0 0 0 0 290 3.6 1 1 32.0 2000 9 999999999 180 0.1810 0 88 0.130 0.0 1.0 -1.25208E7 15.0 10.0 72 101200 0 0 324 0 0 0 0 0 0 0 260 2.1 1 1 32.0 2000 9 999999999 190 0.1810 0 88 0.130 0.0 1.0 -1.25244E7 13.9 10.6 80 101300 0 0 320 0 0 0 0 0 0 0 0 0.0 1 1 32.0 2000 9 999999999 190 0.1810 0 88 0.130 0.0 1.0 -1.2528E7 13.3 10.6 84 101200 0 0 312 0 0 0 0 0 0 0 280 1.5 0 0 32.0 2000 9 999999999 190 0.1810 0 88 0.130 0.0 1.0 -1.25316E7 13.3 10.6 84 101300 0 0 312 0 0 0 0 0 0 0 170 5.2 0 0 32.0 2000 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.25352E7 13.3 10.6 84 101300 0 0 317 0 0 0 0 0 0 0 160 3.1 1 1 32.0 2000 9 999999999 200 0.1820 0 88 0.130 0.0 1.0 -1.25388E7 12.8 10.6 86 101300 0 0 315 0 0 0 0 0 0 0 160 5.7 1 1 32.0 2000 9 999999999 200 0.1820 0 88 0.130 0.0 1.0 -1.25424E7 12.8 10.6 86 101400 0 0 325 0 0 0 0 0 0 0 180 6.2 4 4 32.0 2000 9 999999999 200 0.1820 0 88 0.130 0.0 1.0 -1.2546E7 12.8 10.6 86 101400 1 144 340 0 0 0 0 0 0 0 200 4.1 8 8 32.0 457 9 999999999 200 0.1820 0 88 0.130 0.0 1.0 -1.25496E7 13.3 10.6 84 101400 142 1331 330 46 150 30 4800 8000 4000 530 170 2.1 5 5 32.0 2000 9 999999999 200 0.1820 0 88 0.130 0.0 1.0 -1.25532E7 14.4 11.1 81 101500 395 1331 339 99 96 70 11100 8800 8400 1560 210 2.1 6 6 32.0 457 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.25568E7 13.9 11.1 83 101500 643 1331 353 203 90 159 22400 9200 18000 3910 220 5.2 9 9 32.0 396 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.25604E7 14.4 10.6 78 101500 868 1331 348 500 303 302 53600 32400 32400 8190 190 6.2 8 8 32.0 518 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.2564E7 15.0 10.6 75 101500 1054 1331 345 618 445 265 66600 46400 29800 9320 190 6.2 7 7 32.0 640 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.25676E7 15.0 11.1 77 101600 1188 1331 351 594 203 413 65500 21700 46200 19190 200 8.2 8 8 32.0 610 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.25712E7 14.4 10.0 75 101600 1262 1331 354 504 224 291 57000 24500 33700 18530 220 8.8 9 9 32.0 610 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.25748E7 15.0 10.0 72 101600 1269 1331 357 485 111 379 54100 11900 42700 23680 240 6.2 9 9 48.0 610 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.25784E7 13.9 10.6 80 101600 1210 1331 363 265 0 265 32100 0 32100 12810 220 6.7 10 10 32.0 518 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.2582E7 13.3 10.0 80 101600 1089 1331 359 235 0 235 28300 0 28300 11390 240 8.2 10 10 24.0 518 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.25856E7 13.3 10.0 80 101500 914 1331 359 191 0 191 22800 0 22800 9060 240 8.8 10 10 24.0 488 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.25892E7 12.8 9.4 80 101500 697 1331 356 137 0 137 16100 0 16100 6140 250 8.2 10 10 24.0 488 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.25928E7 12.8 9.4 80 101500 452 1331 356 77 0 77 9000 0 9000 3210 240 9.8 10 10 16.0 488 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.25964E7 12.8 9.4 80 101500 199 1331 356 28 0 28 3300 0 3300 1080 250 9.3 10 10 16.0 488 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.26E7 12.2 9.4 83 101500 12 432 353 1 0 1 0 0 0 0 240 10.3 10 10 16.0 488 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.26036E7 12.2 9.4 83 101500 0 0 353 0 0 0 0 0 0 0 240 8.8 10 10 16.0 488 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.26072E7 11.7 8.9 83 101400 0 0 350 0 0 0 0 0 0 0 240 7.7 10 10 16.0 488 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.26108E7 11.7 8.9 83 101400 0 0 350 0 0 0 0 0 0 0 250 12.4 10 10 16.0 488 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.26144E7 11.1 8.9 86 101300 0 0 347 0 0 0 0 0 0 0 240 11.8 10 10 16.0 488 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.2618E7 11.1 8.3 83 101300 0 0 346 0 0 0 0 0 0 0 250 10.3 10 10 16.0 488 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.26216E7 11.1 8.3 83 101300 0 0 346 0 0 0 0 0 0 0 270 9.3 10 10 16.0 488 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.26252E7 11.1 8.9 86 101300 0 0 347 0 0 0 0 0 0 0 260 7.7 10 10 16.0 1006 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.26288E7 10.6 8.9 89 101300 0 0 344 0 0 0 0 0 0 0 260 5.7 10 10 16.0 945 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.26324E7 10.6 8.9 89 101400 1 144 319 0 0 0 0 0 0 0 240 4.6 6 6 11.2 945 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.2636E7 10.6 8.9 89 101400 144 1330 298 45 83 36 4800 4200 4300 660 260 4.6 0 0 11.2 2000 9 999999999 209 0.1820 0 88 0.130 0.0 1.0 -1.26396E7 12.2 9.4 83 101400 396 1330 311 191 276 109 20300 24800 12900 2150 260 4.1 1 1 14.4 2000 9 999999999 200 0.1820 0 88 0.130 0.0 1.0 -1.26432E7 13.9 9.4 74 101400 644 1330 319 389 530 132 42000 53000 16300 2690 250 2.1 1 1 14.4 2000 9 999999999 200 0.1820 0 88 0.130 0.0 1.0 -1.26468E7 14.4 9.4 72 101400 869 1330 321 579 485 262 60700 49900 28100 6820 260 3.6 1 1 14.4 2000 9 999999999 200 0.1820 0 88 0.130 0.0 1.0 -1.26504E7 17.2 10.0 63 101400 1055 1330 334 737 694 187 78700 70900 22300 6590 280 1.0 1 1 16.0 2000 9 999999999 200 0.1820 0 88 0.130 0.0 1.0 -1.2654E7 17.8 10.6 63 101400 1189 1330 338 854 729 202 91900 74800 24900 10490 310 5.7 1 1 16.0 2000 9 999999999 200 0.1820 0 88 0.130 0.0 1.0 -1.26576E7 17.8 10.6 63 101400 1262 1330 338 877 676 235 94000 69200 28300 17110 300 8.2 1 1 16.0 2000 9 999999999 200 0.1820 0 88 0.130 0.0 1.0 -1.26612E7 19.4 11.1 59 101400 1270 1330 339 972 791 217 101100 79100 25400 15220 280 7.2 0 0 16.0 2000 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.26648E7 18.9 10.6 59 101400 1211 1330 337 918 778 210 98800 79800 26000 11900 290 7.2 0 0 16.0 2000 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.26684E7 17.8 9.4 58 101400 1090 1330 330 807 746 196 86200 76200 23600 7500 280 8.8 0 0 16.0 2000 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.2672E7 16.7 8.9 60 101300 915 1330 325 647 689 172 68300 69800 20100 4680 280 8.8 0 0 16.0 2000 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.26756E7 15.6 8.9 64 101300 699 1330 320 451 594 139 47000 58600 16200 2970 270 7.7 0 0 16.0 2000 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.26792E7 14.4 8.3 67 101300 455 1330 314 245 431 97 26000 39800 12400 1810 270 6.2 0 0 14.4 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.26828E7 13.3 8.3 72 101300 201 1330 309 73 155 50 7800 9900 6300 920 260 6.2 0 0 11.2 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.26864E7 11.7 8.3 80 101300 13 454 302 1 1 1 0 0 0 0 280 4.1 0 0 14.4 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.269E7 11.7 8.3 80 101300 0 0 302 0 0 0 0 0 0 0 250 6.7 0 0 16.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.26936E7 11.7 8.3 80 101400 0 0 302 0 0 0 0 0 0 0 250 6.2 0 0 16.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.26972E7 11.1 8.3 83 101400 0 0 306 0 0 0 0 0 0 0 240 6.2 1 1 16.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.27008E7 10.6 7.8 83 101400 0 0 303 0 0 0 0 0 0 0 250 2.6 1 1 16.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.27044E7 10.6 7.8 83 101300 0 0 303 0 0 0 0 0 0 0 230 2.6 1 1 16.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.2708E7 10.6 7.8 83 101300 0 0 303 0 0 0 0 0 0 0 220 4.6 1 1 16.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.27116E7 10.0 7.8 86 101300 0 0 300 0 0 0 0 0 0 0 230 2.1 1 1 16.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.27152E7 10.0 7.8 86 101300 0 0 300 0 0 0 0 0 0 0 190 3.1 1 1 16.0 2000 9 999999999 160 0.1820 0 88 0.130 0.0 1.0 -1.27188E7 10.0 7.8 86 101300 2 166 310 0 0 0 0 0 0 0 210 1.5 8 4 16.0 7620 9 999999999 160 0.1820 0 88 0.130 0.0 1.0 -1.27224E7 10.6 7.8 83 101400 145 1330 318 41 44 36 4500 2500 4200 750 0 0.0 7 6 16.0 7620 9 999999999 160 0.1820 0 88 0.130 0.0 1.0 -1.2726E7 12.2 7.8 74 101400 398 1330 334 186 229 118 19700 20600 13500 2370 0 0.0 8 8 16.0 5182 9 999999999 160 0.1820 0 88 0.130 0.0 1.0 -1.27296E7 14.4 8.3 67 101400 645 1330 339 412 439 198 42600 43600 21400 4220 50 1.5 7 7 16.0 5182 9 999999999 160 0.1820 0 88 0.130 0.0 1.0 -1.27332E7 15.6 8.9 64 101500 870 1330 342 463 365 224 49400 37700 24700 5750 40 3.6 8 6 16.0 7620 9 999999999 160 0.1820 0 88 0.130 0.0 1.0 -1.27368E7 16.7 9.4 62 101500 1055 1330 352 525 192 372 57600 20400 41300 13180 20 2.6 10 7 16.0 5182 9 999999999 160 0.1820 0 88 0.130 0.0 1.0 -1.27404E7 16.7 9.4 62 101500 1189 1330 348 649 338 346 71900 36800 38900 16560 260 6.2 10 6 16.0 7620 9 999999999 150 0.1820 0 88 0.130 0.0 1.0 -1.2744E7 15.6 8.9 64 101500 1263 1330 339 599 217 392 66200 23600 43700 25700 260 7.7 10 5 16.0 5182 9 999999999 150 0.1820 0 88 0.130 0.0 1.0 -1.27476E7 15.0 8.9 67 101500 1270 1330 336 794 478 337 86100 50100 38200 26460 240 9.3 10 5 16.0 5182 9 999999999 150 0.1820 0 88 0.130 0.0 1.0 -1.27512E7 15.0 8.3 64 101400 1212 1330 338 688 464 264 75800 48700 31300 15120 250 7.7 7 6 16.0 9144 9 999999999 150 0.1820 0 88 0.130 0.0 1.0 -1.27548E7 14.4 8.3 67 101400 1091 1330 330 637 453 264 69000 47400 30100 10160 250 9.3 5 4 16.0 2000 9 999999999 150 0.1820 0 88 0.130 0.0 1.0 -1.27584E7 14.4 7.8 65 101300 917 1330 324 636 750 118 67200 75400 15100 3130 240 9.3 2 2 16.0 2000 9 999999999 150 0.1820 0 88 0.130 0.0 1.0 -1.2762E7 13.9 7.8 67 101400 700 1330 325 465 520 190 48800 52400 21100 4140 240 7.2 3 3 16.0 2000 9 999999999 150 0.1820 0 88 0.130 0.0 1.0 -1.27656E7 12.2 7.2 71 101300 457 1330 319 222 206 151 24000 19500 17300 3440 230 7.7 4 4 16.0 2000 9 999999999 150 0.1820 0 88 0.130 0.0 1.0 -1.27692E7 11.7 7.8 77 101300 204 1330 317 82 158 58 8600 10100 7100 1100 240 7.7 4 4 16.0 2000 9 999999999 140 0.1820 0 88 0.130 0.0 1.0 -1.27728E7 11.1 7.8 80 101300 14 476 315 2 10 2 0 0 0 0 230 5.2 4 4 24.0 2000 9 999999999 140 0.1820 0 88 0.130 0.0 1.0 -1.27764E7 11.1 8.3 83 101300 0 0 315 0 0 0 0 0 0 0 240 7.2 4 4 24.0 2000 9 999999999 140 0.1820 0 88 0.130 0.0 1.0 -1.278E7 10.6 8.3 86 101300 0 0 313 0 0 0 0 0 0 0 240 5.2 4 4 24.0 2000 9 999999999 140 0.1820 0 88 0.130 0.0 1.0 -1.27836E7 10.6 8.3 86 101300 0 0 311 0 0 0 0 0 0 0 230 7.2 3 3 24.0 2000 9 999999999 140 0.1820 0 88 0.130 0.0 1.0 -1.27872E7 10.6 8.3 86 101300 0 0 307 0 0 0 0 0 0 0 230 8.2 2 2 24.0 2000 9 999999999 140 0.1820 0 88 0.130 0.0 1.0 -1.27908E7 10.0 7.8 86 101300 0 0 340 0 0 0 0 0 0 0 240 4.6 10 10 24.0 488 9 999999999 140 0.1820 0 88 0.130 0.0 1.0 -1.27944E7 10.0 7.8 86 101200 0 0 340 0 0 0 0 0 0 0 250 5.7 10 10 24.0 488 9 999999999 130 0.1820 0 88 0.130 0.0 1.0 -1.2798E7 10.0 7.8 86 101200 0 0 315 0 0 0 0 0 0 0 240 5.2 6 6 24.0 488 9 999999999 130 0.1820 0 88 0.130 0.0 1.0 -1.28016E7 10.0 7.8 86 101200 0 0 307 0 0 0 0 0 0 0 240 6.2 3 3 24.0 2000 9 999999999 130 0.1820 0 88 0.130 0.0 1.0 -1.28052E7 10.0 7.8 86 101200 2 166 315 0 1 0 0 0 0 0 220 5.2 6 6 24.0 488 9 999999999 130 0.1820 0 88 0.130 0.0 1.0 -1.28088E7 10.6 7.8 83 101300 147 1329 326 30 37 26 3400 2200 3100 540 220 5.7 8 8 24.0 488 9 999999999 140 0.1820 0 88 0.130 0.0 1.0 -1.28124E7 10.6 7.8 83 101300 399 1329 343 68 0 68 7900 0 7900 2770 260 4.6 10 10 24.0 488 9 999999999 140 0.1820 0 88 0.130 0.0 1.0 -1.2816E7 11.1 7.2 77 101400 646 1329 345 128 0 128 15000 0 15000 5620 230 5.7 10 10 24.0 488 9 999999999 140 0.1820 0 88 0.130 0.0 1.0 -1.28196E7 12.2 7.8 74 101400 870 1329 351 184 0 184 21800 0 21800 8610 250 5.2 10 10 24.0 488 9 999999999 140 0.1820 0 88 0.130 0.0 1.0 -1.28232E7 13.9 7.8 67 101400 1056 1329 330 742 762 136 78900 77000 17500 4570 210 4.1 5 5 24.0 2000 9 999999999 140 0.1820 0 88 0.130 0.0 1.0 -1.28268E7 15.0 8.3 64 101400 1190 1329 327 878 848 119 90600 85000 14300 5060 230 5.7 2 2 24.0 2000 9 999999999 150 0.1820 0 88 0.130 0.0 1.0 -1.28304E7 16.1 7.8 58 101400 1263 1329 335 943 857 128 97000 86000 15100 7650 230 4.6 4 3 24.0 2000 9 999999999 150 0.1820 0 88 0.130 0.0 1.0 -1.2834E7 16.1 8.3 60 101400 1271 1329 332 892 780 146 91400 78200 16500 8860 240 6.7 2 2 24.0 2000 9 999999999 150 0.1820 0 88 0.130 0.0 1.0 -1.28376E7 15.6 8.3 62 101400 1213 1329 333 881 775 173 93100 78200 21600 9230 260 8.8 3 3 24.0 2000 9 999999999 150 0.1820 0 88 0.130 0.0 1.0 -1.28412E7 15.0 8.3 64 101400 1092 1329 327 797 819 123 82100 81900 14600 3720 260 8.8 2 2 24.0 2000 9 999999999 160 0.1820 0 88 0.130 0.0 1.0 -1.28448E7 14.4 8.9 70 101400 918 1329 321 680 846 95 70700 84300 12300 2330 250 10.3 1 1 24.0 2000 9 999999999 160 0.1820 0 88 0.130 0.0 1.0 -1.28484E7 13.3 8.3 72 101400 702 1329 315 470 723 88 49500 71400 11700 1950 250 10.3 1 1 24.0 2000 9 999999999 160 0.1820 0 88 0.130 0.0 1.0 -1.2852E7 12.8 8.3 74 101400 459 1329 313 268 606 58 27900 56000 8500 1190 250 7.7 1 1 24.0 2000 9 999999999 160 0.1820 0 88 0.130 0.0 1.0 -1.28556E7 11.7 8.3 80 101400 206 1329 318 70 179 42 7400 11800 5600 740 250 7.2 4 4 24.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.28592E7 11.1 8.3 83 101400 15 498 315 2 21 2 0 0 0 0 260 7.2 4 4 24.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.28628E7 11.1 8.3 83 101400 0 0 336 0 0 0 0 0 0 0 250 6.2 9 9 24.0 457 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.28664E7 11.1 8.3 83 101500 0 0 346 0 0 0 0 0 0 0 240 5.7 10 10 24.0 457 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.287E7 10.6 8.3 86 101500 0 0 334 0 0 0 0 0 0 0 230 5.2 9 9 24.0 457 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.28736E7 10.6 8.3 86 101400 0 0 318 0 0 0 0 0 0 0 240 4.1 6 6 16.0 457 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.28772E7 10.0 8.3 89 101400 0 0 310 0 0 0 0 0 0 0 150 2.1 4 4 24.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.28808E7 10.0 7.8 86 101400 0 0 300 0 0 0 0 0 0 0 220 2.1 1 1 24.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.28844E7 10.0 7.8 86 101400 0 0 300 0 0 0 0 0 0 0 210 4.1 1 1 32.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.2888E7 9.4 7.8 90 101400 0 0 312 0 0 0 0 0 0 0 230 1.0 7 6 32.0 5486 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.28916E7 9.4 7.8 90 101400 2 188 321 0 0 0 0 0 0 0 220 3.1 8 8 24.0 5486 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.28952E7 10.0 7.8 86 101500 148 1329 319 40 44 35 4400 2600 4100 730 240 4.1 7 7 16.0 5486 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.28988E7 11.7 7.8 77 101500 400 1329 323 152 177 99 16300 16000 11500 1920 200 2.1 6 6 16.0 7620 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.29024E7 13.9 8.3 69 101600 647 1329 322 385 506 138 41400 50600 16700 2830 0 0.0 2 2 24.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.2906E7 14.4 8.9 70 101600 871 1329 315 613 700 154 64900 70900 18300 3980 70 4.1 0 0 32.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.29096E7 15.6 9.4 67 101600 1056 1329 320 782 761 177 83800 77900 21700 6300 50 3.6 0 0 32.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.29132E7 16.7 8.9 60 101600 1190 1329 325 905 796 192 94400 79800 22800 9100 270 7.7 0 0 32.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.29168E7 16.1 8.3 60 101600 1264 1329 321 973 813 199 102000 81700 24100 13690 270 8.8 0 0 32.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.29204E7 16.7 8.3 58 101700 1272 1329 324 980 815 200 102800 81900 24300 14520 260 10.3 0 0 32.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.2924E7 15.6 8.3 62 101700 1214 1329 319 927 802 194 96800 80500 23200 10190 250 11.3 0 0 32.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.29276E7 16.1 8.3 60 101700 1094 1329 321 817 772 181 87700 79200 22400 7050 260 8.8 0 0 32.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.29312E7 15.0 7.8 62 101600 920 1329 326 627 672 161 66500 68300 19100 4450 260 8.8 2 2 32.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.29348E7 15.0 7.8 62 101600 704 1329 332 397 393 189 41800 39700 20800 4130 260 10.3 4 4 32.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.29384E7 13.3 7.8 69 101600 461 1329 325 207 184 143 22500 17500 16400 3260 260 10.3 4 4 32.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.2942E7 12.2 7.8 74 101600 209 1329 317 65 65 55 7100 4500 6400 1170 250 10.3 3 3 32.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.29456E7 11.7 7.8 77 101600 16 498 308 2 2 2 0 0 0 0 260 9.3 1 1 32.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.29492E7 11.7 7.8 77 101600 0 0 302 0 0 0 0 0 0 0 260 11.3 0 0 32.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.29528E7 11.7 7.8 77 101600 0 0 302 0 0 0 0 0 0 0 260 7.7 0 0 32.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.29564E7 11.1 7.8 80 101700 0 0 299 0 0 0 0 0 0 0 260 8.8 0 0 32.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.296E7 10.6 8.3 86 101600 0 0 298 0 0 0 0 0 0 0 250 10.3 0 0 32.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.29636E7 10.6 8.3 86 101600 0 0 298 0 0 0 0 0 0 0 260 11.3 0 0 32.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.29672E7 10.6 8.3 86 101600 0 0 303 0 0 0 0 0 0 0 260 8.2 1 1 32.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.29708E7 10.6 8.3 86 101600 0 0 303 0 0 0 0 0 0 0 260 10.3 1 1 32.0 2000 9 999999999 160 0.1820 0 88 0.130 0.0 1.0 -1.29744E7 10.6 8.3 86 101600 0 0 303 0 0 0 0 0 0 0 260 8.2 1 1 32.0 2000 9 999999999 160 0.1820 0 88 0.130 0.0 1.0 -1.2978E7 10.6 8.3 86 101600 2 188 307 0 0 0 0 0 0 0 260 5.2 2 2 32.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.29816E7 11.1 8.3 83 101700 150 1328 313 42 70 34 4600 4100 4100 710 270 5.2 3 3 24.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.29852E7 12.2 8.9 80 101800 401 1328 315 203 354 96 21300 31400 11800 1790 260 5.2 2 2 24.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.29888E7 13.3 8.3 72 101800 648 1328 309 422 639 110 44300 62900 13600 2330 270 6.2 0 0 24.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.29924E7 15.6 8.3 62 101800 871 1328 319 622 737 138 66300 75000 17100 3620 290 5.2 0 0 24.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.2996E7 17.2 7.8 54 101800 1057 1328 326 790 794 158 82700 79700 19100 5100 310 4.1 0 0 40.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.29996E7 18.9 7.8 48 101800 1190 1328 333 912 827 171 96400 83400 21500 8330 280 6.2 0 0 48.0 2000 9 999999999 170 0.1820 0 88 0.130 0.0 1.0 -1.30032E7 20.0 8.3 47 101800 1264 1328 339 979 842 178 104000 85100 22800 12510 290 6.2 0 0 48.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.30068E7 18.9 8.3 50 101800 1272 1328 334 987 843 179 104700 85200 23000 13280 270 8.2 0 0 48.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.30104E7 18.9 7.8 48 101800 1214 1328 333 934 831 173 98700 83900 21900 9330 270 7.7 0 0 48.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.3014E7 18.9 9.4 54 101800 1095 1328 335 824 803 162 86500 80700 19800 5760 270 5.7 0 0 48.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.30176E7 18.9 10.0 56 101700 921 1328 336 666 752 144 71300 76800 17900 4040 260 8.2 0 0 48.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.30212E7 16.7 11.1 70 101700 706 1328 333 452 617 124 47500 61300 14900 2720 260 9.3 1 1 48.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.30248E7 16.1 11.1 72 101700 463 1328 331 263 515 83 27300 47300 10800 1590 260 8.8 1 1 48.0 2000 9 999999999 180 0.1820 0 88 0.130 0.0 1.0 -1.30284E7 15.0 11.1 77 101700 211 1328 326 82 224 47 8700 15000 6300 840 270 9.3 1 1 48.0 2000 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.3032E7 13.3 11.1 87 101700 17 520 318 2 4 2 0 0 0 0 270 7.2 1 1 32.0 2000 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.30356E7 12.8 11.1 89 101800 0 0 316 0 0 0 0 0 0 0 270 8.8 1 1 32.0 2000 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.30392E7 12.4 10.9 93 101700 0 0 314 0 0 0 0 0 0 0 280 8.3 1 1 32.0 2000 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.30428E7 12.0 10.8 93 101700 0 0 312 0 0 0 0 0 0 0 280 7.8 1 1 32.0 2000 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.30464E7 11.6 10.6 97 101700 0 0 310 0 0 0 0 0 0 0 270 7.3 1 1 32.0 2000 9 999999999 190 0.1820 0 88 0.130 0.0 1.0 -1.305E7 11.2 10.5 93 101700 0 0 308 0 0 0 0 0 0 0 270 6.7 1 1 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.30536E7 10.8 10.3 93 101700 0 0 306 0 0 0 0 0 0 0 290 6.2 1 1 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.30572E7 10.4 10.2 93 101700 0 0 299 0 0 0 0 0 0 0 270 5.7 0 0 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.30608E7 10.0 10.0 100 101700 0 0 297 0 0 0 0 0 0 0 280 5.2 0 0 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.30644E7 10.0 9.4 96 101700 2 188 309 0 2 0 0 0 0 0 280 4.1 3 3 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.3068E7 11.1 10.0 93 101800 151 1328 307 59 181 39 6100 10000 5000 700 260 3.1 1 1 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.30716E7 13.9 11.1 83 101800 402 1328 321 207 486 59 21700 43400 8500 1140 260 1.0 1 1 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.30752E7 16.7 12.2 75 101800 649 1328 335 412 642 98 43600 63500 12600 2110 40 1.5 1 1 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.30788E7 17.8 12.8 73 101800 872 1328 340 617 780 105 65700 78500 14100 2700 40 2.1 1 1 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.30824E7 18.3 13.3 73 101800 1057 1328 343 723 758 119 78000 77100 16500 4150 30 4.1 1 1 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.3086E7 21.1 13.9 63 101800 1191 1328 369 772 572 258 81600 58000 29400 13370 40 3.1 4 4 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.30896E7 22.8 12.8 53 101700 1264 1328 376 893 563 356 96200 58900 40000 27200 30 3.6 7 4 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.30932E7 24.4 13.3 50 101700 1273 1328 385 865 559 329 94100 58600 37900 26490 360 4.1 8 4 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.30968E7 27.8 12.2 38 101600 1215 1328 401 838 615 275 88500 62200 31400 15720 290 6.2 7 4 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31004E7 22.8 11.7 50 101600 1096 1328 372 744 607 243 78300 61400 27500 9280 290 10.3 6 3 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.3104E7 21.1 10.6 51 101600 923 1328 358 511 470 184 56100 48900 22000 5000 280 11.3 2 2 64.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31076E7 18.3 11.1 63 101600 708 1328 349 292 324 119 32200 32900 14700 2500 280 10.8 3 3 64.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31112E7 18.9 10.6 59 101500 466 1328 348 249 448 92 26800 41700 12100 1710 290 9.3 2 2 64.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31148E7 16.7 11.1 70 101500 214 1328 333 90 304 41 9200 21200 5800 740 300 6.2 1 1 64.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31184E7 13.9 10.6 80 101600 18 542 320 3 19 2 0 0 0 0 280 6.2 1 1 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.3122E7 13.3 10.0 80 101600 0 0 311 0 0 0 0 0 0 0 280 5.2 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31256E7 12.8 10.0 83 101600 0 0 309 0 0 0 0 0 0 0 280 5.2 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31292E7 12.8 10.0 83 101600 0 0 309 0 0 0 0 0 0 0 280 3.1 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31328E7 13.3 10.6 84 101600 0 0 312 0 0 0 0 0 0 0 260 2.1 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31364E7 14.4 11.1 81 101600 0 0 317 0 0 0 0 0 0 0 0 0.0 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.314E7 13.3 10.0 80 101600 0 0 311 0 0 0 0 0 0 0 260 1.0 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31436E7 13.3 10.0 80 101600 0 0 311 0 0 0 0 0 0 0 250 2.1 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31472E7 13.9 10.0 77 101600 0 0 314 0 0 0 0 0 0 0 240 1.0 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31508E7 14.4 10.6 78 101600 2 210 316 0 8 0 0 0 0 0 0 0.0 0 0 64.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31544E7 15.6 12.2 80 101600 152 1328 323 62 293 29 6400 17500 4400 520 0 0.0 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.3158E7 18.3 15.0 81 101600 403 1328 339 237 606 53 24600 54300 8100 1070 0 0.0 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31616E7 20.0 14.4 70 101600 649 1328 346 443 752 76 47000 73800 10900 1680 20 2.1 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31652E7 21.1 13.3 61 101700 872 1328 350 640 830 94 66500 82400 12200 2170 10 3.1 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31688E7 22.8 14.4 59 101700 1057 1328 359 805 875 107 83300 87600 13400 3210 10 2.1 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31724E7 24.4 13.9 52 101700 1191 1328 367 925 901 116 95400 90400 14200 5030 30 3.1 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.3176E7 26.7 11.7 39 101700 1265 1328 375 991 914 120 102100 91700 14600 7430 30 3.1 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31796E7 26.1 11.7 41 101600 1273 1328 372 999 915 121 102900 91800 14600 7920 360 4.1 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31832E7 28.9 15.0 43 101600 1216 1328 391 948 906 117 97700 90900 14300 5620 10 4.1 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31868E7 31.7 13.9 34 101500 1097 1328 404 840 884 110 87000 88500 13700 3590 280 8.2 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31904E7 26.7 12.8 42 101600 924 1328 377 686 844 98 71200 84100 12600 2380 270 8.2 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.3194E7 26.1 11.7 41 101500 709 1328 372 496 777 81 52800 77100 11600 1860 270 8.2 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.31976E7 25.0 11.1 42 101500 468 1328 366 290 654 59 30200 60700 8800 1210 290 5.7 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32012E7 22.8 11.1 48 101500 216 1328 356 101 399 36 10400 28200 5800 660 290 7.2 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32048E7 19.4 10.6 57 101600 19 542 339 4 37 3 0 0 0 0 260 8.2 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32084E7 17.2 11.1 67 101600 0 0 329 0 0 0 0 0 0 0 300 4.1 0 0 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.3212E7 15.6 11.1 75 101700 0 0 322 0 0 0 0 0 0 0 260 5.2 0 0 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32156E7 15.6 10.6 72 101700 0 0 322 0 0 0 0 0 0 0 280 5.7 0 0 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32192E7 15.6 10.6 72 101700 0 0 322 0 0 0 0 0 0 0 280 4.6 0 0 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32228E7 12.8 10.6 86 101700 0 0 309 0 0 0 0 0 0 0 280 3.6 0 0 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32264E7 12.8 10.6 86 101700 0 0 309 0 0 0 0 0 0 0 260 3.6 0 0 32.0 2000 9 999999999 190 0.1820 0 88 0.140 0.0 1.0 -1.323E7 12.8 10.0 83 101600 0 0 309 0 0 0 0 0 0 0 280 3.6 0 0 32.0 2000 9 999999999 190 0.1820 0 88 0.140 0.0 1.0 -1.32336E7 12.2 10.0 86 101600 0 0 306 0 0 0 0 0 0 0 270 3.6 0 0 32.0 2000 9 999999999 190 0.1820 0 88 0.140 0.0 1.0 -1.32372E7 12.2 10.6 90 101600 3 210 307 0 0 0 0 0 0 0 270 3.6 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32408E7 12.2 11.1 93 101600 153 1327 307 52 123 38 5500 6500 4800 690 280 5.7 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32444E7 15.0 11.1 77 101700 404 1327 320 212 427 82 22600 38000 11100 1500 270 3.6 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.3248E7 19.4 11.7 61 101700 649 1327 340 416 604 120 43400 59200 14400 2510 30 1.5 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32516E7 22.2 12.8 55 101700 873 1327 355 615 705 151 65200 71500 18100 3930 10 2.6 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32552E7 21.1 13.9 63 101700 1057 1327 351 783 765 173 84000 78400 21400 6200 360 3.6 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32588E7 25.0 12.8 47 101700 1191 1327 368 894 781 192 93200 78300 22700 9200 290 5.7 1 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32624E7 25.0 12.2 45 101600 1265 1327 368 963 800 200 100900 80400 24200 14010 300 7.7 1 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.3266E7 22.8 12.2 51 101600 1274 1327 357 970 801 201 101700 80500 24300 14950 290 9.8 1 0 40.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32696E7 22.8 11.7 50 101500 1216 1327 356 918 789 195 96000 79200 23300 10440 290 10.3 1 0 40.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32732E7 23.3 11.7 48 101500 1098 1327 359 811 760 182 87100 78000 22500 7190 280 10.3 1 0 40.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32768E7 21.1 11.7 55 101500 925 1327 348 658 713 161 69900 72500 19300 4500 280 11.8 1 0 32.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32804E7 19.4 11.7 61 101400 711 1327 340 464 620 132 48600 61500 15600 2880 290 9.8 1 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.3284E7 18.3 11.7 65 101400 470 1327 335 264 484 92 27200 44400 11400 1740 290 8.2 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32876E7 16.1 11.1 72 101500 218 1327 324 86 214 51 9000 14600 6600 920 280 9.3 0 0 48.0 2000 9 999999999 200 0.1820 0 88 0.140 0.0 1.0 -1.32912E7 14.4 11.1 81 101500 19 564 327 3 3 3 0 0 0 0 290 9.3 2 2 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.32948E7 13.9 11.1 83 101500 0 0 315 0 0 0 0 0 0 0 290 9.3 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.32984E7 13.3 11.1 87 101500 0 0 312 0 0 0 0 0 0 0 300 7.7 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.3302E7 12.8 11.1 89 101500 0 0 310 0 0 0 0 0 0 0 290 7.7 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33056E7 12.8 10.6 86 101500 0 0 309 0 0 0 0 0 0 0 280 7.2 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33092E7 12.2 11.1 93 101400 0 0 307 0 0 0 0 0 0 0 290 7.2 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33128E7 11.7 10.6 93 101400 0 0 310 0 0 0 0 0 0 0 290 8.2 1 1 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33164E7 11.1 10.6 97 101400 0 0 308 0 0 0 0 0 0 0 290 8.2 1 1 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.332E7 11.1 10.6 97 101400 0 0 308 0 0 0 0 0 0 0 290 8.2 1 1 24.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33236E7 10.6 10.0 96 101500 3 210 309 0 0 0 0 0 0 0 280 5.7 2 2 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33272E7 12.2 10.6 90 101500 154 1327 307 48 68 40 5200 4100 4800 840 290 6.2 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33308E7 13.9 10.6 80 101500 404 1327 314 198 335 96 20800 29800 11700 1790 290 6.2 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33344E7 15.6 10.6 72 101500 650 1327 322 399 518 145 42700 51800 17300 2990 290 7.2 0 0 24.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.3338E7 16.7 10.6 67 101500 873 1327 327 598 628 185 62500 63000 21000 4680 300 7.2 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33416E7 18.3 11.1 63 101500 1057 1327 334 768 695 214 81200 70600 24800 7530 290 7.7 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33452E7 18.9 10.6 59 101500 1191 1327 337 892 734 232 95000 74900 27700 12190 290 9.3 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33488E7 19.4 11.1 59 101500 1265 1327 339 960 753 242 102800 76900 29300 18270 290 8.2 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33524E7 18.9 10.6 59 101500 1274 1327 337 968 755 243 103800 77200 29500 19470 290 9.3 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.3356E7 19.4 10.6 57 101400 1217 1327 339 916 741 235 97700 75600 28200 13760 290 9.3 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33596E7 19.4 11.1 59 101300 1099 1327 339 806 708 219 85400 72000 25600 8540 290 9.3 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33632E7 17.8 10.6 63 101300 927 1327 332 648 650 194 67900 65500 22100 5310 280 10.3 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33668E7 16.7 10.6 67 101200 713 1327 327 454 553 157 48800 56100 18700 3390 280 10.3 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33704E7 15.6 10.0 69 101200 471 1327 321 249 394 109 26300 36700 13300 2070 290 9.3 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.3374E7 14.4 10.0 75 101200 220 1327 316 80 140 57 8500 9400 6900 1060 290 6.2 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33776E7 13.3 10.0 80 101200 20 586 311 3 1 3 0 0 0 0 290 5.2 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33812E7 12.8 10.0 83 101200 0 0 309 0 0 0 0 0 0 0 280 4.1 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33848E7 12.2 10.0 86 101300 0 0 306 0 0 0 0 0 0 0 280 4.1 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33884E7 12.2 10.0 86 101200 0 0 306 0 0 0 0 0 0 0 270 3.6 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.3392E7 12.2 10.0 86 101200 0 0 306 0 0 0 0 0 0 0 290 4.1 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33956E7 11.7 9.4 86 101200 0 0 303 0 0 0 0 0 0 0 270 3.1 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.33992E7 12.2 9.4 83 101200 0 0 306 0 0 0 0 0 0 0 270 3.1 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.34028E7 11.7 8.9 83 101100 0 0 303 0 0 0 0 0 0 0 0 0.0 0 0 32.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.34064E7 12.8 10.0 83 101200 0 0 309 0 0 0 0 0 0 0 0 0.0 0 0 24.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.341E7 12.8 10.0 83 101200 3 232 309 0 0 0 0 0 0 0 250 1.5 1 0 24.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.34136E7 14.4 11.1 81 101200 155 1326 317 54 146 37 5700 7800 4800 670 250 1.5 0 0 24.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.34172E7 17.8 12.2 70 101200 405 1326 333 216 455 78 22300 40200 10100 1450 0 0.0 0 0 24.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.34208E7 19.4 13.3 68 101200 650 1326 342 420 627 113 44100 61700 13900 2390 0 0.0 0 0 24.0 2000 9 999999999 209 0.1820 0 88 0.140 0.0 1.0 -1.34244E7 20.0 13.9 68 101200 873 1326 345 618 724 141 65800 73600 17300 3700 20 2.1 0 0 16.0 2000 9 999999999 220 0.1820 0 88 0.140 0.0 1.0 -1.3428E7 21.1 14.4 66 101200 1057 1326 351 785 781 162 82000 78300 19400 5230 30 2.6 0 0 16.0 2000 9 999999999 220 0.1820 0 88 0.140 0.0 1.0 -1.34316E7 23.3 15.0 60 101200 1191 1326 363 907 814 175 95500 82000 21700 8580 30 2.6 0 0 24.0 2000 9 999999999 220 0.1820 0 88 0.140 0.0 1.0 -1.34352E7 25.0 16.1 58 101200 1265 1326 372 975 830 182 103200 83800 23100 13020 330 4.1 0 0 24.0 2000 9 999999999 220 0.1820 0 88 0.140 0.0 1.0 -1.34388E7 29.4 12.8 36 101200 1274 1326 390 983 832 183 104100 84000 23300 13930 290 7.7 0 0 32.0 2000 9 999999999 220 0.1820 0 88 0.140 0.0 1.0 -1.34424E7 28.3 12.8 38 101200 1218 1326 385 931 820 178 98300 82700 22200 9790 290 8.8 0 0 32.0 2000 9 999999999 220 0.1820 0 88 0.140 0.0 1.0 -1.3446E7 25.0 11.7 43 101200 1100 1326 367 823 792 166 86200 79600 20100 5980 290 9.8 0 0 40.0 2000 9 999999999 220 0.1820 0 88 0.140 0.0 1.0 -1.34496E7 22.8 11.1 48 101100 928 1326 356 667 742 148 71300 75800 18300 4200 290 8.8 0 0 40.0 2000 9 999999999 220 0.1820 0 88 0.140 0.0 1.0 -1.34532E7 20.6 9.4 49 101100 714 1326 343 476 658 121 50100 65600 14800 2690 280 9.3 0 0 40.0 2000 9 999999999 220 0.1820 0 88 0.140 0.0 1.0 -1.34568E7 17.2 10.0 63 101100 473 1326 328 271 512 88 28100 47200 11200 1680 280 9.3 0 0 40.0 2000 9 999999999 220 0.1820 0 88 0.140 0.0 1.0 -1.34604E7 15.6 10.0 69 101200 223 1326 321 91 245 50 9600 16900 6700 900 290 6.2 0 0 40.0 2000 9 999999999 220 0.1820 0 88 0.140 0.0 1.0 -1.3464E7 13.9 10.6 80 101200 21 586 320 3 7 3 0 0 0 0 300 8.2 1 1 32.0 2000 9 999999999 220 0.1820 0 88 0.140 0.0 1.0 -1.34676E7 13.3 10.6 84 101300 0 0 317 0 0 0 0 0 0 0 290 7.2 1 1 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.34712E7 12.8 10.0 83 101300 0 0 315 0 0 0 0 0 0 0 280 7.2 1 1 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.34748E7 12.8 10.6 86 101300 0 0 315 0 0 0 0 0 0 0 280 6.7 1 1 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.34784E7 12.8 10.6 86 101300 0 0 315 0 0 0 0 0 0 0 290 5.7 1 1 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.3482E7 12.2 10.0 86 101300 0 0 312 0 0 0 0 0 0 0 290 4.6 1 1 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.34856E7 12.2 10.0 86 101300 0 0 312 0 0 0 0 0 0 0 280 4.1 1 1 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.34892E7 11.7 10.0 89 101200 0 0 304 0 0 0 0 0 0 0 280 2.6 0 0 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.34928E7 11.7 10.0 89 101200 0 0 304 0 0 0 0 0 0 0 270 3.6 0 0 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.34964E7 11.7 10.0 89 101300 3 232 304 0 0 0 0 0 0 0 280 3.1 1 0 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35E7 13.3 10.0 80 101300 155 1326 311 48 57 41 5200 3400 4800 860 280 2.6 0 0 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35036E7 16.7 11.1 70 101300 405 1326 327 194 310 99 20300 27500 11900 1850 0 0.0 0 0 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35072E7 17.2 12.2 72 101300 650 1326 331 390 481 154 41500 48100 17900 3200 10 2.6 1 0 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35108E7 18.3 13.3 73 101300 873 1326 337 589 593 198 61200 59300 22100 4960 30 2.6 1 0 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35144E7 20.0 13.3 65 101300 1057 1326 345 761 666 229 80000 67400 26100 8010 40 2.1 1 0 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.3518E7 21.1 13.9 63 101200 1191 1326 351 886 713 245 94100 72500 28800 12860 20 2.6 0 0 24.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35216E7 23.3 13.9 55 101200 1265 1326 361 955 732 255 101800 74600 30400 19330 310 5.2 0 0 24.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35252E7 26.1 12.8 44 101200 1275 1326 374 963 735 257 102900 74900 30700 20740 290 6.2 0 0 24.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35288E7 25.0 11.7 43 101100 1218 1326 367 911 721 249 97000 73400 29400 14650 290 8.2 0 0 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35324E7 21.1 11.7 55 101100 1100 1326 348 802 687 232 84700 69700 26800 9060 290 10.3 0 0 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.3536E7 20.0 11.7 59 101100 929 1326 343 644 627 204 67200 63000 23000 5570 290 10.3 0 0 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35396E7 18.3 11.1 63 101100 716 1326 334 451 530 165 48300 53700 19300 3590 290 10.3 0 0 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35432E7 16.7 10.6 67 101100 475 1326 327 248 370 115 26100 34500 13700 2200 280 11.3 0 0 40.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35468E7 16.1 10.0 67 101100 225 1326 323 80 126 59 8500 8600 7000 1110 290 8.8 0 0 48.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35504E7 14.4 8.3 67 101100 22 608 314 3 0 3 0 0 0 0 290 7.2 0 0 24.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.3554E7 14.4 8.3 67 101200 0 0 314 0 0 0 0 0 0 0 280 6.2 0 0 24.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35576E7 13.9 8.3 69 101200 0 0 312 0 0 0 0 0 0 0 280 6.2 0 0 24.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35612E7 13.9 8.9 72 101200 0 0 312 0 0 0 0 0 0 0 280 7.2 0 0 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35648E7 13.9 9.4 74 101200 0 0 313 0 0 0 0 0 0 0 280 5.2 0 0 32.0 2000 9 999999999 230 0.1820 0 88 0.140 0.0 1.0 -1.35684E7 12.8 10.0 83 101200 0 0 309 0 0 0 0 0 0 0 290 5.2 0 0 32.0 2000 9 999999999 230 0.1830 0 88 0.140 0.0 1.0 -1.3572E7 12.8 10.0 83 101200 0 0 309 0 0 0 0 0 0 0 290 5.2 0 0 32.0 2000 9 999999999 230 0.1830 0 88 0.140 0.0 1.0 -1.35756E7 12.2 10.0 86 101200 0 0 306 0 0 0 0 0 0 0 300 5.2 0 0 32.0 2000 9 999999999 220 0.1830 0 88 0.140 0.0 1.0 -1.35792E7 12.2 10.0 86 101200 0 0 306 0 0 0 0 0 0 0 280 5.2 0 0 32.0 2000 9 999999999 220 0.1830 0 88 0.140 0.0 1.0 -1.35828E7 12.2 10.0 86 101300 3 232 312 0 0 0 0 0 0 0 290 5.2 1 1 24.0 2000 9 999999999 220 0.1830 0 88 0.140 0.0 1.0 -1.35864E7 12.8 10.6 86 101300 156 1326 315 47 49 41 5100 2900 4800 860 280 5.2 1 1 24.0 2000 9 999999999 220 0.1830 0 88 0.140 0.0 1.0 -1.359E7 14.4 11.1 81 101300 405 1326 323 187 259 107 19900 23500 12700 2100 290 5.2 1 1 24.0 2000 9 999999999 220 0.1830 0 88 0.140 0.0 1.0 -1.35936E7 15.6 11.1 75 101400 650 1326 328 378 430 167 39900 42900 18800 3500 290 5.2 1 1 24.0 2000 9 999999999 220 0.1830 0 88 0.140 0.0 1.0 -1.35972E7 16.7 11.1 70 101300 873 1326 333 565 559 197 61100 57900 23000 5040 290 6.2 1 1 24.0 2000 9 999999999 220 0.1830 0 88 0.140 0.0 1.0 -1.36008E7 17.2 11.1 67 101400 1057 1326 336 726 624 228 76400 63200 25900 7980 300 8.2 1 1 24.0 2000 9 999999999 220 0.1830 0 88 0.140 0.0 1.0 -1.36044E7 18.3 11.1 63 101400 1191 1326 349 831 579 310 90000 60600 35400 16650 290 9.8 3 3 24.0 2000 9 999999999 220 0.1830 0 88 0.140 0.0 1.0 -1.3608E7 18.3 11.1 63 101400 1266 1326 345 709 412 315 77400 43200 36100 24500 290 9.8 2 2 24.0 2000 9 999999999 220 0.1830 0 88 0.140 0.0 1.0 -1.36116E7 17.8 10.6 63 101400 1275 1326 346 740 451 306 81100 47300 35500 25370 280 9.8 3 3 24.0 2000 9 999999999 209 0.1830 0 88 0.140 0.0 1.0 -1.36152E7 17.8 10.6 63 101400 1219 1326 343 906 685 276 95700 69300 31800 16190 290 9.3 2 2 32.0 2000 9 999999999 209 0.1830 0 88 0.140 0.0 1.0 -1.36188E7 17.8 10.6 63 101400 1101 1326 338 774 648 235 81600 65700 26900 9190 280 7.2 1 1 32.0 2000 9 999999999 209 0.1830 0 88 0.140 0.0 1.0 -1.36224E7 17.8 10.0 60 101400 930 1326 337 640 617 207 66800 62000 23200 5650 280 8.8 1 1 32.0 2000 9 999999999 209 0.1830 0 88 0.140 0.0 1.0 -1.3626E7 17.2 10.0 63 101400 717 1326 334 435 443 195 45800 44800 21500 4310 290 7.7 1 1 32.0 2000 9 999999999 209 0.1830 0 88 0.140 0.0 1.0 -1.36296E7 16.1 9.4 64 101400 477 1326 329 237 337 116 25000 31500 13600 2220 280 7.2 1 1 32.0 2000 9 999999999 209 0.1830 0 88 0.140 0.0 1.0 -1.36332E7 14.4 9.4 72 101400 227 1326 321 77 101 60 8400 7400 7200 1280 300 6.2 1 1 32.0 2000 9 999999999 209 0.1830 0 88 0.140 0.0 1.0 -1.36368E7 13.3 9.4 77 101400 23 608 316 4 0 4 0 0 0 0 290 4.1 1 1 24.0 2000 9 999999999 209 0.1830 0 88 0.140 0.0 1.0 -1.36404E7 12.2 9.4 83 101400 0 0 311 0 0 0 0 0 0 0 280 4.1 1 1 24.0 2000 9 999999999 209 0.1830 0 88 0.140 0.0 1.0 -1.3644E7 12.2 9.4 83 101500 0 0 311 0 0 0 0 0 0 0 280 5.2 1 1 24.0 2000 9 999999999 200 0.1830 0 88 0.140 0.0 1.0 -1.36476E7 12.2 9.4 83 101500 0 0 311 0 0 0 0 0 0 0 290 4.1 1 1 24.0 2000 9 999999999 200 0.1830 0 88 0.140 0.0 1.0 -1.36512E7 11.7 9.4 86 101500 0 0 309 0 0 0 0 0 0 0 300 3.1 1 1 24.0 2000 9 999999999 200 0.1830 0 88 0.140 0.0 1.0 -1.36548E7 11.7 9.4 86 101400 0 0 309 0 0 0 0 0 0 0 280 4.1 1 1 24.0 2000 9 999999999 200 0.1830 0 88 0.140 0.0 1.0 -1.36584E7 11.7 10.0 89 101400 0 0 310 0 0 0 0 0 0 0 300 4.1 1 1 24.0 2000 9 999999999 200 0.1830 0 88 0.140 0.0 1.0 -1.3662E7 11.1 9.4 89 101400 0 0 307 0 0 0 0 0 0 0 300 4.1 1 1 24.0 2000 9 999999999 200 0.1830 0 88 0.140 0.0 1.0 -1.36656E7 10.6 9.4 92 101400 0 0 304 0 0 0 0 0 0 0 280 3.1 1 1 24.0 2000 9 999999999 200 0.1830 0 88 0.140 0.0 1.0 -1.36692E7 10.6 9.4 92 101400 3 232 304 0 0 0 0 0 0 0 280 3.1 1 1 24.0 2000 9 999999999 200 0.1830 0 88 0.140 0.0 1.0 -1.36728E7 11.7 10.0 89 101500 156 1325 310 52 107 39 5500 5800 4800 710 290 4.1 1 1 24.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.36764E7 13.9 10.0 77 101500 405 1325 320 194 351 87 20600 31300 11100 1600 290 2.1 1 1 24.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.368E7 15.6 10.6 72 101500 650 1325 328 383 519 128 39800 50700 14900 2650 300 4.1 1 1 24.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.36836E7 17.2 10.0 63 101500 873 1325 328 611 682 162 64500 68900 19000 4180 300 6.2 0 0 32.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.36872E7 17.8 10.0 60 101500 1057 1325 331 780 745 186 83400 76200 22500 6650 290 6.2 0 0 32.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.36908E7 20.0 9.4 50 101500 1191 1325 340 904 781 202 93800 78100 23500 9630 300 7.2 0 0 40.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.36944E7 20.6 9.4 49 101500 1266 1325 343 973 799 210 101500 80000 24900 14840 290 8.2 0 0 40.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.3698E7 21.7 9.4 45 101500 1275 1325 348 982 801 211 102500 80300 25100 15980 300 7.7 0 0 48.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.37016E7 20.6 9.4 49 101500 1219 1325 343 931 788 205 96700 78900 24000 11110 300 9.3 0 0 48.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.37052E7 20.6 8.9 47 101500 1102 1325 343 823 759 191 88100 77700 23300 7640 290 9.8 0 0 48.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.37088E7 20.0 8.3 47 101400 931 1325 339 666 705 170 70500 71600 20100 4780 280 10.3 0 0 64.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.37124E7 18.3 8.3 52 101300 719 1325 331 473 616 139 49400 61100 16300 3040 280 9.8 0 0 64.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.3716E7 17.2 8.3 56 101300 479 1325 326 267 464 99 28500 43500 12800 1860 270 11.3 0 0 64.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.37196E7 16.1 8.3 60 101300 229 1325 321 90 202 55 9400 14100 6900 990 280 8.8 0 0 64.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.37232E7 14.4 8.3 67 101400 24 630 314 4 4 4 0 0 0 0 280 6.2 0 0 40.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.37268E7 13.9 8.3 69 101400 0 0 312 0 0 0 0 0 0 0 280 8.2 0 0 40.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.37304E7 13.3 8.3 72 101500 0 0 309 0 0 0 0 0 0 0 280 7.2 0 0 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.3734E7 12.8 8.9 77 101500 0 0 308 0 0 0 0 0 0 0 300 7.7 0 0 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.37376E7 12.2 8.9 80 101500 0 0 305 0 0 0 0 0 0 0 300 7.7 0 0 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.37412E7 12.2 8.9 80 101500 0 0 305 0 0 0 0 0 0 0 300 7.7 0 0 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.37448E7 12.2 8.9 80 101500 0 0 305 0 0 0 0 0 0 0 290 7.7 0 0 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.37484E7 11.7 8.9 83 101500 0 0 303 0 0 0 0 0 0 0 290 7.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.3752E7 11.7 8.9 83 101500 0 0 303 0 0 0 0 0 0 0 290 6.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.37556E7 11.7 8.9 83 101500 3 232 303 0 0 0 0 0 0 0 280 5.2 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.37592E7 12.8 9.4 80 101600 157 1325 308 53 118 39 5600 6400 4900 710 280 5.2 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.37628E7 14.4 9.4 72 101600 406 1325 315 212 417 84 22600 37200 11200 1540 290 5.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.37664E7 17.2 8.9 58 101600 650 1325 327 417 595 124 43400 58300 14800 2580 290 5.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.377E7 18.3 8.9 54 101600 873 1325 332 616 698 156 65200 70700 18500 4050 290 7.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.37736E7 18.9 8.9 52 101700 1057 1325 335 786 759 180 84100 77700 22000 6460 290 9.3 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.37772E7 18.9 8.9 52 101700 1191 1325 335 910 795 195 94800 79700 23000 9380 270 10.3 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.37808E7 19.4 7.8 47 101700 1266 1325 336 979 812 203 102500 81500 24500 14450 270 12.9 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.37844E7 20.6 7.2 42 101700 1275 1325 341 988 814 204 103500 81700 24600 15590 270 11.3 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.3788E7 20.0 7.2 43 101700 1220 1325 338 936 802 198 97800 80400 23600 10850 270 9.3 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.37916E7 19.4 7.8 47 101600 1103 1325 336 828 772 185 88900 79200 22800 7440 270 12.9 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.37952E7 18.9 7.8 48 101600 932 1325 333 671 720 164 71200 73200 19600 4640 260 13.4 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.37988E7 17.2 7.8 54 101600 720 1325 326 478 632 135 50100 62800 16000 2970 250 14.9 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38024E7 16.1 8.3 60 101500 480 1325 321 272 482 97 29100 45200 12700 1820 260 11.3 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.3806E7 14.4 8.3 67 101500 230 1325 314 92 219 54 9600 15300 7000 970 260 9.8 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38096E7 13.3 8.3 72 101500 25 629 309 4 5 4 500 200 500 80 270 8.8 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38132E7 12.8 8.9 77 101600 0 0 308 0 0 0 0 0 0 0 270 7.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38168E7 12.8 8.9 77 101600 0 0 308 0 0 0 0 0 0 0 250 8.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38204E7 12.2 8.3 77 101600 0 0 304 0 0 0 0 0 0 0 260 8.8 0 0 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.3824E7 11.7 8.3 80 101600 0 0 302 0 0 0 0 0 0 0 270 6.2 0 0 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38276E7 11.7 8.3 80 101600 0 0 302 0 0 0 0 0 0 0 260 7.7 0 0 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38312E7 11.7 8.3 80 101600 0 0 302 0 0 0 0 0 0 0 260 8.2 0 0 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38348E7 11.1 7.8 80 101600 0 0 299 0 0 0 0 0 0 0 270 8.2 0 0 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38384E7 11.1 8.3 83 101600 0 0 300 0 0 0 0 0 0 0 270 7.7 0 0 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.3842E7 11.1 8.3 83 101600 3 232 300 0 0 0 0 0 0 0 270 8.8 0 0 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38456E7 11.7 8.9 83 101700 157 1325 303 51 93 40 5400 5000 4800 730 260 8.2 0 0 24.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38492E7 12.8 8.9 77 101700 406 1325 308 206 378 90 21800 33700 11500 1670 280 8.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38528E7 14.4 8.9 70 101700 650 1325 315 409 559 135 42400 54500 15600 2770 270 7.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38564E7 15.6 9.4 67 101700 872 1325 320 610 666 171 64100 67100 19800 4380 270 8.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.386E7 16.7 9.4 62 101800 1057 1325 325 780 730 197 82900 74400 23400 7010 270 8.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38636E7 16.7 9.4 62 101800 1191 1325 332 870 735 209 93500 75400 25600 11130 270 8.2 1 1 40.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38672E7 17.8 9.4 58 101800 1266 1325 330 973 786 222 104900 80600 27700 17100 260 9.3 0 0 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38708E7 17.8 9.4 58 101800 1276 1325 330 983 788 223 105900 80900 27900 18400 260 9.8 0 0 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38744E7 18.3 8.9 54 101800 1220 1325 332 931 775 217 100100 79400 26800 13070 270 9.3 0 0 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.3878E7 18.3 8.9 54 101700 1104 1325 332 823 744 203 87800 76000 24400 8120 260 6.7 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38816E7 17.8 8.9 56 101600 933 1325 336 642 649 184 67600 65700 21200 5140 270 5.2 1 1 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38852E7 16.1 9.4 64 101600 721 1325 329 448 559 144 46800 55300 16600 3140 260 7.2 1 1 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38888E7 16.1 8.9 62 101600 482 1325 322 266 444 104 28300 41700 13100 1970 270 7.7 0 0 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38924E7 14.4 9.4 72 101500 232 1325 321 90 145 64 9400 10100 7700 1210 250 7.2 1 1 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.3896E7 13.3 9.4 77 101600 26 651 316 4 2 4 500 100 500 110 260 4.6 1 1 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.38996E7 12.8 9.4 80 101600 0 0 314 0 0 0 0 0 0 0 240 5.2 1 1 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.39032E7 12.2 10.0 86 101600 0 0 312 0 0 0 0 0 0 0 250 6.7 1 1 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.39068E7 11.7 9.4 86 101500 0 0 309 0 0 0 0 0 0 0 260 5.7 1 1 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.39104E7 11.7 9.4 86 101500 0 0 309 0 0 0 0 0 0 0 260 6.7 1 1 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.3914E7 11.7 9.4 86 101400 0 0 317 0 0 0 0 0 0 0 240 5.2 3 3 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.39176E7 11.1 9.4 89 101400 0 0 311 0 0 0 0 0 0 0 250 3.1 2 2 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.39212E7 10.6 8.9 89 101400 0 0 311 0 0 0 0 0 0 0 260 1.5 3 3 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.39248E7 10.6 9.4 92 101300 0 0 309 0 0 0 0 0 0 0 210 2.6 2 2 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.39284E7 10.6 8.9 89 101300 3 232 304 0 1 0 0 0 0 0 220 1.5 1 1 24.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.3932E7 11.7 9.4 86 101400 157 1325 303 57 172 36 5900 9700 4700 640 220 1.0 0 0 24.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.39356E7 14.4 10.0 75 101400 406 1325 316 222 485 74 23000 43000 9800 1390 220 1.0 0 0 24.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.39392E7 16.1 10.6 70 101400 650 1325 324 427 653 107 45100 64400 13400 2280 30 2.1 0 0 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.39428E7 16.7 11.7 72 101400 872 1325 328 626 748 133 67000 76200 16700 3520 50 3.1 0 0 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.39464E7 17.8 11.7 67 101400 1057 1325 333 794 803 152 83400 80800 18800 5010 50 3.1 0 0 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.395E7 18.9 11.7 63 101300 1191 1325 338 916 835 165 97200 84400 21200 8220 10 3.1 0 0 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.39536E7 21.7 11.1 51 101300 1266 1325 350 985 851 171 105000 86100 22500 12510 300 7.2 0 0 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.39572E7 21.7 10.6 49 101200 1276 1325 350 994 852 172 106000 86300 22700 13540 300 8.8 0 0 40.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.39608E7 22.2 10.6 48 101200 1221 1325 352 944 841 168 100300 85000 21700 9550 290 9.8 0 0 40.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.39644E7 19.4 10.0 54 101200 1104 1325 338 837 815 157 88300 82100 19600 5850 290 9.8 0 0 48.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.3968E7 18.3 10.0 58 101100 934 1325 333 682 768 140 71100 76800 16800 3620 270 10.3 0 0 48.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.39716E7 17.8 10.0 60 101100 723 1325 331 491 688 116 52100 68800 14500 2610 280 9.3 0 0 48.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.39752E7 16.1 10.0 67 101100 483 1325 323 285 548 84 29600 51000 11000 1630 280 7.7 0 0 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.39788E7 14.4 10.0 75 101100 234 1325 316 101 288 50 10600 20300 7000 890 270 7.7 0 0 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.39824E7 13.3 10.0 80 101100 27 651 311 5 14 5 700 400 600 80 280 4.6 0 0 24.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.3986E7 12.8 10.0 83 101100 0 0 309 0 0 0 0 0 0 0 280 4.1 0 0 24.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.39896E7 12.8 10.0 83 101100 0 0 309 0 0 0 0 0 0 0 290 4.1 0 0 24.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.39932E7 12.8 10.0 83 101100 0 0 309 0 0 0 0 0 0 0 290 4.1 0 0 24.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.39968E7 12.2 10.0 86 101100 0 0 306 0 0 0 0 0 0 0 280 3.1 0 0 24.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40004E7 12.2 10.0 86 101100 0 0 306 0 0 0 0 0 0 0 290 5.2 0 0 24.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.4004E7 11.7 10.0 89 101100 0 0 304 0 0 0 0 0 0 0 270 3.1 0 0 24.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40076E7 11.7 10.0 89 101100 0 0 304 0 0 0 0 0 0 0 280 4.1 0 0 24.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40112E7 11.1 9.4 89 101100 0 0 301 0 0 0 0 0 0 0 270 3.1 0 0 24.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.40148E7 11.1 9.4 89 101100 3 232 307 0 0 0 0 0 0 0 240 2.1 1 1 24.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.40184E7 12.8 9.4 80 101200 157 1324 314 46 26 43 5000 1800 4800 1020 0 0.0 1 1 16.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.4022E7 14.4 10.0 75 101200 405 1324 322 174 211 110 18600 19200 12700 2170 40 1.0 1 1 16.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.40256E7 16.1 10.6 70 101200 650 1324 330 339 338 173 36700 35000 19500 3770 40 2.1 1 1 16.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.40292E7 17.2 10.6 65 101200 872 1324 329 578 530 228 61500 54700 25400 5900 50 2.6 0 0 24.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.40328E7 17.8 11.1 65 101200 1056 1324 332 750 605 267 80900 63200 30500 9550 300 4.1 0 0 24.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.40364E7 19.4 10.6 57 101300 1191 1324 350 862 644 283 90600 65000 32100 14740 80 2.6 2 2 24.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.404E7 18.9 10.6 59 101300 1266 1324 351 925 585 366 99600 61200 41000 28870 230 8.8 3 3 24.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40436E7 17.8 10.6 63 101300 1276 1324 343 907 565 362 97800 59100 40700 30720 260 7.7 2 2 24.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40472E7 16.1 10.0 67 101400 1221 1324 337 882 592 336 95200 61900 37900 20700 250 8.2 3 3 24.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40508E7 16.1 10.0 67 101400 1105 1324 342 736 498 320 78500 52000 35100 13070 250 8.8 5 5 24.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40544E7 15.0 10.0 72 101400 935 1324 340 483 239 314 52200 25700 34000 9160 240 8.8 6 6 24.0 335 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.4058E7 13.9 10.0 77 101300 724 1324 335 370 272 221 39700 28600 24100 5180 240 7.7 6 6 24.0 335 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40616E7 13.3 10.0 80 101300 485 1324 342 142 52 123 15600 4900 13800 3500 240 6.7 8 8 24.0 335 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40652E7 12.8 10.0 83 101300 235 1324 334 65 14 62 7200 400 7100 2100 240 5.7 7 7 24.0 335 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40688E7 12.2 10.0 86 101300 27 673 336 4 0 4 500 0 500 160 230 5.7 8 8 24.0 335 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40724E7 12.2 10.0 86 101400 0 0 331 0 0 0 0 0 0 0 240 6.2 7 7 24.0 335 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.4076E7 12.2 10.0 86 101400 0 0 344 0 0 0 0 0 0 0 250 5.7 9 9 24.0 335 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40796E7 12.2 10.0 86 101400 0 0 344 0 0 0 0 0 0 0 240 5.2 9 9 24.0 335 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40832E7 11.7 10.0 89 101400 0 0 341 0 0 0 0 0 0 0 250 6.2 9 9 16.0 335 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40868E7 12.2 10.6 90 101400 0 0 344 0 0 0 0 0 0 0 280 4.1 9 9 24.0 335 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40904E7 11.7 10.0 89 101400 0 0 341 0 0 0 0 0 0 0 280 4.6 9 9 24.0 457 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.4094E7 11.7 10.6 93 101400 0 0 342 0 0 0 0 0 0 0 290 3.6 9 9 24.0 457 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.40976E7 11.1 9.4 89 101400 0 0 338 0 0 0 0 0 0 0 240 2.1 9 9 24.0 457 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41012E7 11.1 9.4 89 101400 3 232 347 0 0 0 0 0 0 0 220 5.2 10 10 16.0 335 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41048E7 11.7 9.4 86 101400 157 1324 350 27 0 27 3100 0 3100 980 230 5.7 10 10 32.0 335 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41084E7 11.7 9.4 86 101500 405 1324 350 69 0 69 8100 0 8100 2820 240 5.2 10 10 32.0 335 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.4112E7 12.8 9.4 80 101500 649 1324 356 108 0 108 12900 0 12900 4910 220 5.2 10 10 32.0 335 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41156E7 13.3 8.9 75 101500 871 1324 348 381 46 350 41800 4700 38700 11410 230 6.2 9 9 32.0 457 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41192E7 15.6 9.4 67 101500 1056 1324 337 654 421 317 69200 43800 34200 11470 230 5.2 4 4 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41228E7 16.7 9.4 62 101600 1190 1324 342 704 365 376 77600 39700 41800 18510 250 7.2 4 4 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41264E7 16.1 9.4 64 101600 1265 1324 333 799 525 297 87800 55100 35000 23310 250 7.2 2 2 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.413E7 16.7 9.4 62 101600 1276 1324 339 642 336 318 70100 35200 36100 26960 230 6.7 3 3 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41336E7 17.2 9.4 60 101600 1222 1324 334 873 627 294 91800 63200 33300 17530 250 7.7 1 1 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41372E7 16.7 9.4 62 101500 1106 1324 339 773 550 313 82600 57400 34600 12790 250 8.2 3 3 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41408E7 16.7 9.4 62 101500 936 1324 336 581 464 252 61900 48100 27800 7180 240 8.2 2 2 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41444E7 15.6 9.4 67 101500 725 1324 327 427 429 192 45100 43500 21200 4270 240 7.2 1 1 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.4148E7 15.0 10.0 72 101500 486 1324 324 235 250 143 25000 24100 16100 2950 240 5.7 1 1 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41516E7 13.9 9.4 74 101500 237 1324 319 79 76 65 8600 5600 7500 1390 240 5.7 1 1 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41552E7 12.2 9.4 83 101500 28 673 311 5 0 5 600 0 600 200 240 2.6 1 1 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41588E7 12.2 8.9 80 101500 0 0 311 0 0 0 0 0 0 0 270 3.6 1 1 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41624E7 12.2 10.0 86 101500 0 0 312 0 0 0 0 0 0 0 310 2.6 1 1 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.4166E7 11.1 8.9 86 101400 0 0 306 0 0 0 0 0 0 0 280 1.0 1 1 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41696E7 11.7 9.4 86 101400 0 0 309 0 0 0 0 0 0 0 280 1.0 1 1 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41732E7 10.6 8.9 89 101400 0 0 304 0 0 0 0 0 0 0 280 3.1 1 1 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.41768E7 10.6 8.9 89 101400 0 0 304 0 0 0 0 0 0 0 290 3.1 1 1 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.41804E7 10.0 8.9 93 101400 0 0 301 0 0 0 0 0 0 0 270 3.1 1 1 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.4184E7 10.6 8.9 89 101400 0 0 304 0 0 0 0 0 0 0 270 3.1 1 1 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.41876E7 10.0 8.9 93 101400 3 232 301 0 1 0 0 0 0 0 290 3.1 1 1 24.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.41912E7 11.7 9.4 86 101400 156 1324 309 54 154 35 5600 8700 4500 620 290 2.1 1 1 24.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.41948E7 13.9 9.4 74 101400 405 1324 319 222 494 71 23000 43900 9600 1340 290 1.0 1 1 24.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.41984E7 15.6 10.0 69 101400 649 1324 327 396 602 101 41900 59500 12700 2170 310 2.6 1 1 24.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.4202E7 15.6 10.0 69 101500 871 1324 327 603 688 150 64000 69800 18000 3910 300 5.2 1 1 24.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.42056E7 16.7 9.4 62 101500 1056 1324 332 764 778 144 80900 78500 18200 4810 290 7.2 1 1 24.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.42092E7 18.3 9.4 56 101500 1190 1324 339 835 757 155 89300 76700 20200 7810 290 8.2 1 1 24.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.42128E7 17.8 9.4 58 101500 1265 1324 337 937 812 161 100600 82400 21700 11900 290 9.3 1 1 24.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.42164E7 18.3 10.0 58 101500 1276 1324 340 947 812 164 101600 82400 22000 13090 280 7.2 1 1 24.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.422E7 17.2 10.0 63 101500 1222 1324 334 879 781 158 94100 79200 20800 9150 270 7.2 1 1 16.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.42236E7 16.7 10.0 65 101400 1106 1324 332 805 785 148 85400 79300 18900 5640 270 9.3 1 1 16.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.42272E7 16.7 10.0 65 101400 937 1324 332 648 728 132 68000 73000 16200 3510 260 8.2 1 1 16.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.42308E7 15.0 9.4 69 101400 726 1324 324 422 569 110 44900 57100 13600 2510 250 8.2 1 1 16.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.42344E7 13.9 9.4 74 101400 487 1324 319 257 466 85 26700 43500 10700 1650 250 8.2 1 1 16.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4238E7 12.8 9.4 80 101400 238 1324 314 94 253 49 10000 18100 6800 870 250 6.2 1 1 16.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.42416E7 11.7 9.4 86 101400 29 673 309 6 16 5 700 400 600 80 240 7.2 1 1 16.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.42452E7 12.2 9.4 83 101400 0 0 311 0 0 0 0 0 0 0 260 2.6 1 1 24.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.42488E7 11.7 9.4 86 101400 0 0 309 0 0 0 0 0 0 0 240 3.1 1 1 24.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.42524E7 11.1 8.9 86 101400 0 0 306 0 0 0 0 0 0 0 260 2.1 1 1 24.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4256E7 11.1 9.4 89 101400 0 0 307 0 0 0 0 0 0 0 230 4.1 1 1 24.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.42596E7 11.1 9.4 89 101400 0 0 307 0 0 0 0 0 0 0 220 4.6 1 1 24.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.42632E7 11.1 8.9 86 101300 0 0 316 0 0 0 0 0 0 0 240 5.2 4 4 24.0 2000 9 999999999 150 0.1830 0 88 0.140 0.0 1.0 -1.42668E7 11.1 9.4 89 101300 0 0 322 0 0 0 0 0 0 0 240 3.1 6 6 24.0 396 9 999999999 150 0.1830 0 88 0.140 0.0 1.0 -1.42704E7 11.1 9.4 89 101300 0 0 322 0 0 0 0 0 0 0 220 5.2 6 6 24.0 396 9 999999999 150 0.1830 0 88 0.140 0.0 1.0 -1.4274E7 10.6 8.9 89 101300 3 232 344 0 0 0 0 0 0 0 230 5.2 10 10 24.0 396 9 999999999 150 0.1830 0 88 0.140 0.0 1.0 -1.42776E7 10.6 8.9 89 101400 156 1324 344 26 0 26 3000 0 3000 950 240 5.2 10 10 24.0 396 9 999999999 150 0.1830 0 88 0.140 0.0 1.0 -1.42812E7 10.6 8.9 89 101400 404 1324 344 63 0 63 7400 0 7400 2620 230 6.2 10 10 24.0 274 9 999999999 150 0.1830 0 88 0.140 0.0 1.0 -1.42848E7 11.1 9.4 89 101400 648 1324 347 97 0 97 11600 0 11600 4480 230 6.2 10 10 24.0 274 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.42884E7 11.1 8.9 86 101500 870 1324 347 146 0 146 17600 0 17600 7130 220 5.7 10 10 24.0 274 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4292E7 12.2 9.4 83 101400 1055 1324 353 187 0 187 22800 0 22800 9380 220 5.2 10 10 24.0 396 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.42956E7 14.4 9.4 72 101400 1190 1324 346 713 250 488 77800 26500 53900 23180 210 5.2 8 8 24.0 488 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.42992E7 16.1 10.0 67 101400 1265 1324 329 914 679 264 97200 69100 31100 20280 250 5.2 1 1 24.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43028E7 16.7 9.4 62 101400 1276 1324 332 945 704 266 100700 71600 31500 22100 260 7.2 1 1 24.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43064E7 16.7 9.4 62 101400 1222 1324 332 856 643 262 90800 65300 30400 15830 250 7.2 1 1 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.431E7 16.7 9.4 62 101300 1107 1324 332 773 636 241 81500 64400 27500 9610 260 8.2 1 1 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43136E7 15.6 9.4 67 101300 938 1324 327 622 578 213 65000 58100 23700 5890 250 9.3 1 1 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43172E7 14.4 9.4 72 101300 727 1324 329 391 339 204 42300 35700 22600 4720 250 8.2 3 3 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43208E7 13.3 8.9 75 101200 489 1324 326 161 81 131 17700 7700 14800 3690 240 6.2 4 4 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43244E7 12.2 8.9 80 101300 240 1324 323 73 67 61 8000 5000 7100 1300 230 6.2 5 5 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4328E7 11.7 8.9 83 101300 29 695 328 5 0 5 600 0 600 200 230 4.1 7 7 32.0 488 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43316E7 11.7 8.9 83 101300 0 0 350 0 0 0 0 0 0 0 230 3.1 10 10 32.0 488 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43352E7 11.7 8.9 83 101300 0 0 350 0 0 0 0 0 0 0 230 3.1 10 10 32.0 488 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43388E7 11.7 9.4 86 101300 0 0 333 0 0 0 0 0 0 0 230 4.1 8 8 24.0 488 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43424E7 11.7 9.4 86 101300 0 0 324 0 0 0 0 0 0 0 210 3.1 6 6 24.0 488 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4346E7 11.7 9.4 86 101300 0 0 324 0 0 0 0 0 0 0 220 3.1 6 6 24.0 488 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.43496E7 11.7 9.4 86 101200 0 0 324 0 0 0 0 0 0 0 230 5.2 6 6 24.0 488 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.43532E7 11.7 9.4 86 101200 0 0 324 0 0 0 0 0 0 0 210 6.2 6 6 24.0 488 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.43568E7 11.1 9.4 89 101200 0 0 322 0 0 0 0 0 0 0 210 6.2 6 6 24.0 488 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.43604E7 10.6 9.4 92 101300 3 232 345 0 0 0 0 0 0 0 240 5.2 10 10 24.0 335 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.4364E7 10.6 9.4 92 101300 156 1323 345 21 0 21 2500 0 2500 800 230 6.2 10 10 16.0 335 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.43676E7 10.6 9.4 92 101400 404 1323 345 53 0 53 6300 0 6300 2260 240 5.2 10 10 16.0 335 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.43712E7 10.6 8.9 89 101400 648 1323 344 102 0 102 12200 0 12200 4670 230 5.2 10 10 16.0 335 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.43748E7 11.1 9.4 89 101400 870 1323 325 318 77 266 34900 7800 29700 9190 250 5.2 10 7 24.0 335 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43784E7 11.7 10.0 89 101500 1055 1323 351 189 0 189 23000 0 23000 9460 220 6.2 10 10 24.0 335 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4382E7 11.7 9.4 86 101500 1189 1323 350 217 0 217 26700 0 26700 10850 230 5.2 10 10 24.0 335 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43856E7 12.8 9.4 80 101500 1265 1323 356 232 0 232 28700 0 28700 11590 250 7.2 10 10 24.0 335 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43892E7 13.3 9.4 77 101500 1276 1323 358 235 0 235 29000 0 29000 11740 240 9.3 10 10 24.0 335 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43928E7 13.9 10.0 77 101500 1223 1323 362 224 0 224 27600 0 27600 11200 250 8.2 10 10 24.0 396 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.43964E7 13.3 9.4 77 101500 1108 1323 358 200 0 200 24500 0 24500 10020 250 9.3 10 10 24.0 396 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44E7 13.3 9.4 77 101500 939 1323 358 196 0 196 23400 0 23400 9380 240 7.2 10 10 24.0 518 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44036E7 13.3 9.4 77 101500 728 1323 358 143 0 143 16900 0 16900 6500 250 7.2 10 10 24.0 518 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44072E7 13.3 8.9 75 101500 490 1323 348 174 50 156 19100 4800 17400 4240 240 7.2 9 9 24.0 610 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44108E7 12.8 8.9 77 101500 241 1323 345 47 17 44 5200 1300 4900 1170 240 6.2 9 9 24.0 610 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44144E7 11.7 8.9 83 101600 30 695 350 4 0 4 500 0 500 160 240 6.2 10 10 32.0 610 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4418E7 11.7 8.3 80 101600 0 0 349 0 0 0 0 0 0 0 240 6.2 10 10 32.0 610 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44216E7 11.1 8.3 83 101600 0 0 313 0 0 0 0 0 0 0 230 5.2 3 3 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44252E7 11.1 8.3 83 101600 0 0 318 0 0 0 0 0 0 0 230 5.2 5 5 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44288E7 10.6 7.8 83 101600 0 0 315 0 0 0 0 0 0 0 280 2.6 5 5 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44324E7 10.0 7.8 86 101600 0 0 307 0 0 0 0 0 0 0 260 3.6 3 3 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4436E7 10.0 7.8 86 101600 0 0 300 0 0 0 0 0 0 0 240 5.2 1 1 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44396E7 10.0 7.8 86 101600 0 0 300 0 0 0 0 0 0 0 260 1.5 1 1 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44432E7 10.0 7.8 86 101600 0 0 300 0 0 0 0 0 0 0 240 3.6 1 1 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44468E7 10.0 7.8 86 101700 3 232 307 0 0 0 0 0 0 0 260 5.7 3 3 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44504E7 10.6 7.8 83 101700 155 1323 315 40 14 38 4300 1000 4200 920 260 5.7 5 5 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4454E7 11.7 8.3 80 101800 403 1323 318 194 105 162 21200 9700 18200 3920 260 7.7 4 4 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44576E7 12.8 8.3 74 101900 647 1323 317 366 407 167 38600 40600 18700 3490 250 7.2 2 2 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44612E7 13.9 8.3 69 101900 869 1323 318 586 634 169 61600 63900 19500 4330 260 7.2 1 1 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44648E7 16.1 8.9 62 101900 1054 1323 328 688 620 194 73200 63300 22800 6890 270 5.7 1 1 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44684E7 16.7 8.3 58 101900 1189 1323 330 877 740 211 94100 75800 25800 11200 260 6.7 1 1 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4472E7 17.8 8.3 54 101900 1265 1323 329 973 782 225 104800 80200 27900 17410 270 7.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44756E7 17.2 7.2 52 101900 1276 1323 331 884 681 226 95200 69900 27700 18980 260 8.2 1 1 40.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44792E7 18.3 6.7 47 101900 1223 1323 336 780 537 284 85700 56300 33500 17620 280 9.3 1 1 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44828E7 17.2 6.7 50 101800 1108 1323 331 780 691 201 83300 70600 24000 8180 270 8.2 1 1 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44864E7 17.8 6.7 48 101800 940 1323 334 647 658 179 68300 66700 20800 5080 260 8.2 1 1 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.449E7 16.7 6.7 52 101700 729 1323 322 479 596 150 49800 59000 17200 3280 270 7.7 0 0 48.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44936E7 15.6 6.7 55 101700 491 1323 317 273 445 107 29000 42000 13400 2030 260 7.2 0 0 56.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.44972E7 14.4 6.1 57 101700 242 1323 312 95 193 60 10100 13800 7600 1120 270 8.2 0 0 56.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.45008E7 13.3 6.7 64 101700 31 695 307 6 4 6 700 200 700 160 270 4.6 0 0 56.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.45044E7 12.2 6.7 69 101700 0 0 303 0 0 0 0 0 0 0 270 5.2 0 0 56.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4508E7 12.2 7.2 71 101700 0 0 303 0 0 0 0 0 0 0 280 4.1 0 0 56.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.45116E7 11.7 7.2 74 101700 0 0 301 0 0 0 0 0 0 0 280 4.1 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.45152E7 11.7 7.2 74 101600 0 0 301 0 0 0 0 0 0 0 280 4.1 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.45188E7 12.2 8.3 77 101600 0 0 304 0 0 0 0 0 0 0 310 5.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.45224E7 11.7 7.8 77 101600 0 0 302 0 0 0 0 0 0 0 300 5.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4526E7 11.7 8.3 80 101600 0 0 302 0 0 0 0 0 0 0 300 5.2 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.45296E7 10.0 7.2 83 101600 0 0 294 0 0 0 0 0 0 0 280 4.6 0 0 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.45332E7 10.0 7.2 83 101600 3 232 294 0 5 0 0 0 0 0 270 3.1 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.45368E7 11.1 7.2 77 101600 155 1323 299 62 258 31 6200 15500 4400 550 270 3.6 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.45404E7 13.9 7.8 67 101600 402 1323 311 234 573 59 24500 51300 8900 1140 290 2.6 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4544E7 17.2 7.8 54 101600 646 1323 326 439 726 84 46000 71000 11200 1790 40 1.5 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.45476E7 18.3 8.9 54 101500 868 1323 332 636 809 105 67700 81400 14200 2700 10 2.6 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.45512E7 20.0 9.4 50 101500 1053 1323 340 803 857 119 82700 85700 14400 3350 320 2.6 0 0 72.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.45548E7 20.0 8.3 47 101500 1189 1323 339 925 885 129 95100 88700 15300 5410 290 7.2 0 0 72.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.45584E7 22.2 6.7 37 101400 1265 1323 348 994 899 134 102100 90200 15700 8310 290 8.2 0 0 72.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.4562E7 20.6 8.3 45 101400 1276 1323 342 1004 900 135 103100 90300 15800 9120 280 9.3 0 0 72.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.45656E7 19.4 6.7 44 101400 1223 1323 335 956 891 132 98300 89300 15500 6440 270 10.8 0 0 72.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.45692E7 19.4 6.1 42 101400 1109 1323 334 852 868 123 87700 86900 14700 3970 270 9.3 0 0 72.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.45728E7 18.3 5.6 43 101300 940 1323 328 700 828 110 74800 83700 15200 3120 260 10.3 0 0 72.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.45764E7 17.8 5.0 43 101300 730 1323 325 511 760 92 53900 75400 12300 2070 260 10.3 0 0 72.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.458E7 16.7 5.0 46 101200 492 1323 320 306 638 68 32400 60200 10000 1370 270 10.3 0 0 56.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.45836E7 15.0 5.6 53 101200 243 1323 314 116 398 43 12000 29500 6500 790 270 8.2 0 0 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.45872E7 13.9 5.6 57 101200 31 717 309 7 44 5 800 1900 700 100 290 6.2 0 0 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.45908E7 13.3 6.1 62 101200 0 0 307 0 0 0 0 0 0 0 270 7.2 0 0 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.45944E7 12.2 6.7 69 101200 0 0 303 0 0 0 0 0 0 0 280 6.2 0 0 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.4598E7 11.7 7.2 74 101200 0 0 301 0 0 0 0 0 0 0 280 5.2 0 0 40.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46016E7 11.7 7.2 74 101200 0 0 301 0 0 0 0 0 0 0 280 4.1 0 0 40.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46052E7 11.7 7.8 77 101100 0 0 302 0 0 0 0 0 0 0 280 4.1 0 0 40.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46088E7 11.1 7.8 80 101100 0 0 299 0 0 0 0 0 0 0 280 4.1 0 0 40.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46124E7 11.1 7.8 80 101100 0 0 299 0 0 0 0 0 0 0 280 5.2 0 0 40.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.4616E7 10.6 7.8 83 101100 0 0 297 0 0 0 0 0 0 0 280 5.2 0 0 56.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.46196E7 10.0 7.8 86 101100 3 231 310 0 0 0 0 0 0 0 290 4.1 4 4 56.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.46232E7 11.7 8.3 80 101100 154 1323 320 59 43 54 6400 3000 6100 1200 260 2.1 5 5 56.0 2000 9 999999999 190 0.1830 0 88 0.140 0.0 1.0 -1.46268E7 13.9 8.3 69 101200 402 1323 330 194 222 127 20500 20100 14400 2590 280 3.1 8 5 56.0 7620 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46304E7 17.2 8.9 58 101200 646 1323 338 396 499 152 42100 49800 17800 3150 310 3.1 7 2 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.4634E7 18.9 8.3 50 101100 868 1323 348 587 556 222 62700 57400 24900 5710 300 5.2 8 3 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46376E7 19.4 8.9 51 101100 1053 1323 348 670 539 240 73000 56300 28100 8490 300 6.2 7 2 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46412E7 22.8 8.3 39 101100 1188 1323 367 799 573 283 83900 57800 31800 14670 300 6.2 8 3 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46448E7 21.1 8.9 46 101100 1264 1323 356 932 666 295 98400 67300 33900 22510 290 9.3 7 2 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46484E7 20.6 9.4 49 101100 1276 1323 358 912 617 316 95900 62200 35800 26190 270 8.2 8 3 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.4652E7 18.3 7.8 50 101100 1223 1323 342 881 672 259 93500 68300 30200 15800 260 10.3 7 2 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46556E7 19.4 7.8 47 101100 1109 1323 350 758 588 265 79400 59200 29600 10540 260 9.3 8 3 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46592E7 17.8 8.3 54 101100 941 1323 340 595 461 267 63100 47800 29000 7710 260 9.3 7 2 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46628E7 16.7 9.4 62 101000 731 1323 339 467 499 191 49400 50700 21400 4260 250 7.2 8 3 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46664E7 15.6 9.4 67 101100 493 1323 331 275 410 122 28900 38600 14500 2350 270 6.2 7 2 56.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.467E7 13.9 10.0 77 101100 244 1323 327 91 132 66 9500 9500 7800 1250 260 8.2 8 3 40.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46736E7 12.8 10.0 83 101200 32 716 325 6 2 6 700 100 700 160 250 9.8 4 4 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46772E7 12.8 10.0 83 101200 0 0 325 0 0 0 0 0 0 0 250 8.2 4 4 32.0 2000 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.46808E7 12.2 10.0 86 101200 0 0 316 0 0 0 0 0 0 0 250 6.2 2 2 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.46844E7 12.2 10.0 86 101200 0 0 319 0 0 0 0 0 0 0 240 6.2 3 3 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.4688E7 11.7 10.0 89 101200 0 0 322 0 0 0 0 0 0 0 250 8.2 5 5 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.46916E7 11.7 10.0 89 101200 0 0 322 0 0 0 0 0 0 0 250 7.2 5 5 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.46952E7 11.7 9.4 86 101200 0 0 321 0 0 0 0 0 0 0 250 7.2 5 5 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.46988E7 11.7 9.4 86 101200 0 0 328 0 0 0 0 0 0 0 260 7.2 7 7 32.0 305 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.47024E7 11.7 9.4 86 101300 0 0 333 0 0 0 0 0 0 0 250 8.2 8 8 32.0 305 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.4706E7 11.1 9.4 89 101300 3 231 347 0 0 0 0 0 0 0 240 7.7 10 10 32.0 305 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.47096E7 11.7 9.4 86 101300 153 1322 350 20 0 20 2300 0 2300 760 260 7.7 10 10 32.0 305 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.47132E7 11.7 9.4 86 101400 401 1322 350 54 0 54 6400 0 6400 2290 250 7.7 10 10 32.0 305 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.47168E7 12.2 10.0 86 101400 645 1322 353 103 0 103 12300 0 12300 4700 240 7.7 10 10 32.0 305 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.47204E7 12.8 9.4 80 101400 867 1322 356 150 0 150 18100 0 18100 7280 250 7.7 10 10 32.0 305 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.4724E7 13.3 9.4 77 101400 1052 1322 358 189 0 189 23000 0 23000 9460 260 7.7 10 10 32.0 305 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.47276E7 15.0 10.0 72 101400 1188 1322 367 259 0 259 31400 0 31400 12550 260 7.2 10 10 32.0 457 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.47312E7 14.4 10.0 75 101400 1264 1322 354 419 69 353 46400 7100 39700 20950 260 9.8 9 9 32.0 457 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.47348E7 15.6 10.0 69 101400 1276 1322 347 892 594 317 93700 59800 35800 26290 260 8.2 7 7 32.0 457 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.47384E7 16.1 10.0 67 101300 1224 1322 346 808 550 299 88300 57600 34800 18680 250 9.3 6 6 32.0 457 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4742E7 15.6 10.0 69 101300 1109 1322 332 800 694 218 85000 70700 25600 8860 240 9.3 2 2 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.47456E7 15.0 10.0 72 101300 942 1322 350 506 180 378 54900 19000 41400 11650 250 10.3 8 8 32.0 457 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.47492E7 14.4 10.0 75 101200 732 1322 341 426 480 160 45900 48900 18800 3510 260 9.3 7 7 32.0 457 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.47528E7 13.3 10.0 80 101200 494 1322 349 178 66 153 19500 6300 17100 4200 250 12.4 9 9 32.0 457 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.47564E7 12.2 10.0 86 101200 245 1322 344 53 52 43 5900 4000 5200 920 260 8.2 9 9 32.0 396 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.476E7 12.2 10.0 86 101200 32 716 344 6 3 5 600 200 600 130 250 10.3 9 9 32.0 396 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.47636E7 12.2 10.0 86 101100 0 0 331 0 0 0 0 0 0 0 250 7.2 7 7 32.0 396 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.47672E7 11.7 10.0 89 101200 0 0 325 0 0 0 0 0 0 0 260 7.7 6 6 32.0 396 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.47708E7 11.7 9.4 86 101200 0 0 321 0 0 0 0 0 0 0 240 7.2 5 5 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.47744E7 11.7 9.4 86 101200 0 0 321 0 0 0 0 0 0 0 250 4.1 5 5 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4778E7 11.1 8.9 86 101100 0 0 316 0 0 0 0 0 0 0 250 7.2 4 4 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.47816E7 11.1 8.9 86 101100 0 0 316 0 0 0 0 0 0 0 250 6.2 4 4 32.0 2000 9 999999999 150 0.1830 0 88 0.140 0.0 1.0 -1.47852E7 11.1 8.9 86 101000 0 0 318 0 0 0 0 0 0 0 260 8.2 5 5 32.0 2000 9 999999999 150 0.1830 0 88 0.140 0.0 1.0 -1.47888E7 11.1 8.9 86 101000 0 0 337 0 0 0 0 0 0 0 250 7.2 9 9 32.0 396 9 999999999 150 0.1830 0 88 0.140 0.0 1.0 -1.47924E7 11.1 8.9 86 101100 3 209 337 0 0 0 0 0 0 0 250 6.2 9 9 32.0 396 9 999999999 150 0.1830 0 88 0.140 0.0 1.0 -1.4796E7 11.1 8.9 86 101100 152 1322 325 36 31 32 3900 2100 3700 800 260 6.2 7 7 32.0 396 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.47996E7 11.7 8.9 83 101100 400 1322 333 92 67 72 10400 6200 8500 1610 260 8.2 8 8 32.0 396 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.48032E7 12.2 8.9 80 101100 644 1322 330 291 123 231 31500 12500 25400 5700 260 8.2 7 7 32.0 396 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.48068E7 13.3 8.9 75 101200 866 1322 340 353 201 221 38800 21600 24600 5700 260 7.7 8 8 32.0 427 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.48104E7 14.4 8.9 70 101200 1051 1322 336 491 384 186 55000 40300 22900 6480 260 7.7 6 6 32.0 488 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.4814E7 15.6 9.4 67 101200 1187 1322 334 804 610 256 85100 61900 29400 13340 260 6.7 3 3 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.48176E7 16.1 9.4 64 101200 1264 1322 333 939 832 143 96200 83400 16300 8680 260 8.2 2 2 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.48212E7 16.1 9.4 64 101200 1276 1322 337 830 591 259 88500 60200 30300 21710 250 8.2 3 3 32.0 2000 9 999999999 160 0.1830 0 88 0.140 0.0 1.0 -1.48248E7 16.1 9.4 64 101200 1224 1322 329 887 809 137 91000 81100 15800 6630 260 9.3 1 1 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.48284E7 15.6 9.4 67 101200 1110 1322 334 713 652 166 77300 67200 20800 6900 240 10.3 3 3 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.4832E7 15.0 9.4 69 101200 942 1322 328 666 749 132 69900 75200 16300 3550 240 9.3 2 2 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.48356E7 14.4 8.9 70 101200 732 1322 331 274 251 135 30600 26600 15900 2940 240 9.3 4 4 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.48392E7 13.3 8.9 75 101200 495 1322 328 231 159 171 24900 15400 19200 3960 250 7.7 5 5 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.48428E7 12.8 8.9 77 101200 246 1322 323 102 167 71 10700 12000 8500 1360 250 8.2 9 4 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.48464E7 11.7 8.9 83 101200 33 716 319 8 18 7 900 500 900 110 240 8.2 9 4 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.485E7 11.7 8.9 83 101300 0 0 319 0 0 0 0 0 0 0 250 7.2 9 4 32.0 2000 9 999999999 170 0.1830 0 88 0.140 0.0 1.0 -1.48536E7 11.7 8.9 83 101300 0 0 340 0 0 0 0 0 0 0 250 6.2 9 9 32.0 457 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.48572E7 11.1 8.9 86 101300 0 0 337 0 0 0 0 0 0 0 250 5.2 9 9 32.0 457 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.48608E7 11.1 8.3 83 101300 0 0 324 0 0 0 0 0 0 0 240 6.2 7 7 32.0 457 9 999999999 180 0.1830 0 88 0.140 0.0 1.0 -1.48644E7 10.6 8.3 86 101200 0 0 322 0 0 0 0 0 0 0 240 5.7 7 7 32.0 457 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.4868E7 10.6 8.3 86 101200 0 0 311 0 0 0 0 0 0 0 310 2.6 3 3 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.48716E7 9.4 7.8 90 101200 0 0 298 0 0 0 0 0 0 0 260 2.1 1 1 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.48752E7 10.0 8.3 89 101200 0 0 301 0 0 0 0 0 0 0 220 3.6 1 1 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.48788E7 10.0 8.3 89 101200 3 209 305 0 7 0 0 0 0 0 0 0.0 2 2 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.48824E7 11.1 8.3 83 101300 151 1322 313 47 173 27 5000 9700 3900 470 280 1.5 3 3 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.4886E7 12.8 8.9 77 101300 399 1322 314 219 557 51 22800 49900 7700 1040 0 0.0 1 1 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.48896E7 15.0 9.4 69 101400 643 1322 324 402 662 80 42300 64800 10800 1730 330 3.1 1 1 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.48932E7 15.6 9.4 67 101400 865 1322 320 636 832 91 66100 82700 12000 2130 20 3.1 0 0 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.48968E7 16.7 10.0 65 101400 1051 1322 326 802 878 104 83100 87900 13100 3150 50 3.6 0 0 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.49004E7 17.8 10.6 63 101300 1186 1322 332 924 904 113 95500 90700 14000 4950 200 4.1 0 0 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.4904E7 21.1 9.4 47 101300 1263 1322 345 994 916 117 102400 92000 14300 7470 300 6.2 0 0 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.49076E7 20.6 10.0 51 101300 1276 1322 344 1005 918 118 103600 92200 14400 8240 290 9.3 0 0 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.49112E7 20.0 9.4 50 101200 1224 1322 340 958 910 115 98900 91300 14100 5900 290 9.3 0 0 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.49148E7 18.9 9.4 54 101200 1110 1322 335 856 890 108 88500 89200 13500 3740 270 9.3 0 0 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.49184E7 18.9 8.9 52 101200 943 1322 335 705 853 97 73300 85100 12500 2460 290 8.2 0 0 40.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.4922E7 17.2 8.3 56 101200 733 1322 326 519 790 81 55500 78800 11800 1910 270 7.2 0 0 40.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.49256E7 16.1 7.8 58 101200 495 1322 321 315 678 60 33000 63800 9000 1260 270 6.2 0 0 40.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.49292E7 14.4 7.2 62 101200 247 1322 313 123 452 38 12700 34000 6400 710 280 7.7 0 0 40.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.49328E7 12.8 7.2 69 101200 33 738 306 9 68 6 1000 3000 900 120 270 6.7 0 0 32.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.49364E7 12.2 7.8 74 101200 0 0 304 0 0 0 0 0 0 0 280 5.7 0 0 32.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.494E7 11.7 7.8 77 101200 0 0 302 0 0 0 0 0 0 0 280 5.2 0 0 32.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.49436E7 11.1 7.8 80 101200 0 0 299 0 0 0 0 0 0 0 280 5.7 0 0 32.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.49472E7 11.1 7.8 80 101200 0 0 299 0 0 0 0 0 0 0 290 5.7 0 0 32.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.49508E7 11.1 7.8 80 101100 0 0 299 0 0 0 0 0 0 0 280 4.6 0 0 32.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.49544E7 10.6 7.2 79 101100 0 0 297 0 0 0 0 0 0 0 270 2.6 0 0 32.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.4958E7 10.6 7.8 83 101100 0 0 297 0 0 0 0 0 0 0 280 1.5 0 0 32.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.49616E7 11.1 8.3 83 101100 0 0 300 0 0 0 0 0 0 0 0 0.0 0 0 32.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.49652E7 10.6 7.2 79 101200 3 209 297 0 1 0 0 0 0 0 270 2.1 1 0 40.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.49688E7 12.2 8.3 77 101200 150 1322 304 55 177 34 5700 9800 4600 600 270 1.5 1 0 40.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.49724E7 15.6 10.0 69 101200 398 1322 321 217 489 70 22500 43200 9500 1320 0 0.0 1 0 40.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.4976E7 17.2 11.1 67 101300 642 1322 329 421 660 101 44600 65100 12900 2160 70 2.6 1 0 40.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.49796E7 18.3 11.7 65 101300 864 1322 335 618 751 126 64400 74900 15300 3010 40 2.6 1 0 48.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.49832E7 20.6 10.6 53 101300 1050 1322 345 780 799 145 82300 80600 18300 4780 50 2.6 1 0 72.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.49868E7 21.7 10.0 47 101300 1186 1322 349 908 837 157 96800 84700 20600 7810 290 8.2 1 0 72.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.49904E7 19.4 11.1 59 101300 1263 1322 346 892 766 159 95800 77800 21300 11710 270 10.8 2 1 72.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.4994E7 21.7 11.7 53 101300 1276 1322 358 917 743 199 96300 74700 24000 15680 260 10.8 3 1 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.49976E7 19.4 11.7 61 101300 1224 1322 347 904 808 155 96900 82000 20800 9160 250 10.8 2 1 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.50012E7 19.4 11.7 61 101300 1110 1322 347 828 802 153 87500 81000 19400 5880 260 8.2 3 1 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.50048E7 18.3 11.7 65 101300 943 1322 341 515 540 130 55700 55500 16100 3840 260 11.3 2 1 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.50084E7 17.8 11.7 67 101300 733 1322 347 471 590 144 49300 58600 16700 3180 270 8.2 3 3 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.5012E7 16.1 11.7 75 101300 496 1322 336 290 456 119 30600 43100 14400 2290 260 7.2 4 2 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.50156E7 13.3 11.7 90 101400 247 1322 329 86 87 70 9400 6600 8100 1500 260 10.3 9 4 40.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.50192E7 13.3 11.7 90 101400 33 738 329 7 3 7 800 200 800 180 270 10.3 9 4 40.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.50228E7 13.3 11.7 90 101400 0 0 331 0 0 0 0 0 0 0 260 9.8 5 5 32.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.50264E7 13.3 11.7 90 101500 0 0 331 0 0 0 0 0 0 0 260 9.3 5 5 32.0 2000 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.503E7 12.8 11.7 93 101500 0 0 341 0 0 0 0 0 0 0 260 8.8 8 8 32.0 213 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.50336E7 12.8 11.7 93 101500 0 0 336 0 0 0 0 0 0 0 260 8.2 7 7 32.0 213 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.50372E7 12.2 11.1 93 101500 0 0 345 0 0 0 0 0 0 0 260 7.2 9 9 24.0 213 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.50408E7 12.8 11.7 93 101500 0 0 358 0 0 0 0 0 0 0 260 4.6 10 10 24.0 213 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.50444E7 11.7 10.6 93 101500 0 0 352 0 0 0 0 0 0 0 270 5.2 10 10 24.0 152 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.5048E7 11.7 10.6 93 101500 0 0 342 0 0 0 0 0 0 0 270 4.6 9 9 24.0 213 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.50516E7 11.7 11.1 96 101500 2 209 342 0 0 0 0 0 0 0 270 5.7 9 9 24.0 152 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.50552E7 12.2 10.6 90 101500 149 1322 344 38 4 37 4200 0 4200 1230 270 4.6 9 9 32.0 274 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.50588E7 12.2 10.6 90 101500 396 1322 354 63 0 63 7400 0 7400 2600 270 7.2 10 10 24.0 274 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.50624E7 13.3 11.1 87 101600 641 1322 343 191 82 151 21200 8400 17100 3720 250 7.7 8 8 16.0 213 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.5066E7 14.4 11.1 81 101600 863 1322 343 459 327 246 50100 35100 27100 6430 290 7.2 7 7 24.0 305 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.50696E7 16.1 11.1 72 101500 1049 1322 347 655 387 348 71400 41900 38000 12110 260 10.3 6 6 32.0 6096 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.50732E7 17.2 10.6 65 101500 1185 1322 351 803 345 493 86600 37400 53000 24740 260 10.3 6 6 72.0 6096 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.50768E7 17.8 11.1 65 101500 1263 1322 352 810 443 386 86600 46300 42300 30340 260 9.3 5 5 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.50804E7 18.3 11.1 63 101500 1276 1322 352 838 443 409 89100 46300 44400 35350 260 8.2 7 4 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.5084E7 18.9 10.0 56 101600 1224 1322 353 833 509 361 89200 53200 39900 22820 250 9.3 8 4 72.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.50876E7 16.7 10.6 67 101500 1111 1322 366 402 106 312 44700 11400 35200 12300 260 8.2 9 9 72.0 6096 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.50912E7 16.7 10.6 67 101500 943 1322 359 390 126 300 42900 13400 33400 9260 250 8.2 9 8 72.0 6096 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.50948E7 16.1 10.6 70 101500 734 1322 350 363 208 247 39500 21600 27500 6420 260 9.3 9 7 72.0 6096 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.50984E7 15.0 10.6 75 101500 496 1322 350 195 49 176 21300 4700 19500 4670 250 9.3 9 8 72.0 6096 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.5102E7 14.4 10.6 78 101500 248 1322 335 76 64 64 8300 4900 7400 1370 270 6.2 5 5 40.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.51056E7 13.3 10.0 80 101400 34 738 329 6 0 6 700 0 700 230 260 7.2 5 5 40.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.51092E7 13.3 10.6 84 101500 0 0 337 0 0 0 0 0 0 0 260 7.2 9 7 32.0 335 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.51128E7 12.8 10.6 86 101400 0 0 328 0 0 0 0 0 0 0 250 8.2 9 5 32.0 335 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.51164E7 12.8 10.6 86 101400 0 0 347 0 0 0 0 0 0 0 250 7.2 9 9 32.0 335 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.512E7 12.8 10.6 86 101300 0 0 328 0 0 0 0 0 0 0 260 9.3 5 5 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.51236E7 12.2 10.6 90 101300 0 0 337 0 0 0 0 0 0 0 260 9.3 8 8 32.0 305 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.51272E7 12.8 10.6 86 101200 0 0 335 0 0 0 0 0 0 0 270 8.2 7 7 32.0 305 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.51308E7 12.2 10.0 86 101200 0 0 344 0 0 0 0 0 0 0 260 7.2 9 9 32.0 305 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.51344E7 12.8 10.0 83 101200 0 0 356 0 0 0 0 0 0 0 260 5.2 10 10 32.0 457 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.5138E7 12.8 10.0 83 101200 2 187 356 0 0 0 0 0 0 0 260 6.2 10 10 32.0 457 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.51416E7 12.8 10.0 83 101200 148 1322 356 26 0 26 3000 0 3000 940 250 5.7 10 10 32.0 457 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.51452E7 12.8 10.6 86 101200 395 1322 357 60 0 60 7100 0 7100 2490 260 6.2 10 10 32.0 457 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.51488E7 13.9 10.0 77 101200 639 1322 362 118 0 118 13900 0 13900 5250 240 5.2 10 10 32.0 457 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.51524E7 14.4 10.0 75 101200 862 1322 364 175 0 175 20800 0 20800 8250 240 7.2 10 10 40.0 457 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.5156E7 15.0 10.0 72 101200 1048 1322 367 222 0 222 26700 0 26700 10790 230 5.2 10 10 40.0 457 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.51596E7 15.0 10.0 72 101300 1184 1322 367 256 0 256 31100 0 31100 12430 220 5.2 10 10 40.0 457 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.51632E7 14.4 10.0 75 101200 1262 1322 364 276 0 276 33600 0 33600 13370 230 5.2 10 10 40.0 457 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.51668E7 16.1 10.6 70 101200 1276 1322 356 709 339 381 78800 36900 43100 28230 240 6.2 10 8 40.0 518 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.51704E7 17.2 10.6 65 101200 1224 1322 346 937 711 278 99000 72000 32200 16990 230 6.2 7 4 72.0 2000 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.5174E7 17.2 10.6 65 101200 1111 1322 348 783 707 188 84000 72500 22900 7780 240 7.7 5 5 72.0 2000 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.51776E7 16.1 11.1 72 101200 944 1322 364 563 295 352 60400 31700 37700 10600 250 6.2 9 9 72.0 488 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.51812E7 15.0 11.1 77 101100 734 1322 359 280 129 208 30800 13500 23400 5400 260 8.2 9 9 56.0 488 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.51848E7 14.4 11.1 81 101100 497 1322 356 167 27 157 18700 2000 17900 5690 260 8.2 9 9 40.0 396 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.51884E7 13.9 10.6 80 101100 248 1322 353 66 24 61 7200 1900 6800 1550 250 7.2 9 9 40.0 396 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.5192E7 13.3 10.6 84 101100 34 738 359 4 0 4 500 0 500 160 250 7.2 10 10 32.0 335 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.51956E7 12.8 10.6 86 101100 0 0 357 0 0 0 0 0 0 0 250 5.2 10 10 32.0 335 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.51992E7 12.8 10.6 86 101100 0 0 357 0 0 0 0 0 0 0 250 6.2 10 10 32.0 335 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.52028E7 12.8 11.1 89 101000 0 0 358 0 0 0 0 0 0 0 230 5.2 10 10 40.0 335 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.52064E7 12.8 10.6 86 100900 0 0 357 0 0 0 0 0 0 0 230 5.2 10 10 40.0 335 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.521E7 12.2 10.6 90 100900 0 0 354 0 0 0 0 0 0 0 250 4.1 10 10 40.0 335 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.52136E7 12.8 10.6 86 100800 0 0 347 0 0 0 0 0 0 0 220 4.1 9 9 40.0 335 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.52172E7 12.8 10.0 83 100800 0 0 356 0 0 0 0 0 0 0 200 4.1 10 10 40.0 335 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.52208E7 12.8 10.0 83 100800 0 0 356 0 0 0 0 0 0 0 230 3.1 10 10 40.0 457 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.52244E7 12.2 10.6 90 100800 2 187 354 0 0 0 0 0 0 0 250 4.1 10 10 40.0 457 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.5228E7 12.2 10.0 86 100800 147 1322 353 27 0 27 3100 0 3100 970 250 4.1 10 10 40.0 457 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.52316E7 12.8 10.6 86 100900 394 1322 357 52 0 52 6200 0 6200 2210 240 4.1 10 10 40.0 335 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.52352E7 13.3 10.6 84 101000 638 1322 359 95 0 95 11400 0 11400 4370 240 4.1 10 10 48.0 335 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.52388E7 13.3 10.6 84 101000 861 1322 359 171 0 171 20400 0 20400 8100 230 3.1 10 10 48.0 457 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.52424E7 14.4 10.6 78 101000 1047 1322 365 220 0 220 26500 0 26500 10710 230 4.1 10 10 48.0 518 9 999999999 160 0.1840 0 88 0.140 0.0 1.0 -1.5246E7 15.0 10.6 75 101100 1184 1322 368 255 0 255 30900 0 30900 12390 220 6.2 10 10 48.0 518 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.52496E7 15.0 10.6 75 101100 1262 1322 368 275 0 275 33500 0 33500 13330 200 5.2 10 10 48.0 518 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.52532E7 15.0 10.6 75 101100 1275 1322 368 278 0 278 33900 0 33900 13470 210 6.2 10 10 48.0 518 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.52568E7 15.0 10.6 75 101200 1224 1322 368 265 0 265 32200 0 32200 12860 190 6.2 10 10 48.0 1036 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.52604E7 15.6 10.6 72 101200 1111 1322 371 236 0 236 28500 0 28500 11490 200 6.2 10 10 48.0 1036 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.5264E7 15.6 10.6 72 101200 944 1322 371 193 0 193 23100 0 23100 9280 220 6.2 10 10 48.0 975 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.52676E7 15.6 10.0 69 101200 735 1322 370 139 0 139 16500 0 16500 6380 210 5.2 10 10 48.0 1189 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.52712E7 15.0 10.0 72 101300 497 1322 367 80 0 80 9400 0 9400 3440 200 5.2 10 10 48.0 1189 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.52748E7 14.4 10.0 75 101300 249 1322 364 43 0 43 5000 0 5000 1630 190 5.2 10 10 48.0 884 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.52784E7 13.9 10.6 80 101300 34 738 363 5 0 5 600 0 600 200 220 4.1 10 10 32.0 2134 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.5282E7 13.9 10.0 77 101300 0 0 362 0 0 0 0 0 0 0 210 4.1 10 10 32.0 1311 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.52856E7 13.3 10.6 84 101300 0 0 350 0 0 0 0 0 0 0 200 3.1 9 9 32.0 1311 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.52892E7 13.9 10.6 80 101400 0 0 363 0 0 0 0 0 0 0 200 3.1 10 10 40.0 1219 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.52928E7 13.9 10.6 80 101400 0 0 363 0 0 0 0 0 0 0 170 3.1 10 10 40.0 1372 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.52964E7 15.0 11.1 77 101300 0 0 359 0 0 0 0 0 0 0 220 3.1 9 9 40.0 1372 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.53E7 14.4 10.6 78 101300 0 0 365 0 0 0 0 0 0 0 0 0.0 10 10 48.0 1524 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.53036E7 13.9 10.6 80 101300 0 0 363 0 0 0 0 0 0 0 0 0.0 10 10 56.0 1524 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.53072E7 13.9 11.1 83 101400 0 0 363 0 0 0 0 0 0 0 210 4.1 10 10 56.0 1311 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.53108E7 13.9 11.1 83 101400 2 187 363 0 0 0 0 0 0 0 170 3.1 10 10 56.0 1219 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.53144E7 13.9 11.1 83 101500 145 1322 363 21 0 21 2400 0 2400 790 0 0.0 10 10 56.0 1219 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.5318E7 15.0 10.6 75 101500 392 1322 358 105 73 84 11700 6700 9800 1870 200 2.6 9 9 56.0 1219 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.53216E7 16.1 10.6 70 101600 637 1322 363 339 86 298 37100 8700 32900 7900 360 1.0 9 9 56.0 1341 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.53252E7 16.7 11.1 70 101600 860 1322 367 421 85 365 46100 8700 40400 11650 10 3.1 9 9 56.0 1219 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.53288E7 17.2 10.6 65 101600 1046 1322 356 628 486 242 68300 50800 28000 8450 40 4.1 7 7 56.0 1219 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.53324E7 18.3 12.2 68 101600 1183 1322 359 644 437 252 71100 45900 30000 13190 360 4.1 6 6 56.0 1219 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.5336E7 18.9 10.6 59 101600 1261 1322 357 774 571 229 83200 58500 27300 17450 10 3.6 5 5 56.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.53396E7 20.0 11.1 57 101600 1275 1322 357 823 615 229 88600 63000 27600 19230 10 4.1 3 3 56.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.53432E7 20.0 10.6 55 101600 1224 1322 353 900 804 155 96500 81600 20800 9170 290 6.2 2 2 56.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.53468E7 20.0 8.3 47 101600 1111 1322 354 832 789 169 87200 79300 20400 6350 270 6.2 3 3 56.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.53504E7 20.0 8.3 47 101600 944 1322 350 643 709 136 67300 71100 16400 3640 250 6.2 2 2 72.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.5354E7 18.3 9.4 56 101600 735 1322 347 516 705 124 54500 70500 15200 2810 280 7.7 3 3 72.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.53576E7 17.8 9.4 58 101600 498 1322 341 276 534 75 29100 50400 10100 1500 290 6.7 2 2 72.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.53612E7 15.0 10.6 75 101700 249 1322 333 112 296 56 11700 21600 7700 1010 270 6.2 3 3 72.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.53648E7 13.3 10.6 84 101700 34 738 322 8 22 7 900 600 900 110 270 5.2 2 2 56.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.53684E7 12.8 10.6 86 101800 0 0 323 0 0 0 0 0 0 0 280 3.6 3 3 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.5372E7 11.7 10.6 93 101800 0 0 315 0 0 0 0 0 0 0 270 4.6 2 2 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.53756E7 11.1 10.6 97 101800 0 0 332 0 0 0 0 0 0 0 270 8.2 8 8 32.0 122 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.53792E7 12.2 11.1 93 101800 0 0 326 0 0 0 0 0 0 0 270 6.2 5 5 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.53828E7 12.2 11.1 93 101800 0 0 326 0 0 0 0 0 0 0 280 5.2 5 5 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.53864E7 12.2 11.1 93 101800 0 0 321 0 0 0 0 0 0 0 270 5.2 3 3 32.0 2000 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.539E7 11.7 10.6 93 101800 0 0 315 0 0 0 0 0 0 0 270 5.2 2 2 32.0 2000 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.53936E7 12.2 11.1 93 101800 0 0 338 0 0 0 0 0 0 0 270 5.2 8 8 32.0 244 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.53972E7 12.2 11.1 93 101800 2 165 355 0 0 0 0 0 0 0 250 5.2 10 10 32.0 244 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.54008E7 12.8 11.1 89 101900 144 1322 328 64 113 52 6600 5700 6000 1030 260 2.1 5 5 32.0 2000 9 999999999 170 0.1840 0 88 0.140 0.0 1.0 -1.54044E7 13.9 11.1 83 101900 391 1322 325 210 484 67 21800 42600 9200 1270 270 1.0 2 2 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.5408E7 16.1 11.7 75 102000 635 1322 325 437 763 69 46600 75000 10400 1560 0 0.0 0 0 32.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.54116E7 16.7 11.1 70 102000 859 1322 327 633 840 87 66000 83400 11600 2090 0 0.0 0 0 48.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.54152E7 17.2 11.7 70 102000 1045 1322 330 799 885 99 83000 88600 12700 3040 40 2.6 0 0 48.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.54188E7 18.9 11.7 63 102000 1182 1322 338 923 910 108 95400 91300 13600 4740 60 3.1 0 0 48.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.54224E7 21.7 12.2 55 101900 1261 1322 352 993 923 112 102500 92700 13900 7130 50 3.1 0 0 48.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.5426E7 23.9 12.2 48 101900 1275 1322 362 1006 925 113 103800 92900 14000 7920 290 6.2 0 0 48.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.54296E7 23.3 10.6 45 101800 1224 1322 357 960 917 110 99200 92100 13700 5730 270 9.3 0 0 48.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.54332E7 21.1 10.6 51 101800 1111 1322 347 858 897 103 88900 89900 13100 3650 260 10.3 0 0 48.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.54368E7 20.6 11.7 57 101700 944 1322 346 709 862 93 73800 86000 12200 2440 270 10.3 0 0 48.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.54404E7 20.6 10.6 53 101700 735 1322 345 523 801 77 54600 78800 10700 1720 270 10.3 0 0 48.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.5444E7 19.4 10.0 54 101700 498 1322 338 319 692 58 33600 65300 9000 1240 260 9.3 0 0 48.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.54476E7 18.9 9.4 54 101700 249 1322 335 126 471 37 13100 35600 6400 700 270 7.2 0 0 48.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.54512E7 16.1 10.6 70 101700 34 738 324 10 78 6 1100 3400 900 120 270 7.2 0 0 48.0 2000 9 999999999 180 0.1840 0 88 0.140 0.0 1.0 -1.54548E7 14.4 11.1 81 101700 0 0 317 0 0 0 0 0 0 0 280 7.2 0 0 48.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.54584E7 14.4 10.6 78 101700 0 0 316 0 0 0 0 0 0 0 290 4.1 0 0 48.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.5462E7 13.9 11.1 83 101700 0 0 315 0 0 0 0 0 0 0 270 5.2 0 0 48.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.54656E7 13.9 10.6 80 101700 0 0 314 0 0 0 0 0 0 0 270 3.1 0 0 48.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.54692E7 13.3 10.6 84 101600 0 0 312 0 0 0 0 0 0 0 270 3.1 0 0 48.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.54728E7 13.9 10.6 80 101600 0 0 314 0 0 0 0 0 0 0 250 2.1 0 0 48.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.54764E7 13.9 10.6 80 101600 0 0 314 0 0 0 0 0 0 0 0 0.0 0 0 48.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.548E7 13.3 10.0 80 101600 0 0 311 0 0 0 0 0 0 0 0 0.0 0 0 48.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.54836E7 13.3 9.4 77 101600 2 165 310 0 0 0 0 0 0 0 270 1.0 0 0 72.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.54872E7 14.4 10.6 78 101600 142 1321 316 40 17 38 4400 1100 4200 900 280 2.1 0 0 72.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.54908E7 18.3 12.2 68 101600 389 1321 336 169 203 109 17900 18200 12600 2150 0 0.0 0 0 72.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.54944E7 19.4 13.3 68 101700 634 1321 342 360 383 176 37700 38000 19400 3680 50 2.1 0 0 72.0 2000 9 999999999 190 0.1840 0 88 0.140 0.0 1.0 -1.5498E7 20.0 14.4 70 101600 857 1321 346 560 504 233 59400 52000 25600 5960 20 3.1 0 0 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.55016E7 23.3 12.8 52 101600 1044 1321 360 734 581 274 78800 60600 30800 9600 20 2.1 0 0 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.55052E7 26.7 11.1 38 101600 1182 1321 375 863 628 301 90200 63100 33700 15190 20 1.5 0 0 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.55088E7 27.8 12.8 40 101500 1260 1321 382 937 651 316 98400 65500 35800 23520 360 3.6 0 0 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.55124E7 28.9 12.2 36 101500 1274 1321 387 948 647 323 99500 65100 36600 26580 290 7.7 1 0 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.5516E7 27.2 11.1 37 101400 1224 1321 377 813 510 341 87700 53300 38200 21520 280 8.8 1 0 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.55196E7 26.1 11.7 41 101400 1111 1321 372 794 597 292 85600 62400 33100 12130 270 10.3 1 0 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.55232E7 25.0 11.1 42 101400 945 1321 366 640 542 253 68400 56300 28100 7320 260 10.8 0 0 72.0 2000 9 999999999 200 0.1840 0 88 0.140 0.0 1.0 -1.55268E7 24.4 10.0 40 101300 735 1321 362 449 442 203 47300 44900 22300 4570 270 10.8 0 0 72.0 2000 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.55304E7 23.3 10.0 43 101300 498 1321 357 248 289 139 26500 28100 15900 2850 270 9.8 0 0 72.0 2000 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.5534E7 20.6 10.0 51 101300 249 1321 344 86 85 70 9400 6500 8100 1500 280 7.7 0 0 72.0 2000 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.55376E7 17.2 10.6 65 101300 34 738 329 7 0 7 800 0 800 270 270 8.2 1 0 56.0 2000 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.55412E7 16.1 10.6 70 101300 0 0 324 0 0 0 0 0 0 0 280 6.7 1 0 32.0 2000 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.55448E7 15.6 10.6 72 101300 0 0 322 0 0 0 0 0 0 0 280 5.7 0 0 32.0 2000 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.55484E7 14.4 10.6 78 101300 0 0 316 0 0 0 0 0 0 0 280 5.2 0 0 32.0 2000 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.5552E7 14.4 10.6 78 101300 0 0 316 0 0 0 0 0 0 0 280 4.1 0 0 32.0 2000 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.55556E7 14.4 10.6 78 101300 0 0 316 0 0 0 0 0 0 0 280 1.5 0 0 40.0 2000 9 999999999 209 0.1840 0 88 0.140 0.0 1.0 -1.55592E7 14.4 10.6 78 101200 0 0 316 0 0 0 0 0 0 0 270 2.1 0 0 40.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.55628E7 13.9 10.0 77 101200 0 0 314 0 0 0 0 0 0 0 280 2.1 0 0 40.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.55664E7 14.4 10.0 75 101200 0 0 316 0 0 0 0 0 0 0 270 2.1 0 0 40.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.557E7 15.0 10.0 72 101200 1 143 318 0 1 0 0 0 0 0 0 0.0 0 0 72.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.55736E7 15.6 11.7 78 101200 140 1321 323 51 186 31 5300 9900 4300 550 270 2.1 0 0 56.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.55772E7 19.4 13.3 68 101300 388 1321 342 214 510 64 22300 44900 9100 1220 0 0.0 0 0 56.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.55808E7 20.6 13.9 65 101300 633 1321 348 417 676 93 44300 66700 12300 1990 30 3.1 0 0 56.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.55844E7 21.1 14.4 66 101300 856 1321 351 614 767 116 64400 76700 14600 2830 360 4.1 0 0 56.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.5588E7 22.8 14.4 59 101300 1043 1321 359 782 821 134 83300 83000 17600 4450 360 3.1 0 0 56.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.55916E7 25.0 13.9 50 101300 1181 1321 370 906 851 145 92900 85200 16600 5610 10 2.6 0 0 72.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.55952E7 27.8 11.7 37 101300 1259 1321 381 977 866 151 100000 86800 17100 8810 60 2.1 0 0 72.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.55988E7 32.2 12.8 31 101200 1274 1321 405 990 869 152 101300 87100 17200 9870 290 4.6 0 0 72.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.56024E7 32.8 12.8 30 101200 1223 1321 408 945 860 148 96700 86100 16800 6980 290 6.7 0 0 72.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.5606E7 30.0 12.2 33 101100 1111 1321 393 843 837 139 90200 84900 18700 5480 280 8.8 0 0 72.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.56096E7 28.3 11.7 36 101100 945 1321 383 693 794 125 73200 79900 16000 3450 290 10.3 0 0 72.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.56132E7 26.1 11.7 41 101100 735 1321 372 507 723 104 52800 71400 13000 2250 290 11.3 0 0 72.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.56168E7 25.6 11.7 42 101100 498 1321 370 292 569 77 30700 53600 10400 1530 280 9.3 0 0 72.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.56204E7 25.0 11.1 42 101100 249 1321 366 111 335 48 11400 25000 6700 860 280 6.7 0 0 72.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.5624E7 19.4 11.7 61 101100 34 738 340 8 30 6 900 1000 800 100 290 6.7 1 0 56.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.56276E7 18.3 11.1 63 101100 0 0 334 0 0 0 0 0 0 0 290 5.7 1 0 32.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.56312E7 17.3 10.5 70 101100 0 0 329 0 0 0 0 0 0 0 280 5.5 0 0 32.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.56348E7 16.2 10.0 70 101100 0 0 324 0 0 0 0 0 0 0 280 5.2 0 0 32.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.56384E7 15.2 9.4 72 101100 0 0 319 0 0 0 0 0 0 0 280 5.0 0 0 32.0 2000 9 999999999 220 0.1840 0 88 0.140 0.0 1.0 -1.5642E7 14.2 8.9 74 101600 0 0 314 0 0 0 0 0 0 0 270 4.8 0 0 24.1 2000 9 999999999 130 0.1840 0 88 999.000 999.0 99.0 -1.56456E7 13.2 8.3 75 101600 0 0 309 0 0 0 0 0 0 0 280 4.6 0 0 24.1 2000 9 999999999 130 0.1840 0 88 999.000 999.0 99.0 -1.56492E7 12.1 7.8 76 101500 0 0 303 0 0 0 0 0 0 0 280 4.3 0 0 24.1 2000 9 999999999 130 0.1840 0 88 999.000 999.0 99.0 -1.56528E7 11.1 7.2 77 101500 0 0 299 0 0 0 0 0 0 0 290 4.1 0 0 24.1 2000 9 999999999 130 0.1840 0 88 999.000 999.0 99.0 -1.56564E7 11.8 7.4 74 101500 1 143 302 1 0 1 0 0 0 0 290 4.1 0 0 24.1 2000 9 999999999 130 0.2430 0 88 999.000 999.0 99.0 -1.566E7 12.6 7.7 72 101500 139 1321 306 44 68 36 4700 3900 4300 750 300 4.1 0 0 24.1 2000 9 999999999 130 0.2430 0 88 999.000 999.0 99.0 -1.56636E7 13.3 7.8 69 101500 387 1321 309 193 360 88 20400 31600 11200 1630 300 4.1 0 0 16.1 2000 9 999999999 120 0.2430 0 88 999.000 999.0 99.0 -1.56672E7 15.0 7.9 62 101500 632 1321 316 397 551 133 41000 53500 15400 2690 300 5.0 0 0 16.1 2000 9 999999999 120 0.2430 0 88 999.000 999.0 99.0 -1.56708E7 16.6 7.7 56 101500 855 1321 323 599 662 169 62800 66600 19500 4250 310 5.8 0 0 16.1 2000 9 999999999 120 0.2430 0 88 999.000 999.0 99.0 -1.56744E7 18.3 7.2 49 101500 1042 1321 330 776 732 196 82200 74600 23200 6780 310 6.7 0 0 24.1 2000 9 999999999 110 0.2430 0 88 999.000 999.0 99.0 -1.5678E7 18.1 7.6 50 101500 1180 1321 330 902 770 213 96600 78800 26000 10990 300 7.2 0 0 24.1 2000 9 999999999 110 0.2430 0 88 999.000 999.0 99.0 -1.56816E7 18.0 7.8 51 101500 1259 1321 329 976 789 222 105000 80900 27700 16730 290 7.7 0 0 24.1 2000 9 999999999 110 0.2430 0 88 999.000 999.0 99.0 -1.56852E7 17.8 7.8 52 101500 1274 1321 328 993 796 223 102800 79500 26000 17070 280 8.2 0 0 48.3 2000 9 999999999 110 0.2430 0 88 999.000 999.0 99.0 -1.56888E7 17.8 7.9 52 101500 1223 1321 329 945 783 218 101400 80300 26900 13500 280 9.2 0 0 48.3 2000 9 999999999 100 0.2430 0 88 999.000 999.0 99.0 -1.56924E7 17.8 7.9 52 101400 1111 1321 329 839 753 205 89500 76900 24600 8430 280 10.3 0 0 48.3 2000 9 999999999 100 0.2430 0 88 999.000 999.0 99.0 -1.5696E7 17.8 7.8 52 101400 944 1321 328 683 699 182 72000 70900 21300 5210 280 11.3 0 0 48.3 2000 9 999999999 100 0.2430 0 88 999.000 999.0 99.0 -1.56996E7 16.5 8.3 59 101400 735 1321 323 490 611 150 51100 60600 17300 3300 280 12.2 0 0 48.3 2000 9 999999999 100 0.2430 0 88 999.000 999.0 99.0 -1.57032E7 15.2 8.6 65 101400 498 1321 318 282 460 108 30000 43600 13600 2060 280 13.0 0 0 48.3 2000 9 999999999 100 0.2430 0 88 999.000 999.0 99.0 -1.57068E7 13.9 8.9 72 101400 249 1321 312 99 203 61 10600 14700 7800 1130 280 13.9 0 0 40.2 2000 9 999999999 110 0.2430 0 88 999.000 999.0 99.0 -1.57104E7 13.5 8.9 73 101400 34 738 311 14 5 13 1500 300 1400 320 280 11.8 0 0 40.2 2000 9 999999999 110 0.2430 0 88 999.000 999.0 99.0 -1.5714E7 13.2 8.7 74 101400 0 0 309 0 0 0 0 0 0 0 280 9.8 0 0 40.2 2000 9 999999999 110 0.2430 0 88 999.000 999.0 99.0 -1.57176E7 12.8 8.3 75 101500 0 0 307 0 0 0 0 0 0 0 280 7.7 0 0 24.1 2000 9 999999999 110 0.2430 0 88 999.000 999.0 99.0 -1.57212E7 12.8 8.4 74 101400 0 0 307 0 0 0 0 0 0 0 280 7.4 0 0 24.1 2000 9 999999999 120 0.2430 0 88 999.000 999.0 99.0 -1.57248E7 12.8 8.2 73 101400 0 0 307 0 0 0 0 0 0 0 290 7.0 0 0 24.1 2000 9 999999999 120 0.2430 0 88 999.000 999.0 99.0 -1.57284E7 12.8 7.8 72 101400 0 0 306 0 0 0 0 0 0 0 290 6.7 0 0 24.1 2000 9 999999999 120 0.2430 0 88 999.000 999.0 99.0 -1.5732E7 12.6 7.9 72 101400 0 0 306 0 0 0 0 0 0 0 300 6.5 0 0 24.1 2000 9 999999999 130 0.2430 0 88 999.000 999.0 99.0 -1.57356E7 12.4 7.6 72 101400 0 0 305 0 0 0 0 0 0 0 300 6.4 0 0 24.1 2000 9 999999999 130 0.2430 0 88 999.000 999.0 99.0 -1.57392E7 12.2 7.2 72 101400 0 0 303 0 0 0 0 0 0 0 310 6.2 0 0 24.1 2000 9 999999999 130 0.2430 0 88 999.000 999.0 99.0 -1.57428E7 12.9 7.4 70 101400 1 143 306 1 0 1 0 0 0 0 310 5.9 0 0 24.1 2000 9 999999999 130 0.1790 0 88 999.000 999.0 99.0 -1.57464E7 13.7 7.7 67 101400 137 1321 310 46 118 34 4900 5800 4300 620 310 5.5 0 0 24.1 2000 9 999999999 140 0.1790 0 88 999.000 999.0 99.0 -1.575E7 14.4 7.8 65 101400 385 1321 313 205 443 75 21000 38600 9800 1380 310 5.2 0 0 16.1 2000 9 999999999 140 0.1790 0 88 999.000 999.0 99.0 -1.57536E7 15.9 7.7 58 101400 630 1321 320 409 624 110 42800 61100 13600 2300 310 5.0 0 0 16.1 2000 9 999999999 140 0.1790 0 88 999.000 999.0 99.0 -1.57572E7 17.4 7.4 52 101500 854 1321 326 609 724 139 64600 73500 17000 3580 300 4.8 0 0 16.1 2000 9 999999999 150 0.1790 0 88 999.000 999.0 99.0 -1.57608E7 18.9 6.7 45 101500 1041 1321 332 781 786 160 81400 78800 19100 5020 300 4.6 0 0 48.3 2000 9 999999999 150 0.1790 0 88 999.000 999.0 99.0 -1.57644E7 19.3 6.7 44 101500 1179 1321 334 907 818 174 95300 82400 21600 8280 300 5.6 0 0 48.3 2000 9 999999999 150 0.1790 0 88 999.000 999.0 99.0 -1.5768E7 19.6 6.5 42 101400 1258 1321 335 978 834 181 103400 84200 23000 12780 290 6.7 0 0 48.3 2000 9 999999999 160 0.1790 0 88 999.000 999.0 99.0 -1.57716E7 20.0 6.1 41 101400 1273 1321 337 992 839 182 105100 84700 23300 14280 290 7.7 0 0 80.5 2000 9 999999999 160 0.1790 0 88 999.000 999.0 99.0 -1.57752E7 19.3 7.3 47 101400 1223 1321 335 945 826 178 99600 83300 22400 10280 290 8.2 0 0 80.5 2000 9 999999999 160 0.1790 0 88 999.000 999.0 99.0 -1.57788E7 18.5 8.4 52 101400 1111 1321 332 840 799 167 88000 80300 20300 6290 280 8.8 0 0 80.5 2000 9 999999999 170 0.1790 0 88 999.000 999.0 99.0 -1.57824E7 17.8 9.4 58 101400 944 1321 330 688 752 150 73600 76900 18600 4390 280 9.3 0 0 80.5 2000 9 999999999 170 0.1790 0 88 999.000 999.0 99.0 -1.5786E7 16.5 9.9 65 101300 735 1321 331 487 662 118 51600 66400 14600 2690 280 8.4 1 1 80.5 2000 9 999999999 170 0.1790 0 88 999.000 999.0 99.0 -1.57896E7 15.2 10.3 73 101300 498 1321 330 269 453 98 28900 43000 12700 1850 290 7.6 2 2 80.5 2000 9 999999999 170 0.1790 0 88 999.000 999.0 99.0 -1.57932E7 13.9 10.6 80 101300 248 1321 328 95 169 64 10200 12200 7900 1200 290 6.7 3 3 24.1 2000 9 999999999 160 0.1790 0 88 999.000 999.0 99.0 -1.57968E7 13.5 10.2 79 101300 33 738 322 8 9 7 900 400 800 140 280 5.8 2 2 24.1 2000 9 999999999 160 0.1790 0 88 999.000 999.0 99.0 -1.58004E7 13.2 9.7 78 101400 0 0 320 0 0 0 0 0 0 0 280 5.0 2 2 24.1 2000 9 999999999 160 0.1790 0 88 999.000 999.0 99.0 -1.5804E7 12.8 8.9 77 101400 0 0 314 0 0 0 0 0 0 0 270 4.1 1 1 24.1 2000 9 999999999 160 0.1790 0 88 999.000 999.0 99.0 -1.58076E7 12.8 9.3 78 101400 0 0 324 0 0 0 0 0 0 0 270 4.8 4 4 24.1 2000 9 999999999 160 0.1790 0 88 999.000 999.0 99.0 -1.58112E7 12.8 9.5 79 101400 0 0 329 0 0 0 0 0 0 0 280 5.5 6 6 24.1 2000 9 999999999 160 0.1790 0 88 999.000 999.0 99.0 -1.58148E7 12.8 9.4 80 101400 0 0 346 0 0 0 0 0 0 0 280 6.2 9 9 24.1 240 9 999999999 150 0.1790 0 88 999.000 999.0 99.0 -1.58184E7 13.0 9.7 79 101400 0 0 347 0 0 0 0 0 0 0 280 5.9 9 9 24.1 293 9 999999999 150 0.1790 0 88 999.000 999.0 99.0 -1.5822E7 13.1 9.6 79 101400 0 0 357 0 0 0 0 0 0 0 290 5.5 10 10 24.1 347 9 999999999 150 0.1790 0 88 999.000 999.0 99.0 -1.58256E7 13.3 9.4 78 101400 0 0 358 0 0 0 0 0 0 0 290 5.2 10 10 24.1 400 9 999999999 150 0.1790 0 88 999.000 999.0 99.0 -1.58292E7 13.3 9.4 78 101500 1 121 358 0 0 0 0 0 0 0 290 5.4 10 10 24.1 380 9 999999999 150 0.0980 0 88 999.000 999.0 99.0 -1.58328E7 13.3 9.5 78 101500 136 1321 358 24 1 24 2800 0 2800 860 290 5.5 10 10 24.1 360 9 999999999 150 0.0980 0 88 999.000 999.0 99.0 -1.58364E7 13.3 9.4 78 101500 383 1321 358 105 0 105 11800 0 11800 3780 290 5.7 10 10 24.1 340 9 999999999 150 0.0980 0 88 999.000 999.0 99.0 -1.584E7 13.9 9.9 76 101600 628 1321 352 177 78 139 19700 8000 15800 3400 280 5.5 9 9 24.1 340 9 999999999 150 0.0980 0 88 999.000 999.0 99.0 -1.58436E7 14.4 10.1 74 101600 853 1321 354 255 55 219 28100 5500 24500 7700 280 5.4 9 9 24.1 340 9 999999999 150 0.0980 0 88 999.000 999.0 99.0 -1.58472E7 15.0 10.0 72 101700 1040 1321 350 499 273 283 55000 29600 31700 9450 270 5.2 8 8 24.1 340 9 999999999 150 0.0980 0 88 999.000 999.0 99.0 -1.58508E7 15.6 10.4 70 101700 1178 1321 353 718 396 364 76300 41300 39400 19030 270 6.4 8 8 24.1 340 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.58544E7 16.1 10.6 69 101700 1258 1321 356 625 271 366 69500 29500 41300 24280 280 7.6 8 8 24.1 340 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.5858E7 16.7 10.6 67 101700 1273 1321 359 359 59 302 39900 6000 34100 18860 280 8.8 8 8 48.3 340 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.58616E7 16.5 10.7 68 101700 1223 1321 358 763 468 329 82500 49000 37000 20650 280 9.0 8 8 48.3 360 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.58652E7 16.3 10.7 69 101700 1111 1321 365 545 246 338 59900 26700 37400 13280 270 9.1 9 9 48.3 380 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.58688E7 16.1 10.6 70 101700 944 1321 363 460 240 289 50200 25900 31600 8420 270 9.3 9 9 80.5 400 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.58724E7 15.4 10.7 73 101700 735 1321 360 297 89 247 32600 9000 27600 7660 270 8.6 9 9 80.5 357 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.5876E7 14.6 10.7 77 101700 497 1321 356 180 75 151 19700 7200 17000 4170 270 7.9 9 9 80.5 313 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.58796E7 13.9 10.6 80 101700 248 1321 353 60 26 55 6600 2100 6200 1420 270 7.2 9 9 19.3 270 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.58832E7 13.5 10.6 81 101700 33 738 351 14 3 14 1600 0 1600 480 280 6.9 9 9 19.3 240 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.58868E7 13.2 10.4 82 101700 0 0 349 0 0 0 0 0 0 0 290 6.5 9 9 19.3 210 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.58904E7 12.8 10.0 83 101800 0 0 346 0 0 0 0 0 0 0 300 6.2 9 9 19.3 180 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.5894E7 12.6 10.0 83 101800 0 0 338 0 0 0 0 0 0 0 300 5.0 8 8 19.3 200 9 999999999 130 0.0980 0 88 999.000 999.0 99.0 -1.58976E7 12.4 9.8 83 101700 0 0 332 0 0 0 0 0 0 0 300 3.8 7 7 19.3 220 9 999999999 130 0.0980 0 88 999.000 999.0 99.0 -1.59012E7 12.2 9.4 83 101700 0 0 327 0 0 0 0 0 0 0 300 2.6 6 6 24.1 240 9 999999999 130 0.0980 0 88 999.000 999.0 99.0 -1.59048E7 12.4 9.9 83 101700 0 0 328 0 0 0 0 0 0 0 300 3.1 6 6 24.1 220 9 999999999 130 0.0980 0 88 999.000 999.0 99.0 -1.59084E7 12.6 10.0 83 101700 0 0 329 0 0 0 0 0 0 0 290 3.6 6 6 24.1 200 9 999999999 130 0.0980 0 88 999.000 999.0 99.0 -1.5912E7 12.8 10.0 83 101700 0 0 330 0 0 0 0 0 0 0 290 4.1 6 6 19.3 180 9 999999999 130 0.0980 0 88 999.000 999.0 99.0 -1.59156E7 13.2 10.2 82 101800 1 121 329 0 0 0 0 0 0 0 290 4.3 6 5 19.3 2000 9 999999999 130 0.2810 0 88 999.000 999.0 99.0 -1.59192E7 13.5 10.5 81 101800 134 1321 328 35 14 33 3800 900 3700 790 300 4.4 5 4 19.3 2000 9 999999999 130 0.2810 0 88 999.000 999.0 99.0 -1.59228E7 13.9 10.6 80 101800 381 1321 328 169 203 111 17900 18000 12700 2210 300 4.6 5 3 16.1 2000 9 999999999 140 0.2810 0 88 999.000 999.0 99.0 -1.59264E7 15.2 11.4 77 101800 627 1321 337 269 115 214 29200 11700 23600 5240 300 5.1 5 4 16.1 2000 9 999999999 140 0.2810 0 88 999.000 999.0 99.0 -1.593E7 16.5 12.0 73 101800 851 1321 344 487 352 260 52800 37700 28400 6800 300 5.7 5 4 16.1 2000 9 999999999 140 0.2810 0 88 999.000 999.0 99.0 -1.59336E7 17.8 12.2 70 101800 1039 1321 353 750 613 266 80600 63900 30200 9200 300 6.2 5 5 19.3 2000 9 999999999 140 0.2810 0 88 999.000 999.0 99.0 -1.59372E7 18.5 12.8 69 101800 1177 1321 352 839 623 282 87900 62800 31800 14100 300 6.7 3 3 19.3 2000 9 999999999 140 0.2810 0 88 999.000 999.0 99.0 -1.59408E7 19.3 13.1 67 101800 1257 1321 353 913 646 297 96200 65300 34000 21790 290 7.2 2 2 19.3 2000 9 999999999 140 0.2810 0 88 999.000 999.0 99.0 -1.59444E7 20.0 13.3 66 101800 1272 1321 345 963 743 246 103000 75900 29800 20230 290 7.7 0 0 80.5 2000 9 999999999 150 0.2810 0 88 999.000 999.0 99.0 -1.5948E7 19.6 13.2 67 101800 1222 1321 343 904 717 240 96500 73200 28600 14730 280 8.4 0 0 80.5 2000 9 999999999 150 0.2810 0 88 999.000 999.0 99.0 -1.59516E7 19.3 13.1 67 101700 1110 1321 341 816 702 225 86400 71400 26300 9170 280 9.1 0 0 80.5 2000 9 999999999 150 0.2810 0 88 999.000 999.0 99.0 -1.59552E7 18.9 12.8 68 101700 944 1321 339 663 647 200 69500 65300 22800 5660 270 9.8 0 0 80.5 2000 9 999999999 150 0.2810 0 88 999.000 999.0 99.0 -1.59588E7 17.8 12.7 72 101700 735 1321 334 474 558 163 51000 56800 19300 3590 270 9.5 0 0 80.5 2000 9 999999999 150 0.2810 0 88 999.000 999.0 99.0 -1.59624E7 16.7 12.5 77 101600 497 1321 335 258 368 119 27200 34800 14100 2290 270 9.1 1 1 80.5 2000 9 999999999 150 0.2810 0 88 999.000 999.0 99.0 -1.5966E7 15.6 12.2 81 101600 248 1321 330 84 140 58 9000 10100 7100 1070 270 8.8 1 1 24.1 2000 9 999999999 150 0.2810 0 88 999.000 999.0 99.0 -1.59696E7 15.6 12.2 80 101600 33 716 330 9 2 9 1100 0 1100 330 280 7.9 1 1 24.1 2000 9 999999999 150 0.2810 0 88 999.000 999.0 99.0 -1.59732E7 15.6 12.1 79 101600 0 0 323 0 0 0 0 0 0 0 290 7.1 0 0 24.1 2000 9 999999999 150 0.2810 0 88 999.000 999.0 99.0 -1.59768E7 15.6 11.7 78 101700 0 0 323 0 0 0 0 0 0 0 300 6.2 0 0 19.3 2000 9 999999999 150 0.2810 0 88 999.000 999.0 99.0 -1.59804E7 14.7 11.6 81 101700 0 0 319 0 0 0 0 0 0 0 300 6.2 0 0 19.3 2000 9 999999999 140 0.2810 0 88 999.000 999.0 99.0 -1.5984E7 13.7 11.2 83 101600 0 0 314 0 0 0 0 0 0 0 290 6.2 0 0 19.3 2000 9 999999999 140 0.2810 0 88 999.000 999.0 99.0 -1.59876E7 12.8 10.6 86 101600 0 0 309 0 0 0 0 0 0 0 290 6.2 0 0 24.1 2000 9 999999999 140 0.2810 0 88 999.000 999.0 99.0 -1.59912E7 12.4 10.7 87 101600 0 0 314 0 0 0 0 0 0 0 300 5.9 1 1 24.1 2000 9 999999999 140 0.2810 0 88 999.000 999.0 99.0 -1.59948E7 12.1 10.4 89 101600 0 0 316 0 0 0 0 0 0 0 300 5.5 2 2 24.1 2000 9 999999999 140 0.2810 0 88 999.000 999.0 99.0 -1.59984E7 11.7 10.0 90 101600 0 0 317 0 0 0 0 0 0 0 310 5.2 3 3 19.3 2000 9 999999999 140 0.2810 0 88 999.000 999.0 99.0 -1.6002E7 12.2 10.2 88 101600 1 99 316 0 1 0 0 0 0 0 310 5.5 2 2 19.3 2000 9 999999999 140 0.1030 0 88 999.000 999.0 99.0 -1.60056E7 12.8 10.5 85 101600 132 1321 315 46 191 27 4900 9800 3900 470 300 5.9 1 1 19.3 2000 9 999999999 140 0.1030 0 88 999.000 999.0 99.0 -1.60092E7 13.3 10.6 83 101600 379 1321 312 218 564 56 22900 49600 8600 1080 300 6.2 0 0 16.1 2000 9 999999999 150 0.1030 0 88 999.000 999.0 99.0 -1.60128E7 14.4 10.9 78 101600 625 1321 323 370 576 96 39000 56700 12200 2030 300 6.7 1 1 16.1 2000 9 999999999 150 0.1030 0 88 999.000 999.0 99.0 -1.60164E7 15.6 10.9 72 101700 850 1321 328 604 789 95 64600 79500 13400 2450 300 7.2 1 1 16.1 2000 9 999999999 150 0.1030 0 88 999.000 999.0 99.0 -1.602E7 16.7 10.6 67 101700 1038 1321 337 743 781 128 79300 79100 17000 4250 300 7.7 2 2 80.5 2000 9 999999999 150 0.1030 0 88 999.000 999.0 99.0 -1.60236E7 16.9 11.0 67 101600 1177 1321 334 864 848 107 89200 85100 13300 4610 290 8.1 1 1 80.5 2000 9 999999999 150 0.1030 0 88 999.000 999.0 99.0 -1.60272E7 17.0 11.1 68 101600 1256 1321 335 973 892 122 100000 89500 14700 7410 290 8.4 1 1 80.5 2000 9 999999999 150 0.1030 0 88 999.000 999.0 99.0 -1.60308E7 17.2 11.1 68 101600 1272 1321 329 992 893 129 101700 89600 15300 8610 280 8.8 0 0 80.5 2000 9 999999999 150 0.1030 0 88 999.000 999.0 99.0 -1.60344E7 17.0 11.2 69 101600 1222 1321 329 949 887 126 97400 89000 15000 6260 280 9.0 0 0 80.5 2000 9 999999999 160 0.1030 0 88 999.000 999.0 99.0 -1.6038E7 16.9 11.2 69 101500 1110 1321 334 848 873 113 87500 87400 13900 3840 280 9.1 1 1 80.5 2000 9 999999999 160 0.1030 0 88 999.000 999.0 99.0 -1.60416E7 16.7 11.1 70 101500 944 1321 333 661 785 100 68600 78300 12600 2500 280 9.3 1 1 80.5 2000 9 999999999 160 0.1030 0 88 999.000 999.0 99.0 -1.60452E7 16.3 10.8 70 101500 735 1321 331 516 773 86 54800 76900 12000 2000 280 8.6 1 1 80.5 2000 9 999999999 150 0.1030 0 88 999.000 999.0 99.0 -1.60488E7 16.0 10.5 70 101500 497 1321 323 296 609 67 31400 57700 9700 1360 290 7.9 0 0 80.5 2000 9 999999999 150 0.1030 0 88 999.000 999.0 99.0 -1.60524E7 15.6 10.0 70 101500 247 1321 321 118 405 43 12200 30300 6600 790 290 7.2 0 0 24.1 2000 9 999999999 140 0.1030 0 88 999.000 999.0 99.0 -1.6056E7 15.4 10.0 70 101500 32 716 320 19 47 14 1800 1300 1700 240 290 6.3 0 0 24.1 2000 9 999999999 140 0.1030 0 88 999.000 999.0 99.0 -1.60596E7 15.2 9.8 70 101500 0 0 319 0 0 0 0 0 0 0 290 5.5 0 0 24.1 2000 9 999999999 130 0.1030 0 88 999.000 999.0 99.0 -1.60632E7 15.0 9.4 70 101500 0 0 318 0 0 0 0 0 0 0 290 4.6 0 0 24.1 2000 9 999999999 130 0.1030 0 88 999.000 999.0 99.0 -1.60668E7 14.4 9.6 73 101500 0 0 315 0 0 0 0 0 0 0 290 4.4 0 0 24.1 2000 9 999999999 120 0.1030 0 88 999.000 999.0 99.0 -1.60704E7 13.9 9.6 75 101400 0 0 313 0 0 0 0 0 0 0 300 4.3 0 0 24.1 2000 9 999999999 110 0.1030 0 88 999.000 999.0 99.0 -1.6074E7 13.3 9.4 78 101400 0 0 310 0 0 0 0 0 0 0 300 4.1 0 0 24.1 2000 9 999999999 110 0.1030 0 88 999.000 999.0 99.0 -1.60776E7 13.1 9.5 78 101400 0 0 310 0 0 0 0 0 0 0 300 4.5 0 0 24.1 2000 9 999999999 100 0.1030 0 88 999.000 999.0 99.0 -1.60812E7 13.0 9.3 77 101400 0 0 309 0 0 0 0 0 0 0 290 4.8 0 0 24.1 2000 9 999999999 100 0.1030 0 88 999.000 999.0 99.0 -1.60848E7 12.8 8.9 77 101400 0 0 308 0 0 0 0 0 0 0 290 5.2 0 0 24.1 2000 9 999999999 90 0.1030 0 88 999.000 999.0 99.0 -1.60884E7 13.3 9.3 76 101400 0 77 310 1 0 1 0 0 0 0 290 4.8 0 0 24.1 2000 9 999999999 90 0.1550 0 88 999.000 999.0 99.0 -1.6092E7 13.9 9.7 76 101400 130 1321 319 39 116 28 4100 5900 3600 490 290 4.5 1 1 24.1 2000 9 999999999 100 0.1550 0 88 999.000 999.0 99.0 -1.60956E7 14.4 10.0 75 101400 378 1321 322 192 421 71 19700 36500 9300 1320 290 4.1 1 1 14.5 2000 9 999999999 100 0.1550 0 88 999.000 999.0 99.0 -1.60992E7 15.3 10.5 72 101400 623 1321 326 405 651 96 42700 64000 12400 2030 290 5.3 1 1 14.5 2000 9 999999999 110 0.1550 0 88 999.000 999.0 99.0 -1.61028E7 16.3 10.7 68 101400 848 1321 325 616 759 127 63900 75500 15300 2950 290 6.5 0 0 14.5 2000 9 999999999 110 0.1550 0 88 999.000 999.0 99.0 -1.61064E7 17.2 10.6 65 101400 1037 1321 329 786 813 146 82600 81900 18200 4660 290 7.7 0 0 19.3 2000 9 999999999 110 0.1550 0 88 999.000 999.0 99.0 -1.611E7 18.3 11.0 62 101400 1176 1321 334 908 840 158 96400 85000 20600 7550 290 8.1 0 0 19.3 2000 9 999999999 120 0.1550 0 88 999.000 999.0 99.0 -1.61136E7 19.5 11.1 58 101400 1256 1321 340 981 856 165 104700 86800 22100 11590 290 8.4 0 0 19.3 2000 9 999999999 120 0.1550 0 88 999.000 999.0 99.0 -1.61172E7 20.6 11.1 55 101400 1271 1321 345 1000 864 166 106900 87600 22400 12970 290 8.8 0 0 40.2 2000 9 999999999 130 0.1550 0 88 999.000 999.0 99.0 -1.61208E7 20.2 11.4 57 101400 1222 1321 344 951 852 162 101400 86300 21500 9430 290 8.4 0 0 40.2 2000 9 999999999 130 0.1550 0 88 999.000 999.0 99.0 -1.61244E7 19.8 11.6 59 101300 1110 1321 342 847 825 153 89600 83300 19500 5880 300 8.1 0 0 40.2 2000 9 999999999 140 0.1550 0 88 999.000 999.0 99.0 -1.6128E7 19.4 11.7 61 101300 944 1321 340 693 778 137 72500 78000 16700 3650 300 7.7 0 0 48.3 2000 9 999999999 140 0.1550 0 88 999.000 999.0 99.0 -1.61316E7 18.1 11.8 67 101300 734 1321 345 466 561 154 48400 55500 17500 3370 300 7.9 2 2 48.3 2000 9 999999999 140 0.1550 0 88 999.000 999.0 99.0 -1.61352E7 16.9 11.8 72 101300 496 1321 343 264 411 109 28000 38900 13400 2080 300 8.0 4 3 48.3 2000 9 999999999 140 0.1550 0 88 999.000 999.0 99.0 -1.61388E7 15.6 11.7 78 101300 246 1321 342 90 146 63 9600 10500 7600 1180 300 8.2 6 5 19.3 210 9 999999999 150 0.1550 0 88 999.000 999.0 99.0 -1.61424E7 15.4 11.9 79 101300 32 716 348 9 2 8 1000 0 1000 300 290 7.5 7 7 19.3 210 9 999999999 150 0.1550 0 88 999.000 999.0 99.0 -1.6146E7 15.2 11.9 80 101300 0 0 353 0 0 0 0 0 0 0 290 6.9 9 8 19.3 210 9 999999999 150 0.1550 0 88 999.000 999.0 99.0 -1.61496E7 15.0 11.7 81 101300 0 0 369 0 0 0 0 0 0 0 280 6.2 10 10 14.5 210 9 999999999 150 0.1550 0 88 999.000 999.0 99.0 -1.61532E7 14.4 11.7 83 101300 0 0 366 0 0 0 0 0 0 0 280 6.7 10 10 14.5 190 9 999999999 150 0.1550 0 88 999.000 999.0 99.0 -1.61568E7 13.9 11.5 85 101300 0 0 364 0 0 0 0 0 0 0 270 7.2 10 10 14.5 170 9 999999999 150 0.1550 0 88 999.000 999.0 99.0 -1.61604E7 13.3 11.1 87 101300 0 0 360 0 0 0 0 0 0 0 270 7.7 10 10 19.3 150 9 999999999 150 0.1550 0 88 999.000 999.0 99.0 -1.6164E7 12.9 11.0 87 101200 0 0 358 0 0 0 0 0 0 0 280 7.2 10 10 19.3 140 9 999999999 160 0.1550 0 88 999.000 999.0 99.0 -1.61676E7 12.6 10.6 86 101200 0 0 356 0 0 0 0 0 0 0 280 6.7 10 10 19.3 130 9 999999999 160 0.1550 0 88 999.000 999.0 99.0 -1.61712E7 12.2 10.0 86 101200 0 0 353 0 0 0 0 0 0 0 290 6.2 10 10 11.3 120 9 999999999 160 0.1550 0 88 999.000 999.0 99.0 -1.61748E7 12.8 10.2 84 101300 0 77 357 0 0 0 0 0 0 0 280 6.0 10 10 11.3 150 9 999999999 160 0.1550 0 88 999.000 999.0 99.0 -1.61784E7 13.3 10.5 82 101300 128 1321 349 22 1 22 2500 0 2500 790 280 5.9 9 9 11.3 180 9 999999999 160 0.3770 0 88 999.000 999.0 99.0 -1.6182E7 13.9 10.6 80 101300 376 1321 353 79 17 74 8700 1500 8200 2070 270 5.7 9 9 14.5 210 9 999999999 160 0.3770 0 88 999.000 999.0 99.0 -1.61856E7 14.3 11.1 79 101300 622 1321 355 178 37 160 19500 3600 17800 4890 270 5.5 9 9 14.5 220 9 999999999 160 0.3770 0 88 999.000 999.0 99.0 -1.61892E7 14.6 11.2 79 101300 847 1321 357 351 83 297 38500 8500 33100 9830 280 5.4 10 9 14.5 230 9 999999999 160 0.3770 0 88 999.000 999.0 99.0 -1.61928E7 15.0 11.1 78 101400 1035 1321 359 303 136 195 34200 14800 22600 6200 280 5.2 10 9 11.3 240 9 999999999 160 0.3770 0 88 999.000 999.0 99.0 -1.61964E7 16.1 11.5 74 101300 1175 1321 351 600 237 388 65700 25800 42800 18350 280 5.7 9 7 11.3 2000 9 999999999 170 0.3770 0 88 999.000 999.0 99.0 -1.62E7 17.2 11.7 69 101300 1255 1321 353 713 243 482 78300 25900 53700 29330 280 6.2 9 6 11.3 2000 9 999999999 170 0.3770 0 88 999.000 999.0 99.0 -1.62036E7 18.3 11.7 65 101300 1271 1321 352 879 489 407 93500 51100 44300 34040 280 6.7 8 4 24.1 2000 9 999999999 170 0.3770 0 88 999.000 999.0 99.0 -1.62072E7 18.5 11.8 64 101200 1221 1321 351 833 493 376 88700 51500 41100 23550 280 7.9 7 3 24.1 2000 9 999999999 170 0.3770 0 88 999.000 999.0 99.0 -1.62108E7 18.7 11.8 64 101200 1109 1321 352 733 484 326 78100 50500 35600 13570 280 9.1 6 3 24.1 2000 9 999999999 170 0.3770 0 88 999.000 999.0 99.0 -1.62144E7 18.9 11.7 63 101100 943 1321 349 579 428 273 61300 44400 29500 7940 280 10.3 5 2 24.1 2000 9 999999999 170 0.3770 0 88 999.000 999.0 99.0 -1.6218E7 17.8 12.0 69 101100 734 1321 350 348 212 231 38200 22000 25900 6000 280 9.8 6 4 24.1 2000 9 999999999 170 0.3770 0 88 999.000 999.0 99.0 -1.62216E7 16.7 12.1 75 101200 496 1321 351 204 85 172 22300 8100 19300 4590 290 9.3 8 6 24.1 2000 9 999999999 170 0.3770 0 88 999.000 999.0 99.0 -1.62252E7 15.6 12.2 81 101200 245 1321 355 28 5 27 3300 100 3300 1100 290 8.8 9 8 11.3 180 9 999999999 180 0.3770 0 88 999.000 999.0 99.0 -1.62288E7 15.6 12.4 81 101200 32 716 355 15 0 15 1700 0 1700 510 290 8.3 9 8 11.3 190 9 999999999 180 0.3770 0 88 999.000 999.0 99.0 -1.62324E7 15.6 12.4 81 101200 0 0 350 0 0 0 0 0 0 0 300 7.7 9 7 11.3 200 9 999999999 180 0.3770 0 88 999.000 999.0 99.0 -1.6236E7 15.6 12.2 81 101300 0 0 350 0 0 0 0 0 0 0 300 7.2 9 7 24.1 210 9 999999999 180 0.3770 0 88 999.000 999.0 99.0 -1.62396E7 15.2 12.3 82 101200 0 0 353 0 0 0 0 0 0 0 290 6.9 9 8 24.1 200 9 999999999 180 0.3770 0 88 999.000 999.0 99.0 -1.62432E7 14.8 12.1 83 101200 0 0 359 0 0 0 0 0 0 0 290 6.5 10 9 24.1 190 9 999999999 180 0.3770 0 88 999.000 999.0 99.0 -1.62468E7 14.4 11.7 84 101200 0 0 366 0 0 0 0 0 0 0 280 6.2 10 10 12.9 180 9 999999999 190 0.3770 0 88 999.000 999.0 99.0 -1.62504E7 14.2 12.0 85 101200 0 0 366 0 0 0 0 0 0 0 280 6.0 10 10 12.9 170 9 999999999 190 0.3770 0 88 999.000 999.0 99.0 -1.6254E7 14.1 11.9 86 101200 0 0 365 0 0 0 0 0 0 0 280 5.9 10 10 12.9 160 9 999999999 190 0.3770 0 88 999.000 999.0 99.0 -1.62576E7 13.9 11.7 87 101200 0 0 364 0 0 0 0 0 0 0 280 5.7 10 10 12.9 150 9 999999999 190 0.3770 0 88 999.000 999.0 99.0 -1.62612E7 14.1 11.9 87 101200 0 55 365 0 0 0 0 0 0 0 280 5.5 10 10 12.9 150 9 999999999 200 0.3770 0 88 999.000 999.0 99.0 -1.62648E7 14.2 12.1 87 101200 125 1321 366 14 2 14 1700 0 1700 540 280 5.4 10 10 12.9 150 9 999999999 200 0.1310 0 88 999.000 999.0 99.0 -1.62684E7 14.4 12.2 87 101300 373 1321 367 55 1 55 6500 0 6500 2280 280 5.2 10 10 11.3 150 9 999999999 209 0.1310 0 88 999.000 999.0 99.0 -1.6272E7 15.2 12.5 83 101300 620 1321 361 217 82 178 23800 8100 20000 5320 290 5.5 10 9 11.3 190 9 999999999 220 0.1310 0 88 999.000 999.0 99.0 -1.62756E7 15.9 12.5 79 101300 845 1321 365 344 96 282 37800 9800 31500 9430 290 5.9 9 9 11.3 230 9 999999999 220 0.1310 0 88 999.000 999.0 99.0 -1.62792E7 16.7 12.2 75 101300 1034 1321 361 576 341 308 63100 37000 34100 10280 300 6.2 9 8 12.9 270 9 999999999 230 0.1310 0 88 999.000 999.0 99.0 -1.62828E7 18.0 13.0 72 101300 1174 1321 355 791 618 240 83800 62900 27800 11970 300 6.7 6 5 12.9 2000 9 999999999 240 0.1310 0 88 999.000 999.0 99.0 -1.62864E7 19.3 13.5 69 101300 1254 1321 356 907 664 275 96000 67400 31900 19880 300 7.2 3 3 12.9 2000 9 999999999 240 0.1310 0 88 999.000 999.0 99.0 -1.629E7 20.6 13.9 66 101300 1270 1321 348 972 854 149 99300 85600 16900 9440 300 7.7 0 0 48.3 2000 9 999999999 250 0.1310 0 88 999.000 999.0 99.0 -1.62936E7 20.6 14.0 66 101300 1221 1321 348 938 855 146 95900 85600 16700 6820 300 7.9 0 0 48.3 2000 9 999999999 260 0.1310 0 88 999.000 999.0 99.0 -1.62972E7 20.6 14.0 66 101200 1109 1321 355 801 802 126 82300 80300 14800 4030 310 8.0 1 1 48.3 2000 9 999999999 260 0.1310 0 88 999.000 999.0 99.0 -1.63008E7 20.6 13.9 66 101200 943 1321 355 645 691 151 68900 70600 18500 4400 310 8.2 1 1 48.3 2000 9 999999999 270 0.1310 0 88 999.000 999.0 99.0 -1.63044E7 19.8 13.8 68 101200 733 1321 351 499 719 99 52100 71100 12600 2180 320 7.4 1 1 48.3 2000 9 999999999 260 0.1310 0 88 999.000 999.0 99.0 -1.6308E7 19.1 13.6 71 101200 495 1321 341 299 592 77 31400 55700 10500 1530 320 6.5 0 0 48.3 2000 9 999999999 250 0.1310 0 88 999.000 999.0 99.0 -1.63116E7 18.3 13.3 73 101200 245 1321 337 112 348 47 11400 25800 6600 850 330 5.7 0 0 48.3 2000 9 999999999 240 0.1310 0 88 999.000 999.0 99.0 -1.63152E7 17.4 12.9 75 101200 31 694 332 16 28 13 1600 1100 1600 270 330 5.3 0 0 48.3 2000 9 999999999 230 0.1310 0 88 999.000 999.0 99.0 -1.63188E7 16.5 12.4 76 101300 0 0 328 0 0 0 0 0 0 0 320 5.0 0 0 48.3 2000 9 999999999 220 0.1310 0 88 999.000 999.0 99.0 -1.63224E7 15.6 11.7 78 101300 0 0 323 0 0 0 0 0 0 0 320 4.6 0 0 24.1 2000 9 999999999 220 0.1310 0 88 999.000 999.0 99.0 -1.6326E7 15.0 11.7 80 101300 0 0 326 0 0 0 0 0 0 0 310 4.4 1 1 24.1 2000 9 999999999 209 0.1310 0 88 999.000 999.0 99.0 -1.63296E7 14.5 11.5 81 101300 0 0 328 0 0 0 0 0 0 0 310 4.3 2 2 24.1 2000 9 999999999 200 0.1310 0 88 999.000 999.0 99.0 -1.63332E7 13.9 11.1 83 101300 0 0 328 0 0 0 0 0 0 0 300 4.1 3 3 19.3 2000 9 999999999 190 0.1310 0 88 999.000 999.0 99.0 -1.63368E7 13.7 11.2 83 101300 0 0 333 0 0 0 0 0 0 0 290 5.1 5 5 19.3 2000 9 999999999 180 0.1310 0 88 999.000 999.0 99.0 -1.63404E7 13.5 11.0 83 101300 0 0 334 0 0 0 0 0 0 0 290 6.2 6 6 19.3 2000 9 999999999 170 0.1310 0 88 999.000 999.0 99.0 -1.6344E7 13.3 10.6 83 101300 0 0 342 0 0 0 0 0 0 0 280 7.2 8 8 19.3 240 9 999999999 160 0.1310 0 88 999.000 999.0 99.0 -1.63476E7 13.5 10.8 83 101300 0 55 343 0 0 0 0 0 0 0 280 6.7 9 8 19.3 210 9 999999999 160 0.1310 0 88 999.000 999.0 99.0 -1.63512E7 13.7 11.0 83 101300 123 1322 352 34 27 32 3800 1700 3600 760 270 6.2 9 9 19.3 180 9 999999999 160 0.0960 0 88 999.000 999.0 99.0 -1.63548E7 13.9 11.1 83 101400 371 1322 353 93 52 78 10200 4600 8900 2160 270 5.7 10 9 16.1 150 9 999999999 160 0.0960 0 88 999.000 999.0 99.0 -1.63584E7 14.6 11.6 80 101400 618 1322 357 227 82 189 25000 8100 21200 5570 270 6.0 10 9 16.1 190 9 999999999 170 0.0960 0 88 999.000 999.0 99.0 -1.6362E7 15.4 11.8 78 101400 844 1322 354 395 302 202 43600 32400 22800 5040 270 6.4 9 8 16.1 230 9 999999999 170 0.0960 0 88 999.000 999.0 99.0 -1.63656E7 16.1 11.7 75 101500 1033 1322 357 482 217 312 52800 23500 34400 10410 270 6.7 9 8 16.1 270 9 999999999 170 0.0960 0 88 999.000 999.0 99.0 -1.63692E7 17.0 11.7 70 101400 1173 1322 349 730 575 218 77900 58800 25600 10910 270 6.9 6 5 16.1 2000 9 999999999 170 0.0960 0 88 999.000 999.0 99.0 -1.63728E7 18.0 11.5 66 101400 1253 1322 348 684 379 324 74400 39700 36600 23950 280 7.0 3 3 16.1 2000 9 999999999 170 0.0960 0 88 999.000 999.0 99.0 -1.63764E7 18.9 11.1 61 101400 1270 1322 337 849 754 123 87300 75700 14400 8150 280 7.2 0 0 24.1 2000 9 999999999 180 0.0960 0 88 999.000 999.0 99.0 -1.638E7 18.9 11.0 60 101300 1220 1322 337 943 888 121 97000 89100 14600 6030 280 7.9 0 0 24.1 2000 9 999999999 180 0.0960 0 88 999.000 999.0 99.0 -1.63836E7 18.9 10.9 60 101300 1108 1322 337 842 867 114 87000 86800 14000 3840 290 8.6 0 0 24.1 2000 9 999999999 180 0.0960 0 88 999.000 999.0 99.0 -1.63872E7 18.9 10.6 59 101300 942 1322 337 699 835 102 72300 83200 12900 2510 290 9.3 0 0 24.1 2000 9 999999999 180 0.0960 0 88 999.000 999.0 99.0 -1.63908E7 18.0 10.5 62 101200 733 1322 332 514 772 86 54600 76800 12000 1990 280 10.5 0 0 24.1 2000 9 999999999 180 0.0960 0 88 999.000 999.0 99.0 -1.63944E7 17.0 10.3 64 101200 494 1322 328 311 659 64 32400 61800 9200 1310 280 11.7 0 0 24.1 2000 9 999999999 170 0.0960 0 88 999.000 999.0 99.0 -1.6398E7 16.1 10.0 67 101100 244 1322 323 119 424 41 12300 31600 6500 760 270 12.9 0 0 24.1 2000 9 999999999 170 0.0960 0 88 999.000 999.0 99.0 -1.64016E7 15.5 9.8 68 101200 30 694 320 17 50 12 1600 1400 1500 200 270 10.7 0 0 24.1 2000 9 999999999 160 0.0960 0 88 999.000 999.0 99.0 -1.64052E7 15.0 9.5 69 101200 0 0 318 0 0 0 0 0 0 0 280 8.4 0 0 24.1 2000 9 999999999 160 0.0960 0 88 999.000 999.0 99.0 -1.64088E7 14.4 8.9 70 101300 0 0 315 0 0 0 0 0 0 0 280 6.2 0 0 24.1 2000 9 999999999 150 0.0960 0 88 999.000 999.0 99.0 -1.64124E7 14.0 9.1 72 101300 0 0 313 0 0 0 0 0 0 0 280 5.5 0 0 24.1 2000 9 999999999 150 0.0960 0 88 999.000 999.0 99.0 -1.6416E7 13.7 9.1 73 101300 0 0 312 0 0 0 0 0 0 0 270 4.8 0 0 24.1 2000 9 999999999 150 0.0960 0 88 999.000 999.0 99.0 -1.64196E7 13.3 8.9 75 101300 0 0 310 0 0 0 0 0 0 0 270 4.1 0 0 19.3 2000 9 999999999 140 0.0960 0 88 999.000 999.0 99.0 -1.64232E7 12.9 9.2 77 101200 0 0 308 0 0 0 0 0 0 0 270 4.1 0 0 19.3 2000 9 999999999 140 0.0960 0 88 999.000 999.0 99.0 -1.64268E7 12.6 9.1 78 101200 0 0 313 0 0 0 0 0 0 0 280 4.1 1 1 19.3 2000 9 999999999 130 0.0960 0 88 999.000 999.0 99.0 -1.64304E7 12.2 8.9 80 101200 0 0 311 0 0 0 0 0 0 0 280 4.1 1 1 19.3 2000 9 999999999 130 0.0960 0 88 999.000 999.0 99.0 -1.6434E7 13.1 8.9 76 101200 0 33 315 0 0 0 0 0 0 0 280 3.8 1 1 19.3 2000 9 999999999 130 0.0960 0 88 999.000 999.0 99.0 -1.64376E7 14.1 9.0 71 101300 121 1322 313 45 212 25 4500 11300 3500 440 290 3.4 0 0 19.3 2000 9 999999999 130 0.0970 0 88 999.000 999.0 99.0 -1.64412E7 15.0 8.9 67 101300 369 1322 317 214 572 53 22400 49900 8400 1020 290 3.1 0 0 16.1 2000 9 999999999 130 0.0970 0 88 999.000 999.0 99.0 -1.64448E7 16.9 9.6 62 101300 616 1322 326 420 737 76 44200 71800 10700 1630 290 3.8 0 0 16.1 2000 9 999999999 130 0.0970 0 88 999.000 999.0 99.0 -1.64484E7 18.7 9.9 56 101300 842 1322 335 622 824 95 66400 83000 13500 2430 280 4.5 0 0 16.1 2000 9 999999999 130 0.0970 0 88 999.000 999.0 99.0 -1.6452E7 20.6 10.0 51 101300 1031 1322 344 793 873 109 81800 87300 13600 3080 280 5.2 0 0 19.3 2000 9 999999999 130 0.0970 0 88 999.000 999.0 99.0 -1.64556E7 20.2 10.4 53 101300 1171 1322 342 921 903 118 94800 90500 14400 4820 290 6.2 0 0 19.3 2000 9 999999999 130 0.0970 0 88 999.000 999.0 99.0 -1.64592E7 19.8 10.6 55 101300 1252 1322 341 995 917 124 102300 92000 14900 7310 290 7.2 0 0 19.3 2000 9 999999999 130 0.0970 0 88 999.000 999.0 99.0 -1.64628E7 19.4 10.6 57 101300 1269 1322 339 1009 919 125 103700 92200 15000 8210 300 8.2 0 0 48.3 2000 9 999999999 130 0.0970 0 88 999.000 999.0 99.0 -1.64664E7 19.2 10.7 58 101300 1220 1322 338 964 912 122 99300 91500 14700 6040 300 8.4 0 0 48.3 2000 9 999999999 130 0.0970 0 88 999.000 999.0 99.0 -1.647E7 19.1 10.7 58 101200 1108 1322 338 861 889 114 88800 89000 14000 3830 290 8.6 0 0 48.3 2000 9 999999999 130 0.0970 0 88 999.000 999.0 99.0 -1.64736E7 18.9 10.6 59 101200 942 1322 337 711 852 103 73600 84900 13000 2510 290 8.8 0 0 40.2 2000 9 999999999 130 0.0970 0 88 999.000 999.0 99.0 -1.64772E7 18.3 10.1 59 101200 732 1322 333 522 786 86 55400 78200 12000 1990 290 8.3 0 0 40.2 2000 9 999999999 130 0.0970 0 88 999.000 999.0 99.0 -1.64808E7 17.8 9.6 58 101200 493 1322 330 314 669 64 32700 62700 9300 1310 300 7.7 0 0 40.2 2000 9 999999999 130 0.0970 0 88 999.000 999.0 99.0 -1.64844E7 17.2 8.9 58 101200 242 1322 327 119 425 41 12300 31600 6500 750 300 7.2 0 0 24.1 2000 9 999999999 140 0.0970 0 88 999.000 999.0 99.0 -1.6488E7 16.7 9.1 60 101200 30 694 325 17 47 12 1600 1300 1500 200 300 6.2 0 0 24.1 2000 9 999999999 140 0.0970 0 88 999.000 999.0 99.0 -1.64916E7 16.1 9.1 63 101200 0 0 322 0 0 0 0 0 0 0 300 5.1 0 0 24.1 2000 9 999999999 140 0.0970 0 88 999.000 999.0 99.0 -1.64952E7 15.6 8.9 65 101200 0 0 320 0 0 0 0 0 0 0 300 4.1 0 0 24.1 2000 9 999999999 140 0.0970 0 88 999.000 999.0 99.0 -1.64988E7 15.2 9.3 67 101200 0 0 318 0 0 0 0 0 0 0 300 4.5 0 0 24.1 2000 9 999999999 140 0.0970 0 88 999.000 999.0 99.0 -1.65024E7 14.8 9.5 70 101200 0 0 317 0 0 0 0 0 0 0 290 4.8 0 0 24.1 2000 9 999999999 140 0.0970 0 88 999.000 999.0 99.0 -1.6506E7 14.4 9.4 72 101300 0 0 315 0 0 0 0 0 0 0 290 5.2 0 0 24.1 2000 9 999999999 150 0.0970 0 88 999.000 999.0 99.0 -1.65096E7 14.0 9.9 75 101200 0 0 320 0 0 0 0 0 0 0 280 6.0 1 1 24.1 2000 9 999999999 150 0.0970 0 88 999.000 999.0 99.0 -1.65132E7 13.7 10.0 77 101200 0 0 319 0 0 0 0 0 0 0 280 6.9 1 1 24.1 2000 9 999999999 150 0.0970 0 88 999.000 999.0 99.0 -1.65168E7 13.3 10.0 80 101200 0 0 321 0 0 0 0 0 0 0 270 7.7 2 2 24.1 2000 9 999999999 150 0.0970 0 88 999.000 999.0 99.0 -1.65204E7 13.7 10.6 81 101300 0 11 332 0 0 0 0 0 0 0 270 8.2 5 5 24.1 2000 9 999999999 160 0.0970 0 88 999.000 999.0 99.0 -1.6524E7 14.0 11.2 83 101300 118 1322 341 25 2 25 2800 0 2800 860 260 8.8 7 7 24.1 2000 9 999999999 170 0.3710 0 88 999.000 999.0 99.0 -1.65276E7 14.4 11.7 84 101400 367 1322 366 110 2 109 12200 100 12200 3780 260 9.3 10 10 2.8 90 9 999999999 180 0.3710 0 88 999.000 999.0 99.0 -1.65312E7 15.7 12.5 80 101400 614 1322 364 205 61 177 22600 6000 19800 5270 270 9.6 10 9 2.8 183 9 999999999 190 0.3710 0 88 999.000 999.0 99.0 -1.65348E7 17.0 13.1 77 101400 840 1322 371 260 31 240 28600 3100 26600 8230 280 10.0 9 9 2.8 277 9 999999999 200 0.3710 0 88 999.000 999.0 99.0 -1.65384E7 18.3 13.3 73 101500 1030 1322 370 469 108 385 51700 11100 43000 14690 290 10.3 9 8 19.3 370 9 999999999 209 0.3710 0 88 999.000 999.0 99.0 -1.6542E7 18.9 13.7 71 101500 1170 1322 368 722 310 446 78200 33600 48400 21140 290 10.1 7 7 19.3 2000 9 999999999 220 0.3710 0 88 999.000 999.0 99.0 -1.65456E7 19.4 13.9 70 101400 1252 1322 363 797 419 399 84700 43700 43200 29380 280 10.0 6 5 19.3 2000 9 999999999 230 0.3710 0 88 999.000 999.0 99.0 -1.65492E7 20.0 13.9 68 101400 1268 1322 363 870 479 410 92600 50000 44500 33600 280 9.8 4 4 40.2 2000 9 999999999 240 0.3710 0 88 999.000 999.0 99.0 -1.65528E7 20.0 14.0 68 101400 1219 1322 360 825 466 395 87500 48600 42600 24520 280 9.8 3 3 40.2 2000 9 999999999 250 0.3710 0 88 999.000 999.0 99.0 -1.65564E7 20.0 14.0 68 101400 1107 1322 352 725 526 284 78400 55000 32200 11660 290 9.8 1 1 40.2 2000 9 999999999 260 0.3710 0 88 999.000 999.0 99.0 -1.656E7 20.0 13.9 68 101400 941 1322 345 573 473 236 61500 49100 26500 6760 290 9.8 0 0 48.3 2000 9 999999999 270 0.3710 0 88 999.000 999.0 99.0 -1.65636E7 18.7 13.4 71 101300 731 1322 353 429 420 196 45200 42600 21600 4390 290 8.6 3 3 48.3 2000 9 999999999 260 0.3710 0 88 999.000 999.0 99.0 -1.65672E7 17.4 12.9 75 101300 492 1322 352 181 103 143 19800 10000 16100 3300 290 7.4 5 5 48.3 2000 9 999999999 250 0.3710 0 88 999.000 999.0 99.0 -1.65708E7 16.1 12.2 78 101300 241 1322 358 59 10 57 6600 300 6600 2000 290 6.2 8 8 32.2 150 9 999999999 230 0.3710 0 88 999.000 999.0 99.0 -1.65744E7 15.4 12.0 80 101300 29 672 362 9 0 9 1100 0 1100 330 290 6.2 9 9 32.2 140 9 999999999 220 0.3710 0 88 999.000 999.0 99.0 -1.6578E7 14.6 11.7 81 101300 0 0 357 0 0 0 0 0 0 0 280 6.2 9 9 32.2 130 9 999999999 209 0.3710 0 88 999.000 999.0 99.0 -1.65816E7 13.9 11.1 83 101300 0 0 363 0 0 0 0 0 0 0 280 6.2 10 10 16.1 120 9 999999999 200 0.3710 0 88 999.000 999.0 99.0 -1.65852E7 13.9 11.5 84 101300 0 0 364 0 0 0 0 0 0 0 270 5.9 10 10 16.1 130 9 999999999 190 0.3710 0 88 999.000 999.0 99.0 -1.65888E7 13.9 11.7 86 101300 0 0 364 0 0 0 0 0 0 0 270 5.5 10 10 16.1 140 9 999999999 180 0.3710 0 88 999.000 999.0 99.0 -1.65924E7 13.9 11.7 87 101300 0 0 364 0 0 0 0 0 0 0 260 5.2 10 10 9.7 150 9 999999999 160 0.3710 0 88 999.000 999.0 99.0 -1.6596E7 14.1 12.0 86 101300 0 0 365 0 0 0 0 0 0 0 270 4.8 10 10 9.7 170 9 999999999 150 0.3710 0 88 999.000 999.0 99.0 -1.65996E7 14.2 11.9 85 101200 0 0 366 0 0 0 0 0 0 0 280 4.5 10 10 9.7 190 9 999999999 140 0.3710 0 88 999.000 999.0 99.0 -1.66032E7 14.4 11.7 84 101200 0 0 366 0 0 0 0 0 0 0 290 4.1 10 10 16.1 210 9 999999999 130 0.3710 0 88 999.000 999.0 99.0 -1.66068E7 14.2 11.5 84 101200 0 11 365 0 0 0 0 0 0 0 300 4.1 10 10 16.1 220 9 999999999 130 0.3710 0 88 999.000 999.0 99.0 -1.66104E7 14.1 11.4 83 101300 116 1322 364 21 1 21 2400 0 2400 750 300 4.1 10 10 16.1 230 9 999999999 130 0.1500 0 88 999.000 999.0 99.0 -1.6614E7 13.9 11.1 83 101300 365 1322 363 106 2 106 11900 100 11900 3700 310 4.1 10 10 16.1 240 9 999999999 130 0.1500 0 88 999.000 999.0 99.0 -1.66176E7 15.2 11.8 79 101300 612 1322 347 305 321 156 33000 32900 17800 3310 330 3.6 7 7 16.1 2000 9 999999999 130 0.1500 0 88 999.000 999.0 99.0 -1.66212E7 16.5 12.1 74 101300 839 1322 344 505 480 199 54100 49500 22700 4910 340 3.1 4 4 16.1 2000 9 999999999 130 0.1500 0 88 999.000 999.0 99.0 -1.66248E7 17.8 12.2 70 101300 1029 1322 340 726 729 157 75600 73100 18600 4800 360 2.6 1 1 16.1 2000 9 999999999 140 0.1500 0 88 999.000 999.0 99.0 -1.66284E7 20.8 13.0 62 101300 1169 1322 355 834 756 164 88200 76300 20500 7580 350 3.8 1 1 16.1 2000 9 999999999 140 0.1500 0 88 999.000 999.0 99.0 -1.6632E7 23.7 13.5 53 101200 1251 1322 363 980 864 161 104900 87600 21800 10970 330 5.0 0 0 16.1 2000 9 999999999 140 0.1500 0 88 999.000 999.0 99.0 -1.66356E7 26.7 13.9 45 101200 1267 1322 378 985 856 162 105500 86900 22000 12300 320 6.2 0 0 24.1 2000 9 999999999 140 0.1500 0 88 999.000 999.0 99.0 -1.66392E7 25.0 13.3 48 101100 1218 1322 369 942 848 158 100600 86000 21100 9070 310 7.4 0 0 24.1 2000 9 999999999 140 0.1500 0 88 999.000 999.0 99.0 -1.66428E7 23.4 12.5 50 101100 1107 1322 360 839 823 149 89000 83200 19200 5700 300 8.6 0 0 24.1 2000 9 999999999 140 0.1500 0 88 999.000 999.0 99.0 -1.66464E7 21.7 11.7 53 101000 940 1322 351 689 781 133 72300 78400 16400 3560 290 9.8 0 0 48.3 2000 9 999999999 140 0.1500 0 88 999.000 999.0 99.0 -1.665E7 20.0 11.2 57 101000 730 1322 342 504 709 111 53500 71200 14100 2540 290 8.9 0 0 48.3 2000 9 999999999 140 0.1500 0 88 999.000 999.0 99.0 -1.66536E7 18.4 10.7 61 101000 491 1322 334 296 576 82 31000 53900 10900 1610 280 8.1 0 0 48.3 2000 9 999999999 150 0.1500 0 88 999.000 999.0 99.0 -1.66572E7 16.7 10.0 65 101000 240 1322 326 107 315 50 11300 22600 7200 890 280 7.2 0 0 24.1 2000 9 999999999 150 0.1500 0 88 999.000 999.0 99.0 -1.66608E7 15.9 10.0 67 101000 28 672 322 15 19 13 1600 700 1500 270 290 6.5 0 0 24.1 2000 9 999999999 160 0.1500 0 88 999.000 999.0 99.0 -1.66644E7 15.2 9.8 70 101000 0 0 319 0 0 0 0 0 0 0 290 5.9 0 0 24.1 2000 9 999999999 160 0.1500 0 88 999.000 999.0 99.0 -1.6668E7 14.4 9.4 72 101000 0 0 315 0 0 0 0 0 0 0 300 5.2 0 0 24.1 2000 9 999999999 160 0.1500 0 88 999.000 999.0 99.0 -1.66716E7 13.9 9.5 74 101000 0 0 313 0 0 0 0 0 0 0 300 4.5 0 0 24.1 2000 9 999999999 170 0.1500 0 88 999.000 999.0 99.0 -1.66752E7 13.3 9.3 75 101000 0 0 310 0 0 0 0 0 0 0 310 3.8 0 0 24.1 2000 9 999999999 170 0.1500 0 88 999.000 999.0 99.0 -1.66788E7 12.8 8.9 77 101000 0 0 308 0 0 0 0 0 0 0 310 3.1 0 0 24.1 2000 9 999999999 180 0.1500 0 88 999.000 999.0 99.0 -1.66824E7 12.6 9.0 77 101000 0 0 307 0 0 0 0 0 0 0 310 2.8 0 0 24.1 2000 9 999999999 180 0.1500 0 88 999.000 999.0 99.0 -1.6686E7 12.4 8.7 77 101000 0 0 306 0 0 0 0 0 0 0 300 2.4 0 0 24.1 2000 9 999999999 190 0.1500 0 88 999.000 999.0 99.0 -1.66896E7 12.2 8.3 77 101000 0 0 304 0 0 0 0 0 0 0 300 2.1 0 0 19.3 2000 9 999999999 190 0.1500 0 88 999.000 999.0 99.0 -1.66932E7 13.3 8.7 74 101000 0 0 310 0 0 0 0 0 0 0 310 2.4 0 0 19.3 2000 9 999999999 190 0.1500 0 88 999.000 999.0 99.0 -1.66968E7 14.5 9.1 70 101000 114 1311 315 40 137 27 4100 6700 3500 480 310 2.8 0 0 19.3 2000 9 999999999 190 0.1310 0 88 999.000 999.0 99.0 -1.67004E7 15.6 9.4 67 101100 362 1322 320 197 493 61 20400 42500 8700 1150 320 3.1 0 0 11.3 2000 9 999999999 190 0.1310 0 88 999.000 999.0 99.0 -1.6704E7 16.9 10.1 64 101100 610 1322 327 401 673 89 42400 66100 11900 1880 320 3.4 0 0 11.3 2000 9 999999999 190 0.1310 0 88 999.000 999.0 99.0 -1.67076E7 18.1 10.5 60 101100 837 1322 333 602 769 113 63100 76900 14300 2700 310 3.8 0 0 11.3 2000 9 999999999 190 0.1310 0 88 999.000 999.0 99.0 -1.67112E7 19.4 10.6 57 101100 1027 1322 339 773 825 130 82200 83400 17200 4190 310 4.1 0 0 11.3 2000 9 999999999 190 0.1310 0 88 999.000 999.0 99.0 -1.67148E7 20.0 11.0 56 101000 1168 1322 342 901 857 142 92300 85800 16300 5260 310 5.5 0 0 11.3 2000 9 999999999 180 0.1310 0 88 999.000 999.0 99.0 -1.67184E7 20.5 11.1 54 101000 1250 1322 345 976 875 147 99800 87700 16800 8080 320 6.8 0 0 11.3 2000 9 999999999 180 0.1310 0 88 999.000 999.0 99.0 -1.6722E7 21.1 11.1 53 101000 1267 1322 347 991 877 149 101300 87900 16900 9160 320 8.2 0 0 12.9 2000 9 999999999 180 0.1310 0 88 999.000 999.0 99.0 -1.67256E7 20.4 11.0 55 101000 1218 1322 344 947 868 145 96800 86900 16600 6670 310 8.7 0 0 12.9 2000 9 999999999 180 0.1310 0 88 999.000 999.0 99.0 -1.67292E7 19.6 10.9 57 101000 1106 1322 340 846 846 137 90500 85800 18600 5330 310 9.3 0 0 12.9 2000 9 999999999 180 0.1310 0 88 999.000 999.0 99.0 -1.67328E7 18.9 10.6 59 101000 939 1322 337 695 803 122 73400 80900 15800 3350 300 9.8 0 0 16.1 2000 9 999999999 180 0.1310 0 88 999.000 999.0 99.0 -1.67364E7 17.8 10.5 63 101000 729 1322 331 505 728 102 52500 71900 12800 2200 300 8.9 0 0 16.1 2000 9 999999999 180 0.1310 0 88 999.000 999.0 99.0 -1.674E7 16.7 10.3 66 101000 490 1322 326 299 601 76 31400 56400 10500 1510 300 8.1 0 0 16.1 2000 9 999999999 180 0.1310 0 88 999.000 999.0 99.0 -1.67436E7 15.6 10.0 70 101000 238 1322 321 109 346 47 11200 25300 6600 840 300 7.2 0 0 19.3 2000 9 999999999 170 0.1310 0 88 999.000 999.0 99.0 -1.67472E7 14.8 10.0 73 101000 27 650 317 15 25 12 1500 900 1400 250 300 6.9 0 0 19.3 2000 9 999999999 170 0.1310 0 88 999.000 999.0 99.0 -1.67508E7 14.1 9.8 75 101100 0 0 314 0 0 0 0 0 0 0 310 6.5 0 0 19.3 2000 9 999999999 170 0.1310 0 88 999.000 999.0 99.0 -1.67544E7 13.3 9.4 78 101100 0 0 310 0 0 0 0 0 0 0 310 6.2 0 0 19.3 2000 9 999999999 160 0.1310 0 88 999.000 999.0 99.0 -1.6758E7 13.1 9.6 79 101100 0 0 310 0 0 0 0 0 0 0 310 4.8 0 0 19.3 2000 9 999999999 160 0.1310 0 88 999.000 999.0 99.0 -1.67616E7 13.0 9.6 79 101100 0 0 309 0 0 0 0 0 0 0 300 3.5 0 0 19.3 2000 9 999999999 160 0.1310 0 88 999.000 999.0 99.0 -1.67652E7 12.8 9.4 80 101100 0 0 308 0 0 0 0 0 0 0 300 2.1 0 0 19.3 2000 9 999999999 160 0.1310 0 88 999.000 999.0 99.0 -1.67688E7 12.4 9.5 81 101100 0 0 307 0 0 0 0 0 0 0 300 1.9 0 0 19.3 2000 9 999999999 150 0.1310 0 88 999.000 999.0 99.0 -1.67724E7 12.1 9.3 82 101100 0 0 305 0 0 0 0 0 0 0 310 1.7 0 0 19.3 2000 9 999999999 150 0.1310 0 88 999.000 999.0 99.0 -1.6776E7 11.7 8.9 83 101100 0 0 303 0 0 0 0 0 0 0 310 1.5 0 0 19.3 2000 9 999999999 150 0.1310 0 88 999.000 999.0 99.0 -1.67796E7 12.8 9.3 79 101200 0 0 308 0 0 0 0 0 0 0 270 1.5 0 0 19.3 2000 9 999999999 150 0.1310 0 88 999.000 999.0 99.0 -1.67832E7 13.9 9.7 76 101200 111 1289 319 30 52 25 3300 2700 3000 520 240 1.5 1 1 19.3 2000 9 999999999 150 0.2160 0 88 999.000 999.0 99.0 -1.67868E7 15.0 10.0 72 101200 360 1322 324 162 311 77 17200 26600 9900 1400 200 1.5 1 1 11.3 2000 9 999999999 150 0.2160 0 88 999.000 999.0 99.0 -1.67904E7 16.5 10.7 68 101300 608 1322 332 366 515 128 39300 51000 15800 2560 150 2.0 1 1 11.3 2000 9 999999999 150 0.2160 0 88 999.000 999.0 99.0 -1.6794E7 17.9 11.0 63 101300 835 1322 332 578 669 154 60800 67400 18100 3810 100 2.6 0 0 11.3 2000 9 999999999 150 0.2160 0 88 999.000 999.0 99.0 -1.67976E7 19.4 11.1 59 101300 1026 1322 339 751 735 179 80000 75100 21600 6020 50 3.1 0 0 14.5 2000 9 999999999 150 0.2160 0 88 999.000 999.0 99.0 -1.68012E7 20.5 11.7 56 101300 1167 1322 345 882 776 195 91400 77700 22800 8590 30 3.6 0 0 14.5 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68048E7 21.7 12.0 54 101300 1249 1322 351 962 800 204 100300 80200 24300 13250 10 4.1 0 0 14.5 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68084E7 22.8 12.2 51 101300 1266 1322 357 979 806 206 102300 80800 24700 14960 350 4.6 0 0 16.1 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.6812E7 22.6 12.1 51 101200 1217 1322 356 930 790 200 96700 79200 23700 10920 330 3.9 0 0 16.1 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68156E7 22.4 12.0 51 101200 1105 1322 355 827 762 188 88600 78100 23100 7650 300 3.3 0 0 16.1 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68192E7 22.2 11.7 51 101200 938 1322 353 677 715 168 71700 72700 20000 4810 280 2.6 0 0 24.1 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68228E7 20.5 11.2 55 101200 728 1322 345 485 628 139 50800 62400 16300 3070 280 3.5 0 0 24.1 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68264E7 18.9 10.7 59 101200 488 1322 337 278 478 100 29700 45100 13000 1890 280 4.3 0 0 24.1 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.683E7 17.2 10.0 63 101200 237 1322 328 96 217 57 10000 15400 7200 1030 280 5.2 0 0 19.3 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68336E7 16.1 10.2 68 101300 27 650 323 12 5 12 1300 300 1300 300 290 4.7 0 0 19.3 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68372E7 15.0 10.2 73 101300 0 0 319 0 0 0 0 0 0 0 300 4.1 0 0 19.3 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68408E7 13.9 10.0 78 101300 0 0 314 0 0 0 0 0 0 0 310 3.6 0 0 19.3 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68444E7 13.7 10.2 79 101300 0 0 313 0 0 0 0 0 0 0 310 3.3 0 0 19.3 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.6848E7 13.5 10.2 79 101300 0 0 318 0 0 0 0 0 0 0 300 2.9 1 1 19.3 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68516E7 13.3 10.0 80 101300 0 0 317 0 0 0 0 0 0 0 300 2.6 1 1 19.3 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68552E7 13.3 10.1 79 101300 0 0 324 0 0 0 0 0 0 0 300 2.2 4 3 19.3 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68588E7 13.3 9.8 79 101300 0 0 329 0 0 0 0 0 0 0 300 1.9 6 5 19.3 2000 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68624E7 13.3 9.4 78 101300 0 0 336 0 0 0 0 0 0 0 300 1.5 9 7 19.3 340 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.6866E7 13.7 9.6 77 101300 0 0 343 0 0 0 0 0 0 0 310 1.7 9 8 19.3 330 9 999999999 160 0.2160 0 88 999.000 999.0 99.0 -1.68696E7 14.0 9.9 76 101400 109 1289 352 26 0 26 2900 0 2900 890 330 1.9 10 9 19.3 320 9 999999999 160 0.3950 0 88 999.000 999.0 99.0 -1.68732E7 14.4 10.0 75 101400 358 1322 364 68 2 67 7800 100 7800 2640 340 2.1 10 10 11.3 310 9 999999999 170 0.3950 0 88 999.000 999.0 99.0 -1.68768E7 15.3 10.7 73 101400 606 1322 352 243 99 197 26600 9800 22100 5690 330 2.9 8 8 11.3 2000 9 999999999 170 0.3950 0 88 999.000 999.0 99.0 -1.68804E7 16.3 11.0 70 101400 833 1322 352 428 217 291 46700 22800 32300 8110 330 3.8 7 7 11.3 2000 9 999999999 170 0.3950 0 88 999.000 999.0 99.0 -1.6884E7 17.2 11.1 68 101400 1024 1322 349 597 364 314 65200 39400 34600 10340 320 4.6 5 5 24.1 2000 9 999999999 180 0.3950 0 88 999.000 999.0 99.0 -1.68876E7 18.7 11.7 64 101400 1166 1322 354 770 495 332 82400 51700 36700 16460 320 5.8 4 4 24.1 2000 9 999999999 180 0.3950 0 88 999.000 999.0 99.0 -1.68912E7 20.2 12.0 59 101300 1248 1322 356 884 590 325 95900 61800 37400 23180 320 7.0 2 2 24.1 2000 9 999999999 180 0.3950 0 88 999.000 999.0 99.0 -1.68948E7 21.7 12.2 55 101300 1265 1322 358 895 629 292 94500 63600 33500 22470 320 8.2 1 1 40.2 2000 9 999999999 180 0.3950 0 88 999.000 999.0 99.0 -1.68984E7 20.9 12.1 57 101300 1216 1322 354 887 640 297 93100 64500 33600 17370 320 8.4 2 1 40.2 2000 9 999999999 190 0.3950 0 88 999.000 999.0 99.0 -1.6902E7 20.2 12.0 59 101200 1104 1322 356 783 602 279 84600 62900 32000 11330 310 8.6 2 2 40.2 2000 9 999999999 190 0.3950 0 88 999.000 999.0 99.0 -1.69056E7 19.4 11.7 61 101200 937 1322 351 578 412 285 60800 42700 30500 8240 310 8.8 3 2 24.1 2000 9 999999999 190 0.3950 0 88 999.000 999.0 99.0 -1.69092E7 18.3 11.4 64 101200 727 1322 352 396 329 215 42700 34600 23600 5030 310 8.4 4 4 24.1 2000 9 999999999 190 0.3950 0 88 999.000 999.0 99.0 -1.69128E7 17.2 11.1 67 101300 487 1322 349 209 195 137 22300 18800 15300 2800 310 8.1 6 5 24.1 2000 9 999999999 190 0.3950 0 88 999.000 999.0 99.0 -1.69164E7 16.1 10.6 70 101300 235 1322 350 50 24 46 5500 1900 5200 1200 310 7.7 7 7 19.3 5790 9 999999999 190 0.3950 0 88 999.000 999.0 99.0 -1.692E7 15.5 10.6 72 101300 26 628 343 9 0 9 1100 0 1100 330 310 6.9 6 6 19.3 2000 9 999999999 190 0.3950 0 88 999.000 999.0 99.0 -1.69236E7 15.0 10.4 73 101400 0 0 335 0 0 0 0 0 0 0 300 6.0 4 4 19.3 2000 9 999999999 190 0.3950 0 88 999.000 999.0 99.0 -1.69272E7 14.4 10.0 75 101400 0 0 329 0 0 0 0 0 0 0 300 5.2 3 3 19.3 2000 9 999999999 190 0.3950 0 88 999.000 999.0 99.0 -1.69308E7 14.0 10.2 77 101400 0 0 328 0 0 0 0 0 0 0 300 4.3 3 3 19.3 2000 9 999999999 180 0.3950 0 88 999.000 999.0 99.0 -1.69344E7 13.7 10.2 78 101400 0 0 323 0 0 0 0 0 0 0 290 3.5 2 2 19.3 2000 9 999999999 180 0.3950 0 88 999.000 999.0 99.0 -1.6938E7 13.3 10.0 80 101500 0 0 321 0 0 0 0 0 0 0 290 2.6 2 2 24.1 2000 9 999999999 180 0.3950 0 88 999.000 999.0 99.0 -1.69416E7 13.5 10.3 79 101500 0 0 328 0 0 0 0 0 0 0 300 2.8 4 4 24.1 2000 9 999999999 180 0.3950 0 88 999.000 999.0 99.0 -1.69452E7 13.7 10.2 79 101500 0 0 334 0 0 0 0 0 0 0 300 2.9 7 6 24.1 2000 9 999999999 180 0.3950 0 88 999.000 999.0 99.0 -1.69488E7 13.9 10.0 78 101500 0 0 344 0 0 0 0 0 0 0 310 3.1 9 8 24.1 460 9 999999999 180 0.3950 0 88 999.000 999.0 99.0 -1.69524E7 14.6 10.0 74 101500 0 0 342 0 0 0 0 0 0 0 270 2.9 8 7 24.1 1423 9 999999999 180 0.3950 0 88 999.000 999.0 99.0 -1.6956E7 15.4 10.1 71 101500 106 1267 346 27 12 26 3000 700 2900 630 240 2.8 8 7 24.1 2387 9 999999999 190 0.1370 0 88 999.000 999.0 99.0 -1.69596E7 16.1 10.0 67 101600 355 1322 346 139 137 102 15100 12000 11900 2250 200 2.6 7 6 16.1 3350 9 999999999 190 0.1370 0 88 999.000 999.0 99.0 -1.69632E7 17.0 10.7 65 101600 604 1322 355 252 193 164 27800 19600 18800 3970 210 3.8 8 7 16.1 2397 9 999999999 200 0.1370 0 88 999.000 999.0 99.0 -1.69668E7 18.0 11.0 63 101700 832 1322 366 276 112 205 30700 11900 23300 5700 210 5.0 8 8 16.1 1443 9 999999999 200 0.1370 0 88 999.000 999.0 99.0 -1.69704E7 18.9 11.1 61 101700 1023 1322 378 270 67 218 30500 7200 25000 7420 220 6.2 9 9 24.1 490 9 999999999 200 0.1370 0 88 999.000 999.0 99.0 -1.6974E7 19.3 11.7 61 101700 1164 1322 367 652 318 371 71600 34600 41100 16900 230 6.5 7 7 24.1 2000 9 999999999 209 0.1370 0 88 999.000 999.0 99.0 -1.69776E7 19.6 12.0 61 101600 1247 1322 362 927 750 218 99700 77000 27000 15200 230 6.9 5 5 24.1 2000 9 999999999 209 0.1370 0 88 999.000 999.0 99.0 -1.69812E7 20.0 12.2 61 101600 1264 1322 358 814 619 220 87600 63500 26700 17040 240 7.2 3 3 48.3 2000 9 999999999 220 0.1370 0 88 999.000 999.0 99.0 -1.69848E7 19.6 12.1 62 101600 1215 1322 356 876 724 209 94200 74300 25800 12440 230 6.7 3 3 48.3 2000 9 999999999 220 0.1370 0 88 999.000 999.0 99.0 -1.69884E7 19.3 12.0 62 101600 1103 1322 358 774 651 230 81800 66100 26500 9140 230 6.2 4 4 48.3 2000 9 999999999 230 0.1370 0 88 999.000 999.0 99.0 -1.6992E7 18.9 11.7 63 101600 936 1322 355 621 590 202 64900 59400 22700 5620 220 5.7 4 4 32.2 2000 9 999999999 230 0.1370 0 88 999.000 999.0 99.0 -1.69956E7 18.0 11.6 66 101600 726 1322 353 454 511 173 48400 51900 19900 3810 230 5.0 5 5 32.2 2000 9 999999999 230 0.1370 0 88 999.000 999.0 99.0 -1.69992E7 17.0 11.4 69 101600 486 1322 356 249 287 143 26400 27700 16200 2950 240 4.3 7 7 32.2 2000 9 999999999 230 0.1370 0 88 999.000 999.0 99.0 -1.70028E7 16.1 11.1 72 101600 233 1322 356 57 38 50 6200 2900 5700 1290 250 3.6 8 8 32.2 370 9 999999999 230 0.1370 0 88 999.000 999.0 99.0 -1.70064E7 15.9 11.3 73 101600 25 628 363 7 1 6 700 0 700 230 250 3.9 9 9 32.2 360 9 999999999 220 0.1370 0 88 999.000 999.0 99.0 -1.701E7 15.8 11.3 74 101600 0 0 363 0 0 0 0 0 0 0 240 4.3 9 9 32.2 350 9 999999999 220 0.1370 0 88 999.000 999.0 99.0 -1.70136E7 15.6 11.1 75 101700 0 0 372 0 0 0 0 0 0 0 240 4.6 10 10 24.1 340 9 999999999 220 0.1370 0 88 999.000 999.0 99.0 -1.70172E7 15.4 11.2 75 101700 0 0 361 0 0 0 0 0 0 0 260 3.6 9 9 24.1 420 9 999999999 220 0.1370 0 88 999.000 999.0 99.0 -1.70208E7 15.2 11.0 75 101600 0 0 346 0 0 0 0 0 0 0 270 2.5 8 7 24.1 500 9 999999999 220 0.1370 0 88 999.000 999.0 99.0 -1.70244E7 15.0 10.6 75 101600 0 0 341 0 0 0 0 0 0 0 290 1.5 7 6 24.1 580 9 999999999 220 0.1370 0 88 999.000 999.0 99.0 -1.7028E7 15.0 11.0 76 101600 0 0 345 0 0 0 0 0 0 0 270 1.9 8 7 24.1 560 9 999999999 209 0.1370 0 88 999.000 999.0 99.0 -1.70316E7 15.0 11.2 77 101600 0 0 346 0 0 0 0 0 0 0 260 2.2 8 7 24.1 540 9 999999999 209 0.1370 0 88 999.000 999.0 99.0 -1.70352E7 15.0 11.1 78 101600 0 0 351 0 0 0 0 0 0 0 240 2.6 9 8 24.1 520 9 999999999 209 0.1370 0 88 999.000 999.0 99.0 -1.70388E7 15.2 11.1 77 101600 0 0 352 0 0 0 0 0 0 0 230 2.6 9 8 24.1 630 9 999999999 209 0.1370 0 88 999.000 999.0 99.0 -1.70424E7 15.4 11.2 76 101700 104 1245 353 26 4 26 3000 0 3000 880 220 2.6 9 8 24.1 740 9 999999999 220 0.1460 0 88 999.000 999.0 99.0 -1.7046E7 15.6 11.1 75 101700 353 1322 354 109 73 90 12000 6400 10300 1980 210 2.6 9 8 24.1 850 9 999999999 220 0.1460 0 88 999.000 999.0 99.0 -1.70496E7 16.0 11.4 73 101700 602 1322 364 144 5 142 16700 400 16500 5900 210 3.5 9 9 24.1 700 9 999999999 220 0.1460 0 88 999.000 999.0 99.0 -1.70532E7 16.3 11.4 72 101700 830 1322 365 293 53 260 32300 5400 28900 8700 220 4.3 10 9 24.1 550 9 999999999 230 0.1460 0 88 999.000 999.0 99.0 -1.70568E7 16.7 11.1 70 101700 1021 1322 377 269 37 240 29700 3800 26800 9750 220 5.2 10 10 24.1 400 9 999999999 230 0.1460 0 88 999.000 999.0 99.0 -1.70604E7 17.4 11.5 68 101700 1163 1322 371 494 159 353 54800 17000 39800 15640 250 4.7 9 9 24.1 2807 9 999999999 230 0.1460 0 88 999.000 999.0 99.0 -1.7064E7 18.2 11.7 65 101700 1246 1322 368 835 495 367 89400 51700 40600 25930 270 4.1 8 8 24.1 5213 9 999999999 240 0.1460 0 88 999.000 999.0 99.0 -1.70676E7 18.9 11.7 63 101700 1263 1322 365 661 420 258 73500 44100 31200 20060 300 3.6 7 7 32.2 7620 9 999999999 240 0.1460 0 88 999.000 999.0 99.0 -1.70712E7 19.3 12.0 62 101600 1214 1322 360 860 626 284 90500 63300 32300 16500 300 5.1 5 5 32.2 2000 9 999999999 240 0.1460 0 88 999.000 999.0 99.0 -1.70748E7 19.6 12.1 62 101600 1102 1322 353 776 686 203 82700 70100 24100 8140 310 6.7 2 2 32.2 2000 9 999999999 250 0.1460 0 88 999.000 999.0 99.0 -1.70784E7 20.0 12.2 61 101500 935 1322 344 617 686 130 64700 68900 15900 3470 310 8.2 0 0 40.2 2000 9 999999999 250 0.1460 0 88 999.000 999.0 99.0 -1.7082E7 18.5 11.8 65 101500 724 1322 343 462 631 116 48900 63200 14300 2620 300 7.5 1 1 40.2 2000 9 999999999 240 0.1460 0 88 999.000 999.0 99.0 -1.70856E7 17.1 11.2 68 101500 484 1322 335 270 489 91 28000 45400 11400 1740 290 6.9 1 1 40.2 2000 9 999999999 240 0.1460 0 88 999.000 999.0 99.0 -1.70892E7 15.6 10.6 72 101500 231 1322 332 94 244 51 9800 17100 6900 910 280 6.2 2 2 24.1 2000 9 999999999 230 0.1460 0 88 999.000 999.0 99.0 -1.70928E7 15.2 10.9 75 101500 24 606 339 9 4 9 0 0 0 0 280 5.9 5 5 24.1 2000 9 999999999 220 0.1460 0 88 999.000 999.0 99.0 -1.70964E7 14.8 11.1 78 101600 0 0 345 0 0 0 0 0 0 0 270 5.5 7 7 24.1 2000 9 999999999 220 0.1460 0 88 999.000 999.0 99.0 -1.71E7 14.4 11.1 81 101600 0 0 366 0 0 0 0 0 0 0 270 5.2 10 10 19.3 270 9 999999999 209 0.1460 0 88 999.000 999.0 99.0 -1.71036E7 14.0 11.0 81 101600 0 0 364 0 0 0 0 0 0 0 270 5.4 10 10 19.3 250 9 999999999 200 0.1460 0 88 999.000 999.0 99.0 -1.71072E7 13.7 10.6 80 101600 0 0 362 0 0 0 0 0 0 0 280 5.5 10 10 19.3 230 9 999999999 200 0.1460 0 88 999.000 999.0 99.0 -1.71108E7 13.3 10.0 80 101600 0 0 359 0 0 0 0 0 0 0 280 5.7 10 10 16.1 210 9 999999999 190 0.1460 0 88 999.000 999.0 99.0 -1.71144E7 13.1 10.3 81 101600 0 0 358 0 0 0 0 0 0 0 280 5.2 10 10 16.1 200 9 999999999 180 0.1460 0 88 999.000 999.0 99.0 -1.7118E7 13.0 10.2 82 101600 0 0 358 0 0 0 0 0 0 0 270 4.6 10 10 16.1 190 9 999999999 180 0.1460 0 88 999.000 999.0 99.0 -1.71216E7 12.8 10.0 83 101600 0 0 356 0 0 0 0 0 0 0 270 4.1 10 10 11.3 180 9 999999999 170 0.1460 0 88 999.000 999.0 99.0 -1.71252E7 12.6 9.8 83 101600 0 0 355 0 0 0 0 0 0 0 270 4.5 10 10 11.3 180 9 999999999 170 0.1460 0 88 999.000 999.0 99.0 -1.71288E7 12.4 9.7 83 101600 101 1245 354 17 1 17 2000 0 2000 630 260 4.8 10 10 11.3 180 9 999999999 170 0.1170 0 88 999.000 999.0 99.0 -1.71324E7 12.2 9.4 83 101700 350 1323 353 50 17 46 5600 1500 5200 1330 260 5.2 10 10 11.3 180 9 999999999 170 0.1170 0 88 999.000 999.0 99.0 -1.7136E7 12.6 9.7 81 101700 600 1323 355 139 3 138 16100 200 16000 5770 260 5.5 10 10 11.3 190 9 999999999 170 0.1170 0 88 999.000 999.0 99.0 -1.71396E7 12.9 9.7 80 101700 828 1323 356 266 8 261 30500 700 30100 10890 250 5.9 10 10 11.3 200 9 999999999 170 0.1170 0 88 999.000 999.0 99.0 -1.71432E7 13.3 9.4 78 101700 1020 1323 358 226 3 224 27100 200 26900 10780 250 6.2 10 10 11.3 210 9 999999999 170 0.1170 0 88 999.000 999.0 99.0 -1.71468E7 14.4 9.8 74 101700 1162 1323 364 322 1 321 38300 100 38200 14730 260 6.7 10 10 11.3 263 9 999999999 170 0.1170 0 88 999.000 999.0 99.0 -1.71504E7 15.6 10.0 69 101700 1245 1323 360 578 141 445 63700 15000 49500 25700 260 7.2 9 9 11.3 317 9 999999999 170 0.1170 0 88 999.000 999.0 99.0 -1.7154E7 16.7 10.0 65 101700 1262 1323 366 499 99 405 55500 10600 45400 25390 270 7.7 9 9 19.3 370 9 999999999 170 0.1170 0 88 999.000 999.0 99.0 -1.71576E7 16.5 9.9 65 101700 1213 1323 357 565 262 324 63100 28600 36800 17200 270 7.9 8 8 19.3 380 9 999999999 170 0.1170 0 88 999.000 999.0 99.0 -1.71612E7 16.3 9.7 65 101600 1101 1323 356 508 108 418 56000 11200 46700 17240 260 8.0 8 8 19.3 390 9 999999999 170 0.1170 0 88 999.000 999.0 99.0 -1.71648E7 16.1 9.4 65 101600 934 1323 349 459 238 290 49800 25700 31700 8350 260 8.2 7 7 17.7 400 9 999999999 170 0.1170 0 88 999.000 999.0 99.0 -1.71684E7 15.5 9.5 67 101600 723 1323 346 323 149 242 35300 15400 26800 6240 260 7.5 7 7 17.7 400 9 999999999 170 0.1170 0 88 999.000 999.0 99.0 -1.7172E7 15.0 9.5 70 101600 482 1323 349 191 135 142 20900 13000 16100 3270 260 6.9 8 8 17.7 400 9 999999999 160 0.1170 0 88 999.000 999.0 99.0 -1.71756E7 14.4 9.4 72 101600 229 1323 346 67 59 57 7400 4300 6600 1210 260 6.2 8 8 16.1 400 9 999999999 160 0.1170 0 88 999.000 999.0 99.0 -1.71792E7 14.0 9.4 73 101600 23 606 352 6 1 6 0 0 0 0 260 5.9 9 9 16.1 390 9 999999999 160 0.1170 0 88 999.000 999.0 99.0 -1.71828E7 13.7 9.3 74 101600 0 0 350 0 0 0 0 0 0 0 260 5.5 9 9 16.1 380 9 999999999 150 0.1170 0 88 999.000 999.0 99.0 -1.71864E7 13.3 8.9 75 101600 0 0 357 0 0 0 0 0 0 0 260 5.2 10 10 19.3 370 9 999999999 150 0.1170 0 88 999.000 999.0 99.0 -1.719E7 13.1 9.3 77 101600 0 0 357 0 0 0 0 0 0 0 260 5.4 10 10 19.3 337 9 999999999 150 0.1170 0 88 999.000 999.0 99.0 -1.71936E7 13.0 9.5 78 101600 0 0 357 0 0 0 0 0 0 0 270 5.5 10 10 19.3 303 9 999999999 140 0.1170 0 88 999.000 999.0 99.0 -1.71972E7 12.8 9.4 80 101600 0 0 356 0 0 0 0 0 0 0 270 5.7 10 10 19.3 270 9 999999999 140 0.1170 0 88 999.000 999.0 99.0 -1.72008E7 12.8 9.7 80 101600 0 0 356 0 0 0 0 0 0 0 270 5.2 10 10 19.3 283 9 999999999 140 0.1170 0 88 999.000 999.0 99.0 -1.72044E7 12.8 9.6 80 101600 0 0 356 0 0 0 0 0 0 0 260 4.6 10 10 19.3 297 9 999999999 130 0.1170 0 88 999.000 999.0 99.0 -1.7208E7 12.8 9.4 80 101600 0 0 356 0 0 0 0 0 0 0 260 4.1 10 10 19.3 310 9 999999999 130 0.1170 0 88 999.000 999.0 99.0 -1.72116E7 12.8 9.3 79 101600 0 0 355 0 0 0 0 0 0 0 250 4.5 10 10 19.3 320 9 999999999 130 0.1170 0 88 999.000 999.0 99.0 -1.72152E7 12.8 9.2 78 101700 99 1224 355 18 0 18 2100 0 2100 660 240 4.8 10 10 19.3 330 9 999999999 130 0.2410 0 88 999.000 999.0 99.0 -1.72188E7 12.8 8.9 77 101700 348 1323 355 47 4 46 5600 100 5500 1910 230 5.2 10 10 16.1 340 9 999999999 130 0.2410 0 88 999.000 999.0 99.0 -1.72224E7 13.9 9.4 73 101700 597 1323 351 195 67 165 21500 6600 18500 4910 240 5.7 9 9 16.1 370 9 999999999 130 0.2410 0 88 999.000 999.0 99.0 -1.7226E7 15.0 9.5 69 101700 826 1323 357 208 34 187 23000 3400 20900 6570 260 6.2 9 9 16.1 400 9 999999999 130 0.2410 0 88 999.000 999.0 99.0 -1.72296E7 16.1 9.4 65 101800 1018 1323 354 400 165 273 44600 17600 31000 9230 270 6.7 8 8 19.3 430 9 999999999 140 0.2410 0 88 999.000 999.0 99.0 -1.72332E7 16.7 9.6 63 101800 1161 1323 345 809 562 314 87000 58800 35300 15230 270 7.0 5 5 19.3 2000 9 999999999 140 0.2410 0 88 999.000 999.0 99.0 -1.72368E7 17.2 9.6 60 101800 1243 1323 342 899 678 260 95500 69000 30500 17590 280 7.4 3 3 19.3 2000 9 999999999 140 0.2410 0 88 999.000 999.0 99.0 -1.72404E7 17.8 9.4 58 101800 1261 1323 330 964 777 221 103700 79700 27500 16740 280 7.7 0 0 24.1 2000 9 999999999 140 0.2410 0 88 999.000 999.0 99.0 -1.7244E7 17.6 9.7 60 101700 1212 1323 330 918 764 216 98500 78300 26600 12640 280 8.4 0 0 24.1 2000 9 999999999 140 0.2410 0 88 999.000 999.0 99.0 -1.72476E7 17.4 9.9 61 101700 1100 1323 329 820 741 202 87300 75700 24200 8050 280 9.1 0 0 24.1 2000 9 999999999 140 0.2410 0 88 999.000 999.0 99.0 -1.72512E7 17.2 10.0 63 101700 933 1323 328 669 692 180 70500 70100 21000 5050 280 9.8 0 0 24.1 2000 9 999999999 140 0.2410 0 88 999.000 999.0 99.0 -1.72548E7 16.7 9.9 64 101700 721 1323 326 476 600 147 49400 59400 17000 3200 280 9.1 0 0 24.1 2000 9 999999999 140 0.2410 0 88 999.000 999.0 99.0 -1.72584E7 16.1 9.7 66 101600 480 1323 323 266 442 105 28300 41500 13200 1990 280 8.4 0 0 24.1 2000 9 999999999 140 0.2410 0 88 999.000 999.0 99.0 -1.7262E7 15.6 9.4 67 101600 227 1323 320 88 179 57 9300 12300 7200 1060 280 7.7 0 0 24.1 2000 9 999999999 140 0.2410 0 88 999.000 999.0 99.0 -1.72656E7 14.8 9.6 71 101600 22 584 317 10 2 10 0 0 0 0 280 7.4 0 0 24.1 2000 9 999999999 140 0.2410 0 88 999.000 999.0 99.0 -1.72692E7 14.1 9.6 74 101700 0 0 314 0 0 0 0 0 0 0 280 7.0 0 0 24.1 2000 9 999999999 140 0.2410 0 88 999.000 999.0 99.0 -1.72728E7 13.3 9.4 78 101700 0 0 310 0 0 0 0 0 0 0 280 6.7 0 0 24.1 2000 9 999999999 140 0.2410 0 88 999.000 999.0 99.0 -1.72764E7 13.1 9.8 80 101700 0 0 323 0 0 0 0 0 0 0 280 7.0 3 3 24.1 2000 9 999999999 130 0.2410 0 88 999.000 999.0 99.0 -1.728E7 13.0 10.0 81 101700 0 0 335 0 0 0 0 0 0 0 280 7.4 7 7 24.1 2000 9 999999999 130 0.2410 0 88 999.000 999.0 99.0 -1.72836E7 12.8 10.0 83 101700 0 0 356 0 0 0 0 0 0 0 280 7.7 10 10 24.1 180 9 999999999 130 0.2410 0 88 999.000 999.0 99.0 -1.72872E7 12.6 10.3 84 101700 0 0 356 0 0 0 0 0 0 0 280 7.5 10 10 24.1 180 9 999999999 130 0.2410 0 88 999.000 999.0 99.0 -1.72908E7 12.4 10.2 85 101700 0 0 355 0 0 0 0 0 0 0 270 7.4 10 10 24.1 180 9 999999999 130 0.2410 0 88 999.000 999.0 99.0 -1.72944E7 12.2 10.0 86 101700 0 0 353 0 0 0 0 0 0 0 270 7.2 10 10 19.3 180 9 999999999 130 0.2410 0 88 999.000 999.0 99.0 -1.7298E7 12.8 10.0 83 101800 0 0 356 0 0 0 0 0 0 0 280 7.2 10 10 19.3 200 9 999999999 140 0.2410 0 88 999.000 999.0 99.0 -1.73016E7 13.3 10.1 81 101800 96 1202 349 17 2 17 2000 0 2000 620 290 7.2 10 9 19.3 220 9 999999999 140 0.0950 0 88 999.000 999.0 99.0 -1.73052E7 13.9 10.0 78 101800 345 1323 352 55 0 54 6300 0 6300 2180 300 7.2 10 9 16.1 240 9 999999999 150 0.0950 0 88 999.000 999.0 99.0 -1.73088E7 14.8 10.7 75 101800 595 1323 344 250 154 180 27300 15500 20300 4340 290 7.0 7 7 16.1 2000 9 999999999 160 0.0950 0 88 999.000 999.0 99.0 -1.73124E7 15.8 11.0 73 101800 824 1323 340 512 552 167 53500 55300 18900 4020 290 6.9 5 4 16.1 2000 9 999999999 160 0.0950 0 88 999.000 999.0 99.0 -1.7316E7 16.7 11.1 70 101800 1017 1323 338 709 735 142 74500 74000 17500 4350 280 6.7 2 2 19.3 2000 9 999999999 170 0.0950 0 88 999.000 999.0 99.0 -1.73196E7 17.4 11.5 68 101800 1159 1323 337 835 818 116 86000 82000 14000 4540 280 7.4 1 1 19.3 2000 9 999999999 180 0.0950 0 88 999.000 999.0 99.0 -1.73232E7 18.2 11.7 65 101800 1242 1323 341 860 758 147 92900 77100 20300 9590 280 8.1 1 1 19.3 2000 9 999999999 180 0.0950 0 88 999.000 999.0 99.0 -1.73268E7 18.9 11.7 63 101800 1260 1323 338 980 897 123 100700 90000 14800 7560 280 8.8 0 0 40.2 2000 9 999999999 190 0.0950 0 88 999.000 999.0 99.0 -1.73304E7 18.7 11.8 64 101700 1211 1323 337 945 898 120 97200 90100 14500 5710 280 10.0 0 0 40.2 2000 9 999999999 200 0.0950 0 88 999.000 999.0 99.0 -1.7334E7 18.5 11.8 64 101700 1099 1323 336 827 857 113 85300 85800 13900 3700 270 11.2 0 0 40.2 2000 9 999999999 200 0.0950 0 88 999.000 999.0 99.0 -1.73376E7 18.3 11.7 65 101600 931 1323 335 690 834 101 71400 83100 12800 2450 270 12.4 0 0 40.2 2000 9 999999999 209 0.0950 0 88 999.000 999.0 99.0 -1.73412E7 17.4 11.0 66 101600 720 1323 330 501 764 84 53100 75900 11800 1930 270 11.2 0 0 40.2 2000 9 999999999 200 0.0950 0 88 999.000 999.0 99.0 -1.73448E7 16.5 10.3 66 101500 478 1323 325 298 648 62 30900 60400 9000 1260 280 10.0 0 0 40.2 2000 9 999999999 200 0.0950 0 88 999.000 999.0 99.0 -1.73484E7 15.6 9.4 67 101500 225 1323 320 107 399 39 11000 28700 6100 710 280 8.8 0 0 24.1 2000 9 999999999 190 0.0950 0 88 999.000 999.0 99.0 -1.7352E7 15.0 9.2 68 101600 21 562 318 14 35 10 0 0 0 0 280 9.0 0 0 24.1 2000 9 999999999 180 0.0950 0 88 999.000 999.0 99.0 -1.73556E7 14.5 8.9 68 101600 0 0 315 0 0 0 0 0 0 0 270 9.1 0 0 24.1 2000 9 999999999 170 0.0950 0 88 999.000 999.0 99.0 -1.73592E7 13.9 8.3 69 101600 0 0 312 0 0 0 0 0 0 0 270 9.3 0 0 24.1 2000 9 999999999 160 0.0950 0 88 999.000 999.0 99.0 -1.73628E7 13.3 8.4 71 101600 0 0 309 0 0 0 0 0 0 0 280 7.9 0 0 24.1 2000 9 999999999 160 0.0950 0 88 999.000 999.0 99.0 -1.73664E7 12.8 8.2 73 101600 0 0 307 0 0 0 0 0 0 0 280 6.6 0 0 24.1 2000 9 999999999 150 0.0950 0 88 999.000 999.0 99.0 -1.737E7 12.2 7.8 75 101600 0 0 304 0 0 0 0 0 0 0 290 5.2 0 0 24.1 2000 9 999999999 140 0.0950 0 88 999.000 999.0 99.0 -1.73736E7 12.6 7.9 72 101600 0 0 306 0 0 0 0 0 0 0 300 4.5 0 0 24.1 2000 9 999999999 140 0.0950 0 88 999.000 999.0 99.0 -1.73772E7 12.9 7.6 70 101600 0 0 307 0 0 0 0 0 0 0 300 3.8 0 0 24.1 2000 9 999999999 130 0.0950 0 88 999.000 999.0 99.0 -1.73808E7 13.3 7.2 67 101600 0 0 308 0 0 0 0 0 0 0 310 3.1 0 0 24.1 2000 9 999999999 120 0.0950 0 88 999.000 999.0 99.0 -1.73844E7 13.7 7.2 65 101600 0 0 310 0 0 0 0 0 0 0 290 5.0 0 0 24.1 2000 9 999999999 120 0.0950 0 88 999.000 999.0 99.0 -1.7388E7 14.0 7.3 64 101600 93 1180 311 38 162 23 3900 7500 3200 400 280 6.9 0 0 24.1 2000 9 999999999 130 0.0950 0 88 999.000 999.0 99.0 -1.73916E7 14.4 7.2 62 101600 343 1323 313 193 550 50 20200 46800 8100 960 260 8.8 0 0 19.3 2000 9 999999999 130 0.0950 0 88 999.000 999.0 99.0 -1.73952E7 14.8 8.1 63 101600 593 1323 315 400 727 73 42000 70400 10300 1560 260 8.3 0 0 19.3 2000 9 999999999 130 0.0950 0 88 999.000 999.0 99.0 -1.73988E7 15.2 8.6 64 101600 822 1323 318 603 818 93 64400 82200 13200 2330 260 7.7 0 0 19.3 2000 9 999999999 140 0.0950 0 88 999.000 999.0 99.0 -1.74024E7 15.6 8.9 65 101600 1015 1323 320 776 869 107 80200 86800 13400 2940 260 7.2 0 0 16.1 2000 9 999999999 140 0.0950 0 88 999.000 999.0 99.0 -1.7406E7 16.3 9.1 62 101600 1158 1323 323 905 898 117 93200 90000 14300 4540 270 7.4 0 0 16.1 2000 9 999999999 140 0.0950 0 88 999.000 999.0 99.0 -1.74096E7 17.1 9.1 59 101500 1241 1323 327 981 913 122 100800 91600 14700 6700 270 7.5 0 0 16.1 2000 9 999999999 150 0.0950 0 88 999.000 999.0 99.0 -1.74132E7 17.8 8.9 56 101500 1259 1323 330 995 914 123 102300 91700 14800 7500 280 7.7 0 0 17.7 2000 9 999999999 150 0.0950 0 88 999.000 999.0 99.0 -1.74168E7 17.6 9.0 57 101500 1210 1323 329 951 907 120 97900 91000 14500 5670 280 7.7 0 0 17.7 2000 9 999999999 150 0.0950 0 88 999.000 999.0 99.0 -1.74204E7 17.4 9.0 57 101400 1098 1323 328 849 884 113 87500 88500 13900 3690 280 7.7 0 0 17.7 2000 9 999999999 160 0.0950 0 88 999.000 999.0 99.0 -1.7424E7 17.2 8.9 58 101400 930 1323 327 697 844 101 72000 84100 12800 2440 280 7.7 0 0 32.2 2000 9 999999999 160 0.0950 0 88 999.000 999.0 99.0 -1.74276E7 16.5 8.8 60 101400 718 1323 324 508 778 84 53800 77300 11800 1930 280 7.2 0 0 32.2 2000 9 999999999 160 0.0950 0 88 999.000 999.0 99.0 -1.74312E7 15.7 8.6 63 101300 476 1323 320 300 656 63 31100 61000 9100 1270 270 6.7 0 0 32.2 2000 9 999999999 160 0.0950 0 88 999.000 999.0 99.0 -1.74348E7 15.0 8.3 65 101300 222 1323 317 107 400 39 10900 28600 6100 710 270 6.2 0 0 24.1 2000 9 999999999 150 0.0950 0 88 999.000 999.0 99.0 -1.74384E7 14.4 8.5 67 101300 20 562 314 13 32 10 0 0 0 0 270 5.7 1 0 24.1 2000 9 999999999 150 0.0950 0 88 999.000 999.0 99.0 -1.7442E7 13.9 8.5 70 101300 0 0 312 0 0 0 0 0 0 0 280 5.1 1 0 24.1 2000 9 999999999 150 0.0950 0 88 999.000 999.0 99.0 -1.74456E7 13.3 8.3 72 101400 0 0 309 0 0 0 0 0 0 0 280 4.6 2 0 24.1 2000 9 999999999 150 0.0950 0 88 999.000 999.0 99.0 -1.74492E7 13.1 8.4 72 101400 0 0 308 0 0 0 0 0 0 0 240 3.6 1 0 24.1 2000 9 999999999 150 0.0950 0 88 999.000 999.0 99.0 -1.74528E7 13.0 8.2 72 101400 0 0 308 0 0 0 0 0 0 0 210 2.5 1 0 24.1 2000 9 999999999 150 0.0950 0 88 999.000 999.0 99.0 -1.74564E7 12.8 7.8 72 101400 0 0 306 0 0 0 0 0 0 0 170 1.5 0 0 24.1 2000 9 999999999 150 0.0950 0 88 999.000 999.0 99.0 -1.746E7 12.2 8.1 75 101300 0 0 304 0 0 0 0 0 0 0 210 1.9 0 0 24.1 2000 9 999999999 140 0.0950 0 88 999.000 999.0 99.0 -1.74636E7 11.7 8.0 77 101300 0 0 302 0 0 0 0 0 0 0 260 2.2 0 0 24.1 2000 9 999999999 140 0.0950 0 88 999.000 999.0 99.0 -1.74672E7 11.1 7.8 80 101300 0 0 299 0 0 0 0 0 0 0 300 2.6 0 0 24.1 2000 9 999999999 140 0.0950 0 88 999.000 999.0 99.0 -1.74708E7 12.0 8.0 76 101300 0 0 303 0 0 0 0 0 0 0 320 1.7 0 0 24.1 2000 9 999999999 140 0.0950 0 88 999.000 999.0 99.0 -1.74744E7 13.0 8.2 73 101300 91 1180 308 39 156 23 3800 7100 3200 400 340 0.9 0 0 24.1 2000 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.7478E7 13.9 8.3 69 101300 340 1323 312 190 540 51 19900 45800 8100 970 0 0.0 0 0 14.5 2000 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.74816E7 15.4 9.5 67 101300 591 1323 320 397 722 74 41600 69900 10400 1570 20 1.0 0 0 14.5 2000 9 999999999 130 0.0980 0 88 999.000 999.0 99.0 -1.74852E7 16.8 10.5 65 101300 820 1323 327 601 815 94 64100 81900 13200 2340 30 2.1 0 0 14.5 2000 9 999999999 130 0.0980 0 88 999.000 999.0 99.0 -1.74888E7 18.3 11.1 63 101300 1013 1323 334 776 868 109 80100 86700 13600 2950 50 3.1 0 0 14.5 2000 9 999999999 130 0.0980 0 88 999.000 999.0 99.0 -1.74924E7 20.3 11.5 57 101300 1157 1323 344 907 899 119 93400 90100 14500 4560 10 3.8 0 0 14.5 2000 9 999999999 130 0.0980 0 88 999.000 999.0 99.0 -1.7496E7 22.4 11.7 51 101300 1240 1323 354 982 914 124 101000 91700 14900 6730 340 4.5 0 0 14.5 2000 9 999999999 130 0.0980 0 88 999.000 999.0 99.0 -1.74996E7 24.4 11.7 45 101300 1258 1323 364 999 917 125 102600 92000 15000 7520 300 5.2 0 0 16.1 2000 9 999999999 130 0.0980 0 88 999.000 999.0 99.0 -1.75032E7 23.3 11.8 48 101200 1209 1323 359 957 911 122 98400 91400 14700 5700 300 6.4 0 0 16.1 2000 9 999999999 120 0.0980 0 88 999.000 999.0 99.0 -1.75068E7 22.2 11.8 52 101200 1096 1323 353 854 890 115 88100 89100 14100 3710 300 7.6 0 0 16.1 2000 9 999999999 120 0.0980 0 88 999.000 999.0 99.0 -1.75104E7 21.1 11.7 55 101200 928 1323 348 700 849 103 72500 84600 13000 2450 300 8.8 0 0 32.2 2000 9 999999999 120 0.0980 0 88 999.000 999.0 99.0 -1.7514E7 19.8 11.4 58 101200 716 1323 342 506 769 88 53300 76200 12000 1980 300 7.8 1 0 32.2 2000 9 999999999 130 0.0980 0 88 999.000 999.0 99.0 -1.75176E7 18.5 11.1 62 101200 474 1323 342 279 582 69 29300 54400 9800 1370 310 6.7 2 1 32.2 2000 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.75212E7 17.2 10.6 65 101300 220 1323 335 98 324 44 10000 22800 6200 780 310 5.7 3 1 40.2 2000 9 999999999 140 0.0980 0 88 999.000 999.0 99.0 -1.75248E7 16.5 10.8 68 101300 19 540 332 9 22 7 0 0 0 0 310 5.0 3 1 40.2 2000 9 999999999 150 0.0980 0 88 999.000 999.0 99.0 -1.75284E7 15.7 10.8 72 101400 0 0 333 0 0 0 0 0 0 0 310 4.3 4 2 40.2 2000 9 999999999 160 0.0980 0 88 999.000 999.0 99.0 -1.7532E7 15.0 10.6 75 101500 0 0 330 0 0 0 0 0 0 0 310 3.6 4 2 24.1 2000 9 999999999 160 0.0980 0 88 999.000 999.0 99.0 -1.75356E7 14.6 10.6 76 101500 0 0 334 0 0 0 0 0 0 0 310 4.1 6 4 24.1 2000 9 999999999 170 0.0980 0 88 999.000 999.0 99.0 -1.75392E7 14.3 10.4 77 101500 0 0 341 0 0 0 0 0 0 0 310 4.7 8 7 24.1 2000 9 999999999 180 0.0980 0 88 999.000 999.0 99.0 -1.75428E7 13.9 10.0 78 101500 0 0 352 0 0 0 0 0 0 0 310 5.2 10 9 24.1 4570 9 999999999 190 0.0980 0 88 999.000 999.0 99.0 -1.75464E7 13.9 10.3 78 101500 0 0 352 0 0 0 0 0 0 0 300 4.7 10 9 24.1 4267 9 999999999 200 0.0980 0 88 999.000 999.0 99.0 -1.755E7 13.9 10.2 78 101500 0 0 352 0 0 0 0 0 0 0 300 4.1 9 9 24.1 3963 9 999999999 200 0.0980 0 88 999.000 999.0 99.0 -1.75536E7 13.9 10.0 78 101500 0 0 352 0 0 0 0 0 0 0 290 3.6 9 9 19.3 3660 9 999999999 209 0.0980 0 88 999.000 999.0 99.0 -1.75572E7 14.1 10.2 78 101500 0 0 340 0 0 0 0 0 0 0 290 3.4 7 7 19.3 2000 9 999999999 209 0.0980 0 88 999.000 999.0 99.0 -1.75608E7 14.2 10.5 78 101600 88 1158 337 26 51 21 2700 2100 2500 360 300 3.3 6 6 19.3 2000 9 999999999 209 0.1120 0 88 999.000 999.0 99.0 -1.75644E7 14.4 10.6 78 101600 337 1324 333 146 268 77 15300 22300 9600 1410 300 3.1 4 4 12.9 2000 9 999999999 209 0.1120 0 88 999.000 999.0 99.0 -1.7568E7 15.7 11.1 73 101700 588 1324 337 302 385 130 32200 37800 15300 2580 320 3.6 3 3 12.9 2000 9 999999999 209 0.1120 0 88 999.000 999.0 99.0 -1.75716E7 17.0 11.2 68 101700 818 1324 339 448 499 139 47400 50400 16200 3410 340 4.1 2 2 12.9 2000 9 999999999 209 0.1120 0 88 999.000 999.0 99.0 -1.75752E7 18.3 11.1 63 101800 1012 1324 341 721 785 119 77200 79600 16200 3780 360 4.6 1 1 14.5 2000 9 999999999 200 0.1120 0 88 999.000 999.0 99.0 -1.75788E7 19.4 11.7 60 101700 1155 1324 347 856 840 122 88200 84200 14600 4600 350 5.6 1 1 14.5 2000 9 999999999 200 0.1120 0 88 999.000 999.0 99.0 -1.75824E7 20.6 12.0 58 101700 1239 1324 353 905 809 146 92600 81000 16600 7450 330 6.7 1 1 14.5 2000 9 999999999 200 0.1120 0 88 999.000 999.0 99.0 -1.7586E7 21.7 12.2 55 101700 1256 1324 358 925 844 122 95100 84700 14600 7320 320 7.7 1 1 17.7 2000 9 999999999 200 0.1120 0 88 999.000 999.0 99.0 -1.75896E7 21.1 12.1 56 101700 1207 1324 355 877 831 117 90300 83400 14100 5510 310 8.1 1 1 17.7 2000 9 999999999 200 0.1120 0 88 999.000 999.0 99.0 -1.75932E7 20.6 12.0 58 101700 1095 1324 346 833 855 124 85700 85500 14800 3820 310 8.4 0 0 17.7 2000 9 999999999 200 0.1120 0 88 999.000 999.0 99.0 -1.75968E7 20.0 11.7 59 101700 927 1324 343 682 813 111 72600 82100 15100 3070 300 8.8 0 0 24.1 2000 9 999999999 200 0.1120 0 88 999.000 999.0 99.0 -1.76004E7 18.9 11.6 63 101700 714 1324 338 487 730 92 51100 72200 12100 2030 300 9.0 0 0 24.1 2000 9 999999999 200 0.1120 0 88 999.000 999.0 99.0 -1.7604E7 17.8 11.4 66 101700 472 1324 332 288 614 68 30300 57300 9900 1350 300 9.1 0 0 24.1 2000 9 999999999 190 0.1120 0 88 999.000 999.0 99.0 -1.76076E7 16.7 11.1 70 101700 217 1324 327 99 352 41 10100 24800 6100 740 300 9.3 0 0 32.2 2000 9 999999999 190 0.1120 0 88 999.000 999.0 99.0 -1.76112E7 15.9 11.1 73 101800 18 518 324 12 22 9 0 0 0 0 300 7.9 0 0 32.2 2000 9 999999999 180 0.1120 0 88 999.000 999.0 99.0 -1.76148E7 15.2 11.0 75 101800 0 0 320 0 0 0 0 0 0 0 300 6.6 0 0 32.2 2000 9 999999999 180 0.1120 0 88 999.000 999.0 99.0 -1.76184E7 14.4 10.6 78 101900 0 0 316 0 0 0 0 0 0 0 300 5.2 0 0 24.1 2000 9 999999999 180 0.1120 0 88 999.000 999.0 99.0 -1.7622E7 14.0 10.8 80 101900 0 0 315 0 0 0 0 0 0 0 300 5.0 0 0 24.1 2000 9 999999999 170 0.1120 0 88 999.000 999.0 99.0 -1.76256E7 13.7 10.8 81 101800 0 0 313 0 0 0 0 0 0 0 300 4.8 0 0 24.1 2000 9 999999999 170 0.1120 0 88 999.000 999.0 99.0 -1.76292E7 13.3 10.6 83 101800 0 0 312 0 0 0 0 0 0 0 300 4.6 0 0 24.1 2000 9 999999999 160 0.1120 0 88 999.000 999.0 99.0 -1.76328E7 12.9 10.7 84 101800 0 0 320 0 0 0 0 0 0 0 300 4.6 2 2 24.1 2000 9 999999999 160 0.1120 0 88 999.000 999.0 99.0 -1.76364E7 12.6 10.4 85 101800 0 0 322 0 0 0 0 0 0 0 300 4.6 3 3 24.1 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -1.764E7 12.2 10.0 86 101800 0 0 324 0 0 0 0 0 0 0 300 4.6 5 5 16.1 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -1.76436E7 12.4 10.2 86 101800 0 0 332 0 0 0 0 0 0 0 300 3.9 7 7 16.1 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -1.76472E7 12.6 10.5 86 101800 86 1136 339 23 17 21 2500 1000 2400 520 310 3.3 8 8 16.1 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.76508E7 12.8 10.6 86 101800 335 1324 357 66 7 64 7600 300 7500 2480 310 2.6 10 10 11.3 210 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.76544E7 14.5 11.3 80 101800 586 1324 343 315 307 179 33600 31100 19800 3880 320 3.6 7 7 11.3 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.7658E7 16.1 11.6 74 101800 816 1324 339 543 647 143 57300 65300 17000 3480 330 4.7 3 3 11.3 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.76616E7 17.8 11.7 68 101800 1010 1324 333 766 857 111 79200 85600 13700 2940 340 5.7 0 0 12.9 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.76652E7 18.9 11.9 64 101700 1154 1324 338 897 888 120 92200 89000 14500 4530 330 6.0 0 0 12.9 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.76688E7 20.0 11.9 59 101700 1237 1324 343 970 900 126 99600 90300 15000 6690 320 6.4 0 0 12.9 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.76724E7 21.1 11.7 55 101600 1255 1324 348 984 902 127 101100 90500 15100 7470 310 6.7 0 0 24.1 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.7676E7 20.4 11.8 58 101600 1206 1324 345 945 899 124 97200 90100 14900 5680 310 7.9 0 0 24.1 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.76796E7 19.6 11.8 60 101500 1094 1324 341 842 876 116 86700 87700 14200 3690 310 9.1 0 0 24.1 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.76832E7 18.9 11.7 63 101500 925 1324 338 693 840 104 71600 83600 13100 2440 310 10.3 0 0 48.3 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.76868E7 17.6 11.4 67 101400 712 1324 332 501 768 86 52800 76100 11800 1940 310 9.4 0 0 48.3 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.76904E7 16.3 11.1 71 101400 469 1324 332 274 603 59 28500 56100 8600 1220 310 8.6 1 1 48.3 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.7694E7 15.0 10.6 75 101300 214 1324 325 96 340 40 9700 23800 5900 720 310 7.7 1 1 32.2 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.76976E7 14.3 10.6 78 101400 16 519 322 10 20 8 0 0 0 0 310 7.0 1 1 32.2 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.77012E7 13.5 10.4 80 101400 0 0 312 0 0 0 0 0 0 0 300 6.4 0 0 32.2 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.77048E7 12.8 10.0 83 101500 0 0 309 0 0 0 0 0 0 0 300 5.7 0 0 24.1 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.77084E7 12.8 10.2 83 101400 0 0 309 0 0 0 0 0 0 0 300 5.5 0 0 24.1 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.7712E7 12.8 10.2 83 101400 0 0 309 0 0 0 0 0 0 0 300 5.4 0 0 24.1 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.77156E7 12.8 10.0 83 101400 0 0 309 0 0 0 0 0 0 0 300 5.2 0 0 24.1 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.77192E7 12.6 10.3 84 101300 0 0 308 0 0 0 0 0 0 0 300 5.0 0 0 24.1 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.77228E7 12.4 10.2 85 101300 0 0 307 0 0 0 0 0 0 0 310 4.8 0 0 24.1 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.77264E7 12.2 10.0 86 101300 0 0 306 0 0 0 0 0 0 0 310 4.6 0 0 24.1 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.773E7 12.9 10.2 83 101300 0 0 309 0 0 0 0 0 0 0 320 3.9 0 0 24.1 2000 9 999999999 150 0.1010 0 88 999.000 999.0 99.0 -1.77336E7 13.7 10.5 81 101400 83 1115 313 38 184 20 3500 9300 2800 360 320 3.3 0 0 24.1 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -1.77372E7 14.4 10.6 78 101400 332 1324 316 189 581 43 19500 49600 7100 870 330 2.6 0 0 14.5 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -1.77408E7 15.9 11.4 74 101400 584 1324 324 391 742 63 41600 72100 9800 1400 360 2.9 0 0 14.5 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -1.77444E7 17.4 12.0 69 101400 814 1324 331 598 839 80 62300 83100 11100 1910 20 3.3 0 0 14.5 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -1.7748E7 18.9 12.2 65 101400 1008 1324 338 766 882 93 79600 88200 12200 2720 50 3.6 0 0 16.1 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -1.77516E7 20.2 12.4 60 101300 1152 1324 345 903 918 101 93300 92100 13000 4050 10 4.5 0 0 16.1 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -1.77552E7 21.5 12.4 56 101300 1236 1324 351 979 932 106 101000 93600 13500 5860 340 5.3 0 0 16.1 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -1.77588E7 22.8 12.2 51 101200 1254 1324 357 994 934 107 102600 93800 13600 6500 300 6.2 0 0 48.3 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -1.77624E7 21.9 12.1 54 101200 1205 1324 352 950 926 104 98100 93000 13300 5010 310 7.2 0 0 48.3 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -1.7766E7 20.9 12.0 56 101100 1092 1324 348 850 908 98 87900 91000 12700 3360 310 8.3 0 0 48.3 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -1.77696E7 20.0 11.7 59 101100 923 1324 343 697 871 88 72500 86800 11800 2290 320 9.3 0 0 48.3 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -1.77732E7 18.1 11.4 65 101100 710 1324 334 509 810 73 53100 79400 10500 1650 320 9.5 0 0 48.3 2000 9 999999999 150 0.0740 0 88 999.000 999.0 99.0 -1.77768E7 16.3 11.1 72 101100 467 1324 325 298 689 54 31300 64200 8600 1150 310 9.6 0 0 48.3 2000 9 999999999 160 0.0740 0 88 999.000 999.0 99.0 -1.77804E7 14.4 10.6 78 101100 211 1324 316 104 436 34 10700 30600 5800 630 310 9.8 0 0 48.3 2000 9 999999999 160 0.0740 0 88 999.000 999.0 99.0 -1.7784E7 13.9 10.8 81 101200 15 497 314 12 40 8 0 0 0 0 310 8.3 0 0 48.3 2000 9 999999999 160 0.0740 0 88 999.000 999.0 99.0 -1.77876E7 13.3 10.8 83 101200 0 0 312 0 0 0 0 0 0 0 310 6.7 0 0 48.3 2000 9 999999999 170 0.0740 0 88 999.000 999.0 99.0 -1.77912E7 12.8 10.6 86 101200 0 0 309 0 0 0 0 0 0 0 310 5.2 0 0 16.1 2000 9 999999999 170 0.0740 0 88 999.000 999.0 99.0 -1.77948E7 12.6 10.6 86 101200 0 0 308 0 0 0 0 0 0 0 310 4.7 0 0 16.1 2000 9 999999999 170 0.0740 0 88 999.000 999.0 99.0 -1.77984E7 12.4 10.4 86 101200 0 0 307 0 0 0 0 0 0 0 310 4.1 0 0 16.1 2000 9 999999999 180 0.0740 0 88 999.000 999.0 99.0 -1.7802E7 12.2 10.0 86 101200 0 0 306 0 0 0 0 0 0 0 310 3.6 0 0 17.7 2000 9 999999999 180 0.0740 0 88 999.000 999.0 99.0 -1.78056E7 12.0 10.3 87 101100 0 0 306 0 0 0 0 0 0 0 310 3.6 0 0 17.7 2000 9 999999999 180 0.0740 0 88 999.000 999.0 99.0 -1.78092E7 11.9 10.2 89 101100 0 0 305 0 0 0 0 0 0 0 300 3.6 0 0 17.7 2000 9 999999999 190 0.0740 0 88 999.000 999.0 99.0 -1.78128E7 11.7 10.0 90 101100 0 0 304 0 0 0 0 0 0 0 300 3.6 0 0 17.7 2000 9 999999999 190 0.0740 0 88 999.000 999.0 99.0 -1.78164E7 12.6 10.6 88 101100 0 0 322 0 0 0 0 0 0 0 270 2.7 3 3 17.7 2000 9 999999999 190 0.0740 0 88 999.000 999.0 99.0 -1.782E7 13.5 11.2 86 101200 81 1093 338 22 12 21 2400 700 2400 520 240 1.9 7 7 17.7 2000 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.78236E7 14.4 11.7 84 101200 329 1324 366 89 5 88 10000 200 9900 3110 210 1.0 10 10 9.7 150 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.78272E7 15.7 12.4 79 101200 581 1324 350 221 115 170 24100 11600 19100 4070 150 1.9 7 7 9.7 2000 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.78308E7 17.0 12.7 75 101200 812 1324 344 515 599 146 54200 60300 17100 3530 90 2.7 3 3 9.7 2000 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.78344E7 18.3 12.8 70 101200 1007 1324 336 736 787 136 77600 79300 17200 4120 30 3.6 0 0 11.3 2000 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.7838E7 19.8 13.4 66 101200 1151 1324 344 878 837 149 93500 84800 19700 6520 10 3.9 0 0 11.3 2000 9 999999999 209 0.1440 0 88 999.000 999.0 99.0 -1.78416E7 21.3 13.7 61 101100 1235 1324 358 877 760 166 93200 76900 21400 10150 360 4.3 1 1 11.3 2000 9 999999999 209 0.1440 0 88 999.000 999.0 99.0 -1.78452E7 22.8 13.9 57 101100 1253 1324 366 920 801 160 98400 81300 21400 10870 340 4.6 1 1 16.1 2000 9 999999999 209 0.1440 0 88 999.000 999.0 99.0 -1.78488E7 21.5 13.4 60 101100 1203 1324 359 879 785 164 93300 79400 21000 8640 330 6.3 1 1 16.1 2000 9 999999999 220 0.1440 0 88 999.000 999.0 99.0 -1.78524E7 20.2 12.9 62 101000 1090 1324 345 814 799 154 85700 80500 19200 5540 320 8.1 2 0 16.1 2000 9 999999999 220 0.1440 0 88 999.000 999.0 99.0 -1.7856E7 18.9 12.2 65 101000 921 1324 338 660 748 137 68600 74800 16400 3490 310 9.8 2 0 16.1 2000 9 999999999 220 0.1440 0 88 999.000 999.0 99.0 -1.78596E7 17.4 11.8 69 101000 708 1324 331 478 681 113 50500 68000 14100 2520 310 9.5 2 0 16.1 2000 9 999999999 220 0.1440 0 88 999.000 999.0 99.0 -1.78632E7 15.9 11.2 74 101000 464 1324 330 253 493 79 26300 45500 10300 1530 320 9.1 2 1 16.1 2000 9 999999999 220 0.1440 0 88 999.000 999.0 99.0 -1.78668E7 14.4 10.6 78 101000 208 1324 322 83 232 46 8700 15400 6200 820 320 8.8 2 1 16.1 2000 9 999999999 220 0.1440 0 88 999.000 999.0 99.0 -1.78704E7 13.9 10.8 81 101000 14 475 320 6 8 5 0 0 0 0 320 7.9 2 1 16.1 2000 9 999999999 209 0.1440 0 88 999.000 999.0 99.0 -1.7874E7 13.3 10.8 83 101100 0 0 318 0 0 0 0 0 0 0 320 7.1 1 1 16.1 2000 9 999999999 209 0.1440 0 88 999.000 999.0 99.0 -1.78776E7 12.8 10.6 86 101100 0 0 315 0 0 0 0 0 0 0 320 6.2 1 1 16.1 2000 9 999999999 209 0.1440 0 88 999.000 999.0 99.0 -1.78812E7 12.8 10.8 86 101100 0 0 315 0 0 0 0 0 0 0 310 5.3 1 1 16.1 2000 9 999999999 209 0.1440 0 88 999.000 999.0 99.0 -1.78848E7 12.8 10.8 86 101100 0 0 310 0 0 0 0 0 0 0 310 4.5 0 0 16.1 2000 9 999999999 209 0.1440 0 88 999.000 999.0 99.0 -1.78884E7 12.8 10.6 86 101200 0 0 309 0 0 0 0 0 0 0 300 3.6 0 0 17.7 2000 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.7892E7 12.8 10.9 86 101200 0 0 310 0 0 0 0 0 0 0 300 3.3 0 0 17.7 2000 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.78956E7 12.8 10.8 86 101200 0 0 310 0 0 0 0 0 0 0 300 2.9 0 0 17.7 2000 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.78992E7 12.8 10.6 86 101200 0 0 309 0 0 0 0 0 0 0 300 2.6 0 0 17.7 2000 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.79028E7 13.5 11.0 84 101200 0 0 313 0 0 0 0 0 0 0 340 2.2 0 0 17.7 2000 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.79064E7 14.3 11.4 83 101200 78 1093 323 22 20 20 2400 1200 2300 500 10 1.9 1 1 17.7 2000 9 999999999 209 0.2440 0 88 999.000 999.0 99.0 -1.791E7 15.0 11.7 81 101200 326 1325 326 137 254 74 14400 20900 9200 1350 50 1.5 1 1 11.3 2000 9 999999999 220 0.2440 0 88 999.000 999.0 99.0 -1.79136E7 16.5 12.5 77 101200 579 1325 334 327 473 120 35100 46400 14800 2360 60 1.9 1 1 11.3 2000 9 999999999 220 0.2440 0 88 999.000 999.0 99.0 -1.79172E7 17.9 13.1 72 101300 810 1325 335 518 579 163 54100 58000 18600 3860 60 2.2 0 0 11.3 2000 9 999999999 230 0.2440 0 88 999.000 999.0 99.0 -1.79208E7 19.4 13.3 68 101300 1005 1325 342 721 696 191 76200 70800 22400 6080 70 2.6 0 0 14.5 2000 9 999999999 230 0.2440 0 88 999.000 999.0 99.0 -1.79244E7 20.3 13.5 64 101300 1149 1325 346 849 731 214 90600 74700 25700 9790 30 4.0 1 0 14.5 2000 9 999999999 230 0.2440 0 88 999.000 999.0 99.0 -1.7928E7 21.3 13.5 61 101200 1233 1325 358 876 721 203 94600 74200 25400 13060 350 5.3 1 1 14.5 2000 9 999999999 240 0.2440 0 88 999.000 999.0 99.0 -1.79316E7 22.2 13.3 57 101200 1251 1325 362 887 701 224 95300 71800 27300 15790 310 6.7 2 1 14.5 2000 9 999999999 250 0.2440 0 88 999.000 999.0 99.0 -1.79352E7 21.3 12.9 58 101200 1202 1325 357 848 689 221 90700 70500 26600 12260 310 7.6 3 1 14.5 2000 9 999999999 250 0.2440 0 88 999.000 999.0 99.0 -1.79388E7 20.3 12.3 60 101100 1089 1325 356 779 674 224 82300 68400 25900 8530 300 8.4 5 2 14.5 2000 9 999999999 250 0.2440 0 88 999.000 999.0 99.0 -1.79424E7 19.4 11.7 61 101100 919 1325 351 602 513 245 64100 53200 27100 6790 300 9.3 6 2 16.1 2000 9 999999999 260 0.2440 0 88 999.000 999.0 99.0 -1.7946E7 18.9 11.4 62 101100 705 1325 344 430 515 154 46100 52200 18300 3300 300 8.1 4 1 16.1 2000 9 999999999 260 0.2440 0 88 999.000 999.0 99.0 -1.79496E7 18.3 11.1 62 101100 462 1325 341 239 394 101 25300 36500 12600 1900 310 6.9 3 1 16.1 2000 9 999999999 260 0.2440 0 88 999.000 999.0 99.0 -1.79532E7 17.8 10.6 63 101200 205 1325 332 76 140 54 8000 9000 6600 1010 310 5.7 1 0 19.3 2000 9 999999999 260 0.2440 0 88 999.000 999.0 99.0 -1.79568E7 16.7 10.9 69 101200 13 453 327 7 1 7 0 0 0 0 310 5.7 1 0 19.3 2000 9 999999999 260 0.2440 0 88 999.000 999.0 99.0 -1.79604E7 15.5 11.1 75 101200 0 0 322 0 0 0 0 0 0 0 310 5.7 0 0 19.3 2000 9 999999999 260 0.2440 0 88 999.000 999.0 99.0 -1.7964E7 14.4 11.1 81 101300 0 0 317 0 0 0 0 0 0 0 310 5.7 0 0 19.3 2000 9 999999999 260 0.2440 0 88 999.000 999.0 99.0 -1.79676E7 14.0 11.2 82 101300 0 0 326 0 0 0 0 0 0 0 310 5.2 2 2 19.3 2000 9 999999999 260 0.2440 0 88 999.000 999.0 99.0 -1.79712E7 13.7 11.0 82 101300 0 0 332 0 0 0 0 0 0 0 310 4.6 5 5 19.3 2000 9 999999999 260 0.2440 0 88 999.000 999.0 99.0 -1.79748E7 13.3 10.6 83 101300 0 0 337 0 0 0 0 0 0 0 310 4.1 7 7 16.1 3350 9 999999999 260 0.2440 0 88 999.000 999.0 99.0 -1.79784E7 13.3 10.9 83 101200 0 0 337 0 0 0 0 0 0 0 310 4.5 7 7 16.1 3350 9 999999999 260 0.2440 0 88 999.000 999.0 99.0 -1.7982E7 13.3 10.8 83 101200 0 0 342 0 0 0 0 0 0 0 310 4.8 8 8 16.1 3350 9 999999999 260 0.2440 0 88 999.000 999.0 99.0 -1.79856E7 13.3 10.6 83 101200 0 0 342 0 0 0 0 0 0 0 310 5.2 8 8 12.9 3350 9 999999999 260 0.2440 0 88 999.000 999.0 99.0 -1.79892E7 13.7 10.8 82 101200 0 0 344 0 0 0 0 0 0 0 310 5.4 8 8 12.9 3757 9 999999999 260 0.2440 0 88 999.000 999.0 99.0 -1.79928E7 14.0 11.0 82 101300 76 1071 353 24 6 23 2600 0 2600 770 310 5.5 9 9 12.9 4163 9 999999999 260 0.0960 0 88 999.000 999.0 99.0 -1.79964E7 14.4 11.1 81 101300 323 1325 356 103 37 94 11300 3200 10500 2390 310 5.7 9 9 8.0 4570 9 999999999 270 0.0960 0 88 999.000 999.0 99.0 -1.8E7 15.0 11.4 78 101300 576 1325 359 152 55 128 16700 5300 14400 3900 310 5.7 9 9 8.0 4470 9 999999999 270 0.0960 0 88 999.000 999.0 99.0 -1.80036E7 15.5 11.4 75 101300 808 1325 361 422 279 252 45600 29700 27400 6340 320 5.7 9 9 8.0 4370 9 999999999 270 0.0960 0 88 999.000 999.0 99.0 -1.80072E7 16.1 11.1 72 101400 1003 1325 364 279 64 230 30800 6500 25900 9200 320 5.7 9 9 14.5 4270 9 999999999 270 0.0960 0 88 999.000 999.0 99.0 -1.80108E7 16.7 11.3 70 101300 1148 1325 360 318 41 282 35200 4200 31600 13150 310 7.2 8 8 14.5 2000 9 999999999 270 0.0960 0 88 999.000 999.0 99.0 -1.80144E7 17.2 11.3 67 101300 1232 1325 352 706 332 396 77700 36100 44100 22850 310 8.8 6 6 14.5 2000 9 999999999 270 0.0960 0 88 999.000 999.0 99.0 -1.8018E7 17.8 11.1 65 101300 1250 1325 352 862 687 212 92900 70600 26200 14840 300 10.3 5 5 19.3 2000 9 999999999 280 0.0960 0 88 999.000 999.0 99.0 -1.80216E7 17.6 11.2 66 101300 1200 1325 348 832 635 256 88100 64500 29600 13960 300 10.3 4 4 19.3 2000 9 999999999 280 0.0960 0 88 999.000 999.0 99.0 -1.80252E7 17.4 11.2 67 101200 1087 1325 341 787 789 137 83800 79900 18100 5020 300 10.3 2 2 19.3 2000 9 999999999 280 0.0960 0 88 999.000 999.0 99.0 -1.80288E7 17.2 11.1 68 101200 917 1325 336 622 758 96 67200 76900 13900 2710 300 10.3 1 1 40.2 2000 9 999999999 280 0.0960 0 88 999.000 999.0 99.0 -1.80324E7 16.3 11.0 71 101200 703 1325 336 452 645 108 47800 64400 13600 2410 300 10.0 2 2 40.2 2000 9 999999999 280 0.0960 0 88 999.000 999.0 99.0 -1.8036E7 15.3 10.9 75 101200 459 1325 337 186 220 110 20100 20900 12800 2160 300 9.6 4 4 40.2 2000 9 999999999 270 0.0960 0 88 999.000 999.0 99.0 -1.80396E7 14.4 10.6 78 101200 202 1325 335 87 257 48 9100 16800 6500 860 300 9.3 5 5 24.1 2000 9 999999999 270 0.0960 0 88 999.000 999.0 99.0 -1.80432E7 14.0 10.8 80 101200 12 431 328 7 13 5 0 0 0 0 300 8.6 3 3 24.1 2000 9 999999999 260 0.0960 0 88 999.000 999.0 99.0 -1.80468E7 13.7 10.8 81 101200 0 0 324 0 0 0 0 0 0 0 300 7.9 2 2 24.1 2000 9 999999999 260 0.0960 0 88 999.000 999.0 99.0 -1.80504E7 13.3 10.6 83 101300 0 0 312 0 0 0 0 0 0 0 300 7.2 0 0 16.1 2000 9 999999999 250 0.0960 0 88 999.000 999.0 99.0 -1.8054E7 13.1 10.8 84 101200 0 0 311 0 0 0 0 0 0 0 300 6.3 0 0 16.1 2000 9 999999999 250 0.0960 0 88 999.000 999.0 99.0 -1.80576E7 13.0 10.8 85 101200 0 0 310 0 0 0 0 0 0 0 310 5.5 0 0 16.1 2000 9 999999999 250 0.0960 0 88 999.000 999.0 99.0 -1.80612E7 12.8 10.6 86 101200 0 0 309 0 0 0 0 0 0 0 310 4.6 0 0 19.3 2000 9 999999999 240 0.0960 0 88 999.000 999.0 99.0 -1.80648E7 12.8 10.9 86 101200 0 0 316 0 0 0 0 0 0 0 310 4.1 1 1 19.3 2000 9 999999999 240 0.0960 0 88 999.000 999.0 99.0 -1.80684E7 12.8 10.8 86 101200 0 0 320 0 0 0 0 0 0 0 310 3.6 2 2 19.3 2000 9 999999999 230 0.0960 0 88 999.000 999.0 99.0 -1.8072E7 12.8 10.6 86 101300 0 0 323 0 0 0 0 0 0 0 310 3.1 3 3 19.3 2000 9 999999999 230 0.0960 0 88 999.000 999.0 99.0 -1.80756E7 13.3 10.6 83 101300 0 0 330 0 0 0 0 0 0 0 300 2.6 5 5 19.3 2000 9 999999999 230 0.0960 0 88 999.000 999.0 99.0 -1.80792E7 13.9 10.7 81 101300 73 1049 345 18 1 17 2000 0 2000 610 300 2.0 8 8 19.3 2000 9 999999999 230 0.2990 0 88 999.000 999.0 99.0 -1.80828E7 14.4 10.6 78 101300 321 1325 365 50 2 50 5900 100 5900 2000 290 1.5 10 10 16.1 340 9 999999999 240 0.2990 0 88 999.000 999.0 99.0 -1.80864E7 15.9 11.4 74 101300 574 1325 350 228 107 182 24900 10700 20200 4340 330 1.9 7 7 16.1 2000 9 999999999 240 0.2990 0 88 999.000 999.0 99.0 -1.809E7 17.4 12.0 69 101300 806 1325 348 486 447 213 51500 45800 23500 5110 20 2.2 4 4 16.1 2000 9 999999999 240 0.2990 0 88 999.000 999.0 99.0 -1.80936E7 18.9 12.2 65 101300 1001 1325 345 691 573 257 74200 59700 29000 8170 60 2.6 1 1 24.1 2000 9 999999999 250 0.2990 0 88 999.000 999.0 99.0 -1.80972E7 20.0 12.4 61 101300 1146 1325 350 799 665 223 85000 67800 26200 10050 120 3.8 1 1 24.1 2000 9 999999999 250 0.2990 0 88 999.000 999.0 99.0 -1.81008E7 21.1 12.4 57 101300 1230 1325 356 812 573 278 85600 58000 31600 17260 180 5.0 1 1 24.1 2000 9 999999999 250 0.2990 0 88 999.000 999.0 99.0 -1.81044E7 22.2 12.2 53 101300 1248 1325 361 895 680 253 95300 69300 29900 17380 240 6.2 1 1 48.3 2000 9 999999999 250 0.2990 0 88 999.000 999.0 99.0 -1.8108E7 21.8 12.5 55 101200 1199 1325 359 878 712 232 93500 72700 27600 12640 260 7.2 1 1 48.3 2000 9 999999999 250 0.2990 0 88 999.000 999.0 99.0 -1.81116E7 21.5 12.7 57 101200 1085 1325 358 756 622 244 79200 62800 27600 9110 270 8.3 1 1 48.3 2000 9 999999999 260 0.2990 0 88 999.000 999.0 99.0 -1.81152E7 21.1 12.8 59 101200 915 1325 356 567 542 191 59300 54600 21500 5150 290 9.3 1 1 24.1 2000 9 999999999 260 0.2990 0 88 999.000 999.0 99.0 -1.81188E7 19.6 12.5 64 101200 700 1325 349 413 470 163 44000 47500 18800 3500 280 8.8 1 1 24.1 2000 9 999999999 250 0.2990 0 88 999.000 999.0 99.0 -1.81224E7 18.2 12.2 68 101200 456 1325 342 217 319 106 22800 29400 12600 2000 260 8.2 1 1 24.1 2000 9 999999999 250 0.2990 0 88 999.000 999.0 99.0 -1.8126E7 16.7 11.7 73 101200 199 1325 334 60 82 47 6500 5600 5700 990 250 7.7 1 1 24.1 2000 9 999999999 250 0.2990 0 88 999.000 999.0 99.0 -1.81296E7 16.3 11.9 75 101200 11 409 332 3 0 3 0 0 0 0 250 6.9 1 1 24.1 2000 9 999999999 240 0.2990 0 88 999.000 999.0 99.0 -1.81332E7 16.0 11.9 76 101200 0 0 325 0 0 0 0 0 0 0 260 6.0 0 0 24.1 2000 9 999999999 230 0.2990 0 88 999.000 999.0 99.0 -1.81368E7 15.6 11.7 78 101300 0 0 323 0 0 0 0 0 0 0 260 5.2 0 0 24.1 2000 9 999999999 230 0.2990 0 88 999.000 999.0 99.0 -1.81404E7 15.4 11.6 77 101300 0 0 322 0 0 0 0 0 0 0 290 3.5 0 0 24.1 2000 9 999999999 230 0.2990 0 88 999.000 999.0 99.0 -1.8144E7 15.2 11.2 76 101300 0 0 321 0 0 0 0 0 0 0 330 1.7 0 0 24.1 2000 9 999999999 220 0.2990 0 88 999.000 999.0 99.0 -1.81476E7 15.0 10.6 75 101300 0 0 319 0 0 0 0 0 0 0 0 0.0 0 0 24.1 2000 9 999999999 220 0.2990 0 88 999.000 999.0 99.0 -1.81512E7 14.8 10.9 76 101300 0 0 318 0 0 0 0 0 0 0 310 1.0 1 0 24.1 2000 9 999999999 209 0.2990 0 88 999.000 999.0 99.0 -1.81548E7 14.6 10.8 77 101300 0 0 324 0 0 0 0 0 0 0 250 2.1 2 1 24.1 2000 9 999999999 200 0.2990 0 88 999.000 999.0 99.0 -1.81584E7 14.4 10.6 78 101300 0 0 322 0 0 0 0 0 0 0 200 3.1 3 1 24.1 2000 9 999999999 200 0.2990 0 88 999.000 999.0 99.0 -1.8162E7 15.0 10.8 76 101300 0 0 330 0 0 0 0 0 0 0 210 4.0 3 2 24.1 2000 9 999999999 209 0.2990 0 88 999.000 999.0 99.0 -1.81656E7 15.5 11.0 74 101300 71 1027 332 25 14 24 2700 800 2700 570 210 4.8 3 2 24.1 2000 9 999999999 209 0.1870 0 88 999.000 999.0 99.0 -1.81692E7 16.1 11.1 72 101400 318 1326 338 146 286 77 15200 23200 9600 1410 220 5.7 3 3 16.1 2000 9 999999999 220 0.1870 0 88 999.000 999.0 99.0 -1.81728E7 17.0 11.6 69 101400 571 1326 340 305 354 152 32800 35700 17400 3180 230 5.7 2 2 16.1 2000 9 999999999 220 0.1870 0 88 999.000 999.0 99.0 -1.81764E7 18.0 11.8 66 101400 804 1326 345 548 655 150 57600 65800 17600 3570 240 5.7 2 2 16.1 2000 9 999999999 230 0.1870 0 88 999.000 999.0 99.0 -1.818E7 18.9 11.7 63 101500 1000 1326 344 600 572 168 64100 58500 19900 5350 250 5.7 1 1 19.3 2000 9 999999999 230 0.1870 0 88 999.000 999.0 99.0 -1.81836E7 19.8 12.1 60 101500 1144 1326 349 807 731 174 84400 73500 20900 7170 250 5.9 1 1 19.3 2000 9 999999999 240 0.1870 0 88 999.000 999.0 99.0 -1.81872E7 20.8 12.2 58 101400 1229 1326 347 821 650 218 88200 66600 26300 13610 240 6.0 0 0 19.3 2000 9 999999999 250 0.1870 0 88 999.000 999.0 99.0 -1.81908E7 21.7 12.2 55 101400 1247 1326 352 953 813 186 100300 81900 23100 11870 240 6.2 0 0 24.1 2000 9 999999999 250 0.1870 0 88 999.000 999.0 99.0 -1.81944E7 21.1 12.1 56 101400 1197 1326 349 903 797 181 94700 80200 22100 9060 240 6.4 0 0 24.1 2000 9 999999999 260 0.1870 0 88 999.000 999.0 99.0 -1.8198E7 20.6 12.0 58 101400 1083 1326 353 753 641 228 79400 65000 26100 8520 250 6.5 1 1 24.1 2000 9 999999999 260 0.1870 0 88 999.000 999.0 99.0 -1.82016E7 20.0 11.7 59 101400 913 1326 350 622 676 154 66000 68800 18500 4250 250 6.7 1 1 24.1 2000 9 999999999 270 0.1870 0 88 999.000 999.0 99.0 -1.82052E7 19.1 11.8 63 101400 698 1326 345 456 635 119 47800 63100 14500 2610 260 5.7 1 1 24.1 2000 9 999999999 270 0.1870 0 88 999.000 999.0 99.0 -1.82088E7 18.1 11.8 66 101400 453 1326 334 250 473 88 25800 43100 11000 1660 270 4.6 0 0 24.1 2000 9 999999999 260 0.1870 0 88 999.000 999.0 99.0 -1.82124E7 17.2 11.7 70 101400 195 1326 330 76 191 47 7800 12200 6000 850 280 3.6 0 0 24.1 2000 9 999999999 260 0.1870 0 88 999.000 999.0 99.0 -1.8216E7 16.7 11.5 71 101400 10 387 328 6 2 5 0 0 0 0 270 3.6 0 0 24.1 2000 9 999999999 260 0.1870 0 88 999.000 999.0 99.0 -1.82196E7 16.1 11.2 71 101400 0 0 325 0 0 0 0 0 0 0 250 3.6 0 0 24.1 2000 9 999999999 250 0.1870 0 88 999.000 999.0 99.0 -1.82232E7 15.6 10.6 72 101500 0 0 322 0 0 0 0 0 0 0 240 3.6 0 0 24.1 2000 9 999999999 250 0.1870 0 88 999.000 999.0 99.0 -1.82268E7 15.8 11.0 72 101500 0 0 337 0 0 0 0 0 0 0 240 3.9 3 3 24.1 2000 9 999999999 250 0.1870 0 88 999.000 999.0 99.0 -1.82304E7 15.9 11.2 72 101500 0 0 346 0 0 0 0 0 0 0 230 4.3 6 6 24.1 2000 9 999999999 240 0.1870 0 88 999.000 999.0 99.0 -1.8234E7 16.1 11.1 72 101500 0 0 364 0 0 0 0 0 0 0 230 4.6 9 9 24.1 610 9 999999999 240 0.1870 0 88 999.000 999.0 99.0 -1.82376E7 15.9 11.3 73 101500 0 0 363 0 0 0 0 0 0 0 230 4.8 9 9 24.1 520 9 999999999 240 0.1870 0 88 999.000 999.0 99.0 -1.82412E7 15.8 11.3 74 101500 0 0 373 0 0 0 0 0 0 0 220 5.0 10 10 24.1 430 9 999999999 230 0.1870 0 88 999.000 999.0 99.0 -1.82448E7 15.6 11.1 75 101500 0 0 372 0 0 0 0 0 0 0 220 5.2 10 10 24.1 340 9 999999999 230 0.1870 0 88 999.000 999.0 99.0 -1.82484E7 15.6 11.2 75 101500 0 0 372 0 0 0 0 0 0 0 210 4.3 10 10 24.1 380 9 999999999 230 0.1870 0 88 999.000 999.0 99.0 -1.8252E7 15.6 11.1 75 101500 69 1006 372 18 1 18 2100 0 2100 630 200 3.5 10 10 24.1 420 9 999999999 240 0.3550 0 88 999.000 999.0 99.0 -1.82556E7 15.6 11.1 75 101600 315 1326 372 56 3 56 6600 100 6500 2180 190 2.6 10 10 24.1 460 9 999999999 240 0.3550 0 88 999.000 999.0 99.0 -1.82592E7 16.1 11.8 74 101600 569 1326 375 149 1 149 17100 100 17000 5930 190 3.5 10 10 24.1 460 9 999999999 240 0.3550 0 88 999.000 999.0 99.0 -1.82628E7 16.7 12.2 74 101600 802 1326 379 218 7 214 25300 600 25000 9290 200 4.3 10 10 24.1 460 9 999999999 250 0.3550 0 88 999.000 999.0 99.0 -1.82664E7 17.2 12.2 73 101600 998 1326 381 292 0 292 34100 0 34100 13040 200 5.2 10 10 24.1 460 9 999999999 250 0.3550 0 88 999.000 999.0 99.0 -1.827E7 17.8 12.5 70 101600 1143 1326 385 318 1 317 37700 100 37600 14520 210 5.5 10 10 24.1 1527 9 999999999 250 0.3550 0 88 999.000 999.0 99.0 -1.82736E7 18.3 12.4 68 101600 1227 1326 388 399 1 398 47000 100 46900 17400 220 5.9 10 10 24.1 2593 9 999999999 260 0.3550 0 88 999.000 999.0 99.0 -1.82772E7 18.9 12.2 65 101600 1245 1326 390 400 2 398 47300 200 47100 17480 230 6.2 10 10 32.2 3660 9 999999999 260 0.3550 0 88 999.000 999.0 99.0 -1.82808E7 19.3 12.3 64 101600 1195 1326 382 389 44 349 43000 4500 38900 17230 240 6.7 9 9 32.2 3660 9 999999999 260 0.3550 0 88 999.000 999.0 99.0 -1.82844E7 19.6 12.3 62 101500 1081 1326 384 552 295 311 60800 32000 34600 11260 240 7.2 9 9 32.2 3660 9 999999999 270 0.3550 0 88 999.000 999.0 99.0 -1.8288E7 20.0 12.2 61 101500 911 1326 377 355 81 299 39100 8300 33400 10490 250 7.7 8 8 32.2 3660 9 999999999 270 0.3550 0 88 999.000 999.0 99.0 -1.82916E7 18.9 12.4 66 101500 695 1326 372 252 79 210 27600 7900 23500 6480 260 7.2 8 8 32.2 3660 9 999999999 270 0.3550 0 88 999.000 999.0 99.0 -1.82952E7 17.8 12.4 70 101500 450 1326 374 86 24 78 9500 2200 8800 2300 270 6.7 9 9 32.2 3660 9 999999999 260 0.3550 0 88 999.000 999.0 99.0 -1.82988E7 16.7 12.2 75 101500 192 1326 368 21 4 20 2500 0 2500 800 280 6.2 9 9 24.1 3660 9 999999999 260 0.3550 0 88 999.000 999.0 99.0 -1.83024E7 16.3 12.3 76 101500 9 387 367 3 0 3 0 0 0 0 290 5.7 9 9 24.1 3660 9 999999999 260 0.3550 0 88 999.000 999.0 99.0 -1.8306E7 16.0 12.1 77 101500 0 0 375 0 0 0 0 0 0 0 290 5.1 10 10 24.1 3660 9 999999999 250 0.3550 0 88 999.000 999.0 99.0 -1.83096E7 15.9 12.1 78 101500 0 0 375 0 0 0 0 0 0 0 300 4.8 10 10 24.1 3660 9 999999999 250 0.3550 0 88 999.000 999.0 99.0 -1.83132E7 15.7 12.1 78 101500 0 0 374 0 0 0 0 0 0 0 300 4.5 10 10 24.1 2603 9 999999999 250 0.3550 0 88 999.000 999.0 99.0 -1.83168E7 15.6 12.1 78 101500 0 0 373 0 0 0 0 0 0 0 300 4.2 10 10 24.1 1547 9 999999999 240 0.3550 0 88 999.000 999.0 99.0 -1.83204E7 15.4 12.2 84 101600 0 0 372 0 0 0 0 0 0 0 280 4.0 10 10 19.3 210 9 999999999 170 0.3550 0 88 999.000 999.0 99.0 -1.8324E7 15.3 12.2 87 101600 0 0 372 0 0 0 0 0 0 0 290 3.7 10 10 19.3 310 9 999999999 170 0.3550 0 88 999.000 999.0 99.0 -1.83276E7 15.1 12.2 87 101600 0 0 360 0 0 0 0 0 0 0 280 3.4 9 9 19.3 310 9 999999999 180 0.3550 0 88 999.000 999.0 99.0 -1.83312E7 15.0 12.2 84 101600 0 0 347 0 0 0 0 0 0 0 270 3.1 7 7 19.3 340 9 999999999 180 0.3550 0 88 999.000 999.0 99.0 -1.83348E7 15.0 12.2 84 101600 0 0 343 0 0 0 0 0 0 0 280 6.2 6 6 19.3 370 9 999999999 180 0.3550 0 88 999.000 999.0 99.0 -1.83384E7 15.6 12.2 81 101700 66 1006 346 20 8 19 2100 500 2100 470 280 4.6 6 6 24.1 370 9 999999999 190 0.2080 0 88 999.000 999.0 99.0 -1.8342E7 16.1 12.2 78 101800 312 1326 365 54 18 49 5900 1500 5500 1370 280 6.2 9 9 24.1 400 9 999999999 190 0.2080 0 88 999.000 999.0 99.0 -1.83456E7 16.7 12.2 75 101800 567 1326 368 141 50 120 15600 4800 13500 3660 270 6.7 9 9 32.2 460 9 999999999 190 0.2080 0 88 999.000 999.0 99.0 -1.83492E7 17.8 12.2 70 101800 800 1326 356 342 91 287 37600 9300 32000 9130 260 4.1 6 6 40.2 580 9 999999999 200 0.2080 0 88 999.000 999.0 99.0 -1.83528E7 18.9 12.2 65 101800 996 1326 359 606 454 264 64800 47200 29200 8320 270 5.7 5 5 32.2 2000 9 999999999 200 0.2080 0 88 999.000 999.0 99.0 -1.83564E7 20.0 12.2 61 101800 1141 1326 367 644 439 265 70300 46000 30600 11850 280 7.7 6 6 24.1 550 9 999999999 200 0.2080 0 88 999.000 999.0 99.0 -1.836E7 20.0 12.8 63 101800 1225 1326 365 761 496 300 82800 52000 34700 18650 260 9.3 5 5 32.2 2000 9 999999999 209 0.2080 0 88 999.000 999.0 99.0 -1.83636E7 20.0 12.8 63 101800 1243 1326 359 863 620 279 91000 62800 32000 18490 290 9.8 3 3 32.2 2000 9 999999999 209 0.2080 0 88 999.000 999.0 99.0 -1.83672E7 19.4 13.3 68 101800 1193 1326 357 797 574 278 83700 58000 31400 14590 280 10.3 3 3 32.2 2000 9 999999999 209 0.2080 0 88 999.000 999.0 99.0 -1.83708E7 19.4 13.3 68 101700 1079 1326 362 672 471 287 72100 49200 32000 10860 290 12.4 6 5 24.1 430 9 999999999 220 0.2080 0 88 999.000 999.0 99.0 -1.83744E7 18.9 13.3 70 101700 908 1326 351 516 485 182 56400 50400 21800 4850 280 12.4 2 2 24.1 2000 9 999999999 220 0.2080 0 88 999.000 999.0 99.0 -1.8378E7 18.9 12.8 68 101600 693 1326 339 403 517 131 41900 51100 15200 2810 280 9.8 0 0 24.1 2000 9 999999999 220 0.2080 0 88 999.000 999.0 99.0 -1.83816E7 17.8 12.8 73 101600 447 1326 334 246 450 92 26000 41400 12100 1710 280 9.8 0 0 64.4 2000 9 999999999 220 0.2080 0 88 999.000 999.0 99.0 -1.83852E7 16.7 12.8 78 101600 189 1326 329 72 162 48 7500 9900 6100 890 280 10.8 0 0 48.3 2000 9 999999999 220 0.2080 0 88 999.000 999.0 99.0 -1.83888E7 16.1 12.8 81 101600 8 365 326 6 1 5 0 0 0 0 280 9.3 0 0 24.1 2000 9 999999999 220 0.2080 0 88 999.000 999.0 99.0 -1.83924E7 15.6 12.8 84 101700 0 0 341 0 0 0 0 0 0 0 290 8.2 5 4 24.1 2000 9 999999999 220 0.2080 0 88 999.000 999.0 99.0 -1.8396E7 15.0 12.8 87 101700 0 0 335 0 0 0 0 0 0 0 280 5.7 4 3 24.1 2000 9 999999999 230 0.2080 0 88 999.000 999.0 99.0 -1.83996E7 14.4 12.8 90 101700 0 0 319 0 0 0 0 0 0 0 280 5.7 0 0 24.1 2000 9 999999999 230 0.2080 0 88 999.000 999.0 99.0 -1.84032E7 14.4 12.8 90 101700 0 0 319 0 0 0 0 0 0 0 0 0.0 0 0 24.1 2000 9 999999999 230 0.2080 0 88 999.000 999.0 99.0 -1.84068E7 13.9 12.2 90 101600 0 0 316 0 0 0 0 0 0 0 300 1.5 0 0 24.1 2000 9 999999999 230 0.2080 0 88 999.000 999.0 99.0 -1.84104E7 13.3 11.7 90 101600 0 0 313 0 0 0 0 0 0 0 0 0.0 0 0 24.1 2000 9 999999999 230 0.2080 0 88 999.000 999.0 99.0 -1.8414E7 13.3 11.7 90 101600 0 0 313 0 0 0 0 0 0 0 0 0.0 0 0 24.1 2000 9 999999999 230 0.2080 0 88 999.000 999.0 99.0 -1.84176E7 12.8 11.7 93 101600 0 0 310 0 0 0 0 0 0 0 0 0.0 0 0 24.1 2000 9 999999999 230 0.2080 0 88 999.000 999.0 99.0 -1.84212E7 14.4 12.2 87 101600 0 0 318 0 0 0 0 0 0 0 0 0.0 0 0 24.1 2000 9 999999999 220 0.2080 0 88 999.000 999.0 99.0 -1.84248E7 13.9 11.7 87 101600 64 984 315 24 11 23 2600 600 2600 550 0 0.0 0 0 19.3 2000 9 999999999 220 0.2760 0 88 999.000 999.0 99.0 -1.84284E7 16.7 13.3 81 101700 309 1326 329 133 237 77 14100 19200 9600 1460 0 0.0 0 0 16.1 2000 9 999999999 209 0.2760 0 88 999.000 999.0 99.0 -1.8432E7 18.9 14.4 76 101700 564 1326 341 327 460 130 34600 44800 15500 2560 90 2.1 0 0 19.3 2000 9 999999999 209 0.2760 0 88 999.000 999.0 99.0 -1.84356E7 21.1 14.4 66 101700 798 1326 351 532 592 174 55100 58900 19600 4010 0 0.0 0 0 19.3 2000 9 999999999 200 0.2760 0 88 999.000 999.0 99.0 -1.84392E7 22.2 14.4 62 101700 994 1326 356 712 671 206 74600 67900 23600 6340 60 2.1 0 0 19.3 2000 9 999999999 200 0.2760 0 88 999.000 999.0 99.0 -1.84428E7 25.6 11.7 42 101700 1139 1326 370 848 720 227 89800 73300 26700 9970 90 2.1 0 0 24.1 2000 9 999999999 190 0.2760 0 88 999.000 999.0 99.0 -1.84464E7 26.7 12.2 41 101600 1224 1326 376 928 744 238 98800 75900 28500 14400 360 2.6 0 0 17.7 2000 9 999999999 180 0.2760 0 88 999.000 999.0 99.0 -1.845E7 29.4 12.2 35 101600 1242 1326 390 946 751 240 100900 76700 28900 15870 300 5.2 0 0 17.7 2000 9 999999999 180 0.2760 0 88 999.000 999.0 99.0 -1.84536E7 27.8 11.7 37 101600 1192 1326 381 900 736 234 95400 75100 27900 12330 300 9.3 0 0 24.1 2000 9 999999999 170 0.2760 0 88 999.000 999.0 99.0 -1.84572E7 28.3 11.1 34 101500 1077 1326 383 794 705 218 83700 71600 25400 8050 300 9.3 0 0 32.2 2000 9 999999999 170 0.2760 0 88 999.000 999.0 99.0 -1.84608E7 25.6 11.7 42 101500 906 1326 370 637 647 192 66400 65100 21800 5090 280 11.3 0 0 64.4 2000 9 999999999 160 0.2760 0 88 999.000 999.0 99.0 -1.84644E7 23.3 11.7 48 101400 690 1326 359 441 545 155 47000 55000 18400 3290 300 10.3 0 0 48.3 2000 9 999999999 160 0.2760 0 88 999.000 999.0 99.0 -1.8468E7 22.2 11.1 50 101400 443 1326 353 233 374 106 24300 34200 12900 2000 290 9.3 0 0 48.3 2000 9 999999999 160 0.2760 0 88 999.000 999.0 99.0 -1.84716E7 18.3 12.2 68 101400 185 1326 336 65 103 51 7100 6800 6200 1080 290 7.7 0 0 48.3 2000 9 999999999 160 0.2760 0 88 999.000 999.0 99.0 -1.84752E7 16.7 12.2 75 101400 7 343 328 4 0 4 0 0 0 0 320 7.2 0 0 24.1 2000 9 999999999 160 0.2760 0 88 999.000 999.0 99.0 -1.84788E7 16.1 12.2 78 101400 0 0 326 0 0 0 0 0 0 0 300 3.6 0 0 24.1 2000 9 999999999 160 0.2760 0 88 999.000 999.0 99.0 -1.84824E7 16.1 12.2 78 101400 0 0 326 0 0 0 0 0 0 0 300 2.6 0 0 24.1 2000 9 999999999 160 0.2760 0 88 999.000 999.0 99.0 -1.8486E7 15.6 11.7 78 101300 0 0 323 0 0 0 0 0 0 0 0 0.0 0 0 24.1 2000 9 999999999 160 0.2760 0 88 999.000 999.0 99.0 -1.84896E7 15.0 10.6 75 101300 0 0 319 0 0 0 0 0 0 0 0 0.0 0 0 24.1 2000 9 999999999 160 0.2760 0 88 999.000 999.0 99.0 -1.84932E7 15.0 11.7 81 101300 0 0 320 0 0 0 0 0 0 0 0 0.0 0 0 24.1 2000 9 999999999 160 0.2760 0 88 999.000 999.0 99.0 -1.84968E7 14.4 12.2 87 101300 0 0 318 0 0 0 0 0 0 0 300 3.1 0 0 24.1 2000 9 999999999 160 0.2760 0 88 999.000 999.0 99.0 -1.85004E7 14.4 12.2 87 101300 0 0 318 0 0 0 0 0 0 0 290 2.6 0 0 24.1 2000 9 999999999 160 0.2760 0 88 999.000 999.0 99.0 -1.8504E7 13.9 11.7 87 101300 0 0 315 0 0 0 0 0 0 0 290 2.6 0 0 24.1 2000 9 999999999 160 0.2760 0 88 999.000 999.0 99.0 -1.85076E7 14.4 11.7 84 101300 0 0 317 0 0 0 0 0 0 0 0 0.0 0 0 19.3 2000 9 999999999 160 0.2760 0 88 999.000 999.0 99.0 -1.85112E7 15.6 11.7 78 101300 62 962 323 30 112 19 2800 4600 2500 330 0 0.0 0 0 16.1 2000 9 999999999 150 0.0920 0 88 999.000 999.0 99.0 -1.85148E7 18.9 13.9 73 101300 306 1327 340 167 519 46 17300 42400 7500 870 0 0.0 0 0 16.1 2000 9 999999999 150 0.0920 0 88 999.000 999.0 99.0 -1.85184E7 22.2 14.4 62 101400 561 1327 356 374 717 69 39100 68900 9900 1460 0 0.0 0 0 12.9 2000 9 999999999 150 0.0920 0 88 999.000 999.0 99.0 -1.8522E7 22.8 15.0 62 101400 795 1327 360 580 815 89 61800 81800 12700 2180 60 2.1 0 0 16.1 2000 9 999999999 150 0.0920 0 88 999.000 999.0 99.0 -1.85256E7 23.3 16.7 66 101400 992 1327 364 757 869 104 78200 86800 13100 2760 20 3.1 0 0 16.1 2000 9 999999999 150 0.0920 0 88 999.000 999.0 99.0 -1.85292E7 25.6 15.0 52 101400 1138 1327 374 891 902 113 91600 90400 14000 4120 340 5.2 0 0 19.3 2000 9 999999999 140 0.0920 0 88 999.000 999.0 99.0 -1.85328E7 26.1 13.9 47 101400 1222 1327 375 967 917 118 99300 92000 14400 5850 310 7.2 0 0 32.2 2000 9 999999999 140 0.0920 0 88 999.000 999.0 99.0 -1.85364E7 26.7 13.9 45 101300 1240 1327 378 985 921 119 101100 92400 14500 6430 310 7.2 0 0 32.2 2000 9 999999999 140 0.0920 0 88 999.000 999.0 99.0 -1.854E7 26.1 13.9 47 101300 1190 1327 375 938 911 117 96400 91400 14300 5050 310 10.3 0 0 32.2 2000 9 999999999 140 0.0920 0 88 999.000 999.0 99.0 -1.85436E7 27.2 12.8 41 101300 1075 1327 379 835 891 109 86000 89200 13600 3390 310 8.8 0 0 48.3 2000 9 999999999 130 0.0920 0 88 999.000 999.0 99.0 -1.85472E7 25.6 13.3 47 101200 903 1327 372 681 851 97 70300 84700 12500 2300 310 8.8 0 0 48.3 2000 9 999999999 130 0.0920 0 88 999.000 999.0 99.0 -1.85508E7 21.1 13.3 61 101200 687 1327 350 488 781 80 51400 77200 11400 1810 300 9.8 0 0 48.3 2000 9 999999999 130 0.0920 0 88 999.000 999.0 99.0 -1.85544E7 18.3 13.3 73 101200 440 1327 337 276 645 58 28200 59000 8600 1170 310 8.2 0 0 24.1 2000 9 999999999 140 0.0920 0 88 999.000 999.0 99.0 -1.8558E7 16.7 13.3 81 101200 181 1327 329 84 352 34 8400 22900 5300 610 300 8.2 0 0 19.3 2000 9 999999999 140 0.0920 0 88 999.000 999.0 99.0 -1.85616E7 15.6 13.3 87 101300 6 321 325 7 15 5 0 0 0 0 300 6.7 0 0 19.3 2000 9 999999999 140 0.0920 0 88 999.000 999.0 99.0 -1.85652E7 14.4 13.3 93 101300 0 0 319 0 0 0 0 0 0 0 300 6.7 0 0 19.3 2000 9 999999999 150 0.0920 0 88 999.000 999.0 99.0 -1.85688E7 14.4 13.3 93 101400 0 0 319 0 0 0 0 0 0 0 310 4.1 0 0 19.3 2000 9 999999999 150 0.0920 0 88 999.000 999.0 99.0 -1.85724E7 13.9 12.8 93 101400 0 0 316 0 0 0 0 0 0 0 300 4.1 0 0 19.3 2000 9 999999999 150 0.0920 0 88 999.000 999.0 99.0 -1.8576E7 13.9 12.2 90 101300 0 0 316 0 0 0 0 0 0 0 300 4.1 0 0 19.3 2000 9 999999999 160 0.0920 0 88 999.000 999.0 99.0 -1.85796E7 13.9 12.8 93 101300 0 0 316 0 0 0 0 0 0 0 300 3.1 0 0 19.3 2000 9 999999999 160 0.0920 0 88 999.000 999.0 99.0 -1.85832E7 13.9 12.8 93 101300 0 0 316 0 0 0 0 0 0 0 310 3.1 0 0 19.3 2000 9 999999999 160 0.0920 0 88 999.000 999.0 99.0 -1.85868E7 13.3 12.2 93 101300 0 0 313 0 0 0 0 0 0 0 300 2.1 0 0 19.3 2000 9 999999999 170 0.0920 0 88 999.000 999.0 99.0 -1.85904E7 13.3 12.2 93 101300 0 0 313 0 0 0 0 0 0 0 300 2.1 0 0 19.3 2000 9 999999999 170 0.0920 0 88 999.000 999.0 99.0 -1.8594E7 13.3 12.2 93 101400 0 0 313 0 0 0 0 0 0 0 0 0.0 0 0 19.3 2000 9 999999999 170 0.0920 0 88 999.000 999.0 99.0 -1.85976E7 12.8 11.7 93 101400 60 940 316 29 112 18 2700 4600 2400 310 0 0.0 1 1 16.1 2000 9 999999999 170 0.0790 0 88 999.000 999.0 99.0 -1.86012E7 14.4 12.8 90 101400 303 1327 338 125 277 62 13300 22100 8300 1110 0 0.0 6 5 16.1 240 9 999999999 170 0.0790 0 88 999.000 999.0 99.0 -1.86048E7 16.7 13.3 81 101400 559 1327 349 324 505 110 33400 48100 13100 2160 0 0.0 5 5 16.1 2000 9 999999999 170 0.0790 0 88 999.000 999.0 99.0 -1.86084E7 18.3 13.9 76 101400 793 1327 337 571 815 82 59400 80600 11200 1870 10 3.1 0 0 16.1 2000 9 999999999 170 0.0790 0 88 999.000 999.0 99.0 -1.8612E7 19.4 14.4 73 101400 990 1327 343 751 874 95 77700 87300 12400 2640 30 3.1 0 0 16.1 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86156E7 20.0 13.9 68 101400 1136 1327 345 881 903 104 90900 90600 13200 3890 10 4.1 0 0 16.1 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86192E7 21.1 15.0 68 101400 1220 1327 352 951 911 109 97900 91500 13700 5480 30 3.1 0 0 16.1 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86228E7 23.3 13.3 54 101400 1238 1327 361 970 917 110 99800 92100 13700 6000 340 7.2 0 0 24.1 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86264E7 21.7 12.8 57 101400 1188 1327 352 925 908 107 95200 91100 13500 4720 320 9.8 0 0 32.2 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.863E7 21.1 12.8 59 101300 1073 1327 349 829 895 101 85500 89600 12900 3240 330 7.7 0 0 32.2 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86336E7 21.1 11.1 53 101400 901 1327 347 674 855 90 69800 85100 11900 2230 320 9.3 0 0 48.3 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86372E7 20.0 11.7 59 101300 684 1327 343 483 787 74 51300 78000 11100 1710 340 8.2 0 0 32.2 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86408E7 18.9 11.7 63 101300 436 1327 338 274 660 54 28300 60400 8400 1120 320 6.2 0 0 32.2 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86444E7 17.2 11.1 68 101400 177 1327 329 84 372 32 8400 24000 5200 580 310 6.7 0 0 24.1 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.8648E7 16.7 10.6 67 101400 5 299 327 6 17 4 0 0 0 0 300 4.6 0 0 24.1 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86516E7 16.1 10.6 70 101400 0 0 324 0 0 0 0 0 0 0 300 5.2 0 0 19.3 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86552E7 15.6 11.1 75 101500 0 0 322 0 0 0 0 0 0 0 300 5.2 0 0 19.3 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86588E7 15.0 11.1 78 101500 0 0 320 0 0 0 0 0 0 0 310 4.1 0 0 19.3 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86624E7 15.0 8.9 67 101500 0 0 317 0 0 0 0 0 0 0 310 5.2 0 0 19.3 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.8666E7 15.0 11.1 78 101500 0 0 320 0 0 0 0 0 0 0 260 1.5 0 0 19.3 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86696E7 13.9 11.1 84 101500 0 0 315 0 0 0 0 0 0 0 310 2.6 0 0 19.3 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86732E7 14.4 11.1 81 101500 0 0 317 0 0 0 0 0 0 0 320 5.2 0 0 19.3 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86768E7 13.9 11.1 84 101500 0 0 315 0 0 0 0 0 0 0 300 5.7 0 0 19.3 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.86804E7 13.9 11.7 87 101500 0 0 315 0 0 0 0 0 0 0 330 4.1 0 0 19.3 2000 9 999999999 180 0.0790 0 88 999.000 999.0 99.0 -1.8684E7 13.9 11.1 84 101600 57 918 315 30 126 18 2800 5100 2500 310 300 3.1 0 0 16.1 2000 9 999999999 180 0.0760 0 88 999.000 999.0 99.0 -1.86876E7 15.6 11.7 78 101600 300 1327 323 166 544 41 16900 45000 6700 810 270 5.7 0 0 16.1 2000 9 999999999 180 0.0760 0 88 999.000 999.0 99.0 -1.86912E7 16.1 11.1 72 101600 556 1327 335 333 584 87 35000 56200 11400 1770 270 6.2 3 2 12.9 2000 9 999999999 180 0.0760 0 88 999.000 999.0 99.0 -1.86948E7 17.8 11.7 68 101700 791 1327 339 550 791 76 57300 78200 10600 1820 250 7.2 1 1 12.9 2000 9 999999999 180 0.0760 0 88 999.000 999.0 99.0 -1.86984E7 17.8 11.7 68 101700 988 1327 339 728 855 88 75500 85500 11700 2540 270 6.2 1 1 14.5 2000 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.8702E7 18.3 11.1 63 101700 1134 1327 334 880 906 102 90800 90900 13100 3820 270 8.2 0 0 17.7 2000 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87056E7 20.0 11.1 57 101700 1219 1327 342 953 918 107 98300 92200 13500 5350 270 8.2 0 0 17.7 2000 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87092E7 20.6 11.1 55 101700 1236 1327 345 961 911 108 99000 91500 13600 5860 290 7.7 0 0 19.3 2000 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87128E7 19.4 11.1 59 101700 1186 1327 339 923 910 105 95100 91300 13300 4620 270 7.2 0 0 20.9 2000 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87164E7 18.3 11.7 65 101600 1070 1327 346 742 710 166 79600 73000 20700 6160 260 9.3 2 2 16.1 2000 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.872E7 17.8 11.7 68 101600 898 1327 347 603 649 160 63500 65800 18900 4290 270 6.2 4 3 16.1 2000 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87236E7 16.7 11.7 73 101600 680 1327 354 364 382 166 38500 38400 18700 3530 300 7.2 8 7 16.1 240 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87272E7 15.0 11.7 81 101600 433 1327 346 188 275 97 19800 25000 11600 1810 270 6.7 9 7 16.1 340 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87308E7 15.0 11.7 81 101600 173 1327 352 47 34 42 5100 2400 4800 1030 280 6.7 9 8 16.1 340 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87344E7 14.4 11.7 84 101600 5 277 356 2 1 1 0 0 0 0 260 7.2 9 9 19.3 340 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.8738E7 14.4 11.7 84 101600 0 0 366 0 0 0 0 0 0 0 270 5.2 10 10 19.3 340 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87416E7 14.4 11.7 84 101600 0 0 343 0 0 0 0 0 0 0 230 3.6 8 7 19.3 340 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87452E7 13.9 11.7 87 101600 0 0 332 0 0 0 0 0 0 0 270 2.6 5 4 19.3 2000 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87488E7 15.0 12.2 84 101600 0 0 343 0 0 0 0 0 0 0 280 2.6 6 6 19.3 460 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87524E7 13.9 11.1 84 101500 0 0 336 0 0 0 0 0 0 0 260 4.1 6 6 19.3 460 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.8756E7 13.3 11.1 87 101500 0 0 322 0 0 0 0 0 0 0 270 4.1 2 2 19.3 2000 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87596E7 13.3 11.1 87 101500 0 0 318 0 0 0 0 0 0 0 260 4.1 1 1 19.3 2000 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87632E7 13.3 10.6 83 101500 0 0 312 0 0 0 0 0 0 0 220 1.5 0 0 24.1 2000 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87668E7 12.2 10.0 86 101500 0 0 316 0 0 0 0 0 0 0 260 2.1 2 2 19.3 2000 9 999999999 190 0.0760 0 88 999.000 999.0 99.0 -1.87704E7 13.3 10.6 83 101500 55 896 317 23 72 16 2200 2900 2000 280 0 0.0 1 1 16.1 2000 9 999999999 190 0.1080 0 88 999.000 999.0 99.0 -1.8774E7 15.6 11.1 75 101500 297 1328 328 142 418 48 14700 33700 7200 900 0 0.0 1 1 14.5 2000 9 999999999 200 0.1080 0 88 999.000 999.0 99.0 -1.87776E7 17.2 11.1 68 101500 554 1328 329 357 673 75 37000 64200 10100 1520 50 2.6 0 0 11.3 2000 9 999999999 200 0.1080 0 88 999.000 999.0 99.0 -1.87812E7 18.3 11.7 65 101500 789 1328 335 561 777 97 59200 77600 13000 2290 30 2.6 0 0 12.9 2000 9 999999999 200 0.1080 0 88 999.000 999.0 99.0 -1.87848E7 18.9 12.2 65 101500 986 1328 338 735 833 113 75700 83100 13800 2790 50 2.1 0 0 12.9 2000 9 999999999 200 0.1080 0 88 999.000 999.0 99.0 -1.87884E7 20.6 13.3 63 101500 1132 1328 348 867 868 124 89100 86900 14800 4240 50 3.1 0 0 16.1 2000 9 999999999 200 0.1080 0 88 999.000 999.0 99.0 -1.8792E7 21.7 13.3 59 101500 1217 1328 353 949 890 130 97300 89200 15400 6050 10 3.6 0 0 12.9 2000 9 999999999 200 0.1080 0 88 999.000 999.0 99.0 -1.87956E7 21.7 12.2 55 101500 1234 1328 352 960 888 131 98400 89000 15400 6630 330 8.8 0 0 12.9 2000 9 999999999 200 0.1080 0 88 999.000 999.0 99.0 -1.87992E7 22.2 12.2 53 101500 1183 1328 354 914 878 128 93800 88000 15200 5180 310 9.8 0 0 16.1 2000 9 999999999 209 0.1080 0 88 999.000 999.0 99.0 -1.88028E7 21.1 11.7 55 101500 1068 1328 348 813 858 120 83600 85800 14500 3460 300 9.3 0 0 17.7 2000 9 999999999 209 0.1080 0 88 999.000 999.0 99.0 -1.88064E7 18.9 11.7 63 101500 895 1328 338 660 815 106 70000 82200 14500 2810 300 10.3 0 0 19.3 2000 9 999999999 209 0.1080 0 88 999.000 999.0 99.0 -1.881E7 17.2 11.7 70 101400 677 1328 341 347 386 149 37100 38800 17300 3130 270 10.3 2 2 19.3 2000 9 999999999 209 0.1080 0 88 999.000 999.0 99.0 -1.88136E7 15.6 12.2 81 101400 429 1328 340 186 225 112 19800 20900 13000 2210 260 10.3 5 4 16.1 2000 9 999999999 200 0.1080 0 88 999.000 999.0 99.0 -1.88172E7 15.0 11.7 81 101500 169 1328 334 65 234 34 6700 13900 5000 600 260 8.8 4 3 19.3 2000 9 999999999 200 0.1080 0 88 999.000 999.0 99.0 -1.88208E7 15.0 12.8 87 101500 4 255 353 1 0 1 0 0 0 0 260 7.2 9 8 19.3 340 9 999999999 200 0.1080 0 88 999.000 999.0 99.0 -1.88244E7 15.0 12.2 84 101500 0 0 370 0 0 0 0 0 0 0 260 6.2 10 10 19.3 340 9 999999999 190 0.1080 0 88 999.000 999.0 99.0 -1.8828E7 14.4 12.2 87 101500 0 0 367 0 0 0 0 0 0 0 250 6.7 10 10 19.3 310 9 999999999 190 0.1080 0 88 999.000 999.0 99.0 -1.88316E7 14.4 12.2 87 101500 0 0 349 0 0 0 0 0 0 0 290 4.6 9 8 19.3 240 9 999999999 190 0.1080 0 88 999.000 999.0 99.0 -1.88352E7 13.9 11.1 84 101500 0 0 340 0 0 0 0 0 0 0 290 5.2 7 7 19.3 240 9 999999999 180 0.1080 0 88 999.000 999.0 99.0 -1.88388E7 13.3 11.7 90 101500 0 0 338 0 0 0 0 0 0 0 250 4.6 8 7 19.3 240 9 999999999 180 0.1080 0 88 999.000 999.0 99.0 -1.88424E7 13.3 11.7 90 101500 0 0 338 0 0 0 0 0 0 0 300 4.6 7 7 24.1 210 9 999999999 180 0.1080 0 88 999.000 999.0 99.0 -1.8846E7 12.8 11.1 90 101500 0 0 331 0 0 0 0 0 0 0 270 3.1 6 6 24.1 210 9 999999999 170 0.1080 0 88 999.000 999.0 99.0 -1.88496E7 12.2 11.1 93 101500 0 0 321 0 0 0 0 0 0 0 290 1.5 3 3 24.1 2000 9 999999999 170 0.1080 0 88 999.000 999.0 99.0 -1.88532E7 11.7 10.6 93 101500 0 0 310 0 0 0 0 0 0 0 0 0.0 1 1 24.1 2000 9 999999999 170 0.1080 0 88 999.000 999.0 99.0 -1.88568E7 12.8 10.6 87 101500 53 874 315 16 10 15 1700 600 1700 380 0 0.0 1 1 16.1 2000 9 999999999 180 0.2450 0 88 999.000 999.0 99.0 -1.88604E7 15.0 11.1 78 101500 294 1328 320 128 254 71 13300 19900 8900 1300 0 0.0 0 0 16.1 2000 9 999999999 180 0.2450 0 88 999.000 999.0 99.0 -1.8864E7 16.7 11.1 70 101600 551 1328 327 322 484 119 34200 46900 14700 2320 300 5.2 0 0 14.5 2000 9 999999999 180 0.2450 0 88 999.000 999.0 99.0 -1.88676E7 18.3 11.1 63 101600 786 1328 334 526 615 160 54700 61400 18300 3680 310 6.2 0 0 16.1 2000 9 999999999 180 0.2450 0 88 999.000 999.0 99.0 -1.88712E7 19.4 11.7 61 101600 984 1328 347 674 657 184 71100 66800 21500 5610 280 5.2 1 1 16.1 2000 9 999999999 190 0.2450 0 88 999.000 999.0 99.0 -1.88748E7 19.4 12.2 63 101700 1130 1328 347 767 645 216 81500 65800 25400 9210 300 6.7 1 1 19.3 2000 9 999999999 190 0.2450 0 88 999.000 999.0 99.0 -1.88784E7 20.0 12.2 61 101700 1215 1328 350 880 722 217 94200 74000 26400 12570 270 5.2 1 1 19.3 2000 9 999999999 190 0.2450 0 88 999.000 999.0 99.0 -1.8882E7 20.6 11.7 57 101600 1232 1328 346 910 739 221 97400 75700 27000 13870 280 5.7 0 0 48.3 2000 9 999999999 190 0.2450 0 88 999.000 999.0 99.0 -1.88856E7 20.6 12.2 59 101600 1181 1328 346 881 745 215 94000 76200 26100 10880 270 12.4 0 0 64.4 2000 9 999999999 200 0.2450 0 88 999.000 999.0 99.0 -1.88892E7 20.6 11.7 57 101500 1065 1328 346 785 724 201 83100 73800 23800 7230 270 5.2 0 0 64.4 2000 9 999999999 200 0.2450 0 88 999.000 999.0 99.0 -1.88928E7 19.4 11.1 59 101500 892 1328 339 624 661 177 65300 66700 20400 4630 260 7.7 0 0 64.4 2000 9 999999999 200 0.2450 0 88 999.000 999.0 99.0 -1.88964E7 18.9 11.7 63 101500 674 1328 344 382 467 142 40900 47000 17000 2960 270 7.2 1 1 48.3 2000 9 999999999 200 0.2450 0 88 999.000 999.0 99.0 -1.89E7 17.8 11.1 65 101400 425 1328 338 212 350 99 22200 31600 12100 1850 280 4.1 2 1 32.2 2000 9 999999999 200 0.2450 0 88 999.000 999.0 99.0 -1.89036E7 16.1 10.0 67 101400 165 1328 334 53 64 45 5800 4000 5300 940 300 2.6 4 2 32.2 2000 9 999999999 200 0.2450 0 88 999.000 999.0 99.0 -1.89072E7 15.6 10.0 70 101400 3 210 327 1 0 1 0 0 0 0 270 2.6 3 1 24.1 2000 9 999999999 190 0.2450 0 88 999.000 999.0 99.0 -1.89108E7 15.0 10.6 75 101500 0 0 319 0 0 0 0 0 0 0 270 6.2 0 0 24.1 2000 9 999999999 190 0.2450 0 88 999.000 999.0 99.0 -1.89144E7 14.4 10.6 78 101500 0 0 316 0 0 0 0 0 0 0 250 4.1 0 0 19.3 2000 9 999999999 190 0.2450 0 88 999.000 999.0 99.0 -1.8918E7 13.3 10.0 80 101500 0 0 311 0 0 0 0 0 0 0 300 2.1 1 0 19.3 2000 9 999999999 190 0.2450 0 88 999.000 999.0 99.0 -1.89216E7 14.4 9.4 72 101500 0 0 315 0 0 0 0 0 0 0 240 5.7 3 0 19.3 2000 9 999999999 190 0.2450 0 88 999.000 999.0 99.0 -1.89252E7 13.3 10.0 80 101400 0 0 317 0 0 0 0 0 0 0 260 5.2 3 1 19.3 2000 9 999999999 190 0.2450 0 88 999.000 999.0 99.0 -1.89288E7 13.3 10.0 80 101500 0 0 311 0 0 0 0 0 0 0 270 6.2 1 0 19.3 2000 9 999999999 180 0.2450 0 88 999.000 999.0 99.0 -1.89324E7 13.3 10.0 80 101400 0 0 311 0 0 0 0 0 0 0 280 4.6 0 0 24.1 2000 9 999999999 180 0.2450 0 88 999.000 999.0 99.0 -1.8936E7 13.3 9.4 78 101400 0 0 310 0 0 0 0 0 0 0 290 4.6 0 0 24.1 2000 9 999999999 180 0.2450 0 88 999.000 999.0 99.0 -1.89396E7 13.9 9.4 75 101400 0 0 313 0 0 0 0 0 0 0 290 6.2 2 0 24.1 2000 9 999999999 180 0.2450 0 88 999.000 999.0 99.0 -1.89432E7 12.8 10.0 83 101500 51 875 322 14 1 14 1600 0 1600 500 280 3.6 4 3 16.1 2000 9 999999999 180 0.3770 0 88 999.000 999.0 99.0 -1.89468E7 14.4 10.0 75 101500 291 1329 329 94 53 82 10200 4400 9300 2060 290 3.6 6 3 12.9 2000 9 999999999 180 0.3770 0 88 999.000 999.0 99.0 -1.89504E7 16.7 10.0 65 101500 548 1329 332 277 338 136 29000 32700 15500 2680 0 0.0 1 1 12.9 2000 9 999999999 170 0.3770 0 88 999.000 999.0 99.0 -1.8954E7 18.3 10.6 61 101500 784 1329 334 499 496 206 52900 50700 22900 4820 360 3.1 0 0 12.9 2000 9 999999999 170 0.3770 0 88 999.000 999.0 99.0 -1.89576E7 20.0 11.1 57 101500 982 1329 342 682 584 249 73200 60800 28200 7590 30 3.6 0 0 16.1 2000 9 999999999 170 0.3770 0 88 999.000 999.0 99.0 -1.89612E7 20.6 11.7 57 101400 1128 1329 346 819 633 280 85400 63600 31300 11560 20 3.6 1 0 16.1 2000 9 999999999 170 0.3770 0 88 999.000 999.0 99.0 -1.89648E7 21.7 13.3 59 101400 1213 1329 353 900 664 291 94300 67000 33100 16360 360 5.2 0 0 19.3 2000 9 999999999 170 0.3770 0 88 999.000 999.0 99.0 -1.89684E7 25.0 10.6 40 101300 1230 1329 366 921 674 293 96500 68000 33400 17850 310 6.7 0 0 24.1 2000 9 999999999 160 0.3770 0 88 999.000 999.0 99.0 -1.8972E7 23.9 9.4 40 101300 1179 1329 359 869 655 285 90900 66000 32200 13960 300 10.3 0 0 32.2 2000 9 999999999 160 0.3770 0 88 999.000 999.0 99.0 -1.89756E7 23.3 8.9 40 101200 1062 1329 362 717 571 258 77500 59600 29700 9270 300 9.8 2 1 48.3 2000 9 999999999 160 0.3770 0 88 999.000 999.0 99.0 -1.89792E7 22.8 8.3 40 101200 889 1329 359 574 510 230 61000 52700 25600 6070 280 10.3 2 1 48.3 2000 9 999999999 160 0.3770 0 88 999.000 999.0 99.0 -1.89828E7 22.2 8.9 43 101200 670 1329 357 377 380 183 39300 38100 20100 3910 290 10.3 3 1 48.3 2000 9 999999999 160 0.3770 0 88 999.000 999.0 99.0 -1.89864E7 21.1 8.9 46 101100 421 1329 352 199 247 119 21000 22700 13700 2380 280 8.2 3 1 48.3 2000 9 999999999 160 0.3770 0 88 999.000 999.0 99.0 -1.899E7 18.9 9.4 55 101100 160 1329 346 43 20 40 4600 1400 4500 970 300 7.7 5 2 40.2 2000 9 999999999 160 0.3770 0 88 999.000 999.0 99.0 -1.89936E7 17.2 10.0 63 101100 2 188 334 0 0 0 0 0 0 0 320 6.2 3 1 24.1 2000 9 999999999 160 0.3770 0 88 999.000 999.0 99.0 -1.89972E7 16.1 10.6 70 101200 0 0 324 0 0 0 0 0 0 0 300 6.2 2 0 24.1 2000 9 999999999 160 0.3770 0 88 999.000 999.0 99.0 -1.90008E7 15.0 10.6 75 101200 0 0 319 0 0 0 0 0 0 0 300 5.2 0 0 24.1 2000 9 999999999 150 0.3770 0 88 999.000 999.0 99.0 -1.90044E7 14.4 11.1 81 101200 0 0 317 0 0 0 0 0 0 0 300 5.2 0 0 24.1 2000 9 999999999 150 0.3770 0 88 999.000 999.0 99.0 -1.9008E7 13.9 8.3 69 101200 0 0 312 0 0 0 0 0 0 0 300 4.1 0 0 19.3 2000 9 999999999 150 0.3770 0 88 999.000 999.0 99.0 -1.90116E7 13.9 10.6 81 101200 0 0 314 0 0 0 0 0 0 0 320 3.1 2 0 19.3 2000 9 999999999 150 0.3770 0 88 999.000 999.0 99.0 -1.90152E7 13.3 10.0 80 101100 0 0 311 0 0 0 0 0 0 0 290 2.1 0 0 19.3 2000 9 999999999 150 0.3770 0 88 999.000 999.0 99.0 -1.90188E7 13.9 10.0 78 101100 0 0 314 0 0 0 0 0 0 0 0 0.0 0 0 19.3 2000 9 999999999 150 0.3770 0 88 999.000 999.0 99.0 -1.90224E7 13.3 9.4 78 101200 0 0 310 0 0 0 0 0 0 0 290 1.5 0 0 19.3 2000 9 999999999 150 0.3770 0 88 999.000 999.0 99.0 -1.9026E7 13.9 9.4 75 101200 0 0 323 0 0 0 0 0 0 0 0 0.0 3 2 48.3 2000 9 999999999 150 0.3770 0 88 999.000 999.0 99.0 -1.90296E7 14.4 10.6 78 101200 49 853 327 23 46 19 2300 1500 2200 330 0 0.0 6 2 48.3 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90332E7 17.8 12.8 73 101200 288 1329 345 137 350 60 14400 27300 8500 1080 0 0.0 7 2 16.1 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90368E7 20.0 13.9 68 101300 546 1329 363 300 404 133 31500 39000 15500 2610 20 1.5 8 4 16.1 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90404E7 21.1 14.4 66 101300 782 1329 369 491 563 158 51100 56100 18000 3620 60 2.6 9 4 16.1 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.9044E7 21.7 15.0 66 101300 980 1329 379 546 404 246 58500 42000 27400 7460 70 2.1 10 6 12.9 6100 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90476E7 23.3 14.4 58 101300 1126 1329 387 766 605 251 80400 61200 28400 10410 360 4.1 10 6 9.7 6100 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90512E7 26.7 11.7 39 101300 1211 1329 401 731 453 316 79000 47400 35700 18190 300 5.2 10 6 11.3 6100 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90548E7 26.1 11.7 41 101300 1228 1329 403 648 388 288 70900 40700 33200 17850 310 7.2 9 7 12.9 6100 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90584E7 28.3 11.1 34 101200 1176 1329 414 569 270 328 63000 29400 36900 15040 310 8.2 8 7 24.1 6100 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.9062E7 28.9 9.4 30 101200 1060 1329 396 765 736 173 81600 75500 21300 6220 310 10.3 5 2 48.3 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90656E7 23.9 11.7 46 101200 886 1329 374 606 727 117 63400 72900 14700 2960 310 11.3 3 2 48.3 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90692E7 21.1 12.2 57 101100 666 1329 360 448 678 104 47000 67200 13300 2250 300 10.8 2 2 48.3 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90728E7 20.6 11.1 55 101100 417 1329 352 243 597 52 25000 54100 8000 1070 310 7.2 1 1 48.3 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90764E7 20.0 10.6 55 101200 156 1329 348 66 264 34 6600 15800 4700 590 320 7.2 1 1 48.3 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.908E7 16.7 11.1 70 101200 2 166 327 3 7 2 0 0 0 0 300 5.7 0 0 24.1 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90836E7 15.0 11.1 78 101300 0 0 320 0 0 0 0 0 0 0 290 4.6 0 0 24.1 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90872E7 13.9 11.1 84 101300 0 0 315 0 0 0 0 0 0 0 300 4.6 0 0 24.1 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90908E7 12.8 11.7 93 101300 0 0 310 0 0 0 0 0 0 0 300 4.6 0 0 24.1 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.90944E7 12.8 11.1 90 101300 0 0 310 0 0 0 0 0 0 0 300 3.1 0 0 24.1 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.9098E7 12.2 11.1 93 101300 0 0 307 0 0 0 0 0 0 0 290 3.1 0 0 24.1 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.91016E7 11.7 10.6 93 101300 0 0 305 0 0 0 0 0 0 0 290 2.1 0 0 24.1 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.91052E7 11.7 10.0 90 101300 0 0 304 0 0 0 0 0 0 0 290 2.6 0 0 24.1 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.91088E7 12.2 10.6 90 101300 0 0 307 0 0 0 0 0 0 0 300 3.1 0 0 24.1 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.91124E7 12.8 10.6 87 101300 0 0 325 0 0 0 0 0 0 0 280 3.1 8 4 19.3 2000 9 999999999 150 0.0860 0 88 999.000 999.0 99.0 -1.9116E7 12.2 10.6 90 101300 46 831 317 15 13 14 1600 700 1600 350 310 2.6 3 2 16.1 2000 9 999999999 150 0.1920 0 88 999.000 999.0 99.0 -1.91196E7 14.4 11.7 84 101400 285 1330 328 111 220 64 11700 17000 8000 1160 0 0.0 2 2 12.9 2000 9 999999999 150 0.1920 0 88 999.000 999.0 99.0 -1.91232E7 16.1 12.2 78 101400 543 1330 336 307 483 108 32900 46700 13800 2080 0 0.0 2 2 12.9 2000 9 999999999 150 0.1920 0 88 999.000 999.0 99.0 -1.91268E7 16.1 12.2 78 101400 779 1330 332 528 670 133 55600 67300 16000 3120 0 0.0 1 1 12.9 2000 9 999999999 150 0.1920 0 88 999.000 999.0 99.0 -1.91304E7 18.9 12.8 68 101400 978 1330 346 681 717 152 72900 73500 18800 4660 360 4.1 1 1 16.1 2000 9 999999999 150 0.1920 0 88 999.000 999.0 99.0 -1.9134E7 20.6 13.3 63 101400 1124 1330 348 851 794 177 88500 79600 21100 6710 20 3.1 0 0 17.7 2000 9 999999999 160 0.1920 0 88 999.000 999.0 99.0 -1.91376E7 20.6 13.3 63 101400 1209 1330 348 933 818 185 97500 82300 22600 9570 60 5.2 0 0 19.3 2000 9 999999999 160 0.1920 0 88 999.000 999.0 99.0 -1.91412E7 21.7 13.3 59 101300 1226 1330 353 930 802 187 97400 80700 22800 10460 100 3.6 0 0 19.3 2000 9 999999999 160 0.1920 0 88 999.000 999.0 99.0 -1.91448E7 23.3 13.3 54 101300 1174 1330 361 892 799 182 93000 80300 21900 8170 40 3.1 0 0 24.1 2000 9 999999999 160 0.1920 0 88 999.000 999.0 99.0 -1.91484E7 23.9 11.7 46 101200 1057 1330 362 794 780 170 82100 78000 19900 5360 260 5.2 0 0 32.2 2000 9 999999999 160 0.1920 0 88 999.000 999.0 99.0 -1.9152E7 21.7 11.1 51 101200 882 1330 350 632 721 150 66800 73200 18100 3950 240 6.2 0 0 32.2 2000 9 999999999 160 0.1920 0 88 999.000 999.0 99.0 -1.91556E7 21.7 10.6 49 101200 663 1330 350 436 624 121 45200 61400 14600 2550 260 6.7 0 0 32.2 2000 9 999999999 160 0.1920 0 88 999.000 999.0 99.0 -1.91592E7 19.4 11.1 59 101200 413 1330 339 227 455 83 24000 40800 11300 1520 260 7.2 0 0 32.2 2000 9 999999999 160 0.1920 0 88 999.000 999.0 99.0 -1.91628E7 17.8 11.7 68 101200 151 1330 333 55 134 39 5700 7000 4900 720 240 3.6 0 0 24.1 2000 9 999999999 170 0.1920 0 88 999.000 999.0 99.0 -1.91664E7 16.1 11.1 72 101200 1 144 324 1 0 1 0 0 0 0 250 5.2 0 0 19.3 2000 9 999999999 170 0.1920 0 88 999.000 999.0 99.0 -1.917E7 15.6 11.1 75 101200 0 0 322 0 0 0 0 0 0 0 180 2.1 0 0 19.3 2000 9 999999999 170 0.1920 0 88 999.000 999.0 99.0 -1.91736E7 15.0 11.1 78 101200 0 0 320 0 0 0 0 0 0 0 210 3.1 0 0 19.3 2000 9 999999999 180 0.1920 0 88 999.000 999.0 99.0 -1.91772E7 14.4 11.7 84 101200 0 0 317 0 0 0 0 0 0 0 210 6.7 0 0 19.3 2000 9 999999999 180 0.1920 0 88 999.000 999.0 99.0 -1.91808E7 14.4 7.2 62 101200 0 0 313 0 0 0 0 0 0 0 210 4.6 0 0 19.3 2000 9 999999999 180 0.1920 0 88 999.000 999.0 99.0 -1.91844E7 13.9 11.1 84 101200 0 0 315 0 0 0 0 0 0 0 220 4.1 0 0 19.3 2000 9 999999999 180 0.1920 0 88 999.000 999.0 99.0 -1.9188E7 12.8 10.0 83 101200 0 0 309 0 0 0 0 0 0 0 310 2.1 0 0 19.3 2000 9 999999999 190 0.1920 0 88 999.000 999.0 99.0 -1.91916E7 13.3 11.1 87 101200 0 0 312 0 0 0 0 0 0 0 210 3.1 0 0 19.3 2000 9 999999999 190 0.1920 0 88 999.000 999.0 99.0 -1.91952E7 13.3 10.6 83 101200 0 0 312 0 0 0 0 0 0 0 190 2.6 0 0 19.3 2000 9 999999999 190 0.1920 0 88 999.000 999.0 99.0 -1.91988E7 12.2 10.6 90 101300 0 0 317 0 0 0 0 0 0 0 260 1.5 2 2 19.3 2000 9 999999999 190 0.1920 0 88 999.000 999.0 99.0 -1.92024E7 13.3 10.6 83 101300 44 809 322 26 66 18 2400 2100 2200 310 190 3.1 2 2 16.1 2000 9 999999999 190 0.0720 0 88 999.000 999.0 99.0 -1.9206E7 14.4 11.1 81 101400 282 1330 323 135 439 41 14000 34800 6700 780 190 3.6 1 1 16.1 2000 9 999999999 190 0.0720 0 88 999.000 999.0 99.0 -1.92096E7 15.6 10.6 72 101400 540 1330 338 284 447 101 30600 43200 13100 1930 170 4.6 5 4 17.7 2000 9 999999999 190 0.0720 0 88 999.000 999.0 99.0 -1.92132E7 18.3 11.1 63 101400 777 1330 334 557 818 76 58000 80800 10700 1790 70 3.6 0 0 19.3 2000 9 999999999 190 0.0720 0 88 999.000 999.0 99.0 -1.92168E7 18.3 11.7 65 101400 975 1330 335 737 878 90 76500 87700 12000 2500 20 4.6 0 0 19.3 2000 9 999999999 190 0.0720 0 88 999.000 999.0 99.0 -1.92204E7 20.0 12.2 61 101400 1122 1330 344 868 909 98 89800 91200 12700 3590 30 3.6 0 0 19.3 2000 9 999999999 180 0.0720 0 88 999.000 999.0 99.0 -1.9224E7 21.7 12.8 57 101400 1207 1330 352 947 925 103 97700 92900 13200 4900 20 4.6 0 0 19.3 2000 9 999999999 180 0.0720 0 88 999.000 999.0 99.0 -1.92276E7 22.8 12.2 52 101300 1223 1330 357 966 932 104 99600 93600 13300 5310 360 6.2 0 0 24.1 2000 9 999999999 180 0.0720 0 88 999.000 999.0 99.0 -1.92312E7 23.3 11.7 48 101300 1171 1330 359 917 921 101 94600 92400 13000 4250 180 2.6 0 0 32.2 2000 9 999999999 180 0.0720 0 88 999.000 999.0 99.0 -1.92348E7 23.9 11.7 46 101300 1054 1330 362 809 896 94 83600 89700 12400 2970 180 4.1 0 0 32.2 2000 9 999999999 180 0.0720 0 88 999.000 999.0 99.0 -1.92384E7 23.3 11.7 48 101200 879 1330 359 659 862 84 68200 85700 11400 2100 210 4.1 0 0 32.2 2000 9 999999999 180 0.0720 0 88 999.000 999.0 99.0 -1.9242E7 22.2 11.1 50 101200 659 1330 353 465 791 68 48200 77000 10000 1520 260 4.6 0 0 32.2 2000 9 999999999 180 0.0720 0 88 999.000 999.0 99.0 -1.92456E7 20.0 11.1 57 101300 408 1330 342 254 656 49 26200 59200 8000 1020 270 7.2 0 0 24.1 2000 9 999999999 190 0.0720 0 88 999.000 999.0 99.0 -1.92492E7 17.2 11.7 70 101300 146 1330 330 67 339 27 6600 19900 4400 490 240 6.2 0 0 19.3 2000 9 999999999 190 0.0720 0 88 999.000 999.0 99.0 -1.92528E7 16.1 11.1 72 101400 1 122 324 3 6 1 0 0 0 0 290 4.1 0 0 19.3 2000 9 999999999 190 0.0720 0 88 999.000 999.0 99.0 -1.92564E7 16.1 11.1 72 101400 0 0 324 0 0 0 0 0 0 0 280 4.1 0 0 19.3 2000 9 999999999 190 0.0720 0 88 999.000 999.0 99.0 -1.926E7 15.6 11.1 75 101400 0 0 322 0 0 0 0 0 0 0 280 3.1 0 0 19.3 2000 9 999999999 200 0.0720 0 88 999.000 999.0 99.0 -1.92636E7 15.6 11.1 75 101400 0 0 322 0 0 0 0 0 0 0 280 2.1 0 0 19.3 2000 9 999999999 200 0.0720 0 88 999.000 999.0 99.0 -1.92672E7 15.0 8.9 67 101400 0 0 317 0 0 0 0 0 0 0 0 0.0 0 0 19.3 2000 9 999999999 200 0.0720 0 88 999.000 999.0 99.0 -1.92708E7 15.0 11.1 78 101400 0 0 320 0 0 0 0 0 0 0 0 0.0 0 0 19.3 2000 9 999999999 200 0.0720 0 88 999.000 999.0 99.0 -1.92744E7 14.4 11.1 81 101400 0 0 317 0 0 0 0 0 0 0 0 0.0 0 0 19.3 2000 9 999999999 200 0.0720 0 88 999.000 999.0 99.0 -1.9278E7 13.9 10.6 81 101400 0 0 314 0 0 0 0 0 0 0 0 0.0 0 0 19.3 2000 9 999999999 209 0.0720 0 88 999.000 999.0 99.0 -1.92816E7 13.3 10.6 83 101400 0 0 312 0 0 0 0 0 0 0 290 1.5 0 0 19.3 2000 9 999999999 209 0.0720 0 88 999.000 999.0 99.0 -1.92852E7 13.3 10.6 83 101400 0 0 312 0 0 0 0 0 0 0 270 2.1 0 0 19.3 2000 9 999999999 209 0.0720 0 88 999.000 999.0 99.0 -1.92888E7 13.9 11.1 84 101500 42 787 315 18 13 17 1900 700 1900 410 250 2.1 0 0 19.3 2000 9 999999999 209 0.2090 0 88 999.000 999.0 99.0 -1.92924E7 15.6 11.1 75 101500 279 1330 322 123 278 64 12800 21300 8400 1160 200 2.1 0 0 16.1 2000 9 999999999 209 0.2090 0 88 999.000 999.0 99.0 -1.9296E7 17.2 11.7 70 101500 537 1330 341 318 518 107 32700 48900 12900 2070 180 6.2 2 2 16.1 2000 9 999999999 209 0.2090 0 88 999.000 999.0 99.0 -1.92996E7 18.9 11.7 63 101500 774 1330 338 520 643 143 54400 64400 16800 3300 160 3.6 0 0 16.1 2000 9 999999999 209 0.2090 0 88 999.000 999.0 99.0 -1.93032E7 20.6 11.1 55 101600 973 1330 345 707 731 169 75000 74500 20300 5080 210 2.6 0 0 16.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.93068E7 20.6 11.1 55 101600 1120 1330 345 836 768 186 89500 78800 23000 7750 220 5.2 0 0 16.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.93104E7 21.7 12.2 55 101500 1204 1330 352 913 787 196 94700 78900 23200 9790 60 4.1 0 0 19.3 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.9314E7 21.7 12.2 55 101500 1221 1330 352 934 797 197 97000 79900 23400 10630 180 6.2 0 0 19.3 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.93176E7 22.8 11.7 50 101400 1169 1330 356 888 787 192 91900 78800 22500 8310 250 5.2 0 0 24.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.93212E7 22.2 11.7 51 101400 1051 1330 353 776 750 179 82600 76700 21800 6270 240 5.7 0 0 24.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.93248E7 20.6 11.7 57 101400 876 1330 346 622 699 157 65300 70700 18600 4070 250 6.2 0 0 24.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.93284E7 18.9 11.7 63 101400 655 1330 338 424 598 126 43800 58600 14900 2620 250 7.2 0 0 24.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.9332E7 17.2 11.1 68 101400 404 1330 329 215 419 86 22700 37200 11300 1580 250 6.7 0 0 24.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.93356E7 16.1 11.1 72 101500 142 1330 324 49 103 38 5100 5200 4600 700 240 5.2 0 0 24.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.93392E7 15.6 10.6 72 101500 1 100 322 1 0 1 0 0 0 0 240 5.2 0 0 24.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.93428E7 15.6 11.1 75 101500 0 0 322 0 0 0 0 0 0 0 260 5.2 0 0 24.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.93464E7 15.0 11.1 78 101500 0 0 320 0 0 0 0 0 0 0 250 4.6 0 0 24.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.935E7 15.0 11.1 78 101600 0 0 320 0 0 0 0 0 0 0 250 4.6 0 0 24.1 2000 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.93536E7 15.0 10.0 72 101600 0 0 318 0 0 0 0 0 0 0 240 4.6 0 0 24.1 2000 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.93572E7 15.0 11.1 78 101600 0 0 330 0 0 0 0 0 0 0 250 5.2 2 2 19.3 2000 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.93608E7 15.0 11.1 78 101600 0 0 359 0 0 0 0 0 0 0 250 4.1 10 9 19.3 580 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.93644E7 15.0 11.1 78 101600 0 0 369 0 0 0 0 0 0 0 240 5.2 10 10 19.3 580 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.9368E7 15.0 10.6 75 101600 0 0 345 0 0 0 0 0 0 0 240 3.6 9 7 19.3 580 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.93716E7 15.0 10.6 75 101600 0 0 338 0 0 0 0 0 0 0 270 4.1 7 5 19.3 610 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.93752E7 14.4 10.6 78 101600 40 765 348 9 1 9 1100 0 1100 340 230 3.6 9 8 16.1 610 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.93788E7 15.6 10.6 72 101600 275 1331 361 67 16 64 7400 1300 7100 1660 230 3.1 10 9 16.1 610 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.93824E7 16.7 10.6 67 101700 535 1331 366 138 5 135 15600 400 15500 5340 230 2.6 10 9 19.3 610 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.9386E7 18.3 10.6 61 101700 772 1331 375 349 225 218 37800 23800 23900 5210 180 2.1 10 9 19.3 610 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.93896E7 19.4 10.6 57 101700 971 1331 345 672 656 191 70700 66500 22100 5640 300 2.6 1 1 24.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.93932E7 20.6 10.6 53 101600 1118 1331 345 834 768 186 89300 78800 23000 7690 280 6.2 0 0 32.2 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.93968E7 21.1 10.6 51 101600 1202 1331 347 914 791 196 94900 79300 23200 9680 280 5.7 0 0 32.2 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.94004E7 21.1 10.6 51 101600 1219 1331 347 925 789 198 96100 79100 23500 10530 280 5.2 0 0 32.2 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.9404E7 21.1 11.1 53 101600 1166 1331 347 877 777 192 90800 77800 22500 8220 260 5.2 0 0 40.2 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.94076E7 21.1 10.6 51 101600 1048 1331 347 774 750 179 82300 76700 21800 6230 280 9.3 0 0 32.2 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.94112E7 20.0 10.6 55 101600 872 1331 342 618 697 157 64900 70500 18600 4050 290 10.3 0 0 32.2 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.94148E7 18.9 11.1 61 101600 651 1331 337 420 594 125 43300 58100 14800 2590 280 7.7 0 0 32.2 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.94184E7 17.8 11.7 68 101600 399 1331 333 212 414 85 22200 36700 11200 1560 280 7.7 0 0 32.2 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.9422E7 16.7 11.7 73 101600 137 1331 328 47 97 37 4900 4700 4500 680 280 6.7 0 0 24.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.94256E7 16.1 11.7 75 101600 0 55 325 1 0 1 0 0 0 0 270 5.2 0 0 24.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.94292E7 15.6 11.7 78 101600 0 0 323 0 0 0 0 0 0 0 270 4.6 0 0 24.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.94328E7 15.6 11.1 75 101600 0 0 322 0 0 0 0 0 0 0 290 4.6 0 0 24.1 2000 9 999999999 200 0.2090 0 88 999.000 999.0 99.0 -1.94364E7 15.0 11.1 78 101600 0 0 320 0 0 0 0 0 0 0 290 5.2 0 0 24.1 2000 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.944E7 14.4 10.0 75 101600 0 0 316 0 0 0 0 0 0 0 280 3.1 0 0 24.1 2000 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.94436E7 14.4 11.1 81 101600 0 0 317 0 0 0 0 0 0 0 280 3.1 0 0 24.1 2000 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.94472E7 13.9 11.1 84 101600 0 0 315 0 0 0 0 0 0 0 270 2.1 0 0 24.1 2000 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.94508E7 13.3 11.1 87 101600 0 0 312 0 0 0 0 0 0 0 270 3.6 0 0 24.1 2000 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.94544E7 13.9 11.1 84 101500 0 0 315 0 0 0 0 0 0 0 230 2.6 0 0 24.1 2000 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.9458E7 13.3 11.1 87 101600 0 0 318 0 0 0 0 0 0 0 270 4.1 1 1 19.3 2000 9 999999999 190 0.2090 0 88 999.000 999.0 99.0 -1.94616E7 13.9 11.7 87 101600 39 743 354 9 2 9 1100 0 1100 340 270 4.1 10 9 16.1 340 9 999999999 190 0.0990 0 88 999.000 999.0 99.0 -1.94652E7 15.0 11.7 81 101600 272 1331 359 59 19 55 6500 1500 6200 1460 300 7.2 10 9 16.1 340 9 999999999 190 0.0990 0 88 999.000 999.0 99.0 -1.94688E7 15.0 11.1 78 101600 532 1331 359 142 47 123 15600 4500 13800 3630 300 6.2 10 9 16.1 400 9 999999999 190 0.0990 0 88 999.000 999.0 99.0 -1.94724E7 15.6 11.1 75 101700 770 1331 362 238 74 194 26100 7400 21800 6450 280 5.7 10 9 16.1 430 9 999999999 190 0.0990 0 88 999.000 999.0 99.0 -1.9476E7 15.6 11.7 78 101700 969 1331 362 448 266 254 49400 28800 28400 7420 290 6.2 10 9 16.1 430 9 999999999 200 0.0990 0 88 999.000 999.0 99.0 -1.94796E7 16.7 11.7 73 101600 1115 1331 368 438 72 377 48300 7400 42100 16000 280 6.7 9 9 16.1 460 9 999999999 200 0.0990 0 88 999.000 999.0 99.0 -1.94832E7 18.3 11.7 65 101600 1200 1331 355 839 610 286 87900 61500 32300 15090 280 7.7 6 5 16.1 520 9 999999999 200 0.0990 0 88 999.000 999.0 99.0 -1.94868E7 18.3 11.1 63 101600 1216 1331 345 887 824 130 90800 82600 15200 5950 300 8.8 2 2 19.3 2000 9 999999999 200 0.0990 0 88 999.000 999.0 99.0 -1.94904E7 18.3 11.1 63 101600 1163 1331 341 794 745 139 85000 75700 18700 6300 290 9.8 1 1 19.3 2000 9 999999999 200 0.0990 0 88 999.000 999.0 99.0 -1.9494E7 18.3 11.1 63 101500 1045 1331 341 754 815 110 77600 81500 13500 3130 290 9.3 1 1 24.1 2000 9 999999999 200 0.0990 0 88 999.000 999.0 99.0 -1.94976E7 17.8 11.1 65 101500 868 1331 338 626 822 84 64700 81700 11300 2070 260 7.7 1 1 24.1 2000 9 999999999 200 0.0990 0 88 999.000 999.0 99.0 -1.95012E7 17.2 11.1 68 101400 647 1331 340 416 620 111 43300 60900 13700 2340 270 7.7 2 2 24.1 2000 9 999999999 200 0.0990 0 88 999.000 999.0 99.0 -1.95048E7 15.6 11.1 75 101400 395 1331 341 186 341 82 19500 30100 10600 1500 290 7.7 6 5 24.1 460 9 999999999 200 0.0990 0 88 999.000 999.0 99.0 -1.95084E7 14.4 11.1 81 101400 132 1331 333 37 19 35 4000 1200 3900 830 270 6.2 5 4 24.1 2000 9 999999999 190 0.0990 0 88 999.000 999.0 99.0 -1.9512E7 14.4 11.7 84 101400 0 33 339 0 0 0 0 0 0 0 280 7.2 7 6 24.1 370 9 999999999 190 0.0990 0 88 999.000 999.0 99.0 -1.95156E7 14.4 11.7 84 101500 0 0 356 0 0 0 0 0 0 0 290 5.2 10 9 24.1 310 9 999999999 190 0.0990 0 88 999.000 999.0 99.0 -1.95192E7 14.4 11.7 84 101400 0 0 366 0 0 0 0 0 0 0 290 7.2 10 10 24.1 310 9 999999999 190 0.0990 0 88 999.000 999.0 99.0 -1.95228E7 13.9 11.7 87 101400 0 0 364 0 0 0 0 0 0 0 240 3.6 10 10 24.1 270 9 999999999 180 0.0990 0 88 999.000 999.0 99.0 -1.95264E7 13.9 11.1 84 101400 0 0 363 0 0 0 0 0 0 0 290 4.1 10 10 24.1 270 9 999999999 180 0.0990 0 88 999.000 999.0 99.0 -1.953E7 13.9 11.7 87 101400 0 0 364 0 0 0 0 0 0 0 270 5.2 10 10 24.1 270 9 999999999 180 0.0990 0 88 999.000 999.0 99.0 -1.95336E7 13.9 11.7 87 101300 0 0 364 0 0 0 0 0 0 0 250 4.6 10 10 24.1 270 9 999999999 180 0.0990 0 88 999.000 999.0 99.0 -1.95372E7 13.9 11.7 87 101300 0 0 364 0 0 0 0 0 0 0 270 4.1 10 10 24.1 270 9 999999999 170 0.0990 0 88 999.000 999.0 99.0 -1.95408E7 13.3 11.1 87 101300 0 0 360 0 0 0 0 0 0 0 290 4.1 10 10 24.1 270 9 999999999 170 0.0990 0 88 999.000 999.0 99.0 -1.95444E7 13.3 11.1 87 101200 0 0 360 0 0 0 0 0 0 0 270 2.6 10 10 24.1 240 9 999999999 170 0.0990 0 88 999.000 999.0 99.0 -1.9548E7 13.3 11.1 87 101300 37 744 360 8 0 8 1000 0 1000 300 270 2.6 10 10 12.9 240 9 999999999 180 0.1440 0 88 999.000 999.0 99.0 -1.95516E7 13.3 11.7 90 101300 269 1332 361 77 1 77 8600 0 8600 2570 250 4.1 10 10 12.9 240 9 999999999 180 0.1440 0 88 999.000 999.0 99.0 -1.95552E7 13.9 11.7 87 101300 529 1332 364 125 9 122 14400 600 14200 4930 290 4.1 10 10 9.7 210 9 999999999 180 0.1440 0 88 999.000 999.0 99.0 -1.95588E7 13.9 11.7 87 101300 767 1332 364 129 6 126 15500 400 15300 5970 260 5.2 10 10 11.3 240 9 999999999 190 0.1440 0 88 999.000 999.0 99.0 -1.95624E7 14.4 12.2 87 101300 966 1332 367 211 6 207 25200 500 24900 9890 240 4.1 10 10 14.5 240 9 999999999 190 0.1440 0 88 999.000 999.0 99.0 -1.9566E7 15.6 12.2 81 101200 1113 1332 373 312 7 307 37000 600 36500 14070 270 4.6 10 10 16.1 310 9 999999999 190 0.1440 0 88 999.000 999.0 99.0 -1.95696E7 16.7 12.2 75 101200 1198 1332 368 478 100 388 52900 10700 43300 18460 270 7.2 10 9 19.3 460 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.95732E7 16.7 12.8 78 101200 1214 1332 361 625 229 415 68400 24900 45600 21860 270 6.2 10 8 16.1 240 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.95768E7 17.8 12.2 70 101200 1160 1332 366 623 286 372 68200 31100 41100 16380 290 7.7 8 8 24.1 400 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.95804E7 18.3 12.2 68 101100 1041 1332 359 724 632 226 75700 63900 25600 7550 270 8.2 7 6 32.2 400 9 999999999 209 0.1440 0 88 999.000 999.0 99.0 -1.9584E7 17.2 12.2 73 101000 865 1332 363 446 327 232 48600 35100 25800 5990 280 7.7 9 8 24.1 370 9 999999999 209 0.1440 0 88 999.000 999.0 99.0 -1.95876E7 15.6 12.8 84 101000 642 1332 364 187 100 138 20800 10300 15900 3390 280 7.7 9 9 24.1 310 9 999999999 209 0.1440 0 88 999.000 999.0 99.0 -1.95912E7 15.0 12.2 84 101000 390 1332 360 120 31 110 13100 2800 12200 2910 270 6.2 10 9 19.3 310 9 999999999 209 0.1440 0 88 999.000 999.0 99.0 -1.95948E7 14.4 11.7 84 101000 127 1332 349 38 18 36 4100 1100 4000 840 280 5.2 9 8 12.9 340 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.95984E7 13.9 11.7 87 101000 0 11 354 0 0 0 0 0 0 0 270 5.2 10 9 19.3 340 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.9602E7 14.4 11.7 84 101100 0 0 366 0 0 0 0 0 0 0 260 5.2 10 10 19.3 270 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.96056E7 13.9 11.7 87 101100 0 0 364 0 0 0 0 0 0 0 260 5.2 10 10 19.3 270 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.96092E7 13.9 11.1 84 101100 0 0 363 0 0 0 0 0 0 0 260 5.2 10 10 19.3 310 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.96128E7 13.9 9.4 75 101100 0 0 361 0 0 0 0 0 0 0 260 4.6 10 10 24.1 340 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.96164E7 13.9 11.1 84 101100 0 0 363 0 0 0 0 0 0 0 250 4.1 10 10 24.1 340 9 999999999 200 0.1440 0 88 999.000 999.0 99.0 -1.962E7 13.9 11.1 84 101000 0 0 363 0 0 0 0 0 0 0 260 3.6 10 10 24.1 340 9 999999999 190 0.1440 0 88 999.000 999.0 99.0 -1.96236E7 13.9 11.1 84 101000 0 0 363 0 0 0 0 0 0 0 280 4.6 10 10 24.1 340 9 999999999 190 0.1440 0 88 999.000 999.0 99.0 -1.96272E7 13.3 11.7 90 101000 0 0 361 0 0 0 0 0 0 0 260 2.1 10 10 19.3 270 9 999999999 190 0.1440 0 88 999.000 999.0 99.0 -1.96308E7 13.3 11.7 90 101000 0 0 361 0 0 0 0 0 0 0 260 3.6 10 10 19.3 240 9 999999999 190 0.1440 0 88 999.000 999.0 99.0 -1.96344E7 13.3 11.7 90 101000 35 722 361 10 0 10 1200 0 1200 370 240 5.2 10 10 16.1 270 9 999999999 190 0.1640 0 88 999.000 999.0 99.0 -1.9638E7 13.9 11.7 87 101100 266 1332 364 36 2 35 4200 0 4200 1400 300 4.6 10 10 17.7 240 9 999999999 200 0.1640 0 88 999.000 999.0 99.0 -1.96416E7 14.4 11.7 84 101100 526 1332 366 91 8 87 10600 500 10400 3760 260 3.6 10 10 19.3 240 9 999999999 200 0.1640 0 88 999.000 999.0 99.0 -1.96452E7 15.0 12.2 84 101100 764 1332 370 192 4 189 22300 300 22100 8240 300 5.2 10 10 19.3 310 9 999999999 200 0.1640 0 88 999.000 999.0 99.0 -1.96488E7 16.7 11.7 73 101100 964 1332 378 308 1 307 35600 100 35500 13230 300 5.2 10 10 24.1 460 9 999999999 200 0.1640 0 88 999.000 999.0 99.0 -1.96524E7 16.7 12.2 75 101100 1111 1332 379 348 8 341 40800 700 40200 15150 250 4.6 10 10 24.1 460 9 999999999 200 0.1640 0 88 999.000 999.0 99.0 -1.9656E7 18.3 12.2 68 101100 1195 1332 363 587 289 326 65200 31500 36900 15720 270 5.7 9 7 24.1 460 9 999999999 200 0.1640 0 88 999.000 999.0 99.0 -1.96596E7 17.8 12.2 70 101100 1211 1332 360 695 250 467 76100 26600 51900 23130 280 6.2 9 7 24.1 7620 9 999999999 200 0.1640 0 88 999.000 999.0 99.0 -1.96632E7 19.4 12.2 63 101000 1158 1332 358 544 286 294 60600 31200 33500 12530 290 8.2 9 4 24.1 2000 9 999999999 209 0.1640 0 88 999.000 999.0 99.0 -1.96668E7 17.8 12.2 70 101000 1038 1332 350 586 438 242 63400 45700 27700 8160 280 8.8 9 4 24.1 2000 9 999999999 209 0.1640 0 88 999.000 999.0 99.0 -1.96704E7 17.2 12.2 73 101000 861 1332 357 477 412 209 51000 42500 23400 5270 270 9.8 9 7 32.2 460 9 999999999 209 0.1640 0 88 999.000 999.0 99.0 -1.9674E7 16.1 12.2 78 101000 638 1332 358 262 222 154 28300 22900 17400 3270 260 10.3 9 8 32.2 340 9 999999999 209 0.1640 0 88 999.000 999.0 99.0 -1.96776E7 16.1 11.7 75 101000 385 1332 336 186 303 96 19200 26400 11500 1790 270 6.7 5 2 32.2 2000 9 999999999 209 0.1640 0 88 999.000 999.0 99.0 -1.96812E7 15.0 11.7 81 101000 122 1321 339 30 6 30 3400 0 3400 1010 260 7.7 6 5 24.1 370 9 999999999 209 0.1640 0 88 999.000 999.0 99.0 -1.96848E7 15.0 11.7 81 101100 0 0 352 0 0 0 0 0 0 0 260 6.2 9 8 19.3 430 9 999999999 209 0.1640 0 88 999.000 999.0 99.0 -1.96884E7 15.6 11.1 75 101100 0 0 362 0 0 0 0 0 0 0 280 6.2 10 9 24.1 400 9 999999999 209 0.1640 0 88 999.000 999.0 99.0 -1.9692E7 15.0 11.1 78 101200 0 0 359 0 0 0 0 0 0 0 280 6.2 10 9 24.1 400 9 999999999 220 0.1640 0 88 999.000 999.0 99.0 -1.96956E7 15.0 11.1 78 101200 0 0 369 0 0 0 0 0 0 0 260 4.6 10 10 24.1 460 9 999999999 220 0.1640 0 88 999.000 999.0 99.0 -1.96992E7 15.6 9.4 67 101200 0 0 370 0 0 0 0 0 0 0 250 5.2 10 10 24.1 490 9 999999999 220 0.1640 0 88 999.000 999.0 99.0 -1.97028E7 15.0 11.1 78 101200 0 0 369 0 0 0 0 0 0 0 290 5.2 10 10 24.1 490 9 999999999 220 0.1640 0 88 999.000 999.0 99.0 -1.97064E7 15.0 10.6 75 101200 0 0 368 0 0 0 0 0 0 0 280 4.6 10 10 24.1 520 9 999999999 220 0.1640 0 88 999.000 999.0 99.0 -1.971E7 15.0 10.6 75 101200 0 0 368 0 0 0 0 0 0 0 260 2.6 10 10 24.1 520 9 999999999 220 0.1640 0 88 999.000 999.0 99.0 -1.97136E7 15.0 10.6 75 101200 0 0 368 0 0 0 0 0 0 0 280 4.6 10 10 24.1 520 9 999999999 220 0.1640 0 88 999.000 999.0 99.0 -1.97172E7 15.0 11.1 78 101300 0 0 369 0 0 0 0 0 0 0 260 4.1 10 10 24.1 520 9 999999999 220 0.1640 0 88 999.000 999.0 99.0 -1.97208E7 15.0 11.1 78 101300 33 700 369 11 1 11 1300 0 1300 400 270 4.6 10 10 24.1 520 9 999999999 230 0.1220 0 88 999.000 999.0 99.0 -1.97244E7 15.6 10.6 72 101400 263 1333 371 42 0 42 4900 0 4900 1630 260 4.1 10 10 24.1 520 9 999999999 230 0.1220 0 88 999.000 999.0 99.0 -1.9728E7 15.6 11.1 75 101400 523 1333 372 104 3 103 12100 200 12000 4300 280 3.1 10 10 24.1 580 9 999999999 230 0.1220 0 88 999.000 999.0 99.0 -1.97316E7 16.1 10.6 70 101500 762 1333 374 191 3 190 22300 200 22100 8260 260 3.1 10 10 24.1 580 9 999999999 240 0.1220 0 88 999.000 999.0 99.0 -1.97352E7 15.6 11.7 78 101500 962 1333 373 301 1 300 34800 100 34800 13010 250 3.1 10 10 24.1 610 9 999999999 240 0.1220 0 88 999.000 999.0 99.0 -1.97388E7 16.7 11.1 70 101500 1109 1333 377 303 4 299 35800 300 35500 13780 280 2.1 10 10 24.1 610 9 999999999 240 0.1220 0 88 999.000 999.0 99.0 -1.97424E7 18.3 10.6 61 101600 1193 1333 385 368 4 364 43400 400 43100 16200 260 5.2 10 10 24.1 760 9 999999999 250 0.1220 0 88 999.000 999.0 99.0 -1.9746E7 19.4 10.6 57 101600 1209 1333 366 616 271 369 67900 29500 41100 18800 300 5.2 9 7 24.1 850 9 999999999 250 0.1220 0 88 999.000 999.0 99.0 -1.97496E7 20.0 10.6 55 101600 1155 1333 348 776 640 218 82400 65300 25700 9910 280 6.2 3 1 24.1 2000 9 999999999 250 0.1220 0 88 999.000 999.0 99.0 -1.97532E7 20.6 10.0 51 101600 1035 1333 355 732 750 145 76600 75500 17900 4520 290 8.2 2 2 24.1 2000 9 999999999 260 0.1220 0 88 999.000 999.0 99.0 -1.97568E7 20.0 10.0 53 101500 857 1333 348 573 735 96 61000 74100 13200 2470 290 6.2 1 1 40.2 2000 9 999999999 260 0.1220 0 88 999.000 999.0 99.0 -1.97604E7 19.4 10.0 55 101500 634 1333 338 423 693 89 44600 68400 12000 1910 270 5.2 0 0 56.3 2000 9 999999999 250 0.1220 0 88 999.000 999.0 99.0 -1.9764E7 18.3 10.0 59 101500 380 1333 333 210 509 62 21600 44500 8900 1180 280 7.2 0 0 56.3 2000 9 999999999 250 0.1220 0 88 999.000 999.0 99.0 -1.97676E7 16.7 10.0 65 101500 117 1277 326 48 176 30 4900 8700 4000 540 280 6.7 0 0 56.3 2000 9 999999999 250 0.1220 0 88 999.000 999.0 99.0 -1.97712E7 16.1 10.0 67 101600 0 0 323 0 0 0 0 0 0 0 270 5.2 0 0 24.1 2000 9 999999999 240 0.1220 0 88 999.000 999.0 99.0 -1.97748E7 15.6 10.6 72 101600 0 0 322 0 0 0 0 0 0 0 270 5.7 0 0 24.1 2000 9 999999999 230 0.1220 0 88 999.000 999.0 99.0 -1.97784E7 15.6 10.6 72 101600 0 0 322 0 0 0 0 0 0 0 260 5.2 0 0 24.1 2000 9 999999999 230 0.1220 0 88 999.000 999.0 99.0 -1.9782E7 15.0 10.0 72 101600 0 0 318 0 0 0 0 0 0 0 270 4.6 0 0 24.1 2000 9 999999999 230 0.1220 0 88 999.000 999.0 99.0 -1.97856E7 15.0 9.4 70 101600 0 0 318 0 0 0 0 0 0 0 260 4.6 0 0 24.1 2000 9 999999999 220 0.1220 0 88 999.000 999.0 99.0 -1.97892E7 14.4 10.6 78 101600 0 0 316 0 0 0 0 0 0 0 250 2.6 0 0 24.1 2000 9 999999999 220 0.1220 0 88 999.000 999.0 99.0 -1.97928E7 13.9 10.6 81 101600 0 0 314 0 0 0 0 0 0 0 260 4.1 0 0 24.1 2000 9 999999999 209 0.1220 0 88 999.000 999.0 99.0 -1.97964E7 13.3 10.0 80 101600 0 0 311 0 0 0 0 0 0 0 310 2.1 0 0 24.1 2000 9 999999999 200 0.1220 0 88 999.000 999.0 99.0 -1.98E7 13.3 10.6 83 101600 0 0 312 0 0 0 0 0 0 0 290 1.5 0 0 24.1 2000 9 999999999 200 0.1220 0 88 999.000 999.0 99.0 -1.98036E7 13.3 10.6 83 101700 0 0 312 0 0 0 0 0 0 0 240 2.6 0 0 24.1 2000 9 999999999 200 0.1220 0 88 999.000 999.0 99.0 -1.98072E7 13.3 10.6 83 101700 31 678 312 16 14 14 1600 700 1600 340 210 2.6 0 0 48.3 2000 9 999999999 200 0.1770 0 88 999.000 999.0 99.0 -1.98108E7 15.6 11.7 78 101700 259 1333 323 115 298 57 12100 22100 7800 1020 0 0.0 0 0 56.3 2000 9 999999999 200 0.1770 0 88 999.000 999.0 99.0 -1.98144E7 18.3 10.6 61 101800 520 1333 334 313 555 95 32400 52300 12000 1850 20 2.6 0 0 56.3 2000 9 999999999 190 0.1770 0 88 999.000 999.0 99.0 -1.9818E7 19.4 11.7 61 101800 759 1333 340 521 686 127 54800 68800 15500 2920 50 3.1 0 0 56.3 2000 9 999999999 190 0.1770 0 88 999.000 999.0 99.0 -1.98216E7 20.0 11.7 59 101800 959 1333 343 700 759 151 74700 77600 18700 4470 330 2.1 0 0 56.3 2000 9 999999999 190 0.1770 0 88 999.000 999.0 99.0 -1.98252E7 21.7 10.0 48 101800 1106 1333 349 835 801 167 87100 80500 20200 6030 300 6.2 0 0 64.4 2000 9 999999999 190 0.1770 0 88 999.000 999.0 99.0 -1.98288E7 21.7 9.4 46 101800 1190 1333 348 915 825 174 96000 83100 21600 8300 280 5.2 0 0 64.4 2000 9 999999999 190 0.1770 0 88 999.000 999.0 99.0 -1.98324E7 22.2 9.4 44 101800 1206 1333 351 928 827 176 97500 83300 21900 8940 300 5.2 0 0 64.4 2000 9 999999999 190 0.1770 0 88 999.000 999.0 99.0 -1.9836E7 23.3 8.9 40 101800 1151 1333 367 822 688 224 87100 70100 26400 10050 290 6.2 2 2 64.4 2000 9 999999999 180 0.1770 0 88 999.000 999.0 99.0 -1.98396E7 22.2 9.4 44 101800 1031 1333 362 700 648 195 73900 65900 22700 6450 290 6.7 6 2 64.4 2000 9 999999999 180 0.1770 0 88 999.000 999.0 99.0 -1.98432E7 22.2 10.0 46 101800 853 1333 367 559 561 196 59800 57900 22700 4870 270 9.3 4 3 64.4 2000 9 999999999 180 0.1770 0 88 999.000 999.0 99.0 -1.98468E7 21.1 11.1 53 101800 629 1333 354 396 545 136 42200 54200 16600 2760 280 10.8 1 1 48.3 2000 9 999999999 180 0.1770 0 88 999.000 999.0 99.0 -1.98504E7 20.0 12.2 61 101700 375 1333 344 201 439 75 20400 37800 9700 1370 270 9.3 0 0 48.3 2000 9 999999999 190 0.1770 0 88 999.000 999.0 99.0 -1.9854E7 18.3 13.3 73 101700 112 1256 337 41 96 31 4200 4300 3800 560 270 7.2 0 0 32.2 2000 9 999999999 190 0.1770 0 88 999.000 999.0 99.0 -1.98576E7 17.2 14.4 84 101700 0 0 333 0 0 0 0 0 0 0 270 5.7 0 0 24.1 2000 9 999999999 190 0.1770 0 88 999.000 999.0 99.0 -1.98612E7 17.2 14.4 84 101700 0 0 344 0 0 0 0 0 0 0 270 6.7 2 2 24.1 2000 9 999999999 200 0.1770 0 88 999.000 999.0 99.0 -1.98648E7 16.7 11.1 70 101700 0 0 344 0 0 0 0 0 0 0 270 5.7 4 4 24.1 2000 9 999999999 200 0.1770 0 88 999.000 999.0 99.0 -1.98684E7 16.1 13.9 87 101700 0 0 327 0 0 0 0 0 0 0 280 4.1 3 0 24.1 2000 9 999999999 200 0.1770 0 88 999.000 999.0 99.0 -1.9872E7 16.1 13.9 87 101700 0 0 334 0 0 0 0 0 0 0 260 3.6 3 1 24.1 2000 9 999999999 209 0.1770 0 88 999.000 999.0 99.0 -1.98756E7 15.0 13.3 90 101700 0 0 328 0 0 0 0 0 0 0 290 1.5 2 1 24.1 2000 9 999999999 209 0.1770 0 88 999.000 999.0 99.0 -1.98792E7 15.0 13.3 90 101700 0 0 322 0 0 0 0 0 0 0 0 0.0 1 0 24.1 2000 9 999999999 209 0.1770 0 88 999.000 999.0 99.0 -1.98828E7 14.4 12.8 90 101700 0 0 319 0 0 0 0 0 0 0 210 1.5 1 0 24.1 2000 9 999999999 220 0.1770 0 88 999.000 999.0 99.0 -1.98864E7 15.0 11.7 81 101600 0 0 320 0 0 0 0 0 0 0 0 0.0 1 0 24.1 2000 9 999999999 220 0.1770 0 88 999.000 999.0 99.0 -1.989E7 14.4 11.7 84 101700 0 0 324 0 0 0 0 0 0 0 340 2.6 3 1 24.1 2000 9 999999999 220 0.1770 0 88 999.000 999.0 99.0 -1.98936E7 14.4 11.7 84 101700 30 656 331 13 17 11 1300 700 1300 230 260 4.1 6 3 24.1 2000 9 999999999 209 0.1020 0 88 999.000 999.0 99.0 -1.98972E7 15.6 12.8 84 101700 256 1334 346 91 80 75 9800 6100 8600 1610 290 5.7 8 6 24.1 6100 9 999999999 209 0.1020 0 88 999.000 999.0 99.0 -1.99008E7 17.2 12.8 75 101800 517 1334 354 226 310 105 24200 29600 12700 2000 280 7.2 8 6 32.2 370 9 999999999 200 0.1020 0 88 999.000 999.0 99.0 -1.99044E7 17.8 12.8 73 101800 757 1334 357 448 521 151 48600 53200 18300 3350 300 7.2 8 6 32.2 4570 9 999999999 200 0.1020 0 88 999.000 999.0 99.0 -1.9908E7 18.3 12.8 70 101800 957 1334 364 514 328 277 56000 35400 30600 8060 260 6.7 9 7 32.2 4570 9 999999999 200 0.1020 0 88 999.000 999.0 99.0 -1.99116E7 18.3 12.8 70 101800 1104 1334 377 412 107 323 45800 11400 36300 12340 290 5.2 10 9 32.2 4570 9 999999999 190 0.1020 0 88 999.000 999.0 99.0 -1.99152E7 18.3 12.8 70 101800 1188 1334 369 617 284 363 68000 30900 40400 17180 290 7.7 9 8 32.2 460 9 999999999 190 0.1020 0 88 999.000 999.0 99.0 -1.99188E7 18.3 13.3 73 101800 1203 1334 370 567 196 390 62800 21000 43900 18750 240 7.7 9 8 32.2 460 9 999999999 180 0.1020 0 88 999.000 999.0 99.0 -1.99224E7 19.4 12.8 66 101700 1148 1334 369 814 645 255 85400 65300 29100 11180 290 9.8 8 7 24.1 7620 9 999999999 180 0.1020 0 88 999.000 999.0 99.0 -1.9926E7 20.0 12.2 61 101700 1027 1334 355 742 781 135 78100 78800 17200 4220 280 9.3 2 2 32.2 2000 9 999999999 170 0.1020 0 88 999.000 999.0 99.0 -1.99296E7 18.9 12.2 65 101600 849 1334 345 583 766 91 62300 77300 13000 2350 270 9.8 1 1 24.1 2000 9 999999999 170 0.1020 0 88 999.000 999.0 99.0 -1.99332E7 17.2 12.8 75 101700 624 1334 364 215 119 158 23600 12100 17900 3850 280 6.7 8 8 19.3 460 9 999999999 170 0.1020 0 88 999.000 999.0 99.0 -1.99368E7 16.1 12.8 81 101600 370 1334 366 112 116 79 12300 10400 9500 1750 280 6.2 10 9 19.3 310 9 999999999 160 0.1020 0 88 999.000 999.0 99.0 -1.99404E7 15.6 12.8 84 101600 107 1234 364 23 8 22 2500 500 2500 550 260 7.2 10 9 16.1 240 9 999999999 160 0.1020 0 88 999.000 999.0 99.0 -1.9944E7 15.6 12.8 84 101600 0 0 364 0 0 0 0 0 0 0 260 7.2 10 9 16.1 240 9 999999999 160 0.1020 0 88 999.000 999.0 99.0 -1.99476E7 15.0 12.8 87 101600 0 0 361 0 0 0 0 0 0 0 260 6.2 10 9 19.3 310 9 999999999 150 0.1020 0 88 999.000 999.0 99.0 -1.99512E7 15.0 12.2 84 101600 0 0 360 0 0 0 0 0 0 0 280 5.7 9 9 19.3 310 9 999999999 150 0.1020 0 88 999.000 999.0 99.0 -1.99548E7 15.0 12.2 84 101600 0 0 352 0 0 0 0 0 0 0 250 1.0 8 8 19.3 370 9 999999999 150 0.1020 0 88 999.000 999.0 99.0 -1.99584E7 15.0 11.1 78 101600 0 0 351 0 0 0 0 0 0 0 240 3.6 9 8 19.3 340 9 999999999 140 0.1020 0 88 999.000 999.0 99.0 -1.9962E7 14.4 11.7 84 101500 0 0 331 0 0 0 0 0 0 0 220 1.5 4 3 19.3 2000 9 999999999 140 0.1020 0 88 999.000 999.0 99.0 -1.99656E7 14.4 11.7 84 101500 0 0 331 0 0 0 0 0 0 0 210 2.1 4 3 19.3 2000 9 999999999 140 0.1020 0 88 999.000 999.0 99.0 -1.99692E7 13.9 11.7 87 101500 0 0 329 0 0 0 0 0 0 0 220 1.5 4 3 19.3 2000 9 999999999 130 0.1020 0 88 999.000 999.0 99.0 -1.99728E7 14.4 12.2 87 101500 0 0 344 0 0 0 0 0 0 0 210 2.1 8 7 19.3 370 9 999999999 130 0.1020 0 88 999.000 999.0 99.0 -1.99764E7 14.4 11.7 84 101500 0 0 343 0 0 0 0 0 0 0 240 2.1 8 7 19.3 370 9 999999999 130 0.1020 0 88 999.000 999.0 99.0 -1.998E7 13.3 11.7 90 101500 28 634 329 13 6 12 1400 300 1300 300 190 2.1 8 4 11.3 2000 9 999999999 130 0.0820 0 88 999.000 999.0 99.0 -1.99836E7 15.0 12.2 84 101500 253 1334 337 87 212 46 9200 15600 6300 810 270 3.1 4 4 11.3 2000 9 999999999 130 0.0820 0 88 999.000 999.0 99.0 -1.99872E7 16.7 12.2 75 101600 515 1334 339 282 445 109 30000 42400 13600 2080 150 2.6 2 2 12.9 2000 9 999999999 130 0.0820 0 88 999.000 999.0 99.0 -1.99908E7 18.3 12.8 70 101600 754 1334 347 519 765 84 55200 76400 11900 1990 100 3.1 2 2 14.5 2000 9 999999999 130 0.0820 0 88 999.000 999.0 99.0 -1.99944E7 19.4 12.8 66 101600 954 1334 341 668 796 95 69100 79400 12200 2460 110 3.1 0 0 16.1 2000 9 999999999 140 0.0820 0 88 999.000 999.0 99.0 -1.9998E7 20.6 11.7 57 101600 1101 1334 346 855 904 104 88100 90600 13200 3480 290 8.2 0 0 16.1 2000 9 999999999 140 0.0820 0 88 999.000 999.0 99.0 -2.00016E7 20.6 11.7 57 101600 1185 1334 346 926 914 110 95400 91700 13700 4650 290 8.8 0 0 19.3 2000 9 999999999 140 0.0820 0 88 999.000 999.0 99.0 -2.00052E7 20.6 11.1 55 101600 1200 1334 345 949 927 110 97600 93000 13800 4920 300 8.2 0 0 24.1 2000 9 999999999 140 0.0820 0 88 999.000 999.0 99.0 -2.00088E7 20.6 10.6 53 101600 1145 1334 345 899 916 107 92500 91800 13500 4000 300 8.2 0 0 32.2 2000 9 999999999 140 0.0820 0 88 999.000 999.0 99.0 -2.00124E7 20.0 10.6 55 101500 1024 1334 342 788 889 100 81200 88900 12800 2860 290 6.7 0 0 40.2 2000 9 999999999 140 0.0820 0 88 999.000 999.0 99.0 -2.0016E7 18.3 11.1 63 101500 845 1334 334 628 844 88 64800 83700 11800 2030 280 8.8 0 0 40.2 2000 9 999999999 140 0.0820 0 88 999.000 999.0 99.0 -2.00196E7 18.3 11.1 63 101500 620 1334 334 432 766 70 45200 74800 10400 1550 270 7.7 0 0 40.2 2000 9 999999999 140 0.0820 0 88 999.000 999.0 99.0 -2.00232E7 17.2 11.1 68 101500 365 1334 329 219 607 49 22200 52900 7700 980 290 6.7 0 0 19.3 2000 9 999999999 140 0.0820 0 88 999.000 999.0 99.0 -2.00268E7 16.1 10.6 70 101500 102 1212 324 50 230 25 4600 12100 3500 440 300 6.2 0 0 19.3 2000 9 999999999 140 0.0820 0 88 999.000 999.0 99.0 -2.00304E7 15.6 11.1 75 101500 0 0 322 0 0 0 0 0 0 0 260 6.2 0 0 24.1 2000 9 999999999 140 0.0820 0 88 999.000 999.0 99.0 -2.0034E7 14.4 11.7 84 101600 0 0 324 0 0 0 0 0 0 0 280 6.2 1 1 24.1 2000 9 999999999 140 0.0820 0 88 999.000 999.0 99.0 -2.00376E7 14.4 11.7 84 101600 0 0 331 0 0 0 0 0 0 0 270 5.7 5 3 24.1 2000 9 999999999 140 0.0820 0 88 999.000 999.0 99.0 -2.00412E7 14.4 11.7 84 101600 0 0 356 0 0 0 0 0 0 0 270 5.7 9 9 19.3 340 9 999999999 130 0.0820 0 88 999.000 999.0 99.0 -2.00448E7 14.4 11.7 84 101600 0 0 356 0 0 0 0 0 0 0 270 5.2 10 9 19.3 340 9 999999999 130 0.0820 0 88 999.000 999.0 99.0 -2.00484E7 14.4 11.7 84 101600 0 0 356 0 0 0 0 0 0 0 280 7.2 10 9 19.3 340 9 999999999 130 0.0820 0 88 999.000 999.0 99.0 -2.0052E7 13.9 11.7 87 101600 0 0 354 0 0 0 0 0 0 0 280 5.2 10 9 19.3 310 9 999999999 130 0.0820 0 88 999.000 999.0 99.0 -2.00556E7 13.9 11.7 87 101600 0 0 364 0 0 0 0 0 0 0 260 5.2 10 10 14.5 290 9 999999999 130 0.0820 0 88 999.000 999.0 99.0 -2.00592E7 13.9 11.1 84 101600 0 0 363 0 0 0 0 0 0 0 260 5.2 10 10 19.3 270 9 999999999 130 0.0820 0 88 999.000 999.0 99.0 -2.00628E7 13.3 11.1 87 101600 0 0 337 0 0 0 0 0 0 0 260 4.1 8 7 19.3 340 9 999999999 130 0.0820 0 88 999.000 999.0 99.0 -2.00664E7 13.9 11.1 84 101700 26 634 333 9 9 8 1000 300 1000 160 250 3.6 6 5 16.1 340 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.007E7 14.4 11.1 81 101700 249 1335 333 89 70 76 9600 5300 8600 1630 270 3.6 4 4 14.5 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.00736E7 15.6 11.1 75 101800 512 1335 336 276 439 107 29500 41800 13400 2040 280 4.1 4 3 14.5 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.00772E7 16.1 11.1 72 101800 751 1335 338 464 574 139 48500 57200 16200 3130 250 5.7 4 3 16.1 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.00808E7 16.1 11.1 72 101800 952 1335 341 638 640 180 67300 64900 20900 5150 280 7.2 4 4 17.7 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.00844E7 16.1 11.1 72 101800 1099 1335 338 719 592 229 75700 60100 26100 8740 300 6.2 4 3 17.7 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.0088E7 16.1 11.1 72 101800 1182 1335 335 837 720 195 89800 74000 24100 9770 290 8.2 6 2 19.3 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.00916E7 19.4 11.7 61 101800 1197 1335 355 813 625 249 85900 63500 28800 12970 280 7.7 7 3 19.3 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.00952E7 20.0 10.6 55 101700 1142 1335 356 820 683 231 86500 69500 26900 9980 280 8.2 6 3 24.1 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.00988E7 19.4 11.1 59 101700 1020 1335 351 695 652 192 73200 66300 22400 6200 290 8.8 5 2 24.1 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.01024E7 18.3 11.7 65 101700 840 1335 341 588 716 133 62200 72600 16400 3340 280 8.2 6 1 19.3 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.0106E7 17.2 11.7 70 101700 615 1335 341 384 532 135 40700 52600 16400 2720 270 9.8 7 2 19.3 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.01096E7 16.1 11.1 72 101700 359 1335 331 192 399 82 19900 34000 10800 1510 290 9.3 8 1 19.3 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.01132E7 15.0 11.1 78 101700 97 1168 330 37 46 32 3900 2300 3700 660 290 7.2 8 2 16.1 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.01168E7 14.4 11.1 81 101700 0 0 327 0 0 0 0 0 0 0 300 8.2 8 2 19.3 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.01204E7 14.4 11.7 84 101700 0 0 324 0 0 0 0 0 0 0 290 6.2 5 1 24.1 2000 9 999999999 130 0.1390 0 88 999.000 999.0 99.0 -2.0124E7 13.9 10.6 81 101800 0 0 314 0 0 0 0 0 0 0 290 5.7 0 0 24.1 2000 9 999999999 140 0.1390 0 88 999.000 999.0 99.0 -2.01276E7 13.3 11.1 87 101700 0 0 312 0 0 0 0 0 0 0 300 4.1 0 0 24.1 2000 9 999999999 140 0.1390 0 88 999.000 999.0 99.0 -2.01312E7 13.3 11.1 87 101700 0 0 312 0 0 0 0 0 0 0 280 4.6 0 0 24.1 2000 9 999999999 140 0.1390 0 88 999.000 999.0 99.0 -2.01348E7 12.8 10.6 87 101700 0 0 309 0 0 0 0 0 0 0 310 3.6 0 0 19.3 2000 9 999999999 140 0.1390 0 88 999.000 999.0 99.0 -2.01384E7 12.2 10.6 90 101700 0 0 307 0 0 0 0 0 0 0 290 1.5 0 0 19.3 2000 9 999999999 140 0.1390 0 88 999.000 999.0 99.0 -2.0142E7 12.2 10.6 90 101700 0 0 317 0 0 0 0 0 0 0 280 2.6 7 2 19.3 2000 9 999999999 140 0.1390 0 88 999.000 999.0 99.0 -2.01456E7 12.2 10.6 90 101700 0 0 317 0 0 0 0 0 0 0 350 2.6 6 2 19.3 2000 9 999999999 140 0.1390 0 88 999.000 999.0 99.0 -2.01492E7 11.7 10.0 90 101700 0 0 314 0 0 0 0 0 0 0 0 0.0 4 2 19.3 2000 9 999999999 140 0.1390 0 88 999.000 999.0 99.0 -2.01528E7 12.8 10.6 87 101700 25 612 331 10 4 10 1100 200 1100 250 230 2.1 9 6 12.9 310 9 999999999 140 0.1120 0 88 999.000 999.0 99.0 -2.01564E7 13.9 11.1 84 101800 246 1336 363 20 2 19 2400 0 2400 800 200 1.5 10 10 14.5 370 9 999999999 140 0.1120 0 88 999.000 999.0 99.0 -2.016E7 14.4 11.1 81 101900 509 1336 366 116 3 115 13300 200 13300 4620 0 0.0 10 10 14.5 370 9 999999999 140 0.1120 0 88 999.000 999.0 99.0 -2.01636E7 16.1 11.1 72 101800 749 1336 347 470 562 153 48800 55700 17500 3380 150 2.6 6 6 14.5 460 9 999999999 140 0.1120 0 88 999.000 999.0 99.0 -2.01672E7 17.2 11.7 70 101800 949 1336 330 706 829 113 75000 83800 15400 3180 60 4.1 0 0 16.1 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -2.01708E7 18.9 11.7 63 101800 1096 1336 338 841 869 124 86400 86900 14800 3720 340 4.6 0 0 17.7 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -2.01744E7 19.4 11.7 61 101700 1180 1336 340 924 893 130 94600 89500 15400 5020 310 5.7 0 0 17.7 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -2.0178E7 20.6 11.7 57 101700 1194 1336 346 936 895 131 95800 89700 15500 5340 320 7.2 0 0 19.3 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -2.01816E7 20.6 11.7 57 101700 1138 1336 346 883 880 128 90500 88100 15200 4300 310 9.3 0 0 24.1 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -2.01852E7 20.0 11.7 59 101600 1016 1336 354 698 682 174 74000 69700 20900 5630 300 10.3 3 2 24.1 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -2.01888E7 19.4 11.7 61 101600 836 1336 355 407 331 198 43500 34100 22100 4830 300 7.2 5 3 24.1 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -2.01924E7 17.2 11.7 70 101600 610 1336 344 349 492 121 37400 48700 15100 2410 300 6.2 7 3 24.1 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -2.0196E7 15.6 11.7 78 101600 354 1336 337 154 177 105 16000 15200 12000 2080 300 7.7 10 3 24.1 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -2.01996E7 15.0 11.7 81 101600 92 1146 337 37 63 30 3900 3200 3600 620 300 8.2 10 4 24.1 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -2.02032E7 14.4 11.7 84 101700 0 0 331 0 0 0 0 0 0 0 290 7.2 8 3 19.3 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -2.02068E7 13.9 11.7 87 101700 0 0 326 0 0 0 0 0 0 0 300 6.2 7 2 19.3 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -2.02104E7 13.9 11.7 87 101700 0 0 326 0 0 0 0 0 0 0 300 6.2 7 2 19.3 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -2.0214E7 13.3 11.7 90 101700 0 0 323 0 0 0 0 0 0 0 300 5.2 5 2 19.3 2000 9 999999999 140 0.1120 0 88 999.000 999.0 99.0 -2.02176E7 13.3 11.7 90 101700 0 0 323 0 0 0 0 0 0 0 300 4.6 4 2 19.3 2000 9 999999999 140 0.1120 0 88 999.000 999.0 99.0 -2.02212E7 12.8 11.7 93 101600 0 0 316 0 0 0 0 0 0 0 270 3.6 3 1 19.3 2000 9 999999999 140 0.1120 0 88 999.000 999.0 99.0 -2.02248E7 12.2 11.1 93 101600 0 0 313 0 0 0 0 0 0 0 300 3.6 3 1 19.3 2000 9 999999999 140 0.1120 0 88 999.000 999.0 99.0 -2.02284E7 12.2 11.1 93 101600 0 0 313 0 0 0 0 0 0 0 310 6.2 3 1 16.1 2000 9 999999999 140 0.1120 0 88 999.000 999.0 99.0 -2.0232E7 12.8 11.1 90 101600 0 0 316 0 0 0 0 0 0 0 300 6.2 3 1 16.1 2000 9 999999999 140 0.1120 0 88 999.000 999.0 99.0 -2.02356E7 12.2 11.1 93 101600 0 0 321 0 0 0 0 0 0 0 300 5.2 6 3 16.1 2000 9 999999999 150 0.1120 0 88 999.000 999.0 99.0 -2.02392E7 12.2 11.1 93 101700 23 590 345 11 1 11 1300 0 1300 390 300 2.6 10 9 9.7 270 9 999999999 150 0.1390 0 88 999.000 999.0 99.0 -2.02428E7 13.3 11.7 90 101700 243 1336 361 48 4 47 5500 100 5400 1730 0 0.0 10 10 11.3 210 9 999999999 160 0.1390 0 88 999.000 999.0 99.0 -2.02464E7 14.4 12.8 90 101700 506 1336 368 100 7 97 11600 400 11400 4040 0 0.0 10 10 11.3 240 9 999999999 170 0.1390 0 88 999.000 999.0 99.0 -2.025E7 16.7 12.8 78 101700 746 1336 340 514 667 139 53600 66400 16500 3110 80 3.1 2 2 11.3 2000 9 999999999 170 0.1390 0 88 999.000 999.0 99.0 -2.02536E7 17.8 12.8 73 101700 946 1336 345 654 675 172 68900 68600 20200 4890 70 2.6 6 2 11.3 2000 9 999999999 180 0.1390 0 88 999.000 999.0 99.0 -2.02572E7 18.9 11.7 63 101600 1094 1336 355 744 604 247 77800 61000 27800 9200 320 5.7 7 4 12.9 6100 9 999999999 190 0.1390 0 88 999.000 999.0 99.0 -2.02608E7 20.0 11.7 59 101600 1177 1336 358 850 737 198 91200 75600 24400 9680 300 6.2 5 3 14.5 2000 9 999999999 190 0.1390 0 88 999.000 999.0 99.0 -2.02644E7 21.1 11.7 55 101500 1191 1336 366 779 583 256 82100 59100 29200 12940 310 6.7 6 4 16.1 6100 9 999999999 200 0.1390 0 88 999.000 999.0 99.0 -2.0268E7 22.2 11.7 51 101400 1135 1336 372 765 586 264 80000 59100 29600 10990 310 8.8 7 4 19.3 6100 9 999999999 209 0.1390 0 88 999.000 999.0 99.0 -2.02716E7 21.1 12.2 57 101400 1012 1336 367 679 545 262 72500 56800 29400 8390 310 9.3 7 4 19.3 7620 9 999999999 209 0.1390 0 88 999.000 999.0 99.0 -2.02752E7 20.0 12.2 61 101300 831 1336 364 452 385 209 47900 39600 23200 5090 310 10.3 8 5 19.3 7620 9 999999999 220 0.1390 0 88 999.000 999.0 99.0 -2.02788E7 17.2 12.2 73 101300 605 1336 350 280 232 174 29900 23600 19200 3760 310 8.2 8 5 19.3 7620 9 999999999 220 0.1390 0 88 999.000 999.0 99.0 -2.02824E7 15.6 12.2 81 101300 348 1336 343 134 186 84 14200 15900 10000 1590 300 8.2 8 5 19.3 7620 9 999999999 220 0.1390 0 88 999.000 999.0 99.0 -2.0286E7 15.0 11.7 81 101300 87 1102 352 14 2 14 1700 0 1700 530 300 7.2 9 8 19.3 7620 9 999999999 230 0.1390 0 88 999.000 999.0 99.0 -2.02896E7 15.6 11.7 78 101300 0 0 349 0 0 0 0 0 0 0 300 5.2 8 7 24.1 7620 9 999999999 230 0.1390 0 88 999.000 999.0 99.0 -2.02932E7 15.6 11.7 78 101300 0 0 349 0 0 0 0 0 0 0 300 5.2 8 7 24.1 7620 9 999999999 230 0.1390 0 88 999.000 999.0 99.0 -2.02968E7 15.0 11.7 81 101400 0 0 346 0 0 0 0 0 0 0 320 7.2 9 7 24.1 7620 9 999999999 230 0.1390 0 88 999.000 999.0 99.0 -2.03004E7 15.0 11.7 81 101400 0 0 346 0 0 0 0 0 0 0 300 4.1 8 7 24.1 7620 9 999999999 230 0.1390 0 88 999.000 999.0 99.0 -2.0304E7 15.0 10.6 75 101400 0 0 338 0 0 0 0 0 0 0 310 4.6 7 5 24.1 7620 9 999999999 230 0.1390 0 88 999.000 999.0 99.0 -2.03076E7 14.4 12.2 87 101400 0 0 329 0 0 0 0 0 0 0 310 6.2 6 2 24.1 2000 9 999999999 230 0.1390 0 88 999.000 999.0 99.0 -2.03112E7 13.9 12.2 90 101400 0 0 329 0 0 0 0 0 0 0 280 5.2 4 3 24.1 2000 9 999999999 240 0.1390 0 88 999.000 999.0 99.0 -2.03148E7 13.9 12.2 90 101400 0 0 316 0 0 0 0 0 0 0 310 6.7 1 0 24.1 2000 9 999999999 240 0.1390 0 88 999.000 999.0 99.0 -2.03184E7 12.8 11.7 93 101400 0 0 310 0 0 0 0 0 0 0 310 5.2 0 0 24.1 2000 9 999999999 240 0.1390 0 88 999.000 999.0 99.0 -2.0322E7 13.3 11.7 90 101400 0 0 313 0 0 0 0 0 0 0 310 5.2 2 0 32.2 2000 9 999999999 240 0.1390 0 88 999.000 999.0 99.0 -2.03256E7 13.3 11.7 90 101500 22 568 313 11 0 11 0 0 0 0 310 6.7 2 0 19.3 2000 9 999999999 250 0.3970 0 88 999.000 999.0 99.0 -2.03292E7 14.4 12.2 87 101500 239 1337 324 74 69 62 8100 5100 7200 1320 310 6.7 3 1 12.9 2000 9 999999999 250 0.3970 0 88 999.000 999.0 99.0 -2.03328E7 16.1 12.2 78 101500 503 1337 332 240 284 132 25600 27600 15200 2680 310 4.6 2 1 12.9 2000 9 999999999 250 0.3970 0 88 999.000 999.0 99.0 -2.03364E7 17.8 12.2 70 101500 743 1337 344 437 401 213 45700 40700 23000 4820 320 4.1 2 2 14.5 2000 9 999999999 260 0.3970 0 88 999.000 999.0 99.0 -2.034E7 18.3 12.2 68 101500 944 1337 347 594 475 256 63000 49300 28100 7290 310 6.2 2 2 14.5 2000 9 999999999 260 0.3970 0 88 999.000 999.0 99.0 -2.03436E7 20.6 12.2 59 101500 1091 1337 353 747 577 273 80400 60300 31100 10380 310 8.2 1 1 16.1 2000 9 999999999 260 0.3970 0 88 999.000 999.0 99.0 -2.03472E7 19.4 12.8 66 101500 1174 1337 348 799 554 310 86000 57900 35000 15110 310 10.3 1 1 19.3 2000 9 999999999 270 0.3970 0 88 999.000 999.0 99.0 -2.03508E7 20.6 12.8 61 101400 1188 1337 354 832 599 296 86700 60200 33100 14570 320 8.2 1 1 24.1 2000 9 999999999 270 0.3970 0 88 999.000 999.0 99.0 -2.03544E7 21.7 12.8 57 101400 1131 1337 359 785 584 286 84500 61100 32700 12140 300 9.3 3 1 40.2 2000 9 999999999 270 0.3970 0 88 999.000 999.0 99.0 -2.0358E7 21.7 13.3 59 101300 1008 1337 360 689 554 267 73300 57700 29700 8490 300 7.2 3 1 40.2 2000 9 999999999 280 0.3970 0 88 999.000 999.0 99.0 -2.03616E7 20.6 12.8 61 101300 827 1337 347 531 487 226 55800 50000 24800 5520 300 4.6 1 0 40.2 2000 9 999999999 280 0.3970 0 88 999.000 999.0 99.0 -2.03652E7 18.3 13.9 76 101300 600 1337 337 329 343 173 35000 34800 19400 3730 300 5.2 2 0 40.2 2000 9 999999999 270 0.3970 0 88 999.000 999.0 99.0 -2.03688E7 17.2 13.3 78 101300 343 1337 332 144 175 98 15100 14800 11300 1920 310 7.7 0 0 32.2 2000 9 999999999 270 0.3970 0 88 999.000 999.0 99.0 -2.03724E7 15.6 13.3 87 101300 82 1081 335 22 5 22 2500 0 2500 760 300 7.7 2 2 24.1 2000 9 999999999 260 0.3970 0 88 999.000 999.0 99.0 -2.0376E7 15.0 13.3 90 101400 0 0 332 0 0 0 0 0 0 0 300 6.2 2 2 24.1 2000 9 999999999 250 0.3970 0 88 999.000 999.0 99.0 -2.03796E7 14.4 13.3 93 101400 0 0 330 0 0 0 0 0 0 0 300 6.7 2 2 12.9 2000 9 999999999 240 0.3970 0 88 999.000 999.0 99.0 -2.03832E7 13.9 12.8 93 101500 0 0 327 0 0 0 0 0 0 0 310 5.7 2 2 12.9 2000 9 999999999 230 0.3970 0 88 999.000 999.0 99.0 -2.03868E7 13.9 12.8 93 101500 0 0 333 0 0 0 0 0 0 0 310 4.1 4 4 11.3 2000 9 999999999 230 0.3970 0 88 999.000 999.0 99.0 -2.03904E7 13.9 12.8 93 101500 0 0 365 0 0 0 0 0 0 0 280 5.7 10 10 12.9 210 9 999999999 220 0.3970 0 88 999.000 999.0 99.0 -2.0394E7 14.4 12.8 90 101500 0 0 358 0 0 0 0 0 0 0 270 6.2 10 9 16.1 210 9 999999999 209 0.3970 0 88 999.000 999.0 99.0 -2.03976E7 13.9 12.8 93 101500 0 0 348 0 0 0 0 0 0 0 300 5.2 8 8 16.1 270 9 999999999 200 0.3970 0 88 999.000 999.0 99.0 -2.04012E7 13.9 12.8 93 101500 0 0 355 0 0 0 0 0 0 0 300 4.6 10 9 19.3 240 9 999999999 200 0.3970 0 88 999.000 999.0 99.0 -2.04048E7 13.9 12.8 93 101400 0 0 365 0 0 0 0 0 0 0 300 4.6 10 10 16.1 210 9 999999999 190 0.3970 0 88 999.000 999.0 99.0 -2.04084E7 13.9 12.2 90 101500 0 0 364 0 0 0 0 0 0 0 290 5.7 10 10 16.1 210 9 999999999 190 0.3970 0 88 999.000 999.0 99.0 -2.0412E7 13.9 12.2 90 101500 20 546 364 4 0 4 0 0 0 0 310 5.2 10 10 12.9 210 9 999999999 200 0.1610 0 88 999.000 999.0 99.0 -2.04156E7 13.3 12.8 97 101500 236 1337 362 52 3 51 5800 100 5800 1820 270 4.1 10 10 11.3 180 9 999999999 200 0.1610 0 88 999.000 999.0 99.0 -2.04192E7 13.9 12.2 90 101600 500 1337 364 114 7 111 13100 500 12900 4460 270 5.2 10 10 11.3 180 9 999999999 200 0.1610 0 88 999.000 999.0 99.0 -2.04228E7 13.9 12.2 90 101600 740 1337 364 198 4 196 22900 300 22700 8310 290 6.7 10 10 12.9 180 9 999999999 200 0.1610 0 88 999.000 999.0 99.0 -2.04264E7 15.0 12.8 87 101600 941 1337 371 272 4 269 31700 400 31400 11900 290 7.7 10 10 14.5 210 9 999999999 200 0.1610 0 88 999.000 999.0 99.0 -2.043E7 16.1 12.8 81 101600 1088 1337 366 471 127 368 51900 13500 40900 13620 290 7.2 9 9 14.5 270 9 999999999 209 0.1610 0 88 999.000 999.0 99.0 -2.04336E7 17.8 12.8 73 101600 1171 1337 357 641 351 332 70900 38200 37300 14690 290 7.7 8 6 19.3 310 9 999999999 209 0.1610 0 88 999.000 999.0 99.0 -2.04372E7 18.3 12.8 70 101500 1185 1337 351 840 645 264 88100 65300 30200 12950 300 8.8 6 3 32.2 2000 9 999999999 209 0.1610 0 88 999.000 999.0 99.0 -2.04408E7 19.4 12.8 66 101500 1128 1337 353 717 577 226 75600 58700 26000 9320 310 9.3 5 2 32.2 2000 9 999999999 220 0.1610 0 88 999.000 999.0 99.0 -2.04444E7 19.4 12.8 66 101400 1004 1337 353 620 578 182 65500 58900 21200 5710 310 11.3 4 2 32.2 2000 9 999999999 220 0.1610 0 88 999.000 999.0 99.0 -2.0448E7 17.8 12.2 70 101400 822 1337 344 552 591 184 56800 58800 20600 4300 300 7.2 6 2 32.2 2000 9 999999999 220 0.1610 0 88 999.000 999.0 99.0 -2.04516E7 16.7 12.2 75 101400 595 1337 339 350 470 137 36800 46200 16200 2740 300 8.2 6 2 32.2 2000 9 999999999 220 0.1610 0 88 999.000 999.0 99.0 -2.04552E7 15.6 12.2 81 101400 337 1337 334 160 310 80 16600 25700 10100 1470 310 8.8 6 2 32.2 2000 9 999999999 209 0.1610 0 88 999.000 999.0 99.0 -2.04588E7 13.9 11.7 87 101400 78 1059 329 30 32 27 3200 1500 3100 560 310 8.2 8 3 24.1 2000 9 999999999 209 0.1610 0 88 999.000 999.0 99.0 -2.04624E7 13.9 12.2 90 101500 0 0 338 0 0 0 0 0 0 0 310 6.2 8 6 11.3 210 9 999999999 200 0.1610 0 88 999.000 999.0 99.0 -2.0466E7 13.9 12.8 93 101600 0 0 338 0 0 0 0 0 0 0 290 6.2 7 6 11.3 210 9 999999999 200 0.1610 0 88 999.000 999.0 99.0 -2.04696E7 14.4 12.8 90 101600 0 0 350 0 0 0 0 0 0 0 290 6.2 9 8 8.0 180 9 999999999 200 0.1610 0 88 999.000 999.0 99.0 -2.04732E7 13.9 12.8 93 101600 0 0 365 0 0 0 0 0 0 0 270 5.7 10 10 11.3 150 9 999999999 190 0.1610 0 88 999.000 999.0 99.0 -2.04768E7 13.3 12.8 97 101700 0 0 362 0 0 0 0 0 0 0 260 6.7 10 10 12.9 150 9 999999999 190 0.1610 0 88 999.000 999.0 99.0 -2.04804E7 13.3 12.8 97 101700 0 0 362 0 0 0 0 0 0 0 270 5.2 10 10 11.3 150 9 999999999 180 0.1610 0 88 999.000 999.0 99.0 -2.0484E7 13.3 12.2 93 101700 0 0 361 0 0 0 0 0 0 0 280 5.7 10 10 14.5 150 9 999999999 180 0.1610 0 88 999.000 999.0 99.0 -2.04876E7 13.3 12.2 93 101600 0 0 361 0 0 0 0 0 0 0 260 3.1 10 10 14.5 150 9 999999999 170 0.1610 0 88 999.000 999.0 99.0 -2.04912E7 12.8 12.2 97 101600 0 0 359 0 0 0 0 0 0 0 290 5.2 10 10 14.5 150 9 999999999 170 0.1610 0 88 999.000 999.0 99.0 -2.04948E7 12.8 12.2 97 101700 0 0 359 0 0 0 0 0 0 0 290 4.6 10 10 16.1 150 9 999999999 180 0.1610 0 88 999.000 999.0 99.0 -2.04984E7 13.3 12.2 93 101700 19 524 361 9 0 9 0 0 0 0 250 2.6 10 10 14.5 210 9 999999999 180 0.1270 0 88 999.000 999.0 99.0 -2.0502E7 13.3 12.2 93 101800 233 1338 361 39 5 38 4500 100 4500 1440 310 2.6 10 10 12.9 210 9 999999999 190 0.1270 0 88 999.000 999.0 99.0 -2.05056E7 13.9 12.2 90 101800 497 1338 364 123 8 120 14000 500 13800 4710 290 2.1 10 10 11.3 210 9 999999999 200 0.1270 0 88 999.000 999.0 99.0 -2.05092E7 14.4 12.2 87 101800 738 1338 357 346 158 258 37500 16400 28500 6680 300 5.2 9 9 11.3 210 9 999999999 200 0.1270 0 88 999.000 999.0 99.0 -2.05128E7 15.0 12.2 84 101900 938 1338 352 464 207 318 50800 21900 35400 9650 300 7.2 9 8 11.3 210 9 999999999 209 0.1270 0 88 999.000 999.0 99.0 -2.05164E7 16.7 12.2 75 101900 1085 1338 345 722 614 221 76000 62300 25300 8130 310 8.2 5 4 12.9 2000 9 999999999 220 0.1270 0 88 999.000 999.0 99.0 -2.052E7 17.2 12.2 73 101900 1168 1338 341 834 769 158 88100 77700 20000 6970 310 8.2 2 2 19.3 2000 9 999999999 220 0.1270 0 88 999.000 999.0 99.0 -2.05236E7 18.3 12.2 68 101800 1181 1338 347 861 777 170 90300 78300 21000 7750 310 9.3 2 2 24.1 2000 9 999999999 230 0.1270 0 88 999.000 999.0 99.0 -2.05272E7 18.3 12.2 68 101800 1124 1338 336 856 849 137 91200 86100 18600 5410 310 11.3 0 0 24.1 2000 9 999999999 240 0.1270 0 88 999.000 999.0 99.0 -2.05308E7 18.3 12.2 68 101700 1000 1338 336 740 813 127 78100 82100 16600 3790 300 11.3 0 0 24.1 2000 9 999999999 240 0.1270 0 88 999.000 999.0 99.0 -2.05344E7 18.3 12.2 68 101700 817 1338 336 580 760 111 60300 75700 14000 2570 300 10.8 0 0 24.1 2000 9 999999999 250 0.1270 0 88 999.000 999.0 99.0 -2.0538E7 17.2 12.2 73 101700 589 1338 331 385 666 87 40300 64800 11700 1810 290 12.4 0 0 24.1 2000 9 999999999 250 0.1270 0 88 999.000 999.0 99.0 -2.05416E7 16.7 11.7 73 101700 331 1338 328 177 468 58 18000 38900 8300 1070 300 10.3 0 0 24.1 2000 9 999999999 250 0.1270 0 88 999.000 999.0 99.0 -2.05452E7 15.0 11.7 81 101700 73 1015 320 36 99 25 3400 3800 3200 450 300 9.3 0 0 16.1 2000 9 999999999 260 0.1270 0 88 999.000 999.0 99.0 -2.05488E7 14.4 11.7 84 101800 0 0 317 0 0 0 0 0 0 0 280 9.8 0 0 19.3 2000 9 999999999 260 0.1270 0 88 999.000 999.0 99.0 -2.05524E7 14.4 11.7 84 101800 0 0 317 0 0 0 0 0 0 0 290 11.3 0 0 19.3 2000 9 999999999 260 0.1270 0 88 999.000 999.0 99.0 -2.0556E7 14.4 11.7 84 101800 0 0 317 0 0 0 0 0 0 0 280 11.8 0 0 19.3 2000 9 999999999 270 0.1270 0 88 999.000 999.0 99.0 -2.05596E7 13.9 11.7 87 101800 0 0 315 0 0 0 0 0 0 0 280 10.3 0 0 19.3 2000 9 999999999 270 0.1270 0 88 999.000 999.0 99.0 -2.05632E7 13.9 11.1 84 101800 0 0 315 0 0 0 0 0 0 0 290 9.8 0 0 19.3 2000 9 999999999 270 0.1270 0 88 999.000 999.0 99.0 -2.05668E7 13.3 11.1 87 101800 0 0 312 0 0 0 0 0 0 0 300 8.8 0 0 19.3 2000 9 999999999 270 0.1270 0 88 999.000 999.0 99.0 -2.05704E7 13.3 10.6 83 101800 0 0 312 0 0 0 0 0 0 0 270 7.2 0 0 19.3 2000 9 999999999 280 0.1270 0 88 999.000 999.0 99.0 -2.0574E7 12.8 10.6 87 101900 0 0 309 0 0 0 0 0 0 0 290 6.2 0 0 19.3 2000 9 999999999 280 0.1270 0 88 999.000 999.0 99.0 -2.05776E7 12.8 10.6 87 101900 0 0 309 0 0 0 0 0 0 0 300 6.2 0 0 19.3 2000 9 999999999 280 0.1270 0 88 999.000 999.0 99.0 -2.05812E7 12.2 10.6 90 101900 0 0 323 0 0 0 0 0 0 0 290 7.2 6 4 19.3 340 9 999999999 270 0.1270 0 88 999.000 999.0 99.0 -2.05848E7 12.2 10.6 90 102000 18 502 323 5 0 5 0 0 0 0 280 6.2 5 4 14.5 2000 9 999999999 260 0.3510 0 88 999.000 999.0 99.0 -2.05884E7 13.3 10.6 83 102000 229 1338 328 64 55 54 7000 4000 6300 1150 300 8.2 5 4 14.5 2000 9 999999999 250 0.3510 0 88 999.000 999.0 99.0 -2.0592E7 14.4 10.6 78 102000 494 1338 333 206 207 129 22000 20000 14600 2600 290 7.7 4 4 14.5 2000 9 999999999 240 0.3510 0 88 999.000 999.0 99.0 -2.05956E7 15.0 11.1 78 102000 735 1338 333 424 341 236 45300 35800 25600 5620 300 7.2 3 3 16.1 2000 9 999999999 230 0.3510 0 88 999.000 999.0 99.0 -2.05992E7 16.1 10.6 70 102100 936 1338 335 638 573 235 68200 59400 26500 6560 300 7.7 2 2 16.1 2000 9 999999999 220 0.3510 0 88 999.000 999.0 99.0 -2.06028E7 17.2 10.0 63 102000 1082 1338 328 773 634 257 80500 63800 28800 9210 300 7.2 0 0 19.3 2000 9 999999999 209 0.3510 0 88 999.000 999.0 99.0 -2.06064E7 18.3 10.0 59 102000 1165 1338 333 836 645 271 87500 65100 30700 12330 290 10.3 0 0 17.7 2000 9 999999999 200 0.3510 0 88 999.000 999.0 99.0 -2.061E7 18.9 10.0 57 101900 1178 1338 336 862 665 273 90300 67100 31000 12980 290 9.3 0 0 19.3 2000 9 999999999 190 0.3510 0 88 999.000 999.0 99.0 -2.06136E7 19.4 10.0 55 101900 1120 1338 338 822 662 263 85600 66700 29700 10420 290 10.3 0 0 24.1 2000 9 999999999 180 0.3510 0 88 999.000 999.0 99.0 -2.06172E7 18.9 10.6 59 101800 996 1338 337 703 615 241 72600 61600 26700 7150 300 11.8 0 0 24.1 2000 9 999999999 170 0.3510 0 88 999.000 999.0 99.0 -2.06208E7 17.8 10.6 63 101800 813 1338 332 536 538 205 56600 55200 23000 4890 300 11.3 0 0 24.1 2000 9 999999999 160 0.3510 0 88 999.000 999.0 99.0 -2.06244E7 17.2 11.1 68 101700 584 1338 329 334 407 153 34700 39800 17300 3080 300 10.3 0 0 24.1 2000 9 999999999 160 0.3510 0 88 999.000 999.0 99.0 -2.0628E7 15.6 11.1 75 101700 325 1338 322 139 196 90 14600 16200 10600 1750 300 10.3 0 0 32.2 2000 9 999999999 160 0.3510 0 88 999.000 999.0 99.0 -2.06316E7 13.9 11.1 84 101700 69 993 315 27 7 26 2900 0 2900 830 300 9.8 0 0 32.2 2000 9 999999999 160 0.3510 0 88 999.000 999.0 99.0 -2.06352E7 13.3 11.1 87 101800 0 0 312 0 0 0 0 0 0 0 290 6.7 0 0 24.1 2000 9 999999999 160 0.3510 0 88 999.000 999.0 99.0 -2.06388E7 12.8 10.6 87 101800 0 0 309 0 0 0 0 0 0 0 300 5.7 0 0 24.1 2000 9 999999999 160 0.3510 0 88 999.000 999.0 99.0 -2.06424E7 13.3 10.6 83 101800 0 0 330 0 0 0 0 0 0 0 280 4.6 6 5 24.1 340 9 999999999 150 0.3510 0 88 999.000 999.0 99.0 -2.0646E7 12.8 10.6 87 101800 0 0 328 0 0 0 0 0 0 0 290 2.6 6 5 24.1 340 9 999999999 150 0.3510 0 88 999.000 999.0 99.0 -2.06496E7 12.8 10.6 87 101800 0 0 323 0 0 0 0 0 0 0 270 2.6 3 3 24.1 2000 9 999999999 150 0.3510 0 88 999.000 999.0 99.0 -2.06532E7 12.8 10.6 87 101800 0 0 331 0 0 0 0 0 0 0 250 3.1 6 6 24.1 340 9 999999999 150 0.3510 0 88 999.000 999.0 99.0 -2.06568E7 13.3 10.6 83 101800 0 0 342 0 0 0 0 0 0 0 250 3.1 8 8 24.1 340 9 999999999 150 0.3510 0 88 999.000 999.0 99.0 -2.06604E7 12.8 10.6 87 101800 0 0 340 0 0 0 0 0 0 0 250 4.1 8 8 24.1 340 9 999999999 150 0.3510 0 88 999.000 999.0 99.0 -2.0664E7 12.2 10.6 90 101800 0 0 325 0 0 0 0 0 0 0 220 2.1 5 5 24.1 2000 9 999999999 150 0.3510 0 88 999.000 999.0 99.0 -2.06676E7 11.1 10.0 93 101800 0 0 311 0 0 0 0 0 0 0 220 1.5 2 2 24.1 2000 9 999999999 150 0.3510 0 88 999.000 999.0 99.0 -2.06712E7 11.1 9.4 90 101800 16 502 307 8 14 7 0 0 0 0 190 1.5 1 1 19.3 2000 9 999999999 150 0.1250 0 88 999.000 999.0 99.0 -2.06748E7 12.8 10.6 87 101800 226 1339 315 97 213 60 10100 14500 7700 1130 180 1.5 1 1 11.3 2000 9 999999999 140 0.1250 0 88 999.000 999.0 99.0 -2.06784E7 15.0 11.1 78 101800 490 1339 333 244 370 107 25800 34800 13000 2030 140 1.5 4 3 11.3 2000 9 999999999 140 0.1250 0 88 999.000 999.0 99.0 -2.0682E7 16.7 11.7 73 101800 732 1339 339 444 549 142 46200 54400 16400 3110 80 3.1 2 2 11.3 2000 9 999999999 140 0.1250 0 88 999.000 999.0 99.0 -2.06856E7 17.8 11.7 68 101800 933 1339 333 689 813 120 72700 81800 15500 3210 350 5.2 0 0 14.5 2000 9 999999999 140 0.1250 0 88 999.000 999.0 99.0 -2.06892E7 18.9 12.2 65 101800 1080 1339 338 829 859 132 88200 87000 17900 4650 40 5.2 0 0 14.5 2000 9 999999999 130 0.1250 0 88 999.000 999.0 99.0 -2.06928E7 20.0 11.7 59 101700 1162 1339 343 908 881 138 92800 88200 16000 4790 350 5.2 0 0 16.1 2000 9 999999999 130 0.1250 0 88 999.000 999.0 99.0 -2.06964E7 21.1 11.1 53 101700 1175 1339 347 921 884 139 93900 88500 16100 5040 310 8.2 0 0 16.1 2000 9 999999999 130 0.1250 0 88 999.000 999.0 99.0 -2.07E7 21.1 11.1 53 101600 1116 1339 347 868 872 135 88700 87200 15800 4050 310 9.8 0 0 24.1 2000 9 999999999 130 0.1250 0 88 999.000 999.0 99.0 -2.07036E7 20.0 11.1 57 101500 991 1339 342 754 841 125 79500 84900 16500 3680 310 9.3 0 0 24.1 2000 9 999999999 120 0.1250 0 88 999.000 999.0 99.0 -2.07072E7 20.0 10.6 55 101500 808 1339 342 586 782 109 60900 77900 13800 2500 310 8.2 0 0 24.1 2000 9 999999999 120 0.1250 0 88 999.000 999.0 99.0 -2.07108E7 17.8 10.6 63 101500 578 1339 332 385 681 85 40200 66100 11600 1760 310 9.8 0 0 40.2 2000 9 999999999 130 0.1250 0 88 999.000 999.0 99.0 -2.07144E7 16.1 10.6 70 101500 320 1339 324 174 475 56 17500 39000 8200 1030 300 9.3 0 0 40.2 2000 9 999999999 140 0.1250 0 88 999.000 999.0 99.0 -2.0718E7 14.4 10.6 78 101400 64 949 316 32 88 23 3100 3300 2900 410 300 8.8 0 0 24.1 2000 9 999999999 140 0.1250 0 88 999.000 999.0 99.0 -2.07216E7 13.9 10.6 81 101500 0 0 314 0 0 0 0 0 0 0 300 10.3 0 0 24.1 2000 9 999999999 150 0.1250 0 88 999.000 999.0 99.0 -2.07252E7 13.3 10.6 83 101500 0 0 312 0 0 0 0 0 0 0 310 5.2 0 0 24.1 2000 9 999999999 160 0.1250 0 88 999.000 999.0 99.0 -2.07288E7 12.8 10.6 87 101600 0 0 309 0 0 0 0 0 0 0 300 6.2 0 0 24.1 2000 9 999999999 160 0.1250 0 88 999.000 999.0 99.0 -2.07324E7 12.8 10.6 87 101600 0 0 309 0 0 0 0 0 0 0 300 6.2 1 0 19.3 2000 9 999999999 170 0.1250 0 88 999.000 999.0 99.0 -2.0736E7 12.8 10.6 87 101600 0 0 315 0 0 0 0 0 0 0 300 6.7 3 1 19.3 2000 9 999999999 180 0.1250 0 88 999.000 999.0 99.0 -2.07396E7 12.2 10.6 90 101600 0 0 313 0 0 0 0 0 0 0 300 6.2 4 1 19.3 2000 9 999999999 190 0.1250 0 88 999.000 999.0 99.0 -2.07432E7 12.2 10.6 90 101500 0 0 313 0 0 0 0 0 0 0 310 4.1 4 1 19.3 2000 9 999999999 200 0.1250 0 88 999.000 999.0 99.0 -2.07468E7 12.2 10.6 90 101600 0 0 317 0 0 0 0 0 0 0 310 3.1 6 2 19.3 2000 9 999999999 200 0.1250 0 88 999.000 999.0 99.0 -2.07504E7 12.2 10.0 86 101500 0 0 322 0 0 0 0 0 0 0 310 5.2 7 4 19.3 7620 9 999999999 209 0.1250 0 88 999.000 999.0 99.0 -2.0754E7 12.2 10.6 90 101500 0 0 317 0 0 0 0 0 0 0 300 5.2 6 2 24.1 2000 9 999999999 230 0.1250 0 88 999.000 999.0 99.0 -2.07576E7 12.2 10.6 90 101600 15 480 317 8 2 8 0 0 0 0 310 4.1 7 2 19.3 2000 9 999999999 240 0.1780 0 88 999.000 999.0 99.0 -2.07612E7 13.3 10.6 83 101600 223 1340 322 79 142 55 8300 9600 6800 1020 300 5.2 7 2 16.1 2000 9 999999999 260 0.1780 0 88 999.000 999.0 99.0 -2.07648E7 15.0 10.6 75 101600 487 1340 333 233 248 142 24700 23900 16000 2920 300 5.7 8 3 16.1 2000 9 999999999 270 0.1780 0 88 999.000 999.0 99.0 -2.07684E7 16.7 11.1 70 101600 729 1340 341 373 328 193 40400 34500 21500 4410 300 6.2 8 3 16.1 2000 9 999999999 290 0.1780 0 88 999.000 999.0 99.0 -2.0772E7 17.8 11.1 65 101600 930 1340 349 575 417 284 60200 43100 30200 7990 310 7.2 9 4 16.1 2000 9 999999999 300 0.1780 0 88 999.000 999.0 99.0 -2.07756E7 18.3 10.0 59 101600 1077 1340 360 654 458 284 70100 47800 31600 10400 320 8.2 9 7 16.1 4570 9 999999999 320 0.1780 0 88 999.000 999.0 99.0 -2.07792E7 16.7 10.6 67 101600 1159 1340 366 341 159 202 39000 17400 23900 8250 300 9.3 10 9 19.3 4570 9 999999999 340 0.1780 0 88 999.000 999.0 99.0 -2.07828E7 16.1 10.6 70 101600 1171 1340 363 546 177 390 60200 18900 43600 17000 300 7.2 10 9 19.3 4570 9 999999999 350 0.1780 0 88 999.000 999.0 99.0 -2.07864E7 15.6 10.0 70 101700 1112 1340 370 206 1 206 25200 100 25100 10260 300 11.3 10 10 19.3 3660 9 999999999 370 0.1780 0 88 999.000 999.0 99.0 -2.079E7 14.4 11.1 81 101600 987 1340 366 285 5 281 33300 400 32900 12560 300 8.2 10 10 19.3 3660 9 999999999 380 0.1780 0 88 999.000 999.0 99.0 -2.07936E7 15.0 10.6 75 101500 803 1340 368 137 7 132 16400 500 16100 6310 240 2.1 10 10 19.3 3660 9 999999999 400 0.1780 0 88 999.000 999.0 99.0 -2.07972E7 16.1 10.0 67 101500 573 1340 373 159 8 155 18000 600 17800 6090 280 4.6 10 10 19.3 3660 9 999999999 390 0.1780 0 88 999.000 999.0 99.0 -2.08008E7 15.6 10.0 70 101500 314 1340 360 62 32 54 6800 2700 6100 1490 300 5.2 9 9 19.3 3660 9 999999999 380 0.1780 0 88 999.000 999.0 99.0 -2.08044E7 15.0 10.0 72 101500 60 927 357 18 2 18 2100 0 2100 630 300 6.2 9 9 19.3 3660 9 999999999 380 0.1780 0 88 999.000 999.0 99.0 -2.0808E7 14.4 10.6 78 101500 0 0 355 0 0 0 0 0 0 0 300 6.2 9 9 19.3 3660 9 999999999 370 0.1780 0 88 999.000 999.0 99.0 -2.08116E7 14.4 10.6 78 101500 0 0 355 0 0 0 0 0 0 0 300 6.7 9 9 24.1 3660 9 999999999 360 0.1780 0 88 999.000 999.0 99.0 -2.08152E7 14.4 10.0 75 101500 0 0 354 0 0 0 0 0 0 0 310 7.2 9 9 24.1 3660 9 999999999 350 0.1780 0 88 999.000 999.0 99.0 -2.08188E7 13.9 10.0 78 101500 0 0 344 0 0 0 0 0 0 0 310 4.6 8 8 24.1 3660 9 999999999 350 0.1780 0 88 999.000 999.0 99.0 -2.08224E7 14.4 10.0 75 101500 0 0 347 0 0 0 0 0 0 0 320 4.1 8 8 24.1 3660 9 999999999 340 0.1780 0 88 999.000 999.0 99.0 -2.0826E7 14.4 10.0 75 101500 0 0 347 0 0 0 0 0 0 0 310 4.6 9 8 24.1 3660 9 999999999 330 0.1780 0 88 999.000 999.0 99.0 -2.08296E7 14.4 10.0 75 101500 0 0 354 0 0 0 0 0 0 0 290 2.6 9 9 24.1 3660 9 999999999 330 0.1780 0 88 999.000 999.0 99.0 -2.08332E7 14.4 9.4 72 101500 0 0 341 0 0 0 0 0 0 0 300 2.6 8 7 24.1 3660 9 999999999 320 0.1780 0 88 999.000 999.0 99.0 -2.08368E7 14.4 9.4 72 101500 0 0 341 0 0 0 0 0 0 0 290 2.1 8 7 24.1 3660 9 999999999 310 0.1780 0 88 999.000 999.0 99.0 -2.08404E7 15.0 10.0 72 101400 0 0 350 0 0 0 0 0 0 0 260 2.1 8 8 24.1 3660 9 999999999 310 0.1780 0 88 999.000 999.0 99.0 -2.0844E7 15.0 10.0 72 101500 14 458 337 5 1 5 0 0 0 0 0 0.0 7 5 80.5 3660 9 999999999 310 0.2010 0 88 999.000 999.0 99.0 -2.08476E7 16.1 10.6 70 101500 219 1340 341 75 37 69 8200 2800 7700 1620 340 1.5 5 4 80.5 2000 9 999999999 300 0.2010 0 88 999.000 999.0 99.0 -2.08512E7 17.8 10.6 63 101500 484 1340 349 247 306 136 26300 29400 15600 2780 170 1.5 5 4 64.4 2000 9 999999999 300 0.2010 0 88 999.000 999.0 99.0 -2.08548E7 20.0 13.9 68 101600 726 1340 363 339 264 195 36700 27700 21600 4460 20 2.1 4 4 64.4 2000 9 999999999 300 0.2010 0 88 999.000 999.0 99.0 -2.08584E7 20.6 12.8 61 101600 927 1340 362 560 475 229 59900 49300 25700 6290 50 3.1 4 3 64.4 2000 9 999999999 300 0.2010 0 88 999.000 999.0 99.0 -2.0862E7 22.8 11.1 48 101600 1074 1340 371 702 597 220 73700 60600 25100 7830 50 2.1 4 3 64.4 2000 9 999999999 300 0.2010 0 88 999.000 999.0 99.0 -2.08656E7 26.1 4.4 25 101600 1156 1340 385 754 546 279 81600 57200 32200 12610 300 7.2 6 5 64.4 3660 9 999999999 300 0.2010 0 88 999.000 999.0 99.0 -2.08692E7 24.4 7.8 35 101600 1167 1340 389 636 376 306 68400 39300 34100 14430 300 10.3 8 7 64.4 3660 9 999999999 300 0.2010 0 88 999.000 999.0 99.0 -2.08728E7 24.4 8.9 37 101600 1108 1340 390 640 421 289 68600 44000 32200 11430 290 10.3 7 7 64.4 5490 9 999999999 290 0.2010 0 88 999.000 999.0 99.0 -2.08764E7 22.8 9.4 43 101500 982 1340 382 503 276 299 54700 29800 32800 9030 290 9.3 8 7 64.4 5490 9 999999999 290 0.2010 0 88 999.000 999.0 99.0 -2.088E7 21.7 9.4 46 101500 798 1340 377 456 380 227 49200 40400 25100 5530 300 9.3 7 7 64.4 5490 9 999999999 290 0.2010 0 88 999.000 999.0 99.0 -2.08836E7 21.1 10.0 49 101500 567 1340 374 253 197 168 27500 19600 19100 3990 290 8.8 7 7 64.4 4570 9 999999999 290 0.2010 0 88 999.000 999.0 99.0 -2.08872E7 17.8 10.6 63 101400 307 1340 349 120 163 81 12600 13100 9500 1550 280 7.7 5 4 64.4 2000 9 999999999 280 0.2010 0 88 999.000 999.0 99.0 -2.08908E7 16.7 10.6 67 101500 56 905 349 18 8 17 1900 400 1900 420 290 9.3 6 6 32.2 5490 9 999999999 280 0.2010 0 88 999.000 999.0 99.0 -2.08944E7 16.1 10.0 67 101400 0 0 346 0 0 0 0 0 0 0 280 8.2 6 6 24.1 4570 9 999999999 280 0.2010 0 88 999.000 999.0 99.0 -2.0898E7 15.0 10.0 72 101500 0 0 337 0 0 0 0 0 0 0 290 5.2 5 5 24.1 2000 9 999999999 280 0.2010 0 88 999.000 999.0 99.0 -2.09016E7 15.0 10.0 72 101600 0 0 337 0 0 0 0 0 0 0 290 6.2 5 5 24.1 2000 9 999999999 280 0.2010 0 88 999.000 999.0 99.0 -2.09052E7 13.9 10.6 81 101500 0 0 330 0 0 0 0 0 0 0 300 6.2 4 4 24.1 2000 9 999999999 270 0.2010 0 88 999.000 999.0 99.0 -2.09088E7 13.9 10.6 81 101500 0 0 330 0 0 0 0 0 0 0 300 4.1 4 4 24.1 2000 9 999999999 270 0.2010 0 88 999.000 999.0 99.0 -2.09124E7 13.9 10.6 81 101500 0 0 328 0 0 0 0 0 0 0 310 6.2 3 3 24.1 2000 9 999999999 270 0.2010 0 88 999.000 999.0 99.0 -2.0916E7 12.8 10.6 87 101500 0 0 323 0 0 0 0 0 0 0 300 4.1 3 3 24.1 2000 9 999999999 270 0.2010 0 88 999.000 999.0 99.0 -2.09196E7 12.8 10.6 87 101500 0 0 323 0 0 0 0 0 0 0 310 3.1 3 3 24.1 2000 9 999999999 260 0.2010 0 88 999.000 999.0 99.0 -2.09232E7 12.8 10.6 87 101500 0 0 320 0 0 0 0 0 0 0 310 3.1 2 2 24.1 2000 9 999999999 260 0.2010 0 88 999.000 999.0 99.0 -2.09268E7 12.8 10.6 87 101500 0 0 323 0 0 0 0 0 0 0 310 2.1 3 3 19.3 2000 9 999999999 260 0.2010 0 88 999.000 999.0 99.0 -2.09304E7 12.2 10.6 90 101500 13 436 317 6 5 6 0 0 0 0 260 2.1 6 2 32.2 2000 9 999999999 250 0.1400 0 88 999.000 999.0 99.0 -2.0934E7 14.4 11.1 81 101500 216 1341 331 87 188 56 9100 12400 7100 1050 0 0.0 8 3 16.1 2000 9 999999999 250 0.1400 0 88 999.000 999.0 99.0 -2.09376E7 17.2 12.2 73 101500 481 1341 337 268 485 92 27500 44700 11400 1750 90 2.1 5 1 16.1 2000 9 999999999 250 0.1400 0 88 999.000 999.0 99.0 -2.09412E7 18.9 13.3 70 101600 723 1341 346 456 635 111 48200 63500 13800 2500 50 2.6 3 1 16.1 2000 9 999999999 250 0.1400 0 88 999.000 999.0 99.0 -2.09448E7 20.0 13.9 68 101600 924 1341 357 665 731 158 70400 74300 19000 4350 70 2.6 5 2 19.3 2000 9 999999999 250 0.1400 0 88 999.000 999.0 99.0 -2.09484E7 21.7 13.9 61 101500 1070 1341 369 774 723 193 82100 73800 23000 6900 360 3.1 4 3 24.1 2000 9 999999999 240 0.1400 0 88 999.000 999.0 99.0 -2.0952E7 25.0 13.3 48 101500 1152 1341 381 781 607 256 81900 61400 29000 11150 340 5.2 5 2 19.3 2000 9 999999999 240 0.1400 0 88 999.000 999.0 99.0 -2.09556E7 27.8 9.4 32 101400 1164 1341 385 836 782 152 88500 79100 19600 6600 320 7.7 3 1 24.1 2000 9 999999999 240 0.1400 0 88 999.000 999.0 99.0 -2.09592E7 24.4 10.6 42 101400 1104 1341 375 785 724 184 83800 74200 22500 7180 300 8.8 3 2 32.2 2000 9 999999999 230 0.1400 0 88 999.000 999.0 99.0 -2.09628E7 22.8 10.6 46 101400 978 1341 367 707 755 152 75400 77300 18900 4600 310 10.3 2 2 64.4 2000 9 999999999 230 0.1400 0 88 999.000 999.0 99.0 -2.09664E7 22.8 6.1 34 101300 792 1341 361 531 641 148 55300 64200 17300 3440 290 10.8 2 2 64.4 2000 9 999999999 230 0.1400 0 88 999.000 999.0 99.0 -2.097E7 21.7 6.1 37 101300 562 1341 359 318 494 107 32600 47100 12800 2100 280 11.3 3 3 64.4 2000 9 999999999 230 0.1400 0 88 999.000 999.0 99.0 -2.09736E7 18.9 7.8 49 101300 301 1341 351 131 218 80 13700 17400 9800 1530 280 10.3 4 4 64.4 2000 9 999999999 240 0.1400 0 88 999.000 999.0 99.0 -2.09772E7 16.7 10.0 65 101400 52 860 343 25 11 24 2700 600 2700 560 300 7.2 6 4 24.1 4570 9 999999999 240 0.1400 0 88 999.000 999.0 99.0 -2.09808E7 16.7 8.9 60 101300 0 0 339 0 0 0 0 0 0 0 290 6.2 6 3 24.1 2000 9 999999999 240 0.1400 0 88 999.000 999.0 99.0 -2.09844E7 16.7 8.9 60 101400 0 0 344 0 0 0 0 0 0 0 300 6.7 6 5 24.1 3050 9 999999999 250 0.1400 0 88 999.000 999.0 99.0 -2.0988E7 16.3 9.3 65 101400 0 0 355 0 0 0 0 0 0 0 300 6.6 8 8 24.1 3050 9 999999999 250 0.1400 0 88 999.000 999.0 99.0 -2.09916E7 15.9 9.7 67 101400 0 0 354 0 0 0 0 0 0 0 320 6.4 8 8 24.1 3050 9 999999999 250 0.1400 0 88 999.000 999.0 99.0 -2.09952E7 15.5 10.1 67 101400 0 0 360 0 0 0 0 0 0 0 310 6.3 9 9 24.1 3050 9 999999999 260 0.1400 0 88 999.000 999.0 99.0 -2.09988E7 15.1 10.5 87 101200 0 0 330 0 0 0 0 0 0 0 260 6.1 2 2 19.2 2000 9 999999999 180 0.1660 0 88 0.180 0.0 1.0 -2.10024E7 14.7 10.9 87 101200 0 0 337 0 0 0 0 0 0 0 270 6.0 5 5 19.2 2000 9 999999999 180 0.1660 0 88 0.180 0.0 1.0 -2.1006E7 14.3 11.3 87 101200 0 0 333 0 0 0 0 0 0 0 300 5.8 4 4 19.2 2000 9 999999999 180 0.1660 0 88 0.180 0.0 1.0 -2.10096E7 13.9 11.7 87 101100 0 0 346 0 0 0 0 0 0 0 270 5.7 8 8 24.0 457 9 999999999 180 0.1660 0 88 0.180 0.0 1.0 -2.10132E7 13.9 11.7 87 101200 0 0 341 0 0 0 0 0 0 0 240 3.6 7 7 24.0 457 9 999999999 180 0.1660 0 88 0.180 0.0 1.0 -2.10168E7 14.4 11.7 84 101200 12 414 349 1 0 1 0 0 0 0 240 5.7 9 8 19.2 396 9 999999999 180 0.1660 0 88 0.180 0.0 1.0 -2.10204E7 15.0 11.7 81 101300 213 1342 346 63 24 60 7000 1800 6700 1450 240 4.1 9 7 17.6 427 9 999999999 180 0.1660 0 88 0.180 0.0 1.0 -2.1024E7 16.1 11.7 75 101300 478 1342 357 214 75 187 23400 7200 20800 4740 220 4.6 9 8 14.4 457 9 999999999 180 0.1660 0 88 0.180 0.0 1.0 -2.10276E7 17.2 11.7 70 101300 720 1342 347 430 464 181 45600 47000 20400 3960 290 6.7 4 4 17.6 2000 9 999999999 180 0.1660 0 88 0.180 0.0 1.0 -2.10312E7 17.8 11.7 67 101300 922 1342 347 615 487 280 64600 50300 29900 7760 280 5.7 3 3 16.0 2000 9 999999999 180 0.1660 0 88 0.180 0.0 1.0 -2.10348E7 19.4 11.7 61 101400 1068 1342 351 750 643 237 78600 64900 26800 8230 300 7.7 2 2 17.6 2000 9 999999999 190 0.1660 0 88 0.180 0.0 1.0 -2.10384E7 19.4 11.7 61 101400 1150 1342 347 830 694 235 87900 70500 27300 10210 300 8.8 3 1 19.2 2000 9 999999999 190 0.1660 0 88 0.180 0.0 1.0 -2.1042E7 18.9 11.7 63 101300 1161 1342 338 809 669 230 86000 68100 26900 10370 300 8.2 1 0 19.2 2000 9 999999999 190 0.1660 0 88 0.180 0.0 1.0 -2.10456E7 18.3 11.7 65 101300 1101 1342 341 790 694 220 83600 70500 25600 8360 280 8.8 1 1 19.2 2000 9 999999999 190 0.1660 0 88 0.180 0.0 1.0 -2.10492E7 18.3 11.1 63 101300 974 1342 334 698 687 199 73400 69400 22900 5790 260 8.2 0 0 19.2 2000 9 999999999 190 0.1660 0 88 0.180 0.0 1.0 -2.10528E7 18.3 11.1 63 101300 788 1342 334 528 611 169 54900 60700 19100 3830 270 7.7 0 0 19.2 2000 9 999999999 190 0.1660 0 88 0.180 0.0 1.0 -2.10564E7 17.2 11.1 67 101300 557 1342 329 324 477 126 34500 46200 15200 2470 280 6.7 0 0 19.2 2000 9 999999999 190 0.1660 0 88 0.180 0.0 1.0 -2.106E7 16.1 10.6 70 101200 296 1342 324 126 240 73 13400 19000 9200 1370 290 8.8 0 0 19.2 2000 9 999999999 190 0.1660 0 88 0.180 0.0 1.0 -2.10636E7 15.0 11.1 77 101200 49 839 326 11 7 11 1300 400 1200 280 280 6.7 1 1 16.0 2000 9 999999999 190 0.1660 0 88 0.180 0.0 1.0 -2.10672E7 15.0 11.1 77 101200 0 0 320 0 0 0 0 0 0 0 280 7.2 0 0 19.2 2000 9 999999999 190 0.1660 0 88 0.180 0.0 1.0 -2.10708E7 14.4 11.1 81 101300 0 0 317 0 0 0 0 0 0 0 260 6.2 0 0 19.2 2000 9 999999999 190 0.1660 0 88 0.180 0.0 1.0 -2.10744E7 14.4 11.1 81 101300 0 0 317 0 0 0 0 0 0 0 290 7.2 0 0 19.2 2000 9 999999999 190 0.1660 0 88 0.180 0.0 1.0 -2.1078E7 14.4 10.6 78 101300 0 0 322 0 0 0 0 0 0 0 270 4.1 1 1 19.2 2000 9 999999999 200 0.1660 0 88 0.180 0.0 1.0 -2.10816E7 14.4 11.1 81 101300 0 0 317 0 0 0 0 0 0 0 130 1.5 0 0 19.2 2000 9 999999999 200 0.1660 0 88 0.180 0.0 1.0 -2.10852E7 14.4 10.6 78 101300 0 0 316 0 0 0 0 0 0 0 330 2.1 0 0 19.2 2000 9 999999999 200 0.1650 0 88 0.180 0.0 1.0 -2.10888E7 13.3 10.6 84 101300 0 0 312 0 0 0 0 0 0 0 0 0.0 0 0 19.2 2000 9 999999999 200 0.1650 0 88 0.180 0.0 1.0 -2.10924E7 13.3 10.6 84 101300 0 0 312 0 0 0 0 0 0 0 250 4.1 0 0 19.2 2000 9 999999999 200 0.1650 0 88 0.180 0.0 1.0 -2.1096E7 13.9 10.6 80 101300 0 0 314 0 0 0 0 0 0 0 290 4.1 0 0 19.2 2000 9 999999999 200 0.1650 0 88 0.180 0.0 1.0 -2.10996E7 12.8 10.6 86 101300 0 0 323 0 0 0 0 0 0 0 310 3.1 3 3 19.2 2000 9 999999999 200 0.1650 0 88 0.180 0.0 1.0 -2.11032E7 13.3 10.6 84 101400 11 414 322 1 3 1 0 0 0 0 260 4.1 4 2 19.2 2000 9 999999999 200 0.1650 0 88 0.180 0.0 1.0 -2.11068E7 13.9 11.1 83 101500 209 1342 333 77 65 67 8300 4500 7600 1420 270 6.7 8 5 16.0 366 9 999999999 200 0.1650 0 88 0.180 0.0 1.0 -2.11104E7 15.0 11.1 77 101500 475 1342 336 219 243 133 23300 23200 15100 2700 290 6.2 7 4 16.0 2000 9 999999999 200 0.1650 0 88 0.180 0.0 1.0 -2.1114E7 16.7 11.7 72 101600 717 1342 345 415 449 175 44100 45400 19800 3810 280 7.7 5 4 17.6 2000 9 999999999 200 0.1650 0 88 0.180 0.0 1.0 -2.11176E7 17.2 11.7 70 101600 919 1342 347 619 587 217 66700 60900 24900 5850 290 9.3 7 4 19.2 518 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.11212E7 17.8 11.7 67 101600 1065 1342 353 669 397 354 72800 43000 38600 12360 290 8.8 6 5 24.0 518 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.11248E7 17.8 11.7 67 101600 1146 1342 339 816 765 162 86100 77100 20000 6520 290 8.2 2 1 32.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.11284E7 18.9 11.7 63 101600 1157 1342 344 837 771 172 87900 77500 20800 7070 290 9.3 3 1 40.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.1132E7 18.9 11.7 63 101600 1097 1342 344 730 589 249 76600 59400 27900 9230 270 9.8 2 1 48.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.11356E7 18.9 11.7 63 101500 969 1342 338 715 792 143 74600 79300 17200 3830 300 9.8 0 0 48.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.11392E7 18.9 11.7 63 101500 783 1342 338 547 728 122 58200 73400 15200 2880 270 10.3 0 0 48.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.11428E7 17.8 11.7 67 101500 551 1342 333 344 610 93 36000 58300 12000 1860 280 10.8 0 0 40.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.11464E7 16.7 12.2 75 101500 290 1342 328 139 376 58 14200 29500 7900 1040 300 12.9 0 0 24.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.115E7 16.1 12.2 78 101500 45 794 326 12 35 10 1400 1100 1300 160 300 11.8 0 0 24.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.11536E7 16.1 12.8 81 101500 0 0 326 0 0 0 0 0 0 0 300 13.4 0 0 24.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.11572E7 16.1 12.8 81 101600 0 0 326 0 0 0 0 0 0 0 310 11.8 0 0 24.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.11608E7 16.1 13.3 83 101600 0 0 327 0 0 0 0 0 0 0 300 12.9 0 0 19.2 2000 9 999999999 180 0.1650 0 88 0.180 0.0 1.0 -2.11644E7 15.6 13.3 86 101500 0 0 325 0 0 0 0 0 0 0 290 10.3 0 0 19.2 2000 9 999999999 180 0.1650 0 88 0.180 0.0 1.0 -2.1168E7 15.6 13.3 86 101500 0 0 325 0 0 0 0 0 0 0 310 13.4 0 0 19.2 2000 9 999999999 180 0.1650 0 88 0.180 0.0 1.0 -2.11716E7 15.6 13.3 86 101500 0 0 331 0 0 0 0 0 0 0 320 5.2 1 1 19.2 2000 9 999999999 180 0.1650 0 88 0.180 0.0 1.0 -2.11752E7 15.0 13.3 90 101500 0 0 336 0 0 0 0 0 0 0 310 7.7 3 3 19.2 2000 9 999999999 180 0.1650 0 88 0.180 0.0 1.0 -2.11788E7 15.0 13.9 93 101500 0 0 362 0 0 0 0 0 0 0 300 4.1 10 9 19.2 152 9 999999999 180 0.1650 0 88 0.180 0.0 1.0 -2.11824E7 15.0 13.9 93 101500 0 0 372 0 0 0 0 0 0 0 290 7.2 10 10 19.2 152 9 999999999 180 0.1650 0 88 0.180 0.0 1.0 -2.1186E7 14.4 13.9 97 101500 0 0 359 0 0 0 0 0 0 0 280 5.7 10 9 19.2 152 9 999999999 180 0.1650 0 88 0.180 0.0 1.0 -2.11896E7 14.4 13.3 93 101500 10 392 325 1 1 1 0 0 0 0 320 5.2 1 1 24.0 2000 9 999999999 180 0.1650 0 88 0.180 0.0 1.0 -2.11932E7 15.0 13.9 93 101600 206 1343 329 77 168 51 8100 10800 6500 940 330 3.1 1 1 19.2 2000 9 999999999 180 0.1650 0 88 0.180 0.0 1.0 -2.11968E7 17.2 13.9 81 101600 472 1343 332 265 478 97 28300 44500 12700 1820 340 2.1 0 0 19.2 2000 9 999999999 180 0.1650 0 88 0.180 0.0 1.0 -2.12004E7 18.3 13.9 76 101600 714 1343 337 473 633 136 49400 62600 16000 2940 30 3.1 0 0 24.0 2000 9 999999999 180 0.1650 0 88 0.180 0.0 1.0 -2.1204E7 19.4 13.3 68 101600 915 1343 342 655 719 165 69400 72900 19600 4460 340 5.2 0 0 40.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.12076E7 21.1 13.9 63 101600 1062 1343 351 789 766 184 84400 78300 22300 6450 330 7.7 0 0 56.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.12112E7 21.1 13.3 61 101600 1143 1343 350 864 788 193 92800 80800 23800 8310 320 7.2 0 0 64.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.12148E7 21.7 13.3 59 101500 1153 1343 353 874 790 194 90400 78900 22400 7610 330 8.8 0 0 64.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.12184E7 21.7 13.3 59 101500 1092 1343 353 817 774 187 87400 79200 22800 7040 320 9.8 0 0 72.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.1222E7 20.0 12.8 63 101500 964 1343 344 699 735 171 74200 74800 20400 4980 300 9.3 0 0 72.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.12256E7 20.0 12.8 63 101500 778 1343 344 530 663 146 55600 66200 17200 3340 300 10.3 0 0 72.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.12292E7 19.4 12.8 66 101400 545 1343 341 326 533 109 33600 50400 13100 2110 290 10.3 0 0 72.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.12328E7 18.3 12.8 70 101400 284 1343 336 126 288 65 13200 22200 8500 1180 310 9.3 0 0 72.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.12364E7 17.2 12.8 75 101400 41 772 331 9 14 9 1100 600 1100 190 300 6.7 0 0 72.0 2000 9 999999999 190 0.1650 0 88 0.180 0.0 1.0 -2.124E7 17.8 12.2 70 101400 0 0 333 0 0 0 0 0 0 0 310 8.2 0 0 72.0 2000 9 999999999 200 0.1650 0 88 0.180 0.0 1.0 -2.12436E7 15.6 12.2 80 101400 0 0 323 0 0 0 0 0 0 0 310 5.2 0 0 24.0 2000 9 999999999 200 0.1650 0 88 0.180 0.0 1.0 -2.12472E7 15.0 12.2 83 101400 0 0 321 0 0 0 0 0 0 0 310 4.6 0 0 19.2 2000 9 999999999 200 0.1650 0 88 0.180 0.0 1.0 -2.12508E7 14.4 11.7 84 101400 0 0 317 0 0 0 0 0 0 0 300 4.1 0 0 19.2 2000 9 999999999 200 0.1650 0 88 0.180 0.0 1.0 -2.12544E7 14.4 12.2 87 101400 0 0 318 0 0 0 0 0 0 0 320 4.1 0 0 19.2 2000 9 999999999 200 0.1650 0 88 0.180 0.0 1.0 -2.1258E7 13.9 11.7 87 101400 0 0 315 0 0 0 0 0 0 0 310 3.6 0 0 19.2 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.12616E7 13.9 11.7 87 101400 0 0 315 0 0 0 0 0 0 0 320 3.1 0 0 19.2 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.12652E7 13.3 11.7 90 101400 0 0 313 0 0 0 0 0 0 0 310 2.1 0 0 19.2 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.12688E7 12.8 11.1 89 101400 0 0 310 0 0 0 0 0 0 0 310 3.1 0 0 19.2 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.12724E7 12.8 11.1 89 101400 0 0 310 0 0 0 0 0 0 0 310 4.1 0 0 32.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.1276E7 12.8 11.7 93 101500 9 369 310 1 5 1 0 0 0 0 310 3.6 0 0 72.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.12796E7 14.4 12.2 87 101500 202 1344 318 84 258 45 8800 16800 6300 800 280 1.5 0 0 56.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.12832E7 18.3 13.3 73 101600 469 1344 337 275 555 81 28600 51100 10700 1560 130 1.5 0 0 56.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.12868E7 19.4 14.4 73 101600 711 1344 343 483 699 112 51100 69700 14100 2480 60 2.6 0 0 56.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.12904E7 20.6 14.4 68 101600 912 1344 349 663 776 136 69000 77400 16300 3340 50 3.1 0 0 72.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.1294E7 22.2 15.0 64 101600 1058 1344 357 796 819 150 83600 82400 18600 4810 40 3.1 0 0 72.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.12976E7 25.0 13.9 50 101600 1139 1344 370 869 838 158 91800 84500 20000 6230 360 4.6 0 0 72.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.13012E7 27.2 13.3 42 101500 1149 1344 380 879 841 159 92900 84900 20200 6470 330 5.7 0 0 72.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.13048E7 27.2 13.3 42 101400 1088 1344 380 823 826 153 86600 83200 19100 5250 330 7.2 0 0 72.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.13084E7 24.4 13.3 50 101400 959 1344 366 706 792 140 73700 79300 17000 3710 320 8.2 0 0 72.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.1312E7 23.3 12.8 52 101400 772 1344 360 537 726 120 57100 73100 15000 2800 330 8.8 0 0 72.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.13156E7 22.2 12.2 53 101400 539 1344 354 334 606 91 35000 57600 11800 1810 330 6.2 0 0 72.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.13192E7 20.6 12.2 59 101400 277 1344 346 131 364 56 13900 27800 8200 1000 320 8.2 0 0 72.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.13228E7 17.2 12.2 72 101400 38 728 331 9 29 8 1100 900 1000 130 320 7.2 0 0 72.0 2000 9 999999999 200 0.1640 0 88 0.180 0.0 1.0 -2.13264E7 16.1 12.2 78 101500 0 0 326 0 0 0 0 0 0 0 320 8.2 0 0 72.0 2000 9 999999999 190 0.1640 0 88 0.180 0.0 1.0 -2.133E7 15.0 12.8 87 101500 0 0 321 0 0 0 0 0 0 0 310 6.2 0 0 24.0 2000 9 999999999 190 0.1640 0 88 0.180 0.0 1.0 -2.13336E7 14.4 12.2 87 101500 0 0 318 0 0 0 0 0 0 0 310 5.2 0 0 24.0 2000 9 999999999 190 0.1640 0 88 0.180 0.0 1.0 -2.13372E7 14.4 12.2 87 101600 0 0 318 0 0 0 0 0 0 0 320 3.1 0 0 24.0 2000 9 999999999 190 0.1640 0 88 0.180 0.0 1.0 -2.13408E7 14.4 12.2 87 101600 0 0 318 0 0 0 0 0 0 0 320 4.1 0 0 24.0 2000 9 999999999 190 0.1640 0 88 0.180 0.0 1.0 -2.13444E7 13.9 11.7 87 101600 0 0 315 0 0 0 0 0 0 0 310 4.1 0 0 24.0 2000 9 999999999 190 0.1640 0 88 0.180 0.0 1.0 -2.1348E7 13.3 11.7 90 101600 0 0 313 0 0 0 0 0 0 0 310 4.1 0 0 24.0 2000 9 999999999 190 0.1640 0 88 0.180 0.0 1.0 -2.13516E7 13.9 11.7 87 101600 0 0 315 0 0 0 0 0 0 0 320 2.6 0 0 24.0 2000 9 999999999 190 0.1640 0 88 0.180 0.0 1.0 -2.13552E7 12.8 11.1 89 101600 0 0 310 0 0 0 0 0 0 0 310 3.1 0 0 32.0 2000 9 999999999 190 0.1640 0 88 0.180 0.0 1.0 -2.13588E7 13.3 11.1 87 101600 0 0 312 0 0 0 0 0 0 0 310 3.6 0 0 32.0 2000 9 999999999 190 0.1640 0 88 0.180 0.0 1.0 -2.13624E7 12.2 10.6 90 101600 8 347 313 1 0 1 0 0 0 0 310 4.6 3 1 32.0 2000 9 999999999 190 0.1640 0 88 0.180 0.0 1.0 -2.1366E7 13.9 11.1 83 101700 199 1344 325 67 73 56 7300 4900 6500 1180 320 3.1 6 2 12.8 2000 9 999999999 190 0.1640 0 88 0.180 0.0 1.0 -2.13696E7 16.1 11.7 75 101800 465 1344 342 188 145 137 20400 13800 15600 3130 350 2.6 9 4 24.0 2000 9 999999999 190 0.1640 0 88 0.180 0.0 1.0 -2.13732E7 18.3 12.2 68 101800 708 1344 359 257 69 220 28200 6900 24500 6750 350 3.1 9 6 16.0 6096 9 999999999 180 0.1640 0 88 0.180 0.0 1.0 -2.13768E7 17.8 13.3 75 101800 909 1344 367 471 205 331 51200 21600 36500 9730 10 4.1 9 8 16.0 6096 9 999999999 180 0.1640 0 88 0.180 0.0 1.0 -2.13804E7 20.6 12.2 59 101800 1055 1344 364 689 539 265 74200 56200 29900 9140 20 3.6 6 4 32.0 6096 9 999999999 180 0.1640 0 88 0.180 0.0 1.0 -2.1384E7 21.1 12.2 57 101800 1135 1344 364 809 621 284 84400 62300 31600 11510 350 5.2 6 3 56.0 2000 9 999999999 180 0.1640 0 88 0.180 0.0 1.0 -2.13876E7 22.2 12.2 53 101700 1145 1344 361 812 682 231 86100 69300 26900 9850 310 7.2 4 1 56.0 2000 9 999999999 180 0.1640 0 88 0.180 0.0 1.0 -2.13912E7 21.1 12.2 57 101600 1083 1344 355 761 672 219 80400 68200 25300 7920 310 6.2 3 1 56.0 2000 9 999999999 180 0.1640 0 88 0.180 0.0 1.0 -2.13948E7 21.7 12.2 55 101600 954 1344 363 646 587 229 69600 61000 26200 6520 320 8.2 2 2 56.0 2000 9 999999999 180 0.1640 0 88 0.180 0.0 1.0 -2.13984E7 19.4 12.8 66 101500 767 1344 348 491 575 163 51000 57000 18400 3610 320 12.4 1 1 56.0 2000 9 999999999 180 0.1640 0 88 0.180 0.0 1.0 -2.1402E7 18.9 12.8 68 101500 533 1344 339 309 487 116 33000 46700 14400 2240 330 9.3 0 0 56.0 2000 9 999999999 180 0.1640 0 88 0.180 0.0 1.0 -2.14056E7 16.7 12.2 75 101500 271 1344 328 113 235 66 11800 17700 8200 1200 320 10.3 0 0 56.0 2000 9 999999999 170 0.1640 0 88 0.180 0.0 1.0 -2.14092E7 15.6 12.2 80 101500 34 706 323 7 6 7 800 300 800 180 330 8.2 0 0 24.0 2000 9 999999999 170 0.1640 0 88 0.180 0.0 1.0 -2.14128E7 14.4 12.2 87 101600 0 0 318 0 0 0 0 0 0 0 310 8.2 0 0 24.0 2000 9 999999999 170 0.1640 0 88 0.180 0.0 1.0 -2.14164E7 13.9 12.2 89 101700 0 0 316 0 0 0 0 0 0 0 320 5.2 0 0 19.2 2000 9 999999999 170 0.1640 0 88 0.180 0.0 1.0 -2.142E7 13.9 12.2 89 101700 0 0 316 0 0 0 0 0 0 0 320 5.2 0 0 19.2 2000 9 999999999 170 0.1640 0 88 0.180 0.0 1.0 -2.14236E7 13.3 11.7 90 101700 0 0 313 0 0 0 0 0 0 0 310 5.2 0 0 19.2 2000 9 999999999 170 0.1640 0 88 0.180 0.0 1.0 -2.14272E7 12.8 11.7 93 101700 0 0 310 0 0 0 0 0 0 0 310 4.1 0 0 19.2 2000 9 999999999 170 0.1640 0 88 0.180 0.0 1.0 -2.14308E7 12.8 11.7 93 101700 0 0 310 0 0 0 0 0 0 0 310 5.7 0 0 19.2 2000 9 999999999 170 0.1630 0 88 0.180 0.0 1.0 -2.14344E7 12.8 11.1 89 101700 0 0 310 0 0 0 0 0 0 0 320 5.2 0 0 19.2 2000 9 999999999 170 0.1630 0 88 0.180 0.0 1.0 -2.1438E7 12.2 11.1 93 101700 0 0 307 0 0 0 0 0 0 0 300 5.2 0 0 19.2 2000 9 999999999 160 0.1630 0 88 0.180 0.0 1.0 -2.14416E7 12.2 11.1 93 101700 0 0 307 0 0 0 0 0 0 0 310 4.1 0 0 19.2 2000 9 999999999 160 0.1630 0 88 0.180 0.0 1.0 -2.14452E7 11.7 10.6 93 101700 0 0 305 0 0 0 0 0 0 0 300 2.6 0 0 19.2 2000 9 999999999 160 0.1630 0 88 0.180 0.0 1.0 -2.14488E7 11.7 10.6 93 101700 7 325 305 0 0 0 0 0 0 0 320 3.1 0 0 16.0 2000 9 999999999 160 0.1630 0 88 0.180 0.0 1.0 -2.14524E7 12.8 11.1 89 101800 195 1345 316 65 91 52 7100 6100 6200 1100 320 6.2 1 1 11.2 2000 9 999999999 160 0.1630 0 88 0.180 0.0 1.0 -2.1456E7 14.4 12.2 87 101800 462 1345 329 219 265 128 23300 25100 14700 2590 320 4.1 2 2 12.8 2000 9 999999999 160 0.1630 0 88 0.180 0.0 1.0 -2.14596E7 16.1 12.2 78 101900 705 1345 332 421 480 169 44800 48400 19300 3630 360 2.6 1 1 12.8 2000 9 999999999 160 0.1630 0 88 0.180 0.0 1.0 -2.14632E7 18.3 12.2 68 101900 906 1345 336 633 641 200 65900 64200 22500 5170 40 2.1 0 0 16.0 2000 9 999999999 160 0.1630 0 88 0.180 0.0 1.0 -2.14668E7 18.3 11.7 65 101800 1052 1345 335 768 695 224 80700 70300 25600 7490 320 5.2 0 0 24.0 2000 9 999999999 160 0.1630 0 88 0.180 0.0 1.0 -2.14704E7 20.0 12.2 61 101700 1132 1345 344 844 721 237 89200 73100 27500 9670 360 4.6 0 0 32.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.1474E7 20.0 11.7 59 101700 1141 1345 343 853 724 238 90100 73500 27600 9980 320 9.8 0 0 48.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.14776E7 19.4 11.1 59 101600 1079 1345 339 794 705 229 83700 71400 26300 8140 330 10.3 0 0 48.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.14812E7 18.9 11.1 61 101600 949 1345 337 673 660 208 70400 66400 23500 5740 320 10.8 0 0 40.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.14848E7 17.8 10.6 63 101500 761 1345 332 500 576 174 53600 58700 20300 3900 310 11.3 0 0 56.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.14884E7 16.1 10.0 67 101500 527 1345 323 295 431 126 31100 41200 15000 2450 310 10.8 0 0 56.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.1492E7 13.9 10.6 80 101500 264 1345 314 104 181 69 11100 13400 8400 1310 310 10.8 0 0 32.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.14956E7 12.8 11.1 89 101500 31 661 310 6 2 6 700 100 700 160 320 8.2 0 0 12.8 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.14992E7 12.8 11.7 93 101600 0 0 310 0 0 0 0 0 0 0 310 5.7 0 0 19.2 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.15028E7 12.8 11.7 93 101700 0 0 310 0 0 0 0 0 0 0 320 6.7 0 0 19.2 2000 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.15064E7 12.2 11.1 93 101600 0 0 307 0 0 0 0 0 0 0 300 5.2 0 0 19.2 2000 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.151E7 12.2 11.1 93 101700 0 0 307 0 0 0 0 0 0 0 310 5.2 0 0 19.2 2000 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.15136E7 12.2 11.1 93 101600 0 0 307 0 0 0 0 0 0 0 320 4.6 0 0 19.2 2000 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.15172E7 11.7 10.6 93 101600 0 0 305 0 0 0 0 0 0 0 310 3.1 0 0 19.2 2000 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.15208E7 11.1 10.6 97 101600 0 0 302 0 0 0 0 0 0 0 300 4.1 1 0 19.2 2000 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.15244E7 11.7 10.0 89 101600 0 0 325 0 0 0 0 0 0 0 270 2.1 7 6 19.2 366 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.1528E7 12.2 9.4 83 101600 0 0 343 0 0 0 0 0 0 0 270 2.1 10 9 19.2 335 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.15316E7 12.8 10.6 86 101600 0 0 357 0 0 0 0 0 0 0 300 2.6 10 10 19.2 305 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.15352E7 12.8 10.6 86 101600 6 303 357 0 0 0 0 0 0 0 250 2.1 10 10 19.2 274 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.15388E7 12.8 10.6 86 101700 192 1346 357 24 0 24 2800 0 2800 930 260 2.6 10 10 19.2 274 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.15424E7 13.3 10.6 84 101700 459 1346 359 68 0 68 8000 0 8000 2900 250 1.5 10 10 16.0 274 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.1546E7 15.0 11.1 77 101700 701 1346 346 385 238 261 41600 24400 28900 6610 50 1.5 10 7 19.2 396 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.15496E7 16.7 11.7 72 101700 903 1346 347 554 395 288 59800 42400 31300 7900 50 3.1 10 5 19.2 2000 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.15532E7 18.3 12.2 68 101700 1048 1346 353 715 565 275 76700 58900 30700 9350 340 6.7 9 4 24.0 2000 9 999999999 140 0.1630 0 88 0.180 0.0 1.0 -2.15568E7 20.0 12.2 61 101700 1128 1346 361 596 451 217 66100 47300 26400 8820 330 8.8 10 4 24.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.15604E7 18.3 11.1 63 101600 1137 1346 352 757 552 290 81700 57700 32900 12260 330 10.3 9 4 32.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.1564E7 18.9 10.6 59 101600 1074 1346 351 744 635 237 78100 64100 26800 8290 320 11.8 10 3 32.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.15676E7 17.8 10.6 63 101500 944 1346 343 656 679 180 69300 68700 20900 5020 310 12.4 7 2 32.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.15712E7 16.7 11.1 70 101500 755 1346 341 472 502 190 50100 51100 21400 4270 290 11.3 8 3 32.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.15748E7 16.7 11.1 70 101500 521 1346 338 287 389 136 30000 37000 15600 2660 310 7.2 7 2 56.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.15784E7 16.7 11.7 72 101500 258 1346 328 126 327 63 13100 24000 8500 1150 290 8.2 8 0 40.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.1582E7 15.6 12.2 80 101500 28 639 323 7 34 5 800 1100 700 80 300 8.2 2 0 24.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.15856E7 15.6 12.2 80 101500 0 0 323 0 0 0 0 0 0 0 290 5.7 1 0 24.0 2000 9 999999999 150 0.1630 0 88 0.180 0.0 1.0 -2.15892E7 15.6 12.2 80 101600 0 0 323 0 0 0 0 0 0 0 310 4.6 1 0 19.2 2000 9 999999999 160 0.1630 0 88 0.180 0.0 1.0 -2.15928E7 14.4 12.2 87 101500 0 0 318 0 0 0 0 0 0 0 300 4.1 1 0 19.2 2000 9 999999999 160 0.1630 0 88 0.180 0.0 1.0 -2.15964E7 15.0 12.2 83 101500 0 0 321 0 0 0 0 0 0 0 300 3.1 1 0 19.2 2000 9 999999999 160 0.1630 0 88 0.180 0.0 1.0 -2.16E7 14.4 11.7 84 101500 0 0 317 0 0 0 0 0 0 0 270 4.1 0 0 19.2 2000 9 999999999 160 0.1630 0 88 0.180 0.0 1.0 -2.16036E7 14.4 11.7 84 101500 0 0 317 0 0 0 0 0 0 0 270 4.1 0 0 19.2 2000 9 999999999 160 0.1620 0 88 0.180 0.0 1.0 -2.16072E7 14.4 12.2 87 101500 0 0 329 0 0 0 0 0 0 0 280 4.1 4 2 19.2 2000 9 999999999 160 0.1620 0 88 0.180 0.0 1.0 -2.16108E7 15.0 12.8 87 101500 0 0 353 0 0 0 0 0 0 0 320 4.1 8 8 19.2 366 9 999999999 160 0.1620 0 88 0.180 0.0 1.0 -2.16144E7 15.0 12.8 87 101500 0 0 361 0 0 0 0 0 0 0 300 5.2 10 9 19.2 305 9 999999999 160 0.1620 0 88 0.180 0.0 1.0 -2.1618E7 14.4 12.8 90 101700 0 0 358 0 0 0 0 0 0 0 270 5.2 10 9 19.2 305 9 999999999 160 0.1620 0 88 0.180 0.0 1.0 -2.16216E7 15.0 12.8 87 101600 6 303 371 0 0 0 0 0 0 0 280 5.2 10 10 16.0 274 9 999999999 170 0.1620 0 88 0.180 0.0 1.0 -2.16252E7 15.0 13.3 90 101700 188 1346 354 38 42 33 4300 2800 4000 700 290 4.6 10 8 32.0 274 9 999999999 170 0.1620 0 88 0.180 0.0 1.0 -2.16288E7 17.2 13.3 78 101700 455 1346 355 156 170 98 16900 16100 11400 1880 290 3.1 7 6 24.0 396 9 999999999 170 0.1620 0 88 0.180 0.0 1.0 -2.16324E7 17.8 13.3 75 101700 698 1346 367 254 136 183 28000 14100 20700 4620 280 6.7 10 8 32.0 579 9 999999999 170 0.1620 0 88 0.180 0.0 1.0 -2.1636E7 20.0 13.9 68 101700 899 1346 357 618 768 104 66000 77400 14100 2740 280 7.2 2 2 40.0 2000 9 999999999 170 0.1620 0 88 0.180 0.0 1.0 -2.16396E7 21.7 14.4 63 101700 1045 1346 369 783 828 141 82800 83400 17900 4430 310 6.2 3 3 56.0 2000 9 999999999 170 0.1620 0 88 0.180 0.0 1.0 -2.16432E7 22.2 13.9 59 101700 1124 1346 356 873 916 108 90400 91800 13600 3680 320 6.2 0 0 72.0 2000 9 999999999 170 0.1620 0 88 0.180 0.0 1.0 -2.16468E7 22.2 13.3 57 101700 1133 1346 355 881 917 109 91200 91900 13700 3790 300 8.2 0 0 72.0 2000 9 999999999 170 0.1620 0 88 0.180 0.0 1.0 -2.16504E7 21.7 15.0 66 101700 1069 1346 355 823 904 105 85400 90500 13300 3160 290 8.8 0 0 72.0 2000 9 999999999 170 0.1620 0 88 0.180 0.0 1.0 -2.1654E7 22.2 15.0 64 101600 939 1346 357 706 875 96 73400 87200 12500 2370 290 10.3 0 0 72.0 2000 9 999999999 180 0.1620 0 88 0.180 0.0 1.0 -2.16576E7 21.1 15.0 68 101600 749 1346 352 537 819 81 57500 81700 11900 1920 300 8.8 0 0 72.0 2000 9 999999999 180 0.1620 0 88 0.180 0.0 1.0 -2.16612E7 20.0 15.6 76 101600 515 1346 354 316 669 60 33300 63300 9000 1270 290 9.3 1 1 72.0 2000 9 999999999 180 0.1620 0 88 0.180 0.0 1.0 -2.16648E7 17.2 15.0 87 101500 251 1346 353 85 129 61 9100 9300 7300 1130 290 8.2 6 5 24.0 213 9 999999999 180 0.1620 0 88 0.180 0.0 1.0 -2.16684E7 16.1 15.0 93 101500 25 595 361 4 2 4 500 100 500 110 300 2.6 9 8 16.0 152 9 999999999 180 0.1620 0 88 0.180 0.0 1.0 -2.1672E7 16.1 14.4 90 101600 0 0 334 0 0 0 0 0 0 0 290 4.6 1 1 19.2 2000 9 999999999 180 0.1620 0 88 0.180 0.0 1.0 -2.16756E7 16.1 14.4 90 101600 0 0 342 0 0 0 0 0 0 0 270 6.7 3 3 19.2 2000 9 999999999 180 0.1620 0 88 0.180 0.0 1.0 -2.16792E7 16.1 14.4 90 101600 0 0 351 0 0 0 0 0 0 0 280 7.7 7 6 19.2 274 9 999999999 180 0.1620 0 88 0.180 0.0 1.0 -2.16828E7 15.6 13.9 90 101600 0 0 344 0 0 0 0 0 0 0 310 7.2 8 5 19.2 274 9 999999999 190 0.1620 0 88 0.180 0.0 1.0 -2.16864E7 15.0 12.8 87 101700 0 0 321 0 0 0 0 0 0 0 310 4.6 0 0 19.2 2000 9 999999999 190 0.1620 0 88 0.180 0.0 1.0 -2.169E7 15.0 12.8 87 101700 0 0 327 0 0 0 0 0 0 0 300 6.2 1 1 19.2 2000 9 999999999 190 0.1610 0 88 0.180 0.0 1.0 -2.16936E7 15.0 13.3 90 101700 0 0 328 0 0 0 0 0 0 0 290 9.3 1 1 19.2 2000 9 999999999 190 0.1610 0 88 0.180 0.0 1.0 -2.16972E7 15.0 13.3 90 101700 0 0 328 0 0 0 0 0 0 0 290 6.2 1 1 19.2 2000 9 999999999 190 0.1610 0 88 0.180 0.0 1.0 -2.17008E7 14.4 12.8 90 101700 0 0 332 0 0 0 0 0 0 0 350 2.1 3 3 19.2 2000 9 999999999 190 0.1610 0 88 0.180 0.0 1.0 -2.17044E7 14.4 13.3 93 101800 0 0 330 0 0 0 0 0 0 0 330 2.6 2 2 19.2 2000 9 999999999 190 0.1610 0 88 0.180 0.0 1.0 -2.1708E7 13.3 12.2 93 101900 5 281 327 0 7 0 0 0 0 0 330 2.1 5 3 19.2 2000 9 999999999 190 0.1610 0 88 0.180 0.0 1.0 -2.17116E7 15.0 13.9 93 101900 185 1347 329 78 339 32 8100 22200 5000 580 300 4.6 1 1 16.0 2000 9 999999999 190 0.1610 0 88 0.180 0.0 1.0 -2.17152E7 16.7 13.3 80 101900 452 1347 336 266 618 58 27600 56700 8500 1180 310 6.2 1 1 19.2 2000 9 999999999 190 0.1610 0 88 0.180 0.0 1.0 -2.17188E7 18.3 12.8 70 102000 695 1347 343 447 703 84 47200 69300 11300 1860 330 6.2 2 1 40.0 2000 9 999999999 190 0.1610 0 88 0.180 0.0 1.0 -2.17224E7 20.0 12.2 61 102000 896 1347 350 618 778 101 66300 78500 13900 2670 320 5.7 3 1 56.0 2000 9 999999999 190 0.1610 0 88 0.180 0.0 1.0 -2.1726E7 20.0 12.8 63 102000 1041 1347 351 750 834 105 77700 83400 13100 2970 320 6.7 2 1 64.0 2000 9 999999999 190 0.1610 0 88 0.180 0.0 1.0 -2.17296E7 20.6 13.3 63 101900 1120 1347 354 804 824 118 83000 82500 14200 3800 300 9.3 3 1 64.0 2000 9 999999999 190 0.1610 0 88 0.180 0.0 1.0 -2.17332E7 20.6 13.3 63 101900 1128 1347 354 822 838 120 84900 83900 14400 3930 300 9.3 2 1 64.0 2000 9 999999999 190 0.1610 0 88 0.180 0.0 1.0 -2.17368E7 21.1 13.3 61 101800 1065 1347 357 735 779 120 79300 79100 16600 4110 280 10.3 1 1 48.0 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.17404E7 21.1 12.2 57 101700 933 1347 355 620 760 93 64500 75700 11900 2330 280 11.3 1 1 48.0 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.1744E7 20.6 12.2 59 101700 744 1347 353 509 778 79 54600 77600 11600 1870 290 10.3 1 1 48.0 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.17476E7 19.4 11.7 61 101600 508 1347 347 316 678 60 33300 64000 9100 1270 290 11.3 1 1 32.0 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.17512E7 18.3 11.1 63 101600 244 1347 341 121 462 37 12600 34400 6300 690 290 12.9 1 1 32.0 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.17548E7 17.2 11.1 67 101500 22 572 329 6 54 4 0 0 0 0 290 10.3 0 0 19.2 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.17584E7 16.7 11.1 70 101600 0 0 327 0 0 0 0 0 0 0 290 10.3 0 0 19.2 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.1762E7 16.1 11.7 75 101600 0 0 325 0 0 0 0 0 0 0 290 8.2 0 0 19.2 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.17656E7 15.0 12.2 83 101600 0 0 321 0 0 0 0 0 0 0 310 8.2 0 0 19.2 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.17692E7 15.0 11.7 81 101500 0 0 320 0 0 0 0 0 0 0 290 6.7 0 0 19.2 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.17728E7 14.4 11.7 84 101500 0 0 317 0 0 0 0 0 0 0 310 7.2 0 0 19.2 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.17764E7 14.4 11.7 84 101500 0 0 317 0 0 0 0 0 0 0 300 6.7 0 0 19.2 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.178E7 13.9 11.7 87 101500 0 0 315 0 0 0 0 0 0 0 290 4.1 0 0 19.2 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.17836E7 13.9 12.2 89 101500 0 0 316 0 0 0 0 0 0 0 280 6.2 0 0 19.2 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.17872E7 13.9 12.2 89 101500 0 0 316 0 0 0 0 0 0 0 300 5.7 0 0 19.2 2000 9 999999999 180 0.1610 0 88 0.180 0.0 1.0 -2.17908E7 13.9 12.2 89 101500 0 0 338 0 0 0 0 0 0 0 300 7.7 8 6 19.2 305 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.17944E7 13.9 12.8 93 101500 4 258 327 0 5 0 0 0 0 0 300 8.2 5 2 56.0 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.1798E7 14.4 12.8 90 101600 181 1348 332 72 170 49 7600 10000 6200 920 290 8.2 6 3 24.0 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18016E7 15.6 12.2 80 101600 448 1348 334 270 587 74 28100 53500 10300 1420 310 7.2 2 2 19.2 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18052E7 16.7 12.2 75 101700 691 1348 343 483 667 140 50100 65500 16400 2940 290 6.2 3 3 24.0 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18088E7 17.8 12.8 73 101700 892 1348 340 602 744 109 63900 74800 14300 2800 280 6.7 2 1 32.0 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18124E7 18.9 12.2 65 101700 1037 1348 338 781 860 118 80600 85900 14300 3070 280 8.2 1 0 56.0 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.1816E7 19.4 12.2 63 101600 1116 1348 341 863 896 120 89000 89700 14500 3780 280 11.3 0 0 56.0 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18196E7 20.0 12.8 63 101600 1124 1348 344 869 898 120 89700 89900 14600 3870 290 9.3 0 0 72.0 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18232E7 20.0 12.2 61 101600 1060 1348 344 811 884 116 83900 88400 14200 3220 300 10.8 0 0 72.0 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18268E7 19.4 12.2 63 101500 928 1348 341 693 852 105 71700 84800 13200 2380 300 12.4 0 0 72.0 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18304E7 18.9 12.2 65 101500 738 1348 338 523 792 89 55300 78600 12200 2020 290 15.5 0 0 72.0 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.1834E7 18.3 11.7 65 101500 502 1348 335 319 676 67 33100 63300 9500 1340 310 9.3 0 0 72.0 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18376E7 16.7 12.2 75 101500 238 1348 328 115 422 41 11900 30800 6500 750 300 9.3 0 0 72.0 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18412E7 15.6 12.8 83 101500 20 528 330 4 32 3 0 0 0 0 300 7.2 1 1 72.0 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18448E7 15.6 12.8 83 101500 0 0 324 0 0 0 0 0 0 0 290 7.7 0 0 19.2 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18484E7 15.0 12.2 83 101500 0 0 321 0 0 0 0 0 0 0 280 6.7 0 0 19.2 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.1852E7 15.0 12.2 83 101500 0 0 327 0 0 0 0 0 0 0 280 7.2 1 1 19.2 2000 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18556E7 15.0 12.8 87 101500 0 0 340 0 0 0 0 0 0 0 280 10.3 6 5 19.2 335 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18592E7 15.0 12.8 87 101500 0 0 361 0 0 0 0 0 0 0 280 8.8 10 9 19.2 335 9 999999999 170 0.1610 0 88 0.180 0.0 1.0 -2.18628E7 15.0 12.8 87 101400 0 0 361 0 0 0 0 0 0 0 280 8.8 10 9 19.2 366 9 999999999 170 0.1600 0 88 0.180 0.0 1.0 -2.18664E7 15.0 12.8 87 101400 0 0 361 0 0 0 0 0 0 0 280 9.8 10 9 19.2 366 9 999999999 170 0.1600 0 88 0.180 0.0 1.0 -2.187E7 15.0 12.8 87 101400 0 0 361 0 0 0 0 0 0 0 280 10.8 10 9 19.2 366 9 999999999 170 0.1600 0 88 0.180 0.0 1.0 -2.18736E7 15.0 12.8 87 101400 0 0 361 0 0 0 0 0 0 0 290 9.8 10 9 19.2 366 9 999999999 170 0.1600 0 88 0.180 0.0 1.0 -2.18772E7 14.4 12.2 87 101400 0 0 344 0 0 0 0 0 0 0 270 10.8 7 7 19.2 366 9 999999999 170 0.1600 0 88 0.180 0.0 1.0 -2.18808E7 14.4 12.2 87 101400 4 236 334 0 1 0 0 0 0 0 300 9.8 8 4 56.0 2000 9 999999999 170 0.1600 0 88 0.180 0.0 1.0 -2.18844E7 15.0 12.2 83 101500 178 1348 331 76 147 56 7800 8500 6700 1080 300 9.3 6 2 32.0 2000 9 999999999 170 0.1600 0 88 0.180 0.0 1.0 -2.1888E7 16.1 12.2 78 101500 445 1348 340 273 545 93 28000 48900 11800 1710 290 9.3 3 3 40.0 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.18916E7 16.7 11.7 72 101500 688 1348 339 428 599 122 44900 59100 14600 2610 300 8.8 4 2 40.0 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.18952E7 17.8 12.2 70 101500 889 1348 350 564 491 240 59800 50700 26300 6260 290 9.3 5 4 40.0 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.18988E7 17.8 12.2 70 101500 1034 1348 350 783 762 199 82900 77400 23400 6450 310 9.3 5 4 56.0 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.19024E7 18.3 12.2 68 101500 1112 1348 350 828 825 147 87800 83300 18900 5390 300 11.3 3 3 56.0 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.1906E7 18.9 12.2 65 101500 1120 1348 345 852 870 129 87700 87000 15300 3930 290 10.3 1 1 56.0 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.19096E7 18.9 12.2 65 101400 1055 1348 345 762 816 124 81800 82700 16900 4110 290 9.3 1 1 56.0 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.19132E7 18.9 11.7 63 101400 923 1348 344 644 770 117 68200 77400 15100 3070 290 10.3 2 1 56.0 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.19168E7 17.8 12.2 70 101400 732 1348 348 403 483 141 43900 49100 17200 3030 270 12.4 3 3 56.0 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.19204E7 17.2 12.2 72 101400 496 1348 341 308 524 115 32500 49300 14400 2200 290 12.4 2 2 56.0 2000 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.1924E7 16.1 11.7 75 101400 231 1348 331 103 325 48 11000 22600 7100 860 290 14.4 1 1 56.0 2000 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19276E7 15.0 11.7 81 101400 17 506 320 3 22 2 0 0 0 0 300 13.4 0 0 56.0 2000 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19312E7 15.0 11.7 81 101400 0 0 334 0 0 0 0 0 0 0 270 8.2 4 3 19.2 2000 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19348E7 14.4 12.2 87 101400 0 0 337 0 0 0 0 0 0 0 290 7.7 6 5 19.2 396 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19384E7 14.4 12.2 87 101400 0 0 337 0 0 0 0 0 0 0 260 7.2 6 5 19.2 366 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.1942E7 14.4 12.2 87 101400 0 0 344 0 0 0 0 0 0 0 280 9.8 7 7 19.2 335 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19456E7 15.0 12.2 83 101300 0 0 360 0 0 0 0 0 0 0 270 5.7 10 9 19.2 335 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19492E7 15.0 12.2 83 101300 0 0 370 0 0 0 0 0 0 0 280 6.7 10 10 19.2 335 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19528E7 15.0 11.7 81 101300 0 0 359 0 0 0 0 0 0 0 250 4.1 10 9 19.2 335 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19564E7 14.4 11.7 84 101300 0 0 356 0 0 0 0 0 0 0 260 4.1 9 9 19.2 488 9 999999999 140 0.1600 0 88 0.180 0.0 1.0 -2.196E7 14.4 11.7 84 101300 0 0 366 0 0 0 0 0 0 0 270 3.6 10 10 19.2 488 9 999999999 140 0.1600 0 88 0.180 0.0 1.0 -2.19636E7 14.4 11.7 84 101300 0 0 366 0 0 0 0 0 0 0 290 3.6 10 10 19.2 396 9 999999999 140 0.1600 0 88 0.180 0.0 1.0 -2.19672E7 14.4 11.1 81 101300 3 214 343 0 0 0 0 0 0 0 290 5.2 10 7 24.0 457 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19708E7 15.0 11.7 81 101400 174 1349 352 47 14 45 5100 1000 5000 1080 230 3.1 10 8 32.0 488 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19744E7 15.6 11.1 75 101400 441 1349 348 178 68 156 19500 6400 17400 3980 210 3.6 10 7 40.0 640 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.1978E7 16.7 11.1 70 101400 685 1349 359 281 184 188 31000 19000 21400 4710 140 3.1 10 8 40.0 701 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19816E7 18.9 11.1 61 101400 885 1349 348 631 698 173 66300 70300 20100 4410 90 2.6 2 2 40.0 2000 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19852E7 19.4 11.7 61 101400 1030 1349 340 779 837 139 82100 84300 17600 4230 70 3.6 0 0 40.0 2000 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19888E7 20.0 12.2 61 101400 1108 1349 344 850 856 146 90100 86500 18900 5300 30 4.1 0 0 56.0 2000 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19924E7 20.6 12.2 59 101300 1115 1349 346 856 858 147 90900 86700 19100 5420 340 6.7 0 0 56.0 2000 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.1996E7 22.2 12.2 53 101300 1050 1349 354 797 842 141 84200 84900 18000 4460 300 6.2 0 0 32.0 2000 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.19996E7 22.2 11.7 51 101300 917 1349 353 675 804 128 70700 80500 15800 3230 320 7.2 0 0 32.0 2000 9 999999999 150 0.1600 0 88 0.180 0.0 1.0 -2.20032E7 21.1 11.1 53 101300 726 1349 347 503 734 108 53500 73500 13900 2430 300 6.2 0 0 32.0 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.20068E7 18.3 11.7 65 101300 489 1349 335 297 600 80 31100 55900 10800 1560 310 7.7 0 0 32.0 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.20104E7 17.2 11.1 67 101300 224 1349 329 99 319 46 10500 21900 6800 820 300 6.2 0 0 32.0 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.2014E7 15.6 11.1 75 101300 15 461 322 2 12 2 0 0 0 0 290 5.2 0 0 16.0 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.20176E7 15.6 12.2 80 101400 0 0 323 0 0 0 0 0 0 0 340 4.1 0 0 19.2 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.20212E7 14.4 11.1 81 101400 0 0 317 0 0 0 0 0 0 0 330 4.1 0 0 19.2 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.20248E7 13.9 11.1 83 101400 0 0 315 0 0 0 0 0 0 0 310 3.6 0 0 19.2 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.20284E7 13.9 10.6 80 101400 0 0 314 0 0 0 0 0 0 0 250 3.1 0 0 19.2 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.2032E7 13.9 10.6 80 101400 0 0 314 0 0 0 0 0 0 0 210 2.1 0 0 19.2 2000 9 999999999 160 0.1600 0 88 0.180 0.0 1.0 -2.20356E7 13.9 10.6 80 101400 0 0 320 0 0 0 0 0 0 0 0 0.0 1 1 19.2 2000 9 999999999 160 0.1590 0 88 0.180 0.0 1.0 -2.20392E7 13.3 10.6 84 101500 0 0 312 0 0 0 0 0 0 0 270 2.1 0 0 19.2 2000 9 999999999 170 0.1590 0 88 0.180 0.0 1.0 -2.20428E7 12.8 10.6 86 101500 0 0 320 0 0 0 0 0 0 0 280 2.1 2 2 19.2 2000 9 999999999 170 0.1590 0 88 0.180 0.0 1.0 -2.20464E7 12.8 10.0 83 101500 0 0 309 0 0 0 0 0 0 0 250 2.1 0 0 19.2 2000 9 999999999 170 0.1590 0 88 0.180 0.0 1.0 -2.205E7 12.2 10.0 86 101500 0 0 312 0 0 0 0 0 0 0 0 0.0 1 1 19.2 2000 9 999999999 170 0.1590 0 88 0.180 0.0 1.0 -2.20536E7 13.3 10.0 80 101500 3 191 324 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 170 0.1590 0 88 0.180 0.0 1.0 -2.20572E7 14.4 11.7 84 101600 170 1350 334 52 70 43 5700 4400 5100 900 160 2.1 4 4 12.8 2000 9 999999999 160 0.1590 0 88 0.180 0.0 1.0 -2.20608E7 16.1 11.1 72 101600 438 1350 347 149 142 103 16500 13300 12100 2330 120 2.1 6 6 12.8 579 9 999999999 160 0.1590 0 88 0.180 0.0 1.0 -2.20644E7 18.3 11.1 63 101700 681 1350 375 152 47 128 16800 4600 14400 4180 180 2.1 9 9 19.2 701 9 999999999 160 0.1590 0 88 0.180 0.0 1.0 -2.2068E7 18.3 11.1 63 101700 882 1350 375 205 62 164 22700 6200 18600 6040 270 1.5 9 9 19.2 823 9 999999999 160 0.1590 0 88 0.180 0.0 1.0 -2.20716E7 18.9 11.7 63 101700 1026 1350 355 728 620 256 78300 64600 29100 8240 70 3.1 4 4 24.0 2000 9 999999999 160 0.1590 0 88 0.180 0.0 1.0 -2.20752E7 19.4 12.2 63 101700 1104 1350 341 827 764 202 88100 78000 24200 7670 60 4.1 0 0 32.0 2000 9 999999999 160 0.1590 0 88 0.180 0.0 1.0 -2.20788E7 21.7 11.7 53 101600 1110 1350 351 833 766 202 88700 78200 24200 7800 110 2.6 0 0 32.0 2000 9 999999999 160 0.1590 0 88 0.180 0.0 1.0 -2.20824E7 21.1 11.7 55 101600 1045 1350 348 772 747 194 82000 76000 23000 6440 280 7.7 0 0 24.0 2000 9 999999999 160 0.1590 0 88 0.180 0.0 1.0 -2.2086E7 20.6 11.1 54 101600 911 1350 345 649 701 175 68300 70800 20400 4630 310 6.7 0 0 32.0 2000 9 999999999 160 0.1590 0 88 0.180 0.0 1.0 -2.20896E7 19.4 11.1 59 101600 720 1350 339 474 616 146 49400 60700 16900 3130 310 7.7 0 0 32.0 2000 9 999999999 160 0.1590 0 88 0.180 0.0 1.0 -2.20932E7 17.8 11.1 65 101600 483 1350 332 270 462 104 28700 43200 13200 1960 310 8.2 0 0 32.0 2000 9 999999999 150 0.1590 0 88 0.180 0.0 1.0 -2.20968E7 15.6 11.1 75 101600 217 1350 322 83 179 54 8800 11900 6900 1000 310 7.7 0 0 19.2 2000 9 999999999 150 0.1590 0 88 0.180 0.0 1.0 -2.21004E7 13.9 11.1 83 101600 13 439 315 1 1 1 0 0 0 0 310 8.8 0 0 16.0 2000 9 999999999 150 0.1590 0 88 0.180 0.0 1.0 -2.2104E7 13.3 11.1 87 101700 0 0 326 0 0 0 0 0 0 0 290 8.2 3 3 16.0 2000 9 999999999 150 0.1590 0 88 0.180 0.0 1.0 -2.21076E7 13.3 11.1 87 101700 0 0 322 0 0 0 0 0 0 0 280 5.2 2 2 16.0 2000 9 999999999 150 0.1590 0 88 0.180 0.0 1.0 -2.21112E7 13.3 11.1 87 101800 0 0 326 0 0 0 0 0 0 0 310 4.1 3 3 16.0 2000 9 999999999 150 0.1590 0 88 0.180 0.0 1.0 -2.21148E7 13.3 11.1 87 101800 0 0 318 0 0 0 0 0 0 0 300 4.1 1 1 16.0 2000 9 999999999 150 0.1590 0 88 0.180 0.0 1.0 -2.21184E7 12.8 11.1 89 101800 0 0 316 0 0 0 0 0 0 0 250 2.1 1 1 16.0 2000 9 999999999 150 0.1590 0 88 0.180 0.0 1.0 -2.2122E7 12.8 11.1 89 101800 0 0 323 0 0 0 0 0 0 0 320 3.1 4 3 16.0 2000 9 999999999 150 0.1580 0 88 0.180 0.0 1.0 -2.21256E7 12.8 10.6 86 101800 0 0 335 0 0 0 0 0 0 0 250 2.6 7 7 16.0 366 9 999999999 140 0.1580 0 88 0.180 0.0 1.0 -2.21292E7 12.2 11.1 93 101800 0 0 326 0 0 0 0 0 0 0 310 4.1 8 5 19.2 366 9 999999999 140 0.1580 0 88 0.180 0.0 1.0 -2.21328E7 12.2 11.1 93 101800 0 0 345 0 0 0 0 0 0 0 0 0.0 10 9 19.2 335 9 999999999 140 0.1580 0 88 0.180 0.0 1.0 -2.21364E7 12.2 10.6 90 101800 0 0 344 0 0 0 0 0 0 0 0 0.0 10 9 19.2 335 9 999999999 140 0.1580 0 88 0.180 0.0 1.0 -2.214E7 12.8 11.1 89 101900 2 191 358 0 0 0 0 0 0 0 270 1.5 10 10 16.0 274 9 999999999 140 0.1580 0 88 0.180 0.0 1.0 -2.21436E7 13.3 11.7 90 102000 167 1351 351 38 8 36 4200 0 4200 1240 240 2.1 10 9 12.8 274 9 999999999 150 0.1580 0 88 0.180 0.0 1.0 -2.21472E7 14.4 11.7 84 102000 434 1351 343 240 95 209 26100 9000 23200 4750 260 2.1 10 7 12.8 335 9 999999999 150 0.1580 0 88 0.180 0.0 1.0 -2.21508E7 16.7 12.2 75 102000 678 1351 345 417 481 176 44000 48200 19800 3740 30 2.6 5 4 12.8 2000 9 999999999 150 0.1580 0 88 0.180 0.0 1.0 -2.21544E7 17.8 12.2 70 102000 878 1351 333 639 784 129 66500 78100 15600 3040 30 3.1 0 0 16.0 2000 9 999999999 150 0.1580 0 88 0.180 0.0 1.0 -2.2158E7 18.9 12.8 68 102000 1022 1351 339 770 828 143 80900 83200 17800 4230 40 3.1 0 0 16.0 2000 9 999999999 150 0.1580 0 88 0.180 0.0 1.0 -2.21616E7 20.6 13.3 63 101900 1100 1351 348 841 847 151 88800 85400 19100 5290 340 5.7 0 0 16.0 2000 9 999999999 150 0.1580 0 88 0.180 0.0 1.0 -2.21652E7 21.7 11.7 53 101900 1106 1351 351 846 849 151 89500 85600 19200 5380 320 5.7 0 0 16.0 2000 9 999999999 150 0.1580 0 88 0.180 0.0 1.0 -2.21688E7 21.1 11.7 55 101800 1040 1351 348 786 832 145 82700 83700 18100 4440 330 9.3 0 0 19.2 2000 9 999999999 150 0.1580 0 88 0.180 0.0 1.0 -2.21724E7 21.1 11.7 55 101800 906 1351 348 663 793 131 69200 79200 15900 3210 330 8.2 0 0 24.0 2000 9 999999999 150 0.1580 0 88 0.180 0.0 1.0 -2.2176E7 18.9 11.7 63 101700 714 1351 338 490 719 110 52000 71700 14000 2440 320 9.3 0 0 24.0 2000 9 999999999 150 0.1580 0 88 0.180 0.0 1.0 -2.21796E7 19.4 10.6 57 101700 476 1351 339 284 578 80 29600 53400 10700 1550 330 7.2 0 0 48.0 2000 9 999999999 150 0.1580 0 88 0.180 0.0 1.0 -2.21832E7 16.1 11.1 72 101700 210 1351 324 90 285 45 9400 18900 6500 800 320 9.3 0 0 48.0 2000 9 999999999 150 0.1580 0 88 0.180 0.0 1.0 -2.21868E7 14.4 11.1 81 101600 11 394 317 1 7 1 0 0 0 0 330 7.7 0 0 19.2 2000 9 999999999 150 0.1580 0 88 0.180 0.0 1.0 -2.21904E7 13.3 11.1 87 101700 0 0 312 0 0 0 0 0 0 0 330 7.7 0 0 19.2 2000 9 999999999 160 0.1580 0 88 0.180 0.0 1.0 -2.2194E7 12.8 10.6 86 101800 0 0 309 0 0 0 0 0 0 0 310 5.7 0 0 19.2 2000 9 999999999 160 0.1580 0 88 0.180 0.0 1.0 -2.21976E7 12.8 11.1 89 101700 0 0 310 0 0 0 0 0 0 0 320 5.2 0 0 19.2 2000 9 999999999 160 0.1580 0 88 0.180 0.0 1.0 -2.22012E7 12.2 11.7 97 101700 0 0 308 0 0 0 0 0 0 0 310 4.1 0 0 19.2 2000 9 999999999 160 0.1580 0 88 0.180 0.0 1.0 -2.22048E7 12.8 11.7 93 101700 0 0 310 0 0 0 0 0 0 0 320 3.1 0 0 19.2 2000 9 999999999 160 0.1580 0 88 0.180 0.0 1.0 -2.22084E7 12.2 11.1 93 101700 0 0 307 0 0 0 0 0 0 0 330 3.6 0 0 19.2 2000 9 999999999 160 0.1580 0 88 0.180 0.0 1.0 -2.2212E7 12.8 11.1 89 101600 0 0 310 0 0 0 0 0 0 0 300 2.1 0 0 19.2 2000 9 999999999 160 0.1580 0 88 0.180 0.0 1.0 -2.22156E7 12.8 11.1 89 101600 0 0 310 0 0 0 0 0 0 0 260 2.6 0 0 19.2 2000 9 999999999 160 0.1580 0 88 0.180 0.0 1.0 -2.22192E7 12.2 10.6 90 101600 0 0 307 0 0 0 0 0 0 0 310 4.1 0 0 19.2 2000 9 999999999 160 0.1580 0 88 0.180 0.0 1.0 -2.22228E7 12.2 10.6 90 101600 0 0 307 0 0 0 0 0 0 0 250 2.1 0 0 19.2 2000 9 999999999 160 0.1580 0 88 0.180 0.0 1.0 -2.22264E7 12.8 10.0 83 101600 2 169 309 0 0 0 0 0 0 0 0 0.0 0 0 19.2 2000 9 999999999 160 0.1580 0 88 0.180 0.0 1.0 -2.223E7 15.6 11.1 75 101700 163 1351 322 57 122 42 6000 6700 5200 770 0 0.0 0 0 19.2 2000 9 999999999 160 0.1580 0 88 0.180 0.0 1.0 -2.22336E7 17.2 13.3 78 101600 431 1351 332 232 437 92 24600 39500 12000 1710 0 0.0 0 0 17.6 2000 9 999999999 160 0.1580 0 88 0.180 0.0 1.0 -2.22372E7 18.9 14.4 75 101600 674 1351 341 437 609 133 45400 59600 15600 2760 60 2.1 0 0 17.6 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.22408E7 20.6 14.4 68 101600 874 1351 349 618 702 164 65100 70800 19200 4140 90 2.6 0 0 19.2 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.22444E7 22.8 15.0 61 101600 1018 1351 360 751 752 183 79700 76600 21800 5780 40 2.6 0 0 24.0 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.2248E7 23.9 15.6 60 101500 1096 1351 366 822 776 193 87800 79300 23300 7190 60 2.1 0 0 56.0 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.22516E7 26.7 12.2 41 101400 1101 1351 376 827 777 194 88400 79400 23500 7320 70 3.1 0 0 56.0 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.22552E7 30.0 10.6 30 101300 1034 1351 391 765 757 185 81400 77200 22100 6030 30 2.6 0 0 19.2 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.22588E7 29.4 12.2 35 101300 900 1351 390 642 712 167 67700 72000 19600 4360 320 7.2 0 0 32.0 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.22624E7 26.1 9.4 35 101200 707 1351 370 467 626 139 48600 61700 16300 2960 310 9.3 0 0 48.0 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.2266E7 26.1 7.8 31 101200 469 1351 368 262 470 99 28000 43600 12800 1860 300 8.2 0 0 56.0 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.22696E7 25.0 8.3 35 101200 204 1351 363 77 176 51 8200 11200 6500 940 310 8.2 0 0 56.0 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.22732E7 23.9 7.8 36 101200 9 372 357 1 1 1 0 0 0 0 300 8.2 0 0 19.2 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.22768E7 21.7 8.9 44 101200 0 0 348 0 0 0 0 0 0 0 320 5.2 0 0 19.2 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.22804E7 20.6 10.0 51 101200 0 0 344 0 0 0 0 0 0 0 300 4.1 0 0 24.0 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.2284E7 19.4 12.8 66 101200 0 0 341 0 0 0 0 0 0 0 0 0.0 0 0 24.0 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.22876E7 18.9 10.6 59 101200 0 0 337 0 0 0 0 0 0 0 310 2.1 0 0 24.0 2000 9 999999999 170 0.1580 0 88 0.180 0.0 1.0 -2.22912E7 17.2 11.7 70 101200 0 0 330 0 0 0 0 0 0 0 310 3.1 0 0 24.0 2000 9 999999999 180 0.1580 0 88 0.180 0.0 1.0 -2.22948E7 16.1 11.7 75 101200 0 0 325 0 0 0 0 0 0 0 310 3.1 0 0 24.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.22984E7 15.6 11.7 78 101100 0 0 323 0 0 0 0 0 0 0 310 3.1 0 0 24.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.2302E7 15.0 11.7 81 101100 0 0 320 0 0 0 0 0 0 0 310 3.1 0 0 24.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23056E7 15.0 12.2 83 101100 0 0 321 0 0 0 0 0 0 0 330 4.1 0 0 24.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23092E7 13.9 12.2 89 101100 0 0 316 0 0 0 0 0 0 0 310 2.6 0 0 24.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23128E7 14.4 11.7 84 101200 1 146 317 0 6 0 0 0 0 0 230 2.1 0 0 72.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23164E7 15.6 12.2 80 101200 159 1352 323 68 314 31 6900 19000 4700 550 310 2.6 0 0 56.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.232E7 20.0 13.3 65 101200 427 1352 345 256 623 59 27000 56400 9200 1160 40 2.1 1 0 56.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23236E7 21.1 14.4 66 101200 670 1352 351 462 765 83 48700 75000 11400 1800 60 2.1 1 0 40.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23272E7 22.2 15.6 66 101200 871 1352 365 605 779 104 64400 78300 13900 2620 30 3.1 2 1 32.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23308E7 23.3 15.0 60 101200 1014 1352 378 675 627 204 71100 63500 23300 6300 60 3.1 5 3 24.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23344E7 26.1 13.9 47 101100 1091 1352 387 718 650 193 76600 66400 22900 7100 10 3.1 2 2 32.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.2338E7 30.0 10.6 30 101100 1096 1352 408 732 612 236 77100 61900 26700 8610 330 7.2 8 3 32.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23416E7 28.9 10.0 31 101000 1029 1352 397 741 712 199 78400 72300 23200 6360 330 8.2 7 2 19.2 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23452E7 29.4 9.4 29 101000 894 1352 413 466 405 198 50400 41900 22600 5100 320 7.7 8 6 48.0 7620 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23488E7 25.0 10.6 40 101000 701 1352 378 445 593 137 46300 58400 16000 2910 320 8.8 7 2 56.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23524E7 22.2 11.7 51 101000 463 1352 378 229 152 176 24400 14300 19500 4010 320 8.2 9 6 32.0 4572 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.2356E7 16.1 12.2 78 101000 197 1352 345 61 103 46 6500 6400 5600 840 320 10.3 6 5 24.0 3048 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23596E7 15.0 12.2 83 101100 7 327 335 1 2 1 0 0 0 0 320 9.3 4 3 24.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23632E7 15.0 11.7 81 101200 0 0 326 0 0 0 0 0 0 0 320 9.3 1 1 24.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23668E7 13.9 11.7 87 101200 0 0 321 0 0 0 0 0 0 0 310 7.2 1 1 24.0 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23704E7 13.3 11.7 90 101200 0 0 323 0 0 0 0 0 0 0 310 6.7 2 2 19.2 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.2374E7 13.3 11.7 90 101200 0 0 319 0 0 0 0 0 0 0 320 5.7 1 1 19.2 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23776E7 12.8 11.7 93 101300 0 0 316 0 0 0 0 0 0 0 310 5.2 1 1 19.2 2000 9 999999999 180 0.1570 0 88 0.180 0.0 1.0 -2.23812E7 12.8 11.1 89 101300 0 0 310 0 0 0 0 0 0 0 320 4.1 0 0 19.2 2000 9 999999999 180 0.1560 0 88 0.180 0.0 1.0 -2.23848E7 12.8 11.1 89 101300 0 0 310 0 0 0 0 0 0 0 310 4.1 0 0 19.2 2000 9 999999999 180 0.1560 0 88 0.180 0.0 1.0 -2.23884E7 12.2 11.1 93 101300 0 0 317 0 0 0 0 0 0 0 320 2.6 2 2 19.2 2000 9 999999999 180 0.1560 0 88 0.180 0.0 1.0 -2.2392E7 12.2 10.6 90 101300 0 0 313 0 0 0 0 0 0 0 310 3.1 3 1 19.2 2000 9 999999999 180 0.1560 0 88 0.180 0.0 1.0 -2.23956E7 11.7 10.6 93 101400 0 0 315 0 0 0 0 0 0 0 340 2.1 2 2 19.2 2000 9 999999999 180 0.1560 0 88 0.180 0.0 1.0 -2.23992E7 12.8 11.1 89 101400 1 124 340 0 0 0 0 0 0 0 310 2.1 9 8 24.0 366 9 999999999 180 0.1560 0 88 0.180 0.0 1.0 -2.24028E7 12.8 10.6 86 101500 156 1353 320 48 106 36 5100 5600 4500 650 260 2.1 2 2 17.6 2000 9 999999999 180 0.1560 0 88 0.180 0.0 1.0 -2.24064E7 15.6 11.7 78 101500 423 1353 337 229 377 111 23800 33700 13200 2100 0 0.0 3 3 17.6 2000 9 999999999 180 0.1560 0 88 0.180 0.0 1.0 -2.241E7 17.2 11.7 70 101600 667 1353 341 425 574 142 43900 55900 16300 2890 160 3.6 4 2 17.6 2000 9 999999999 180 0.1560 0 88 0.180 0.0 1.0 -2.24136E7 18.3 12.2 68 101600 867 1353 350 470 464 173 51400 48000 20600 4270 100 3.1 3 3 17.6 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.24172E7 19.4 12.8 66 101600 1010 1353 348 698 742 143 73100 74500 17400 4110 50 3.6 1 1 24.0 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.24208E7 20.0 12.8 63 101600 1087 1353 344 826 836 154 86900 84100 19100 5160 40 4.1 0 0 32.0 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.24244E7 20.6 13.3 63 101500 1091 1353 348 830 837 154 87300 84200 19100 5230 50 4.1 0 0 40.0 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.2428E7 22.2 12.8 55 101500 1024 1353 355 768 820 148 80500 82300 18100 4330 90 3.1 0 0 56.0 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.24316E7 21.7 12.2 55 101500 889 1353 352 645 779 134 67000 77500 15900 3150 250 5.2 0 0 56.0 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.24352E7 21.1 12.2 57 101500 695 1353 349 471 701 111 49800 69600 14000 2420 290 6.2 0 0 56.0 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.24388E7 20.0 12.2 61 101500 456 1353 344 266 552 80 27700 50300 10700 1530 280 6.2 0 0 56.0 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.24424E7 17.8 12.2 70 101500 190 1353 333 77 242 43 8000 15100 5900 770 290 5.2 0 0 56.0 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.2446E7 16.1 12.2 78 101500 6 282 326 0 3 0 0 0 0 0 300 5.2 0 0 19.2 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.24496E7 15.6 12.2 80 101600 0 0 323 0 0 0 0 0 0 0 280 5.2 0 0 19.2 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.24532E7 14.4 11.7 84 101700 0 0 317 0 0 0 0 0 0 0 310 4.1 0 0 19.2 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.24568E7 14.4 11.7 84 101700 0 0 317 0 0 0 0 0 0 0 320 4.6 0 0 19.2 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.24604E7 13.9 11.7 87 101700 0 0 315 0 0 0 0 0 0 0 310 3.6 1 0 19.2 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.2464E7 14.4 12.2 87 101700 0 0 349 0 0 0 0 0 0 0 320 2.1 8 8 19.2 457 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.24676E7 15.0 12.2 83 101700 0 0 370 0 0 0 0 0 0 0 290 3.1 10 10 19.2 366 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.24712E7 15.6 12.2 80 101600 0 0 373 0 0 0 0 0 0 0 300 3.6 10 10 19.2 366 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.24748E7 14.4 11.7 84 101600 0 0 356 0 0 0 0 0 0 0 250 3.1 10 9 19.2 366 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.24784E7 14.4 11.7 84 101600 0 0 366 0 0 0 0 0 0 0 280 3.6 10 10 19.2 366 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.2482E7 14.4 11.7 84 101600 0 0 366 0 0 0 0 0 0 0 320 3.1 10 10 19.2 366 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.24856E7 14.4 11.7 84 101600 1 102 356 0 0 0 0 0 0 0 310 3.6 10 9 19.2 366 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.24892E7 15.0 12.2 83 101700 152 1354 370 22 0 22 2600 0 2600 820 0 0.0 10 10 16.0 366 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.24928E7 15.6 12.2 80 101700 420 1354 350 188 122 151 20300 11200 16800 3390 120 1.5 10 7 17.6 366 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.24964E7 16.7 12.8 78 101700 663 1354 349 277 204 177 29900 21100 19600 3880 110 2.6 10 5 17.6 2000 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.25E7 17.8 12.8 73 101700 863 1354 351 563 639 155 59400 64500 18200 3880 70 2.6 10 4 17.6 2000 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.25036E7 19.4 13.3 68 101600 1006 1354 362 494 290 279 54300 31400 30900 8500 50 3.1 10 5 19.2 2000 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.25072E7 19.4 11.7 61 101600 1082 1354 358 657 495 261 71100 51700 29700 9390 320 8.8 9 4 19.2 2000 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.25108E7 18.9 11.1 61 101500 1087 1354 355 754 669 217 79800 67900 25100 7780 330 10.8 9 4 24.0 2000 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.25144E7 18.3 11.7 65 101500 1018 1354 352 688 627 216 72200 63300 24500 6670 330 9.3 9 4 24.0 2000 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.2518E7 18.3 11.7 65 101400 883 1354 355 407 153 307 44400 16100 33900 8770 320 10.3 9 5 24.0 7620 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.25216E7 17.8 11.7 67 101400 688 1354 353 327 216 217 35700 22200 24400 5440 320 9.3 9 5 24.0 7620 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.25252E7 16.1 11.7 75 101400 449 1354 347 107 60 87 12000 5700 10100 1970 320 9.3 8 6 24.0 7620 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.25288E7 15.0 11.7 81 101400 183 1354 342 59 47 52 6400 3400 5900 1230 330 7.2 7 6 24.0 7620 9 999999999 160 0.1560 0 88 0.180 0.0 1.0 -2.25324E7 13.9 11.7 87 101400 4 259 334 0 0 0 0 0 0 0 310 6.7 8 5 24.0 7620 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.2536E7 13.9 11.7 87 101400 0 0 326 0 0 0 0 0 0 0 320 6.2 7 2 24.0 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.25396E7 13.3 12.2 93 101400 0 0 327 0 0 0 0 0 0 0 320 5.2 8 3 19.2 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.25432E7 13.3 12.2 93 101500 0 0 332 0 0 0 0 0 0 0 310 6.2 7 5 19.2 6096 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.25468E7 13.3 12.2 93 101400 0 0 332 0 0 0 0 0 0 0 320 5.2 8 5 19.2 6096 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.25504E7 12.8 11.7 93 101400 0 0 321 0 0 0 0 0 0 0 320 4.6 7 2 19.2 2000 9 999999999 170 0.1560 0 88 0.180 0.0 1.0 -2.2554E7 12.8 11.7 93 101400 0 0 332 0 0 0 0 0 0 0 320 5.7 10 6 16.0 91 9 999999999 170 0.1550 0 88 0.180 0.0 1.0 -2.25576E7 12.8 12.2 96 101400 0 0 332 0 0 0 0 0 0 0 310 5.7 10 6 16.0 91 9 999999999 170 0.1550 0 88 0.180 0.0 1.0 -2.25612E7 12.8 12.2 96 101400 0 0 329 0 0 0 0 0 0 0 320 4.6 6 5 19.2 1372 9 999999999 170 0.1550 0 88 0.180 0.0 1.0 -2.25648E7 12.8 11.7 93 101400 0 0 341 0 0 0 0 0 0 0 330 5.2 8 8 19.2 91 9 999999999 170 0.1550 0 88 0.180 0.0 1.0 -2.25684E7 12.8 11.7 93 101400 0 0 336 0 0 0 0 0 0 0 240 2.6 9 7 19.2 274 9 999999999 170 0.1550 0 88 0.180 0.0 1.0 -2.2572E7 12.2 11.7 97 101400 0 79 326 0 0 0 0 0 0 0 210 4.1 6 5 17.6 3353 9 999999999 170 0.1550 0 88 0.180 0.0 1.0 -2.25756E7 13.3 11.7 90 101400 148 1354 334 49 22 47 5400 1500 5200 1070 280 2.1 9 6 12.8 152 9 999999999 170 0.1550 0 88 0.180 0.0 1.0 -2.25792E7 13.9 12.2 89 101400 416 1354 338 156 218 89 16900 19900 10800 1690 180 1.5 10 6 12.8 244 9 999999999 170 0.1550 0 88 0.180 0.0 1.0 -2.25828E7 15.0 12.2 83 101400 659 1354 331 424 648 108 44600 63800 13500 2290 350 3.6 4 2 16.0 2000 9 999999999 170 0.1550 0 88 0.180 0.0 1.0 -2.25864E7 17.8 12.8 73 101500 859 1354 334 635 856 92 66100 84900 12100 2060 340 5.2 0 0 16.0 2000 9 999999999 170 0.1550 0 88 0.180 0.0 1.0 -2.259E7 17.8 12.8 73 101400 1002 1354 334 763 892 103 79200 89100 13100 2690 350 5.2 0 0 19.2 2000 9 999999999 170 0.1550 0 88 0.180 0.0 1.0 -2.25936E7 18.9 13.3 70 101400 1078 1354 340 831 909 108 86100 91000 13600 3220 360 6.2 0 0 19.2 2000 9 999999999 170 0.1550 0 88 0.180 0.0 1.0 -2.25972E7 20.0 13.3 65 101300 1082 1354 345 835 909 108 86400 91000 13600 3250 340 6.7 0 0 24.0 2000 9 999999999 170 0.1550 0 88 0.180 0.0 1.0 -2.26008E7 20.0 12.8 63 101300 1013 1354 351 727 837 101 75500 83600 12800 2730 320 9.3 1 1 24.0 2000 9 999999999 180 0.1550 0 88 0.180 0.0 1.0 -2.26044E7 19.4 12.8 66 101200 877 1354 348 618 813 91 64300 80700 11900 2110 320 8.8 1 1 24.0 2000 9 999999999 180 0.1550 0 88 0.180 0.0 1.0 -2.2608E7 18.3 12.8 70 101200 682 1354 343 454 751 76 48400 74100 10900 1710 320 9.8 1 1 24.0 2000 9 999999999 180 0.1550 0 88 0.180 0.0 1.0 -2.26116E7 17.2 12.8 75 101200 443 1354 342 225 481 67 23500 43800 9200 1300 330 8.8 2 2 24.0 2000 9 999999999 180 0.1550 0 88 0.180 0.0 1.0 -2.26152E7 15.6 12.8 83 101200 176 1354 330 78 345 33 8000 21900 5100 590 320 7.2 1 1 24.0 2000 9 999999999 180 0.1550 0 88 0.180 0.0 1.0 -2.26188E7 15.0 12.8 87 101300 3 214 327 0 8 0 0 0 0 0 320 6.2 1 1 19.2 2000 9 999999999 180 0.1550 0 88 0.180 0.0 1.0 -2.26224E7 14.4 12.8 90 101300 0 0 319 0 0 0 0 0 0 0 320 5.7 0 0 19.2 2000 9 999999999 180 0.1550 0 88 0.180 0.0 1.0 -2.2626E7 13.9 12.2 89 101400 0 0 316 0 0 0 0 0 0 0 320 5.2 0 0 19.2 2000 9 999999999 180 0.1550 0 88 0.180 0.0 1.0 -2.26296E7 13.9 12.2 89 101300 0 0 322 0 0 0 0 0 0 0 310 4.1 1 1 19.2 2000 9 999999999 180 0.1550 0 88 0.180 0.0 1.0 -2.26332E7 13.9 12.2 89 101300 0 0 322 0 0 0 0 0 0 0 320 3.6 2 1 19.2 2000 9 999999999 180 0.1550 0 88 0.180 0.0 1.0 -2.26368E7 13.3 12.2 93 101300 0 0 327 0 0 0 0 0 0 0 320 3.1 5 3 19.2 2000 9 999999999 180 0.1550 0 88 0.180 0.0 1.0 -2.26404E7 13.9 12.2 89 101300 0 0 354 0 0 0 0 0 0 0 340 2.1 10 9 19.2 274 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.2644E7 13.9 12.2 89 101300 0 0 338 0 0 0 0 0 0 0 0 0.0 7 6 19.2 335 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.26476E7 14.4 11.7 84 101300 0 0 366 0 0 0 0 0 0 0 320 2.1 10 10 19.2 274 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.26512E7 14.4 12.2 87 101300 0 0 367 0 0 0 0 0 0 0 320 2.1 10 10 19.2 274 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.26548E7 14.4 12.8 90 101300 0 0 368 0 0 0 0 0 0 0 300 2.6 10 10 16.0 244 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.26584E7 15.0 12.8 87 101300 0 79 371 0 0 0 0 0 0 0 0 0.0 10 10 11.2 213 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.2662E7 15.0 12.8 87 101400 145 1355 371 18 0 18 2100 0 2100 690 230 2.6 10 10 11.2 274 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.26656E7 16.1 13.9 87 101400 412 1355 378 61 0 61 7200 0 7200 2550 160 2.1 10 10 11.2 274 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.26692E7 16.7 13.9 84 101400 655 1355 381 112 0 112 13300 0 13300 5030 0 0.0 10 10 11.2 274 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.26728E7 19.4 13.9 70 101400 855 1355 363 551 289 368 59200 30100 40100 10270 20 3.1 5 5 11.2 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.26764E7 19.4 13.9 70 101300 998 1355 349 711 745 162 76000 76100 19800 4960 50 3.1 1 1 11.2 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.268E7 20.0 14.4 70 101300 1073 1355 346 823 893 115 85000 89300 14100 3270 30 3.6 0 0 11.2 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.26836E7 21.1 12.8 59 101200 1077 1355 349 826 894 115 85300 89400 14100 3290 320 7.2 0 0 16.0 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.26872E7 20.6 12.8 61 101100 1007 1355 347 764 878 110 79000 87600 13700 2780 330 10.3 0 0 16.0 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.26908E7 19.4 12.8 66 101100 871 1355 341 641 842 99 68400 84700 13800 2530 330 10.8 0 0 16.0 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.26944E7 18.3 12.8 70 101000 676 1355 336 468 773 82 49300 75900 11300 1790 320 10.3 0 0 16.0 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.2698E7 17.2 12.8 75 101000 436 1355 331 265 636 60 27300 57600 8700 1170 320 10.3 0 0 16.0 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.27016E7 15.6 12.8 83 101100 169 1355 324 73 320 33 7400 19900 5000 590 310 8.2 0 0 12.8 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.27052E7 15.0 12.8 87 101100 2 192 321 0 7 0 0 0 0 0 330 6.2 0 0 19.2 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.27088E7 14.4 12.8 90 101200 0 0 319 0 0 0 0 0 0 0 320 6.7 0 0 19.2 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.27124E7 14.4 12.8 90 101200 0 0 319 0 0 0 0 0 0 0 320 4.6 0 0 19.2 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.2716E7 14.4 12.8 90 101200 0 0 319 0 0 0 0 0 0 0 310 3.6 0 0 19.2 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.27196E7 13.9 12.8 93 101200 0 0 316 0 0 0 0 0 0 0 310 5.2 0 0 19.2 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.27232E7 13.9 12.8 93 101200 0 0 322 0 0 0 0 0 0 0 310 5.2 2 1 16.0 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.27268E7 13.9 12.8 93 101200 0 0 327 0 0 0 0 0 0 0 310 4.1 2 2 11.2 2000 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.27304E7 13.9 12.8 93 101200 0 0 348 0 0 0 0 0 0 0 320 3.1 10 8 16.0 213 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.2734E7 13.9 12.8 93 101200 0 0 342 0 0 0 0 0 0 0 310 2.1 10 7 16.0 213 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.27376E7 14.4 12.8 90 101200 0 0 350 0 0 0 0 0 0 0 250 2.1 10 8 11.2 213 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.27412E7 14.4 13.3 93 101200 0 0 368 0 0 0 0 0 0 0 0 0.0 10 10 8.0 183 9 999999999 190 0.1540 0 88 0.180 0.0 1.0 -2.27448E7 13.9 13.3 96 101300 0 56 366 0 0 0 0 0 0 0 280 2.1 10 10 6.4 183 9 999999999 200 0.1540 0 88 0.180 0.0 1.0 -2.27484E7 15.0 13.3 90 101300 141 1356 371 17 0 17 2000 0 2000 650 0 0.0 10 10 6.4 183 9 999999999 200 0.1540 0 88 0.180 0.0 1.0 -2.2752E7 15.6 13.9 90 101400 409 1356 375 56 0 56 6600 0 6600 2360 150 1.5 10 10 8.0 244 9 999999999 200 0.1540 0 88 0.180 0.0 1.0 -2.27556E7 16.1 13.9 87 101400 652 1356 367 287 115 232 31500 11500 26000 6630 100 1.5 10 9 8.0 274 9 999999999 200 0.1540 0 88 0.180 0.0 1.0 -2.27592E7 17.8 13.9 78 101400 851 1356 352 496 419 233 52400 43100 25300 5780 100 1.5 6 4 8.0 366 9 999999999 200 0.1540 0 88 0.180 0.0 1.0 -2.27628E7 19.4 14.4 73 101400 993 1356 350 697 766 136 73400 77000 16800 3820 40 3.1 1 1 9.6 2000 9 999999999 200 0.1540 0 88 0.180 0.0 1.0 -2.27664E7 19.4 14.4 73 101400 1068 1356 350 792 823 143 83700 83000 18100 4650 40 3.1 1 1 9.6 2000 9 999999999 200 0.1540 0 88 0.180 0.0 1.0 -2.277E7 20.6 14.4 68 101300 1071 1356 355 767 790 143 81200 79700 18000 4690 40 3.6 1 1 11.2 2000 9 999999999 200 0.1540 0 88 0.180 0.0 1.0 -2.27736E7 20.0 13.3 65 101200 1002 1356 351 723 772 152 75200 77200 18000 4180 340 8.2 1 1 16.0 2000 9 999999999 200 0.1540 0 88 0.180 0.0 1.0 -2.27772E7 20.0 13.3 65 101200 865 1356 345 623 780 125 64800 77700 15200 2900 330 9.3 0 0 16.0 2000 9 999999999 200 0.1540 0 88 0.180 0.0 1.0 -2.27808E7 19.4 13.3 68 101200 669 1356 342 449 700 103 47500 69200 13200 2210 330 10.3 0 0 16.0 2000 9 999999999 209 0.1540 0 88 0.180 0.0 1.0 -2.27844E7 18.3 13.3 73 101200 429 1356 337 246 544 73 25500 48800 10000 1390 330 10.8 0 0 16.0 2000 9 999999999 209 0.1540 0 88 0.180 0.0 1.0 -2.2788E7 16.7 13.3 80 101200 162 1356 344 46 85 36 4900 4600 4400 650 330 8.8 3 3 16.0 2000 9 999999999 209 0.1540 0 88 0.180 0.0 1.0 -2.27916E7 15.6 12.8 83 101300 2 147 341 0 0 0 0 0 0 0 310 6.2 4 4 19.2 2000 9 999999999 209 0.1540 0 88 0.180 0.0 1.0 -2.27952E7 15.6 13.3 86 101400 0 0 344 0 0 0 0 0 0 0 330 7.2 5 5 19.2 2000 9 999999999 209 0.1540 0 88 0.180 0.0 1.0 -2.27988E7 16.1 13.3 83 101400 0 0 349 0 0 0 0 0 0 0 340 3.1 6 6 19.2 3658 9 999999999 209 0.1540 0 88 0.180 0.0 1.0 -2.28024E7 15.6 13.3 86 101500 0 0 356 0 0 0 0 0 0 0 310 4.1 10 8 19.2 3658 9 999999999 209 0.1540 0 88 0.180 0.0 1.0 -2.2806E7 16.1 13.9 87 101500 0 0 354 0 0 0 0 0 0 0 140 3.1 10 7 19.2 3658 9 999999999 209 0.1540 0 88 0.180 0.0 1.0 -2.28096E7 15.6 13.3 86 101400 0 0 356 0 0 0 0 0 0 0 330 2.1 8 8 19.2 3658 9 999999999 209 0.1540 0 88 0.180 0.0 1.0 -2.28132E7 15.6 13.3 86 101400 0 0 356 0 0 0 0 0 0 0 310 3.1 8 8 19.2 3658 9 999999999 209 0.1530 0 88 0.180 0.0 1.0 -2.28168E7 15.6 13.3 86 101400 0 0 364 0 0 0 0 0 0 0 310 3.1 10 9 16.0 3658 9 999999999 209 0.1530 0 88 0.180 0.0 1.0 -2.28204E7 15.0 13.3 90 101400 0 0 341 0 0 0 0 0 0 0 320 4.1 6 5 19.2 3658 9 999999999 220 0.1530 0 88 0.180 0.0 1.0 -2.2824E7 14.4 12.8 90 101400 0 0 335 0 0 0 0 0 0 0 320 3.6 4 4 19.2 2000 9 999999999 220 0.1530 0 88 0.180 0.0 1.0 -2.28276E7 14.4 12.8 90 101400 0 0 368 0 0 0 0 0 0 0 320 4.1 10 10 19.2 274 9 999999999 220 0.1530 0 88 0.180 0.0 1.0 -2.28312E7 15.0 13.3 90 101500 0 34 371 0 0 0 0 0 0 0 320 4.6 10 10 11.2 274 9 999999999 220 0.1530 0 88 0.180 0.0 1.0 -2.28348E7 15.0 12.2 83 101600 137 1357 343 38 36 34 4100 2000 3900 710 310 3.1 8 6 11.2 274 9 999999999 220 0.1530 0 88 0.180 0.0 1.0 -2.28384E7 16.1 12.8 81 101600 405 1357 346 132 111 99 14500 10100 11500 2210 140 1.5 6 5 9.6 366 9 999999999 220 0.1530 0 88 0.180 0.0 1.0 -2.2842E7 17.2 12.8 75 101600 648 1357 346 318 387 133 34200 38600 15800 2700 50 1.5 6 3 9.6 2000 9 999999999 230 0.1530 0 88 0.180 0.0 1.0 -2.28456E7 18.3 13.3 73 101600 847 1357 337 598 735 138 63400 74400 16900 3420 360 4.1 0 0 11.2 2000 9 999999999 230 0.1530 0 88 0.180 0.0 1.0 -2.28492E7 18.9 13.9 73 101600 989 1357 340 726 783 155 75200 78100 18100 4110 30 4.1 0 0 12.8 2000 9 999999999 230 0.1530 0 88 0.180 0.0 1.0 -2.28528E7 19.4 13.3 68 101500 1064 1357 348 767 740 186 81700 75600 22300 6390 340 8.2 1 1 16.0 2000 9 999999999 230 0.1530 0 88 0.180 0.0 1.0 -2.28564E7 20.6 12.8 61 101500 1066 1357 362 700 599 229 73600 60500 25800 7740 320 9.3 6 3 24.0 2000 9 999999999 240 0.1530 0 88 0.180 0.0 1.0 -2.286E7 20.6 12.8 61 101500 996 1357 365 637 462 298 67200 47900 31900 9130 320 9.3 7 4 19.2 2000 9 999999999 240 0.1530 0 88 0.180 0.0 1.0 -2.28636E7 19.4 12.8 66 101400 859 1357 356 566 555 214 60300 57200 24100 5310 310 8.8 8 3 19.2 2000 9 999999999 240 0.1530 0 88 0.180 0.0 1.0 -2.28672E7 18.9 12.8 68 101400 663 1357 357 388 330 227 41100 34000 24500 5230 320 7.2 7 4 19.2 2000 9 999999999 240 0.1530 0 88 0.180 0.0 1.0 -2.28708E7 17.8 12.8 73 101400 422 1357 354 198 121 161 21300 11100 17800 3620 320 8.2 8 5 19.2 4572 9 999999999 240 0.1530 0 88 0.180 0.0 1.0 -2.28744E7 16.1 12.8 81 101400 155 1357 346 46 38 41 5000 2600 4700 970 320 7.2 7 5 19.2 4572 9 999999999 250 0.1530 0 88 0.180 0.0 1.0 -2.2878E7 15.6 12.8 83 101400 1 124 343 0 0 0 0 0 0 0 320 6.2 6 5 19.2 4572 9 999999999 250 0.1530 0 88 0.180 0.0 1.0 -2.28816E7 15.0 12.8 87 101500 0 0 338 0 0 0 0 0 0 0 310 7.7 6 4 19.2 7620 9 999999999 250 0.1530 0 88 0.180 0.0 1.0 -2.28852E7 15.6 12.8 83 101500 0 0 346 0 0 0 0 0 0 0 320 7.2 8 6 19.2 4572 9 999999999 250 0.1530 0 88 0.180 0.0 1.0 -2.28888E7 15.0 13.3 90 101500 0 0 361 0 0 0 0 0 0 0 320 5.2 10 9 19.2 4572 9 999999999 250 0.1530 0 88 0.180 0.0 1.0 -2.28924E7 15.0 13.3 90 101500 0 0 361 0 0 0 0 0 0 0 320 5.2 10 9 19.2 4572 9 999999999 260 0.1530 0 88 0.180 0.0 1.0 -2.2896E7 15.6 13.3 86 101500 0 0 364 0 0 0 0 0 0 0 270 3.1 10 9 19.2 4572 9 999999999 260 0.1530 0 88 0.180 0.0 1.0 -2.28996E7 15.6 13.3 86 101500 0 0 364 0 0 0 0 0 0 0 310 6.2 10 9 19.2 4572 9 999999999 260 0.1520 0 88 0.180 0.0 1.0 -2.29032E7 15.6 13.3 86 101400 0 0 374 0 0 0 0 0 0 0 320 5.2 10 10 19.2 4572 9 999999999 260 0.1520 0 88 0.180 0.0 1.0 -2.29068E7 15.6 13.3 86 101400 0 0 364 0 0 0 0 0 0 0 310 4.1 10 9 19.2 4572 9 999999999 260 0.1520 0 88 0.180 0.0 1.0 -2.29104E7 15.6 13.3 86 101300 0 0 374 0 0 0 0 0 0 0 330 3.6 10 10 19.2 4572 9 999999999 270 0.1520 0 88 0.180 0.0 1.0 -2.2914E7 16.1 13.3 83 101300 0 0 377 0 0 0 0 0 0 0 30 3.1 10 10 19.2 4572 9 999999999 270 0.1520 0 88 0.180 0.0 1.0 -2.29176E7 16.1 13.9 87 101300 0 11 378 0 0 0 0 0 0 0 350 4.1 10 10 19.2 3658 9 999999999 270 0.1520 0 88 0.180 0.0 1.0 -2.29212E7 16.7 13.3 80 101300 133 1357 370 29 9 28 3200 600 3100 690 240 2.6 10 9 56.0 4572 9 999999999 270 0.1520 0 88 0.180 0.0 1.0 -2.29248E7 17.2 13.9 81 101400 401 1357 373 76 57 59 8600 5200 7100 1310 180 4.1 10 9 24.0 4572 9 999999999 270 0.1520 0 88 0.180 0.0 1.0 -2.29284E7 18.3 14.4 78 101500 644 1357 390 160 0 160 18400 0 18400 6590 150 2.1 10 10 14.4 4572 9 999999999 270 0.1520 0 88 0.180 0.0 1.0 -2.2932E7 18.3 15.6 84 101600 843 1357 392 179 0 179 21100 0 21100 8220 100 4.6 10 10 11.2 2743 9 999999999 280 0.1520 0 88 0.180 0.0 1.0 -2.29356E7 17.2 15.6 90 101500 985 1357 375 475 125 384 52200 12900 42900 13500 310 3.6 10 9 8.0 2743 9 999999999 280 0.1520 0 88 0.180 2.0 1.0 -2.29392E7 19.4 16.7 84 101400 1059 1357 388 655 263 450 71000 27800 49200 15550 40 2.1 9 9 12.8 3658 9 999999999 280 0.1520 0 88 0.180 0.0 1.0 -2.29428E7 20.0 16.7 81 101300 1061 1357 391 508 98 431 55900 10200 47900 16130 90 1.5 9 9 14.4 4572 9 999999999 280 0.1520 0 88 0.180 0.0 1.0 -2.29464E7 21.7 16.7 73 101300 991 1357 392 567 443 243 60900 46100 27200 7250 120 3.1 8 8 12.8 4572 9 999999999 280 0.1520 0 88 0.180 0.0 1.0 -2.295E7 23.3 15.0 60 101300 853 1357 392 432 359 206 46200 37000 22900 5060 130 1.5 9 7 12.8 3962 9 999999999 290 0.1520 0 88 0.180 0.0 1.0 -2.29536E7 25.6 14.4 50 101200 656 1357 399 229 78 191 25100 7700 21400 5730 350 2.1 9 6 12.8 3962 9 999999999 290 0.1520 0 88 0.180 0.0 1.0 -2.29572E7 23.3 13.9 55 101200 415 1357 391 94 98 64 10600 9100 7900 1430 350 2.1 9 7 16.0 6096 9 999999999 290 0.1520 0 88 0.180 0.0 1.0 -2.29608E7 20.0 14.4 70 101200 148 1357 380 33 23 31 3700 1500 3500 770 310 6.2 9 8 16.0 3962 9 999999999 290 0.1520 0 88 0.180 0.0 1.0 -2.29644E7 20.0 14.4 70 101200 0 79 374 0 0 0 0 0 0 0 310 7.2 9 7 19.2 3962 9 999999999 290 0.1520 0 88 0.180 0.0 1.0 -2.2968E7 19.4 13.9 70 101200 0 0 366 0 0 0 0 0 0 0 290 5.7 8 6 19.2 4267 9 999999999 290 0.1520 0 88 0.180 0.0 1.0 -2.29716E7 18.9 13.9 73 101200 0 0 364 0 0 0 0 0 0 0 310 5.7 6 6 19.2 4267 9 999999999 300 0.1520 0 88 0.180 0.0 1.0 -2.29752E7 17.8 13.9 78 101200 0 0 342 0 0 0 0 0 0 0 310 3.6 3 1 24.0 2000 9 999999999 300 0.1520 0 88 0.180 0.0 1.0 -2.29788E7 17.8 13.9 78 101200 0 0 342 0 0 0 0 0 0 0 310 3.6 1 1 24.0 2000 9 999999999 300 0.1520 0 88 0.180 0.0 1.0 -2.29824E7 17.8 13.9 78 101200 0 0 335 0 0 0 0 0 0 0 310 3.1 0 0 24.0 2000 9 999999999 300 0.1520 0 88 0.180 0.0 1.0 -2.2986E7 18.3 13.3 73 101200 0 0 337 0 0 0 0 0 0 0 0 0.0 0 0 24.0 2000 9 999999999 300 0.1510 0 88 0.180 0.0 1.0 -2.29896E7 17.8 14.4 80 101200 0 0 336 0 0 0 0 0 0 0 0 0.0 0 0 24.0 2000 9 999999999 310 0.1510 0 88 0.180 0.0 1.0 -2.29932E7 16.7 13.3 80 101200 0 0 329 0 0 0 0 0 0 0 0 0.0 0 0 24.0 2000 9 999999999 310 0.1510 0 88 0.180 0.0 1.0 -2.29968E7 17.2 13.9 81 101200 0 0 332 0 0 0 0 0 0 0 320 3.1 0 0 24.0 2000 9 999999999 310 0.1510 0 88 0.180 0.0 1.0 -2.30004E7 15.0 13.3 90 101200 0 0 322 0 0 0 0 0 0 0 300 2.6 0 0 24.0 2000 9 999999999 300 0.1510 0 88 0.180 0.0 1.0 -2.3004E7 15.0 13.3 90 101300 0 0 322 0 0 0 0 0 0 0 310 1.5 0 0 24.0 2000 9 999999999 300 0.1510 0 88 0.180 0.0 1.0 -2.30076E7 16.7 15.0 90 101400 130 1347 331 48 211 28 5200 10900 4100 490 180 2.6 1 0 16.0 2000 9 999999999 300 0.1510 0 88 0.180 0.0 1.0 -2.30112E7 17.8 15.0 84 101400 397 1358 336 224 559 60 23400 49300 9000 1150 50 2.1 1 0 12.8 2000 9 999999999 290 0.1510 0 88 0.180 0.0 1.0 -2.30148E7 18.9 15.0 78 101500 640 1358 341 424 717 86 44100 69600 11300 1770 80 3.1 1 0 9.6 2000 9 999999999 290 0.1510 0 88 0.180 0.0 1.0 -2.30184E7 19.4 15.6 79 101500 839 1358 344 601 808 102 63700 80900 13600 2460 70 3.6 0 0 12.8 2000 9 999999999 280 0.1510 0 88 0.180 0.0 1.0 -2.3022E7 21.1 15.6 71 101400 980 1358 353 726 849 114 77800 85900 15600 3290 60 3.1 0 0 11.2 2000 9 999999999 280 0.1510 0 88 0.180 0.0 1.0 -2.30256E7 21.7 15.6 68 101400 1054 1358 355 785 852 124 84200 86300 17000 4040 40 3.1 1 0 12.8 2000 9 999999999 270 0.1510 0 88 0.180 0.0 1.0 -2.30292E7 22.8 16.1 66 101400 1056 1358 368 753 811 122 80800 82200 16700 4000 30 3.6 1 1 16.0 2000 9 999999999 270 0.1510 0 88 0.180 0.0 1.0 -2.30328E7 23.3 15.0 60 101400 985 1358 374 694 716 174 73600 72800 20700 5140 160 3.1 5 2 16.0 2000 9 999999999 270 0.1510 0 88 0.180 0.0 1.0 -2.30364E7 23.9 13.9 54 101400 846 1358 380 521 507 205 55700 52200 23100 5000 250 3.1 5 3 16.0 2000 9 999999999 260 0.1510 0 88 0.180 0.0 1.0 -2.304E7 22.8 14.4 59 101300 650 1358 381 399 381 217 42400 39100 23600 4940 180 2.1 5 5 16.0 2000 9 999999999 260 0.1510 0 88 0.180 0.0 1.0 -2.30436E7 21.7 15.0 66 101300 408 1358 376 128 132 88 14200 12100 10500 1970 330 4.1 5 5 16.0 2000 9 999999999 250 0.1510 0 88 0.180 0.0 1.0 -2.30472E7 19.4 14.4 73 101400 141 1358 367 55 79 47 5900 4400 5500 980 330 4.1 7 6 19.2 6096 9 999999999 250 0.1510 0 88 0.180 0.0 1.0 -2.30508E7 18.9 14.4 75 101400 0 57 364 0 0 0 0 0 0 0 310 2.1 8 6 19.2 6096 9 999999999 240 0.1510 0 88 0.180 0.0 1.0 -2.30544E7 18.3 14.4 78 101500 0 0 361 0 0 0 0 0 0 0 350 2.1 7 6 16.0 6096 9 999999999 240 0.1510 0 88 0.180 0.0 1.0 -2.3058E7 17.8 14.4 80 101500 0 0 369 0 0 0 0 0 0 0 320 2.1 8 8 16.0 6096 9 999999999 240 0.1510 0 88 0.180 0.0 1.0 -2.30616E7 17.2 14.4 84 101500 0 0 350 0 0 0 0 0 0 0 300 2.6 7 4 19.2 2000 9 999999999 230 0.1510 0 88 0.180 0.0 1.0 -2.30652E7 16.7 14.4 86 101500 0 0 350 0 0 0 0 0 0 0 320 3.1 8 5 19.2 6096 9 999999999 230 0.1510 0 88 0.180 0.0 1.0 -2.30688E7 16.1 14.4 90 101500 0 0 345 0 0 0 0 0 0 0 310 4.6 7 4 19.2 457 9 999999999 220 0.1510 0 88 0.180 0.0 1.0 -2.30724E7 16.1 14.4 90 101500 0 0 345 0 0 0 0 0 0 0 320 2.6 7 4 19.2 488 9 999999999 220 0.1510 0 88 0.180 0.0 1.0 -2.3076E7 16.7 14.4 86 101500 0 0 371 0 0 0 0 0 0 0 300 2.1 10 9 19.2 366 9 999999999 209 0.1510 0 88 0.180 0.0 1.0 -2.30796E7 16.1 14.4 90 101500 0 0 378 0 0 0 0 0 0 0 310 3.6 10 10 16.0 366 9 999999999 209 0.1510 0 88 0.180 0.0 1.0 -2.30832E7 16.1 14.4 90 101500 0 0 378 0 0 0 0 0 0 0 330 3.6 10 10 16.0 274 9 999999999 209 0.1510 0 88 0.180 0.0 1.0 -2.30868E7 16.1 14.4 90 101500 0 0 378 0 0 0 0 0 0 0 320 3.1 10 10 16.0 274 9 999999999 200 0.1510 0 88 0.180 0.0 1.0 -2.30904E7 16.1 14.4 90 101500 0 0 378 0 0 0 0 0 0 0 320 4.1 10 10 8.0 274 9 999999999 200 0.1510 0 88 0.180 0.0 1.0 -2.3094E7 16.1 14.4 90 101600 126 1325 378 21 0 21 2400 0 2400 770 320 3.6 10 10 8.0 274 9 999999999 200 0.1510 0 88 0.180 0.0 1.0 -2.30976E7 16.7 14.4 86 101600 393 1359 382 61 0 61 7100 0 7100 2500 320 4.1 10 10 9.6 305 9 999999999 200 0.1510 0 88 0.180 0.0 1.0 -2.31012E7 16.7 14.4 86 101600 636 1359 382 96 0 96 11500 0 11500 4360 360 3.1 10 10 9.6 305 9 999999999 200 0.1510 0 88 0.180 0.0 1.0 -2.31048E7 17.2 14.4 84 101600 834 1359 384 140 0 140 16800 0 16800 6690 340 3.6 10 10 9.6 244 9 999999999 200 0.1510 0 88 0.180 0.0 1.0 -2.31084E7 17.8 15.0 84 101600 975 1359 388 172 0 172 20800 0 20800 8460 10 2.1 10 10 9.6 274 9 999999999 200 0.1510 0 88 0.180 0.0 1.0 -2.3112E7 19.4 13.9 70 101500 1049 1359 363 774 637 282 82700 66300 31400 9430 30 3.6 5 5 9.6 2000 9 999999999 200 0.1510 0 88 0.180 0.0 1.0 -2.31156E7 20.6 15.6 73 101400 1050 1359 350 761 693 225 79900 70000 25600 7330 50 2.6 0 0 11.2 2000 9 999999999 200 0.1510 0 88 0.180 0.0 1.0 -2.31192E7 22.2 15.0 64 101400 979 1359 357 695 668 213 72600 67200 24100 6070 340 5.7 0 0 12.8 2000 9 999999999 200 0.1510 0 88 0.180 0.0 1.0 -2.31228E7 21.7 14.4 63 101300 840 1359 354 567 612 189 58900 60900 21100 4430 310 7.2 0 0 16.0 2000 9 999999999 190 0.1510 0 88 0.180 0.0 1.0 -2.31264E7 19.4 14.4 73 101300 643 1359 343 391 507 151 41500 50400 17600 3100 320 8.8 0 0 19.2 2000 9 999999999 190 0.1510 0 88 0.180 0.0 1.0 -2.313E7 17.2 13.9 81 101300 401 1359 332 194 321 99 20300 28200 11900 1850 320 8.2 0 0 19.2 2000 9 999999999 190 0.1510 0 88 0.180 0.0 1.0 -2.31336E7 16.1 13.3 83 101300 134 1359 327 40 43 36 4400 2400 4100 750 320 9.8 0 0 16.0 2000 9 999999999 190 0.1510 0 88 0.180 0.0 1.0 -2.31372E7 15.0 13.3 90 101300 0 11 322 0 0 0 0 0 0 0 320 10.3 0 0 16.0 2000 9 999999999 190 0.1510 0 88 0.180 0.0 1.0 -2.31408E7 14.4 13.3 93 101400 0 0 333 0 0 0 0 0 0 0 320 5.7 3 3 12.8 2000 9 999999999 190 0.1510 0 88 0.180 0.0 1.0 -2.31444E7 13.9 13.3 96 101400 0 0 323 0 0 0 0 0 0 0 320 6.2 1 1 11.2 2000 9 999999999 190 0.1510 0 88 0.180 0.0 1.0 -2.3148E7 13.9 12.8 93 101400 0 0 316 0 0 0 0 0 0 0 330 5.2 0 0 11.2 2000 9 999999999 190 0.1510 0 88 0.180 0.0 1.0 -2.31516E7 13.3 12.8 97 101400 0 0 314 0 0 0 0 0 0 0 320 5.2 0 0 16.0 2000 9 999999999 190 0.1510 0 88 0.180 0.0 1.0 -2.31552E7 13.3 12.8 97 101400 0 0 352 0 0 0 0 0 0 0 310 3.1 10 9 6.4 122 9 999999999 190 0.1510 0 88 0.180 0.0 1.0 -2.31588E7 13.3 12.8 97 101400 0 0 332 0 0 0 0 0 0 0 330 4.1 8 5 6.4 122 9 999999999 180 0.1500 0 88 0.180 0.0 1.0 -2.31624E7 13.3 12.8 97 101500 0 0 362 0 0 0 0 0 0 0 310 3.1 10 10 0.8 122 9 999999999 180 0.1500 0 88 0.180 0.0 1.0 -2.3166E7 13.3 12.8 97 101400 0 0 362 0 0 0 0 0 0 0 330 4.1 10 10 3.2 91 9 999999999 180 0.1500 0 88 0.180 0.0 1.0 -2.31696E7 13.3 12.8 97 101400 0 0 362 0 0 0 0 0 0 0 0 0.0 10 10 3.2 61 9 999999999 180 0.1500 0 88 0.180 0.0 1.0 -2.31732E7 13.3 13.3 100 101400 0 0 363 0 0 0 0 0 0 0 320 2.1 10 10 1.6 61 9 999999999 180 0.1500 0 88 0.180 0.0 1.0 -2.31768E7 13.3 13.3 100 101400 0 0 363 0 0 0 0 0 0 0 320 2.6 10 10 1.6 91 9 999999999 180 0.1500 0 88 0.180 0.0 1.0 -2.31804E7 13.3 12.8 97 101400 122 1303 362 14 0 14 1700 0 1700 540 340 3.6 10 10 1.0 91 9 999999999 180 0.1500 0 88 0.180 0.0 1.0 -2.3184E7 13.3 12.8 97 101500 389 1360 362 44 0 44 5300 0 5300 1880 320 3.6 10 10 2.0 91 9 999999999 190 0.1500 0 88 0.180 0.0 1.0 -2.31876E7 13.9 13.3 96 101500 632 1360 366 86 0 86 10400 0 10400 3960 340 2.1 10 10 3.6 91 9 999999999 190 0.1500 0 88 0.180 0.0 1.0 -2.31912E7 16.1 13.9 87 101500 830 1360 367 221 73 176 24800 7700 20000 4800 360 3.1 10 9 4.8 213 9 999999999 190 0.1500 0 88 0.180 0.0 1.0 -2.31948E7 17.8 13.3 75 101400 971 1360 335 723 833 127 76300 83800 16300 3480 10 3.6 0 0 8.0 2000 9 999999999 190 0.1500 0 88 0.180 0.0 1.0 -2.31984E7 18.9 12.8 68 101300 1044 1360 339 789 853 134 83700 86100 17400 4180 330 7.2 0 0 14.4 2000 9 999999999 190 0.1500 0 88 0.180 0.0 1.0 -2.3202E7 18.9 12.8 68 101300 1045 1360 339 789 853 134 83800 86100 17400 4180 320 9.3 0 0 19.2 2000 9 999999999 190 0.1500 0 88 0.180 0.0 1.0 -2.32056E7 19.4 12.8 66 101300 973 1360 341 724 834 127 76500 83900 16300 3500 320 10.3 0 0 19.2 2000 9 999999999 190 0.1500 0 88 0.180 0.0 1.0 -2.32092E7 18.9 12.8 68 101300 834 1360 339 599 790 114 62600 78600 14300 2620 320 11.3 0 0 19.2 2000 9 999999999 190 0.1500 0 88 0.180 0.0 1.0 -2.32128E7 17.8 13.3 75 101300 636 1360 335 424 707 93 45000 69500 12400 1970 330 9.8 0 0 19.2 2000 9 999999999 190 0.1500 0 88 0.180 0.0 1.0 -2.32164E7 16.7 13.3 80 101300 394 1360 329 222 541 65 23100 47500 9300 1230 320 8.2 0 0 19.2 2000 9 999999999 200 0.1500 0 88 0.180 0.0 1.0 -2.322E7 15.6 12.8 83 101400 127 1349 330 42 144 29 4500 7400 3800 510 320 6.7 1 1 16.0 2000 9 999999999 200 0.1500 0 88 0.180 0.0 1.0 -2.32236E7 14.4 12.8 90 101500 0 0 319 0 0 0 0 0 0 0 310 6.7 0 0 19.2 2000 9 999999999 200 0.1500 0 88 0.180 0.0 1.0 -2.32272E7 14.4 12.8 90 101400 0 0 325 0 0 0 0 0 0 0 320 4.1 1 1 19.2 2000 9 999999999 200 0.1500 0 88 0.180 0.0 1.0 -2.32308E7 14.4 13.3 93 101500 0 0 325 0 0 0 0 0 0 0 320 5.7 1 1 19.2 2000 9 999999999 200 0.1500 0 88 0.180 0.0 1.0 -2.32344E7 13.9 13.3 96 101500 0 0 336 0 0 0 0 0 0 0 320 4.1 7 5 12.8 396 9 999999999 200 0.1500 0 88 0.180 0.0 1.0 -2.3238E7 13.9 13.3 96 101500 0 0 356 0 0 0 0 0 0 0 320 4.6 10 9 12.8 366 9 999999999 200 0.1500 0 88 0.180 0.0 1.0 -2.32416E7 14.4 13.3 93 101400 0 0 358 0 0 0 0 0 0 0 310 5.2 10 9 12.8 335 9 999999999 200 0.1500 0 88 0.180 0.0 1.0 -2.32452E7 13.9 13.3 96 101400 0 0 366 0 0 0 0 0 0 0 290 5.2 10 10 16.0 274 9 999999999 200 0.1490 0 88 0.180 0.0 1.0 -2.32488E7 13.9 13.3 96 101400 0 0 366 0 0 0 0 0 0 0 310 4.1 10 10 16.0 152 9 999999999 209 0.1490 0 88 0.180 0.0 1.0 -2.32524E7 13.9 12.8 93 101400 0 0 365 0 0 0 0 0 0 0 310 4.1 10 10 16.0 152 9 999999999 209 0.1490 0 88 0.180 0.0 1.0 -2.3256E7 13.9 13.3 96 101400 0 0 366 0 0 0 0 0 0 0 310 3.1 10 10 16.0 152 9 999999999 209 0.1490 0 88 0.180 0.0 1.0 -2.32596E7 13.9 13.3 96 101400 0 0 366 0 0 0 0 0 0 0 270 4.1 10 10 12.8 152 9 999999999 209 0.1490 0 88 0.180 0.0 1.0 -2.32632E7 13.9 13.3 96 101400 0 0 366 0 0 0 0 0 0 0 280 3.6 10 10 12.8 152 9 999999999 209 0.1490 0 88 0.180 0.0 1.0 -2.32668E7 14.4 13.3 93 101400 118 1304 368 15 0 15 1800 0 1800 570 350 4.1 10 10 16.0 213 9 999999999 220 0.1490 0 88 0.180 0.0 1.0 -2.32704E7 15.6 12.8 83 101500 385 1361 374 57 0 57 6700 0 6700 2350 250 2.1 10 10 16.0 305 9 999999999 220 0.1490 0 88 0.180 0.0 1.0 -2.3274E7 16.7 12.8 78 101500 627 1361 380 128 0 128 14900 0 14900 5490 310 2.6 10 10 16.0 2896 9 999999999 220 0.1490 0 88 0.180 0.0 1.0 -2.32776E7 16.7 13.3 80 101500 826 1361 362 419 141 333 45100 14700 36200 9070 350 3.6 8 8 14.4 4267 9 999999999 220 0.1490 0 88 0.180 0.0 1.0 -2.32812E7 18.3 13.3 73 101500 966 1361 360 577 478 237 61900 49600 26600 6770 340 3.1 7 6 17.6 4267 9 999999999 230 0.1490 0 88 0.180 0.0 1.0 -2.32848E7 19.4 13.3 68 101500 1039 1361 357 721 751 148 75700 75400 17900 4420 320 6.2 3 3 19.2 2000 9 999999999 230 0.1490 0 88 0.180 0.0 1.0 -2.32884E7 18.9 13.3 70 101400 1040 1361 357 650 593 196 68800 60300 22600 6320 320 9.8 4 4 19.2 2000 9 999999999 230 0.1490 0 88 0.180 0.0 1.0 -2.3292E7 18.9 13.3 70 101400 967 1361 357 623 613 186 65600 62000 21400 5280 300 8.8 4 4 19.2 2000 9 999999999 240 0.1490 0 88 0.180 0.0 1.0 -2.32956E7 17.8 13.3 75 101400 828 1361 354 524 660 122 56000 66900 15200 2990 330 7.7 5 5 24.0 2000 9 999999999 240 0.1490 0 88 0.180 0.0 1.0 -2.32992E7 18.3 13.3 73 101300 630 1361 360 244 345 84 27400 34400 11400 1630 310 7.7 6 6 24.0 4267 9 999999999 240 0.1490 0 88 0.180 0.0 1.0 -2.33028E7 17.2 13.3 78 101300 387 1361 359 181 170 132 19400 15200 15100 2930 310 7.2 7 7 24.0 4267 9 999999999 240 0.1490 0 88 0.180 0.0 1.0 -2.33064E7 16.1 13.3 83 101300 121 1304 341 45 95 36 4700 4400 4300 670 300 6.2 3 3 19.2 2000 9 999999999 250 0.1490 0 88 0.180 0.0 1.0 -2.331E7 16.1 13.3 83 101300 0 0 338 0 0 0 0 0 0 0 280 6.7 2 2 19.2 2000 9 999999999 250 0.1490 0 88 0.180 0.0 1.0 -2.33136E7 16.1 13.3 83 101400 0 0 341 0 0 0 0 0 0 0 280 5.7 3 3 19.2 2000 9 999999999 250 0.1490 0 88 0.180 0.0 1.0 -2.33172E7 16.1 13.3 83 101400 0 0 333 0 0 0 0 0 0 0 300 4.6 1 1 19.2 2000 9 999999999 250 0.1490 0 88 0.180 0.0 1.0 -2.33208E7 15.6 13.3 86 101400 0 0 339 0 0 0 0 0 0 0 320 5.2 3 3 19.2 2000 9 999999999 260 0.1490 0 88 0.180 0.0 1.0 -2.33244E7 15.6 13.3 86 101400 0 0 335 0 0 0 0 0 0 0 310 6.2 2 2 19.2 2000 9 999999999 260 0.1490 0 88 0.180 0.0 1.0 -2.3328E7 15.6 13.9 90 101400 0 0 357 0 0 0 0 0 0 0 300 5.2 8 8 19.2 3048 9 999999999 260 0.1490 0 88 0.180 0.0 1.0 -2.33316E7 15.6 13.9 90 101400 0 0 357 0 0 0 0 0 0 0 310 4.1 8 8 19.2 366 9 999999999 270 0.1480 0 88 0.180 0.0 1.0 -2.33352E7 15.6 13.9 90 101400 0 0 375 0 0 0 0 0 0 0 280 5.2 10 10 19.2 274 9 999999999 270 0.1480 0 88 0.180 0.0 1.0 -2.33388E7 15.6 13.9 90 101400 0 0 375 0 0 0 0 0 0 0 310 3.6 10 10 19.2 274 9 999999999 270 0.1480 0 88 0.180 0.0 1.0 -2.33424E7 15.6 13.3 86 101500 0 0 374 0 0 0 0 0 0 0 250 4.1 10 10 19.2 274 9 999999999 270 0.1480 0 88 0.180 0.0 1.0 -2.3346E7 15.6 13.3 86 101500 0 0 374 0 0 0 0 0 0 0 290 5.2 10 10 19.2 274 9 999999999 270 0.1480 0 88 0.180 0.0 1.0 -2.33496E7 15.6 13.3 86 101500 0 0 364 0 0 0 0 0 0 0 290 6.2 10 9 19.2 366 9 999999999 270 0.1480 0 88 0.180 0.0 1.0 -2.33532E7 16.1 12.8 81 101500 115 1282 366 26 5 25 2900 0 2900 870 260 3.6 10 9 16.0 366 9 999999999 270 0.1480 0 88 0.180 0.0 1.0 -2.33568E7 16.7 12.8 78 101600 381 1361 356 147 50 133 16100 4500 14800 3280 250 4.1 10 7 16.0 488 9 999999999 260 0.1480 0 88 0.180 0.0 1.0 -2.33604E7 18.9 12.8 68 101600 623 1361 372 225 123 169 24800 12500 19100 4090 290 6.2 9 8 16.0 488 9 999999999 260 0.1480 0 88 0.180 0.0 1.0 -2.3364E7 18.9 12.8 68 101600 821 1361 367 311 217 179 34300 23200 20300 4230 290 6.2 9 7 19.2 579 9 999999999 260 0.1480 0 88 0.180 0.0 1.0 -2.33676E7 20.0 12.8 63 101600 962 1361 378 361 178 235 39900 19200 26200 6570 310 7.2 9 8 24.0 2286 9 999999999 260 0.1480 0 88 0.180 0.0 1.0 -2.33712E7 20.6 12.8 61 101600 1034 1361 375 737 502 355 76600 52000 37000 11730 330 6.7 9 7 40.0 2286 9 999999999 250 0.1480 0 88 0.180 0.0 1.0 -2.33748E7 21.1 12.2 57 101500 1034 1361 383 563 233 385 61300 24700 42500 12810 290 7.7 8 8 48.0 2286 9 999999999 250 0.1480 0 88 0.180 0.0 1.0 -2.33784E7 22.8 11.7 50 101500 962 1361 381 579 416 285 61000 43100 30500 8210 290 7.7 7 6 48.0 2286 9 999999999 250 0.1480 0 88 0.180 0.0 1.0 -2.3382E7 21.7 11.7 53 101400 821 1361 369 549 623 173 57200 62100 19600 4010 320 7.7 4 4 48.0 2000 9 999999999 250 0.1480 0 88 0.180 0.0 1.0 -2.33856E7 21.1 11.7 55 101400 623 1361 366 350 386 173 37600 39400 19500 3730 320 6.7 4 4 40.0 2000 9 999999999 240 0.1480 0 88 0.180 0.0 1.0 -2.33892E7 19.4 12.2 63 101400 381 1361 355 202 379 96 21000 32700 11900 1790 310 7.7 3 3 40.0 2000 9 999999999 240 0.1480 0 88 0.180 0.0 1.0 -2.33928E7 17.8 12.8 73 101400 114 1259 345 36 93 27 3800 4300 3400 480 290 5.7 2 2 40.0 2000 9 999999999 240 0.1480 0 88 0.180 0.0 1.0 -2.33964E7 16.1 13.9 87 101500 0 0 327 0 0 0 0 0 0 0 300 6.2 0 0 40.0 2000 9 999999999 240 0.1480 0 88 0.180 0.0 1.0 -2.34E7 16.1 13.9 87 101500 0 0 327 0 0 0 0 0 0 0 280 7.2 0 0 40.0 2000 9 999999999 240 0.1480 0 88 0.180 0.0 1.0 -2.34036E7 16.1 13.9 87 101500 0 0 342 0 0 0 0 0 0 0 280 5.2 3 3 24.0 2000 9 999999999 230 0.1480 0 88 0.180 0.0 1.0 -2.34072E7 16.1 14.4 90 101500 0 0 351 0 0 0 0 0 0 0 280 5.2 7 6 24.0 305 9 999999999 230 0.1480 0 88 0.180 0.0 1.0 -2.34108E7 16.1 14.4 90 101500 0 0 360 0 0 0 0 0 0 0 270 2.1 9 8 24.0 335 9 999999999 230 0.1480 0 88 0.180 0.0 1.0 -2.34144E7 16.1 14.4 90 101500 0 0 378 0 0 0 0 0 0 0 300 3.1 10 10 24.0 274 9 999999999 230 0.1480 0 88 0.180 0.0 1.0 -2.3418E7 16.1 14.4 90 101500 0 0 378 0 0 0 0 0 0 0 310 4.1 10 10 24.0 274 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34216E7 15.6 13.9 90 101500 0 0 375 0 0 0 0 0 0 0 310 4.1 10 10 24.0 274 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34252E7 16.1 13.3 83 101500 0 0 377 0 0 0 0 0 0 0 320 4.1 10 10 24.0 274 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34288E7 16.1 13.3 83 101500 0 0 377 0 0 0 0 0 0 0 300 4.1 10 10 24.0 396 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34324E7 16.1 13.3 83 101500 0 0 377 0 0 0 0 0 0 0 320 4.1 10 10 24.0 366 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.3436E7 15.6 13.3 86 101500 0 0 356 0 0 0 0 0 0 0 320 2.6 9 8 32.0 457 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34396E7 15.6 13.3 86 101500 111 1260 335 35 54 30 3800 2900 3600 620 290 3.1 7 2 32.0 2000 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34432E7 17.2 13.3 78 101600 377 1362 364 134 49 120 14600 4400 13400 3030 290 1.5 9 8 24.0 488 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34468E7 18.3 13.3 73 101600 619 1362 357 307 305 168 33000 31100 18800 3600 300 2.1 6 5 24.0 518 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34504E7 19.4 13.9 70 101600 817 1362 343 574 742 128 61000 74900 15900 3080 90 2.6 0 0 24.0 2000 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.3454E7 21.1 13.9 63 101500 957 1362 351 700 791 144 72700 79000 17100 3660 50 2.6 0 0 32.0 2000 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34576E7 22.2 12.8 55 101500 1029 1362 355 765 812 152 79900 81400 18300 4390 330 5.2 0 0 40.0 2000 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34612E7 22.8 12.2 51 101500 1029 1362 357 765 812 152 79900 81400 18300 4380 290 5.2 0 0 48.0 2000 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34648E7 21.1 12.8 59 101400 956 1362 349 699 791 144 72700 79000 17100 3650 310 8.2 0 0 56.0 2000 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34684E7 20.6 13.3 63 101400 815 1362 348 572 742 128 60800 74900 15900 3070 300 8.8 0 0 56.0 2000 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.3472E7 18.9 13.3 70 101400 616 1362 340 397 649 103 41700 63100 13000 2120 290 10.8 0 0 56.0 2000 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34756E7 17.8 12.8 73 101300 374 1362 334 198 465 70 20400 39800 9400 1290 280 9.3 0 0 56.0 2000 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34792E7 15.6 12.8 83 101300 108 1237 330 34 96 26 3700 4300 3300 460 310 7.2 1 1 56.0 2000 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34828E7 15.6 12.8 83 101300 0 0 324 0 0 0 0 0 0 0 270 2.6 0 0 19.2 2000 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.34864E7 15.6 13.3 86 101400 0 0 344 0 0 0 0 0 0 0 310 8.2 5 5 19.2 2000 9 999999999 220 0.1480 0 88 0.180 0.0 1.0 -2.349E7 15.0 13.3 90 101400 0 0 328 0 0 0 0 0 0 0 310 6.2 1 1 19.2 2000 9 999999999 209 0.1480 0 88 0.180 0.0 1.0 -2.34936E7 15.0 13.3 90 101300 0 0 338 0 0 0 0 0 0 0 280 6.2 4 4 19.2 2000 9 999999999 209 0.1480 0 88 0.180 0.0 1.0 -2.34972E7 14.4 13.3 93 101300 0 0 368 0 0 0 0 0 0 0 310 6.2 10 10 19.2 274 9 999999999 209 0.1480 0 88 0.180 0.0 1.0 -2.35008E7 14.4 13.3 93 101300 0 0 358 0 0 0 0 0 0 0 290 5.2 10 9 19.2 213 9 999999999 209 0.1480 0 88 0.180 0.0 1.0 -2.35044E7 14.4 13.3 93 101200 0 0 338 0 0 0 0 0 0 0 310 4.1 5 5 19.2 2000 9 999999999 209 0.1460 0 88 0.180 0.0 1.0 -2.3508E7 13.9 12.8 93 101200 0 0 333 0 0 0 0 0 0 0 300 3.1 4 4 19.2 2000 9 999999999 209 0.1460 0 88 0.180 0.0 1.0 -2.35116E7 13.3 11.7 90 101200 0 0 326 0 0 0 0 0 0 0 0 0.0 3 3 19.2 2000 9 999999999 209 0.1460 0 88 0.180 0.0 1.0 -2.35152E7 12.8 12.2 96 101200 0 0 321 0 0 0 0 0 0 0 0 0.0 2 2 19.2 2000 9 999999999 209 0.1460 0 88 0.180 0.0 1.0 -2.35188E7 13.3 12.2 93 101200 0 0 332 0 0 0 0 0 0 0 0 0.0 5 5 24.0 2000 9 999999999 209 0.1460 0 88 0.180 0.0 1.0 -2.35224E7 12.8 11.7 93 101200 0 0 310 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 209 0.1460 0 88 0.180 0.0 1.0 -2.3526E7 13.3 12.8 97 101200 108 1238 314 40 194 23 4200 10500 3200 410 0 0.0 0 0 16.0 2000 9 999999999 209 0.1460 0 88 0.180 0.0 1.0 -2.35296E7 16.1 13.3 83 101200 373 1363 327 212 574 55 22200 49700 8600 1050 140 2.1 0 0 16.0 2000 9 999999999 200 0.1460 0 88 0.180 0.0 1.0 -2.35332E7 17.8 13.3 75 101200 615 1363 341 392 651 99 41300 63400 12700 2040 70 2.1 3 1 16.0 2000 9 999999999 200 0.1460 0 88 0.180 0.0 1.0 -2.35368E7 18.9 13.9 73 101200 812 1363 351 546 685 138 57800 68900 16600 3270 60 3.1 5 2 19.2 2000 9 999999999 200 0.1460 0 88 0.180 0.0 1.0 -2.35404E7 20.0 13.9 68 101200 952 1363 360 710 736 196 74500 74200 22500 5370 60 2.1 8 3 24.0 2000 9 999999999 200 0.1460 0 88 0.180 0.0 1.0 -2.3544E7 21.7 14.4 63 101100 1024 1363 366 732 716 194 77500 72700 22700 6050 20 3.6 7 2 19.2 2000 9 999999999 200 0.1460 0 88 0.180 0.0 1.0 -2.35476E7 23.3 12.8 52 101000 1023 1363 376 754 765 179 80200 78000 21500 5620 330 9.3 8 3 24.0 2000 9 999999999 190 0.1460 0 88 0.180 0.0 1.0 -2.35512E7 19.4 12.8 66 101000 950 1363 341 710 862 109 76000 87100 15100 3010 320 11.8 0 0 19.2 2000 9 999999999 190 0.1460 0 88 0.180 0.0 1.0 -2.35548E7 18.3 12.2 68 101000 809 1363 336 584 820 97 61900 81900 13100 2290 310 8.8 0 0 40.0 2000 9 999999999 190 0.1460 0 88 0.180 0.0 1.0 -2.35584E7 17.2 12.8 75 101000 610 1363 331 409 739 79 42800 71400 10800 1630 310 9.3 0 0 40.0 2000 9 999999999 190 0.1460 0 88 0.180 0.0 1.0 -2.3562E7 16.7 12.8 78 100900 367 1363 329 208 571 55 21900 49100 8600 1050 310 9.3 0 0 48.0 2000 9 999999999 180 0.1460 0 88 0.180 0.0 1.0 -2.35656E7 15.6 12.2 80 100900 102 1193 323 37 169 23 4000 8100 3300 400 320 7.7 2 0 24.0 2000 9 999999999 180 0.1460 0 88 0.180 0.0 1.0 -2.35692E7 14.4 12.2 87 101000 0 0 318 0 0 0 0 0 0 0 330 7.7 0 0 19.2 2000 9 999999999 180 0.1460 0 88 0.180 0.0 1.0 -2.35728E7 13.9 12.8 93 101000 0 0 316 0 0 0 0 0 0 0 330 7.2 0 0 19.2 2000 9 999999999 180 0.1460 0 88 0.180 0.0 1.0 -2.35764E7 13.9 12.2 89 101100 0 0 316 0 0 0 0 0 0 0 310 4.6 0 0 19.2 2000 9 999999999 170 0.1460 0 88 0.180 0.0 1.0 -2.358E7 13.9 12.2 93 101100 0 0 326 0 0 0 0 0 0 0 320 4.3 2 2 19.2 2000 9 999999999 170 0.1460 0 88 0.180 0.0 1.0 -2.35836E7 13.9 12.2 97 101100 0 0 322 0 0 0 0 0 0 0 310 4.0 1 1 16.0 2000 9 999999999 170 0.1460 0 88 0.180 0.0 1.0 -2.35872E7 13.9 12.2 93 101000 0 0 316 0 0 0 0 0 0 0 320 3.7 0 0 16.0 2000 9 999999999 170 0.1460 0 88 0.180 0.0 1.0 -2.35908E7 13.9 12.2 90 101400 0 0 364 0 0 0 0 0 0 0 260 3.5 10 10 14.4 366 9 999999999 200 0.1410 0 88 0.180 0.0 1.0 -2.35944E7 13.9 12.2 89 101500 0 0 364 0 0 0 0 0 0 0 230 3.2 10 10 16.0 244 9 999999999 200 0.1410 0 88 0.180 0.0 1.0 -2.3598E7 13.9 12.2 89 101400 0 0 364 0 0 0 0 0 0 0 240 2.9 10 10 16.0 305 9 999999999 200 0.1410 0 88 0.180 0.0 1.0 -2.36016E7 13.9 12.2 89 101500 0 0 364 0 0 0 0 0 0 0 220 2.6 10 10 16.0 427 9 999999999 190 0.1410 0 88 0.180 0.0 1.0 -2.36052E7 13.9 11.7 87 101400 0 0 364 0 0 0 0 0 0 0 210 3.1 10 10 16.0 366 9 999999999 190 0.1410 0 88 0.180 0.0 1.0 -2.36088E7 13.9 11.1 83 101500 0 0 363 0 0 0 0 0 0 0 190 3.1 10 10 16.0 457 9 999999999 190 0.1410 0 88 0.180 0.0 1.0 -2.36124E7 13.9 11.7 87 101500 104 1216 364 9 0 9 1100 0 1100 360 220 2.6 10 10 16.0 366 9 999999999 190 0.1410 0 88 0.180 0.0 1.0 -2.3616E7 14.4 11.7 84 101600 369 1364 366 32 0 32 3900 0 3900 1400 200 4.1 10 10 16.0 366 9 999999999 190 0.1410 0 88 0.180 0.0 1.0 -2.36196E7 14.4 11.7 84 101600 610 1364 366 63 0 63 7700 0 7700 2970 190 3.1 10 10 16.0 427 9 999999999 190 0.1410 0 88 0.180 0.0 1.0 -2.36232E7 14.4 11.7 84 101600 808 1364 366 91 0 91 11200 0 11200 4540 210 4.6 10 10 16.0 427 9 999999999 190 0.1410 0 88 0.180 0.0 1.0 -2.36268E7 15.0 12.2 83 101600 947 1364 370 125 0 125 15400 0 15400 6350 210 4.1 10 10 16.0 427 9 999999999 190 0.1410 0 88 0.180 0.0 1.0 -2.36304E7 15.0 11.7 81 101600 1018 1364 369 137 0 137 16900 0 16900 7050 200 5.7 10 10 16.0 488 9 999999999 180 0.1410 0 88 0.180 0.0 1.0 -2.3634E7 15.0 11.7 81 101600 1017 1364 369 174 0 174 21100 0 21100 8660 230 4.6 10 10 16.0 518 9 999999999 180 0.1410 0 88 0.180 0.0 1.0 -2.36376E7 15.6 11.7 78 101500 943 1364 373 183 0 183 21900 0 21900 8780 220 4.6 10 10 16.0 518 9 999999999 180 0.1410 0 88 0.180 0.0 1.0 -2.36412E7 15.0 11.7 81 101500 802 1364 369 169 0 169 19900 0 19900 7660 230 5.7 10 10 16.0 518 9 999999999 180 0.1410 0 88 0.180 0.0 1.0 -2.36448E7 15.6 11.1 75 101500 603 1364 372 161 0 161 18300 0 18300 6370 240 6.2 10 10 16.0 640 9 999999999 180 0.1410 0 88 0.180 0.0 1.0 -2.36484E7 14.4 11.7 84 101500 360 1364 366 109 0 109 12100 0 12100 3680 250 6.7 10 10 16.0 518 9 999999999 180 0.1410 0 88 0.180 0.0 1.0 -2.3652E7 14.4 10.6 78 101600 96 1171 365 12 0 12 1400 0 1400 460 230 5.2 10 10 16.0 518 9 999999999 180 0.1410 0 88 0.180 0.0 1.0 -2.36556E7 14.4 11.1 81 101600 0 0 366 0 0 0 0 0 0 0 250 5.7 10 10 16.0 579 9 999999999 180 0.1410 0 88 0.180 0.0 1.0 -2.36592E7 14.4 11.7 84 101600 0 0 366 0 0 0 0 0 0 0 250 5.7 10 10 16.0 518 9 999999999 180 0.1410 0 88 0.180 0.0 1.0 -2.36628E7 14.4 11.7 84 101600 0 0 366 0 0 0 0 0 0 0 260 7.2 10 10 16.0 579 9 999999999 170 0.1410 0 88 0.180 0.0 1.0 -2.36664E7 14.4 11.7 84 101600 0 0 366 0 0 0 0 0 0 0 260 7.2 10 10 16.0 488 9 999999999 170 0.1410 0 88 0.180 0.0 1.0 -2.367E7 14.4 11.7 84 101600 0 0 366 0 0 0 0 0 0 0 250 7.2 10 10 16.0 488 9 999999999 170 0.1410 0 88 0.180 0.0 1.0 -2.36736E7 14.4 11.7 84 101600 0 0 366 0 0 0 0 0 0 0 250 5.2 10 10 16.0 427 9 999999999 170 0.1410 0 88 0.180 0.0 1.0 -2.36772E7 14.4 12.2 87 101600 0 0 367 0 0 0 0 0 0 0 260 3.6 10 10 16.0 427 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.36808E7 14.4 12.2 87 101600 0 0 367 0 0 0 0 0 0 0 250 4.6 10 10 16.0 427 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.36844E7 14.4 12.2 87 101500 0 0 367 0 0 0 0 0 0 0 260 5.2 10 10 16.0 427 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.3688E7 14.4 12.2 87 101600 0 0 367 0 0 0 0 0 0 0 280 3.1 10 10 16.0 427 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.36916E7 14.4 12.2 87 101500 0 0 357 0 0 0 0 0 0 0 180 1.5 9 9 16.0 671 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.36952E7 14.4 12.2 87 101500 0 0 367 0 0 0 0 0 0 0 270 2.1 10 10 16.0 427 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.36988E7 15.0 12.8 87 101600 101 1194 371 11 0 11 1300 0 1300 430 240 2.1 10 10 16.0 732 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.37024E7 16.1 13.3 83 101600 364 1365 377 130 85 107 14100 7400 12100 2360 220 4.1 10 10 16.0 701 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.3706E7 16.1 13.9 87 101600 606 1365 367 214 29 201 23900 2400 22900 7380 270 6.2 9 9 16.0 701 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.37096E7 17.2 12.2 72 101600 803 1365 371 283 64 245 31100 6500 27300 7920 250 6.2 9 9 16.0 701 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.37132E7 16.1 10.6 70 101600 942 1365 363 652 546 274 68600 56500 29500 7630 280 6.7 9 9 16.0 671 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.37168E7 17.2 11.1 67 101600 1013 1365 370 760 827 145 79500 82900 17700 4100 250 7.7 9 9 16.0 671 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.37204E7 17.2 11.1 67 101500 1012 1365 370 776 876 125 82400 88400 16600 3690 270 8.2 9 9 16.0 671 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.3724E7 16.7 10.6 67 101400 937 1365 346 706 812 147 72900 80800 17200 3560 250 10.3 5 5 16.0 2000 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.37276E7 17.2 10.0 63 101400 796 1365 342 563 665 174 58300 65900 19700 3890 250 10.8 3 3 16.0 2000 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.37312E7 16.7 9.4 62 101400 596 1365 336 372 402 195 39200 40500 21500 4300 260 8.8 2 2 16.0 2000 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.37348E7 16.1 9.4 64 101400 353 1365 342 235 346 145 24000 29200 16500 3140 250 6.7 5 5 16.0 2000 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.37384E7 15.0 10.0 72 101400 90 1126 337 23 145 14 2700 7700 2100 270 240 6.7 5 5 16.0 2000 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.3742E7 14.4 10.0 75 101400 0 0 334 0 0 0 0 0 0 0 250 9.3 5 5 16.0 2000 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.37456E7 13.9 10.0 77 101400 0 0 332 0 0 0 0 0 0 0 260 8.8 5 5 16.0 2000 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.37492E7 13.9 10.6 80 101400 0 0 333 0 0 0 0 0 0 0 250 9.8 5 5 16.0 2000 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.37528E7 13.9 10.0 77 101400 0 0 324 0 0 0 0 0 0 0 260 10.3 2 2 16.0 2000 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.37564E7 13.3 10.0 80 101400 0 0 324 0 0 0 0 0 0 0 260 8.8 3 3 16.0 2000 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.376E7 13.3 10.0 80 101400 0 0 321 0 0 0 0 0 0 0 260 8.2 2 2 16.0 2000 9 999999999 170 0.1400 0 88 0.180 0.0 1.0 -2.37636E7 12.8 10.6 86 101400 0 0 320 0 0 0 0 0 0 0 260 10.8 2 2 16.0 2000 9 999999999 170 0.1390 0 88 0.180 0.0 1.0 -2.37672E7 13.3 10.6 84 101400 0 0 325 0 0 0 0 0 0 0 260 9.3 3 3 16.0 2000 9 999999999 170 0.1390 0 88 0.180 0.0 1.0 -2.37708E7 12.8 10.0 83 101400 0 0 319 0 0 0 0 0 0 0 260 10.8 2 2 16.0 2000 9 999999999 170 0.1390 0 88 0.180 0.0 1.0 -2.37744E7 12.8 10.0 83 101400 0 0 322 0 0 0 0 0 0 0 260 9.8 3 3 16.0 2000 9 999999999 170 0.1390 0 88 0.180 0.0 1.0 -2.3778E7 12.8 10.0 83 101500 0 0 319 0 0 0 0 0 0 0 250 7.7 2 2 16.0 2000 9 999999999 170 0.1390 0 88 0.180 0.0 1.0 -2.37816E7 12.8 8.9 77 101500 0 0 321 0 0 0 0 0 0 0 260 10.3 3 3 16.0 2000 9 999999999 180 0.1390 0 88 0.180 0.0 1.0 -2.37852E7 13.3 10.0 80 101600 97 1172 321 27 198 14 3300 10800 2400 270 260 8.2 2 2 16.0 2000 9 999999999 180 0.1390 0 88 0.180 0.0 1.0 -2.37888E7 14.4 10.6 78 101600 360 1365 330 208 539 65 21400 45700 9300 1200 260 8.8 3 3 16.0 2000 9 999999999 180 0.1390 0 88 0.180 0.0 1.0 -2.37924E7 15.6 9.4 67 101600 602 1365 331 398 708 86 42200 69000 11700 1790 260 10.8 2 2 16.0 2000 9 999999999 180 0.1390 0 88 0.180 0.0 1.0 -2.3796E7 16.1 8.9 62 101700 799 1365 336 566 744 130 59900 74800 16000 3050 260 12.4 3 3 16.0 2000 9 999999999 180 0.1390 0 88 0.180 0.0 1.0 -2.37996E7 16.7 8.9 60 101700 937 1365 344 658 671 196 68700 67500 22300 5220 260 12.9 5 5 16.0 2000 9 999999999 180 0.1390 0 88 0.180 0.0 1.0 -2.38032E7 17.8 9.4 58 101700 1008 1365 350 701 641 227 73100 64400 25400 6700 260 8.8 5 5 16.0 2000 9 999999999 180 0.1390 0 88 0.180 0.0 1.0 -2.38068E7 17.8 9.4 58 101700 1006 1365 350 758 809 160 78200 80700 18600 4280 260 10.3 5 5 16.0 2000 9 999999999 180 0.1390 0 88 0.180 0.0 1.0 -2.38104E7 17.2 10.0 63 101600 931 1365 348 701 836 129 73300 83700 16000 3260 260 10.8 5 5 16.0 2000 9 999999999 180 0.1390 0 88 0.180 0.0 1.0 -2.3814E7 17.8 10.0 60 101600 789 1365 351 592 808 124 62800 81300 15600 2900 260 10.3 5 5 16.0 2000 9 999999999 180 0.1390 0 88 0.180 0.0 1.0 -2.38176E7 16.7 9.4 62 101600 589 1365 345 430 709 123 44300 67600 15000 2390 260 9.8 5 5 16.0 2000 9 999999999 180 0.1390 0 88 0.180 0.0 1.0 -2.38212E7 16.1 8.9 62 101600 346 1365 333 240 490 115 24100 40400 13900 2220 260 9.8 2 2 16.0 2000 9 999999999 190 0.1390 0 88 0.180 0.0 1.0 -2.38248E7 15.0 9.4 69 101600 84 1104 331 21 195 10 2800 11600 1800 240 240 7.7 3 3 16.0 2000 9 999999999 190 0.1390 0 88 0.180 0.0 1.0 -2.38284E7 14.4 9.4 72 101600 0 0 325 0 0 0 0 0 0 0 250 7.7 2 2 16.0 2000 9 999999999 190 0.1390 0 88 0.180 0.0 1.0 -2.3832E7 14.4 8.9 70 101700 0 0 328 0 0 0 0 0 0 0 260 8.8 3 3 16.0 2000 9 999999999 190 0.1390 0 88 0.180 0.0 1.0 -2.38356E7 13.9 10.0 77 101700 0 0 314 0 0 0 0 0 0 0 270 7.2 0 0 16.0 2000 9 999999999 190 0.1390 0 88 0.180 0.0 1.0 -2.38392E7 13.9 10.0 77 101800 0 0 314 0 0 0 0 0 0 0 260 5.2 0 0 16.0 2000 9 999999999 190 0.1390 0 88 0.180 0.0 1.0 -2.38428E7 13.3 10.0 80 101700 0 0 311 0 0 0 0 0 0 0 240 4.1 0 0 16.0 2000 9 999999999 190 0.1390 0 88 0.180 0.0 1.0 -2.38464E7 12.8 10.6 86 101700 0 0 309 0 0 0 0 0 0 0 280 5.2 0 0 16.0 2000 9 999999999 190 0.1390 0 88 0.180 0.0 1.0 -2.385E7 12.8 10.6 86 101700 0 0 309 0 0 0 0 0 0 0 260 2.6 0 0 16.0 2000 9 999999999 190 0.1390 0 88 0.180 0.0 1.0 -2.38536E7 12.2 10.6 90 101700 0 0 307 0 0 0 0 0 0 0 280 2.6 0 0 16.0 2000 9 999999999 190 0.1390 0 88 0.180 0.0 1.0 -2.38572E7 11.7 9.4 86 101700 0 0 303 0 0 0 0 0 0 0 200 1.5 0 0 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.38608E7 11.7 8.9 83 101800 0 0 303 0 0 0 0 0 0 0 210 2.1 0 0 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.38644E7 11.1 8.9 86 101800 0 0 300 0 0 0 0 0 0 0 130 1.5 0 0 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.3868E7 10.6 8.9 89 101900 0 0 308 0 0 0 0 0 0 0 0 0.0 2 2 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.38716E7 11.7 9.4 86 101900 94 1150 317 26 204 13 3200 12300 2200 290 0 0.0 3 3 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.38752E7 13.9 9.4 74 101900 356 1366 323 207 549 63 21300 46400 9200 1160 110 1.5 2 2 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.38788E7 15.6 8.9 64 101900 597 1366 334 388 662 98 40700 64000 12600 2000 0 0.0 3 3 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.38824E7 16.1 10.0 67 101900 794 1366 334 545 685 145 57100 68500 17100 3340 0 0.0 2 2 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.3886E7 17.2 10.6 65 101900 932 1366 343 641 629 210 66500 63000 23400 5490 50 2.6 3 3 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.38896E7 18.3 10.6 61 101900 1002 1366 345 660 569 241 71000 59200 27400 7260 40 2.1 2 2 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.38932E7 21.7 7.8 41 101800 1000 1366 367 659 544 260 70400 56500 28900 7840 260 7.2 5 5 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.38968E7 21.1 9.4 47 101800 925 1366 357 609 556 232 65100 57600 26000 6220 280 6.7 2 2 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.39004E7 20.6 10.0 51 101700 783 1366 359 537 610 187 57300 62300 21500 4250 260 9.3 3 3 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.3904E7 19.4 8.9 51 101700 583 1366 348 392 593 138 41400 57700 16700 2740 250 8.8 2 2 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.39076E7 17.8 9.4 58 101700 339 1366 345 232 455 119 23300 37200 14000 2310 260 9.3 3 3 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.39112E7 15.6 10.6 72 101700 79 1059 332 18 173 9 2400 10200 1600 220 260 8.2 2 2 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.39148E7 15.0 11.1 77 101700 0 0 320 0 0 0 0 0 0 0 280 6.7 0 0 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.39184E7 14.4 11.1 81 101700 0 0 317 0 0 0 0 0 0 0 270 6.2 0 0 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.3922E7 14.4 10.6 78 101700 0 0 316 0 0 0 0 0 0 0 270 2.6 0 0 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.39256E7 13.9 10.6 80 101700 0 0 314 0 0 0 0 0 0 0 280 2.6 0 0 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.39292E7 14.4 10.0 75 101600 0 0 316 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 200 0.1390 0 88 0.180 0.0 1.0 -2.39328E7 13.9 10.0 77 101600 0 0 314 0 0 0 0 0 0 0 290 1.5 0 0 16.0 2000 9 999999999 209 0.1390 0 88 0.180 0.0 1.0 -2.39364E7 13.3 8.9 75 101600 0 0 310 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 209 0.1380 0 88 0.180 0.0 1.0 -2.394E7 12.8 8.3 74 101600 0 0 307 0 0 0 0 0 0 0 260 2.1 0 0 16.0 2000 9 999999999 209 0.1380 0 88 0.180 0.0 1.0 -2.39436E7 12.8 9.4 80 101600 0 0 308 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 209 0.1380 0 88 0.180 0.0 1.0 -2.39472E7 12.2 7.8 74 101600 0 0 304 0 0 0 0 0 0 0 240 1.5 0 0 16.0 2000 9 999999999 209 0.1380 0 88 0.180 0.0 1.0 -2.39508E7 11.1 8.3 83 101600 0 0 300 0 0 0 0 0 0 0 200 1.5 0 0 16.0 2000 9 999999999 200 0.1380 0 88 0.180 0.0 1.0 -2.39544E7 11.7 8.3 80 101600 0 0 302 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 200 0.1380 0 88 0.180 0.0 1.0 -2.3958E7 12.2 7.8 74 101600 90 1128 304 24 181 12 2900 9700 2100 230 0 0.0 0 0 16.0 2000 9 999999999 200 0.1380 0 88 0.180 0.0 1.0 -2.39616E7 15.6 10.0 69 101700 352 1367 321 202 532 65 20800 44600 9300 1190 0 0.0 0 0 16.0 2000 9 999999999 200 0.1380 0 88 0.180 0.0 1.0 -2.39652E7 16.7 12.8 78 101700 593 1367 329 388 684 90 40800 66300 12000 1850 90 4.1 0 0 16.0 2000 9 999999999 200 0.1380 0 88 0.180 0.0 1.0 -2.39688E7 20.0 7.8 45 101700 789 1367 339 544 703 137 57200 70400 16500 3160 120 3.1 0 0 16.0 2000 9 999999999 200 0.1380 0 88 0.180 0.0 1.0 -2.39724E7 21.7 8.9 44 101700 927 1367 348 635 623 211 65900 62300 23500 5460 360 5.7 0 0 16.0 2000 9 999999999 190 0.1380 0 88 0.180 0.0 1.0 -2.3976E7 21.7 10.0 47 101600 997 1367 349 719 731 184 76000 74200 21700 5460 10 6.7 0 0 16.0 2000 9 999999999 190 0.1380 0 88 0.180 0.0 1.0 -2.39796E7 22.2 11.7 51 101600 994 1367 353 722 737 184 76200 74800 21700 5440 10 4.6 0 0 16.0 2000 9 999999999 190 0.1380 0 88 0.180 0.0 1.0 -2.39832E7 23.3 9.4 41 101500 919 1367 356 656 714 174 68900 72100 20300 4580 340 4.1 0 0 16.0 2000 9 999999999 190 0.1380 0 88 0.180 0.0 1.0 -2.39868E7 25.0 7.8 33 101500 776 1367 362 524 579 194 55500 59000 21900 4400 340 3.1 0 0 16.0 2000 9 999999999 190 0.1380 0 88 0.180 0.0 1.0 -2.39904E7 23.3 10.6 45 101500 576 1367 357 369 509 154 38500 49300 17600 3090 340 3.1 0 0 16.0 2000 9 999999999 190 0.1380 0 88 0.180 0.0 1.0 -2.3994E7 23.3 9.4 41 101500 332 1367 356 212 318 134 21700 26100 15300 2870 340 2.6 0 0 16.0 2000 9 999999999 180 0.1380 0 88 0.180 0.0 1.0 -2.39976E7 21.7 8.9 44 101500 74 1037 348 15 114 9 1900 5900 1500 180 330 2.1 0 0 16.0 2000 9 999999999 180 0.1380 0 88 0.180 0.0 1.0 -2.40012E7 21.7 7.2 39 101500 0 0 346 0 0 0 0 0 0 0 270 2.1 0 0 16.0 2000 9 999999999 180 0.1380 0 88 0.180 0.0 1.0 -2.40048E7 19.4 7.8 47 101500 0 0 336 0 0 0 0 0 0 0 180 1.5 0 0 16.0 2000 9 999999999 180 0.1380 0 88 0.180 0.0 1.0 -2.40084E7 18.3 10.0 58 101500 0 0 333 0 0 0 0 0 0 0 180 2.6 0 0 16.0 2000 9 999999999 180 0.1380 0 88 0.180 0.0 1.0 -2.4012E7 17.2 10.6 65 101500 0 0 329 0 0 0 0 0 0 0 180 2.1 0 0 14.4 2000 9 999999999 180 0.1380 0 88 0.180 0.0 1.0 -2.40156E7 17.2 8.3 56 101500 0 0 326 0 0 0 0 0 0 0 180 1.5 0 0 16.0 2000 9 999999999 170 0.1380 0 88 0.180 0.0 1.0 -2.40192E7 16.7 8.3 58 101500 0 0 324 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 170 0.1380 0 88 0.180 0.0 1.0 -2.40228E7 15.6 10.6 72 101500 0 0 341 0 0 0 0 0 0 0 160 2.1 6 5 16.0 2000 9 999999999 170 0.1370 0 88 0.180 0.0 1.0 -2.40264E7 15.0 7.8 62 101500 0 0 335 0 0 0 0 0 0 0 0 0.0 6 5 16.0 2000 9 999999999 170 0.1370 0 88 0.180 0.0 1.0 -2.403E7 13.9 8.3 69 101500 0 0 330 0 0 0 0 0 0 0 0 0.0 6 5 16.0 2000 9 999999999 170 0.1370 0 88 0.180 0.0 1.0 -2.40336E7 14.4 8.9 70 101500 0 0 340 0 0 0 0 0 0 0 180 1.5 8 7 16.0 5486 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40372E7 13.9 8.3 69 101500 0 0 350 0 0 0 0 0 0 0 0 0.0 10 9 16.0 5486 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40408E7 13.3 8.3 72 101500 0 0 347 0 0 0 0 0 0 0 0 0.0 10 9 16.0 5182 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40444E7 14.4 8.9 70 101500 87 1128 353 23 139 14 2700 7400 2100 270 0 0.0 10 9 16.0 6096 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.4048E7 17.2 12.2 72 101600 347 1368 371 162 257 97 17200 21700 11600 1900 0 0.0 10 9 16.0 6096 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40516E7 17.8 12.8 73 101600 588 1368 375 353 444 161 36700 43200 18000 3260 0 0.0 10 9 16.0 7620 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40552E7 18.9 12.8 68 101500 784 1368 380 309 88 259 34000 8900 28900 8130 360 2.6 10 9 16.0 7620 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40588E7 19.4 12.2 63 101500 922 1368 382 584 475 263 61500 49100 28300 7090 360 3.1 10 9 16.0 7620 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40624E7 20.0 13.3 65 101400 992 1368 387 588 353 331 63400 38100 35800 10040 10 2.6 10 9 16.0 7620 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.4066E7 22.2 8.3 41 101300 988 1368 392 728 719 207 76200 72500 23700 5950 0 0.0 10 9 16.0 7620 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40696E7 22.2 14.4 61 101200 913 1368 400 663 776 144 70600 79000 17800 3840 360 3.1 10 9 16.0 7620 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40732E7 24.4 8.9 37 101200 770 1368 361 546 667 170 56500 65800 19300 3700 340 3.6 0 0 16.0 2000 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40768E7 25.6 7.8 32 101200 569 1368 365 363 504 153 37800 48700 17500 3060 310 5.7 0 0 16.0 2000 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40804E7 22.8 3.9 29 101200 325 1368 347 217 434 114 21800 34900 13500 2210 270 7.2 0 0 16.0 2000 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.4084E7 20.0 3.9 35 101200 69 992 334 13 147 7 2000 8600 1300 180 280 5.7 0 0 16.0 2000 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40876E7 18.3 6.1 45 101200 0 0 329 0 0 0 0 0 0 0 290 2.1 0 0 16.0 2000 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40912E7 17.8 5.0 43 101200 0 0 325 0 0 0 0 0 0 0 150 2.1 0 0 16.0 2000 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40948E7 17.2 3.9 41 101200 0 0 321 0 0 0 0 0 0 0 270 6.2 0 0 16.0 2000 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.40984E7 16.1 8.9 62 101300 0 0 322 0 0 0 0 0 0 0 270 4.6 0 0 16.0 2000 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.4102E7 16.1 7.8 58 101300 0 0 321 0 0 0 0 0 0 0 350 1.5 0 0 16.0 2000 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.41056E7 15.6 5.6 51 101300 0 0 316 0 0 0 0 0 0 0 270 4.1 0 0 16.0 2000 9 999999999 160 0.1370 0 88 0.180 0.0 1.0 -2.41092E7 14.4 11.7 84 101300 0 0 317 0 0 0 0 0 0 0 260 5.2 0 0 16.0 2000 9 999999999 160 0.1360 0 88 0.180 0.0 1.0 -2.41128E7 13.9 12.8 93 101300 0 0 316 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 160 0.1360 0 88 0.180 0.0 1.0 -2.41164E7 13.9 12.2 89 101300 0 0 316 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1360 0 88 0.180 0.0 1.0 -2.412E7 12.8 10.6 86 101300 0 0 309 0 0 0 0 0 0 0 250 1.5 0 0 16.0 2000 9 999999999 150 0.1360 0 88 0.180 0.0 1.0 -2.41236E7 12.2 11.7 97 101300 0 0 321 0 0 0 0 0 0 0 280 3.1 3 3 16.0 2000 9 999999999 160 0.1360 0 88 0.180 0.0 1.0 -2.41272E7 12.2 12.2 100 101400 0 0 327 0 0 0 0 0 0 0 260 4.1 5 5 8.0 2000 9 999999999 160 0.1360 0 88 0.180 0.0 1.0 -2.41308E7 13.3 12.8 97 101500 84 1106 332 11 12 11 1400 600 1300 230 290 2.6 5 5 11.2 2000 9 999999999 160 0.1360 0 88 0.180 0.0 1.0 -2.41344E7 14.4 12.8 90 101500 343 1369 332 85 5 83 9500 200 9400 3000 310 4.1 3 3 16.0 2000 9 999999999 160 0.1360 0 88 0.180 0.0 1.0 -2.4138E7 16.1 13.3 83 101500 584 1369 338 193 28 181 21700 2300 20700 6740 350 2.6 2 2 16.0 2000 9 999999999 160 0.1360 0 88 0.180 0.0 1.0 -2.41416E7 16.7 13.3 80 101600 780 1369 340 187 6 183 21700 500 21400 8020 10 3.1 2 2 16.0 2000 9 999999999 170 0.1360 0 88 0.180 0.0 1.0 -2.41452E7 18.3 12.8 70 101600 917 1369 347 351 83 295 38600 8500 32900 10170 280 5.2 2 2 16.0 2000 9 999999999 170 0.1360 0 88 0.180 0.0 1.0 -2.41488E7 20.6 11.7 57 101500 986 1369 361 547 270 352 58700 29100 37700 10720 270 6.2 3 3 16.0 2000 9 999999999 170 0.1360 0 88 0.180 0.0 1.0 -2.41524E7 21.1 11.7 55 101500 983 1369 360 430 103 356 47300 10600 39700 12600 270 8.2 2 2 16.0 2000 9 999999999 170 0.1360 0 88 0.180 0.0 1.0 -2.4156E7 20.6 12.8 61 101500 907 1369 362 394 104 325 43300 10600 36300 10870 260 7.2 3 3 16.0 2000 9 999999999 170 0.1360 0 88 0.180 0.0 1.0 -2.41596E7 19.4 11.7 61 101500 763 1369 351 284 56 253 31200 5600 28100 7830 250 6.7 2 2 16.0 2000 9 999999999 180 0.1360 0 88 0.180 0.0 1.0 -2.41632E7 18.9 12.8 68 101500 562 1369 354 356 387 197 37400 38400 21600 4360 250 6.2 3 3 16.0 2000 9 999999999 180 0.1360 0 88 0.180 0.0 1.0 -2.41668E7 18.3 12.2 68 101500 318 1369 347 112 49 100 12200 4200 11200 2450 250 6.7 2 2 16.0 2000 9 999999999 180 0.1360 0 88 0.180 0.0 1.0 -2.41704E7 17.2 12.2 72 101500 64 969 350 6 16 5 700 600 700 80 240 5.2 5 5 16.0 2000 9 999999999 180 0.1360 0 88 0.180 0.0 1.0 -2.4174E7 16.7 11.7 72 101600 0 0 347 0 0 0 0 0 0 0 240 4.6 5 5 16.0 2000 9 999999999 180 0.1360 0 88 0.180 0.0 1.0 -2.41776E7 16.1 11.7 75 101600 0 0 325 0 0 0 0 0 0 0 220 3.1 0 0 16.0 2000 9 999999999 190 0.1360 0 88 0.180 0.0 1.0 -2.41812E7 16.1 11.1 72 101700 0 0 324 0 0 0 0 0 0 0 180 3.1 0 0 16.0 2000 9 999999999 190 0.1360 0 88 0.180 0.0 1.0 -2.41848E7 16.1 12.2 78 101700 0 0 340 0 0 0 0 0 0 0 180 3.1 3 3 16.0 2000 9 999999999 190 0.1360 0 88 0.180 0.0 1.0 -2.41884E7 16.1 12.2 78 101700 0 0 365 0 0 0 0 0 0 0 180 2.6 10 9 16.0 884 9 999999999 190 0.1360 0 88 0.180 0.0 1.0 -2.4192E7 16.7 12.2 75 101700 0 0 368 0 0 0 0 0 0 0 220 3.1 10 9 16.0 701 9 999999999 190 0.1360 0 88 0.180 0.0 1.0 -2.41956E7 17.2 12.8 75 101800 0 0 372 0 0 0 0 0 0 0 200 3.6 10 9 16.0 640 9 999999999 200 0.1360 0 88 0.180 0.0 1.0 -2.41992E7 16.7 13.3 80 101800 0 0 370 0 0 0 0 0 0 0 150 2.6 10 9 16.0 640 9 999999999 200 0.1360 0 88 0.180 0.0 1.0 -2.42028E7 16.7 13.3 80 101800 0 0 370 0 0 0 0 0 0 0 130 3.1 10 9 16.0 579 9 999999999 200 0.1360 0 88 0.180 0.0 1.0 -2.42064E7 16.7 12.2 75 101800 0 0 355 0 0 0 0 0 0 0 130 2.6 7 7 16.0 579 9 999999999 200 0.1360 0 88 0.180 0.0 1.0 -2.421E7 16.7 13.3 80 101800 0 0 370 0 0 0 0 0 0 0 120 2.1 10 9 16.0 579 9 999999999 200 0.1360 0 88 0.180 0.0 1.0 -2.42136E7 16.1 13.9 87 101900 0 0 367 0 0 0 0 0 0 0 140 4.1 10 9 16.0 579 9 999999999 190 0.1360 0 88 0.180 0.0 1.0 -2.42172E7 16.7 13.9 84 101900 80 1084 370 10 3 9 1000 200 1000 240 130 3.6 10 9 16.0 518 9 999999999 190 0.1360 0 88 0.180 0.0 1.0 -2.42208E7 16.7 13.9 84 102000 339 1369 370 115 63 99 12500 5500 11200 2500 140 3.1 10 9 16.0 518 9 999999999 190 0.1360 0 88 0.180 0.0 1.0 -2.42244E7 17.2 14.4 84 102000 579 1369 384 198 40 181 21700 3900 20100 5100 280 3.6 10 10 16.0 549 9 999999999 180 0.1360 0 88 0.180 0.0 1.0 -2.4228E7 17.2 14.4 84 102000 775 1369 384 170 6 167 20000 500 19700 7450 290 4.1 10 10 16.0 457 9 999999999 180 0.1360 0 88 0.180 0.0 1.0 -2.42316E7 18.3 13.9 76 102100 912 1369 389 431 166 320 46900 17500 35300 9290 260 5.2 10 10 16.0 457 9 999999999 180 0.1360 0 88 0.180 0.0 1.0 -2.42352E7 18.9 13.9 73 102000 981 1369 360 428 114 346 47100 11700 38700 12280 270 7.2 5 5 16.0 2000 9 999999999 170 0.1360 0 88 0.180 0.0 1.0 -2.42388E7 18.9 13.3 70 102000 977 1369 360 679 598 251 72400 62100 28000 7250 260 8.8 5 5 16.0 2000 9 999999999 170 0.1360 0 88 0.180 0.0 1.0 -2.42424E7 18.3 12.8 70 102000 900 1369 347 618 642 195 64300 64300 21900 4900 250 8.8 2 2 16.0 2000 9 999999999 160 0.1360 0 88 0.180 0.0 1.0 -2.4246E7 18.3 12.2 68 101900 757 1369 350 534 705 143 55700 70000 16900 3160 250 9.8 3 3 16.0 2000 9 999999999 160 0.1360 0 88 0.180 0.0 1.0 -2.42496E7 17.8 11.7 67 101900 556 1369 344 392 657 124 40000 61600 14900 2330 250 10.3 2 2 16.0 2000 9 999999999 160 0.1360 0 88 0.180 0.0 1.0 -2.42532E7 17.2 11.1 67 101900 311 1369 329 215 428 117 21300 33700 13600 2290 250 8.2 0 0 16.0 2000 9 999999999 150 0.1360 0 88 0.180 0.0 1.0 -2.42568E7 15.6 10.6 72 101900 60 924 322 9 128 5 1500 7700 1000 180 250 9.8 0 0 16.0 2000 9 999999999 150 0.1360 0 88 0.180 0.0 1.0 -2.42604E7 15.0 10.6 75 101900 0 0 319 0 0 0 0 0 0 0 260 8.8 0 0 16.0 2000 9 999999999 140 0.1360 0 88 0.180 0.0 1.0 -2.4264E7 15.0 10.0 72 101900 0 0 318 0 0 0 0 0 0 0 250 9.3 0 0 16.0 2000 9 999999999 140 0.1360 0 88 0.180 0.0 1.0 -2.42676E7 14.4 10.6 78 102000 0 0 316 0 0 0 0 0 0 0 260 7.7 0 0 16.0 2000 9 999999999 140 0.1360 0 88 0.180 0.0 1.0 -2.42712E7 14.4 10.6 78 102000 0 0 316 0 0 0 0 0 0 0 250 5.7 0 0 16.0 2000 9 999999999 130 0.1360 0 88 0.180 0.0 1.0 -2.42748E7 13.9 10.6 80 101900 0 0 314 0 0 0 0 0 0 0 250 7.2 0 0 16.0 2000 9 999999999 130 0.1360 0 88 0.180 0.0 1.0 -2.42784E7 13.9 10.6 80 101900 0 0 314 0 0 0 0 0 0 0 250 6.2 0 0 16.0 2000 9 999999999 120 0.1360 0 88 0.180 0.0 1.0 -2.4282E7 13.3 10.6 84 101900 0 0 312 0 0 0 0 0 0 0 260 6.2 0 0 16.0 2000 9 999999999 120 0.1350 0 88 0.180 0.0 1.0 -2.42856E7 12.8 10.6 86 101900 0 0 309 0 0 0 0 0 0 0 260 5.7 0 0 16.0 2000 9 999999999 120 0.1350 0 88 0.180 0.0 1.0 -2.42892E7 12.8 10.6 86 101900 0 0 309 0 0 0 0 0 0 0 250 5.2 0 0 16.0 2000 9 999999999 110 0.1350 0 88 0.180 0.0 1.0 -2.42928E7 12.8 10.6 86 101900 0 0 309 0 0 0 0 0 0 0 260 6.7 0 0 16.0 2000 9 999999999 110 0.1350 0 88 0.180 0.0 1.0 -2.42964E7 12.8 10.6 86 101900 0 0 309 0 0 0 0 0 0 0 260 6.2 0 0 16.0 2000 9 999999999 110 0.1350 0 88 0.180 0.0 1.0 -2.43E7 12.8 10.0 83 101900 0 0 309 0 0 0 0 0 0 0 260 5.2 0 0 16.0 2000 9 999999999 110 0.1350 0 88 0.180 0.0 1.0 -2.43036E7 12.8 10.6 86 102000 77 1062 309 17 147 10 2300 7700 1700 200 270 3.1 0 0 16.0 2000 9 999999999 110 0.1350 0 88 0.180 0.0 1.0 -2.43072E7 15.0 9.4 69 102000 334 1370 318 186 532 56 19300 44100 8500 1040 270 6.2 0 0 16.0 2000 9 999999999 120 0.1350 0 88 0.180 0.0 1.0 -2.43108E7 16.7 9.4 62 102000 574 1370 325 375 682 88 39400 65700 11800 1790 270 6.7 0 0 16.0 2000 9 999999999 120 0.1350 0 88 0.180 0.0 1.0 -2.43144E7 17.8 8.3 54 102000 770 1370 329 554 784 112 57200 77300 13700 2360 270 7.2 0 0 16.0 2000 9 999999999 120 0.1350 0 88 0.180 0.0 1.0 -2.4318E7 18.9 8.9 52 101900 906 1370 346 674 837 119 70800 83800 15200 2960 270 8.2 2 2 16.0 2000 9 999999999 120 0.1350 0 88 0.180 0.0 1.0 -2.43216E7 20.0 8.9 49 101900 975 1370 354 737 845 134 77200 84800 16700 3590 270 9.8 3 3 16.0 2000 9 999999999 120 0.1350 0 88 0.180 0.0 1.0 -2.43252E7 18.9 10.6 59 101800 971 1370 348 698 707 195 73200 71400 22400 5470 260 10.3 2 2 16.0 2000 9 999999999 130 0.1350 0 88 0.180 0.0 1.0 -2.43288E7 18.3 11.1 63 101800 894 1370 354 632 660 200 65600 65900 22400 4950 260 10.8 5 5 16.0 2000 9 999999999 130 0.1350 0 88 0.180 0.0 1.0 -2.43324E7 17.8 10.6 63 101800 750 1370 351 485 493 215 50700 49900 23300 4840 260 12.9 5 5 16.0 2000 9 999999999 130 0.1350 0 88 0.180 0.0 1.0 -2.4336E7 17.2 10.6 65 101700 549 1370 343 377 612 131 39700 58800 16100 2560 260 11.8 3 3 16.0 2000 9 999999999 130 0.1350 0 88 0.180 0.0 1.0 -2.43396E7 16.1 10.6 70 101700 305 1370 338 207 392 119 21200 30800 14300 2510 250 12.4 3 3 16.0 2000 9 999999999 130 0.1350 0 88 0.180 0.0 1.0 -2.43432E7 15.0 9.4 69 101700 56 902 331 7 109 4 1200 6500 800 150 260 12.4 3 3 16.0 2000 9 999999999 140 0.1350 0 88 0.180 0.0 1.0 -2.43468E7 15.0 9.4 69 101700 0 0 318 0 0 0 0 0 0 0 260 11.3 0 0 16.0 2000 9 999999999 140 0.1350 0 88 0.180 0.0 1.0 -2.43504E7 14.4 9.4 72 101700 0 0 315 0 0 0 0 0 0 0 270 7.2 0 0 16.0 2000 9 999999999 140 0.1350 0 88 0.180 0.0 1.0 -2.4354E7 13.9 10.0 77 101700 0 0 314 0 0 0 0 0 0 0 260 9.3 0 0 16.0 2000 9 999999999 140 0.1350 0 88 0.180 0.0 1.0 -2.43576E7 13.9 10.0 77 101700 0 0 314 0 0 0 0 0 0 0 260 8.2 0 0 16.0 2000 9 999999999 140 0.1350 0 88 0.180 0.0 1.0 -2.43612E7 13.3 10.0 80 101700 0 0 311 0 0 0 0 0 0 0 270 6.7 0 0 16.0 2000 9 999999999 150 0.1350 0 88 0.180 0.0 1.0 -2.43648E7 13.3 9.4 77 101800 0 0 310 0 0 0 0 0 0 0 260 6.2 0 0 16.0 2000 9 999999999 150 0.1350 0 88 0.180 0.0 1.0 -2.43684E7 13.3 9.4 77 101800 0 0 324 0 0 0 0 0 0 0 260 6.7 8 3 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.4372E7 12.8 10.0 83 101800 0 0 309 0 0 0 0 0 0 0 260 6.7 1 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.43756E7 12.2 10.0 86 101700 0 0 306 0 0 0 0 0 0 0 260 6.2 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.43792E7 12.2 10.0 86 101700 0 0 306 0 0 0 0 0 0 0 250 4.6 0 0 16.0 2000 9 999999999 160 0.1340 0 88 0.180 0.0 1.0 -2.43828E7 11.7 8.9 83 101800 0 0 303 0 0 0 0 0 0 0 260 3.6 0 0 16.0 2000 9 999999999 160 0.1340 0 88 0.180 0.0 1.0 -2.43864E7 11.1 8.9 86 101700 0 0 313 0 0 0 0 0 0 0 250 2.6 3 3 16.0 2000 9 999999999 160 0.1340 0 88 0.180 0.0 1.0 -2.439E7 11.1 9.4 89 101800 74 1040 314 16 152 9 2200 8900 1500 220 260 3.6 3 3 16.0 2000 9 999999999 160 0.1340 0 88 0.180 0.0 1.0 -2.43936E7 13.9 9.4 74 101800 330 1371 326 174 463 62 17800 37900 8700 1130 330 1.5 3 3 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.43972E7 15.0 10.6 75 101800 570 1371 319 365 648 95 38200 62100 12300 1900 30 1.5 1 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44008E7 15.6 10.6 72 101800 765 1371 322 511 638 154 53100 63200 17700 3390 70 2.1 1 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44044E7 16.7 9.4 62 101800 901 1371 325 600 581 217 64200 60000 24600 5590 20 2.6 1 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.4408E7 17.2 10.0 63 101700 969 1371 339 642 581 230 69000 60300 26200 6520 40 3.1 7 2 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44116E7 18.3 8.9 54 101600 965 1371 346 661 629 217 68700 63100 24200 5920 50 2.6 8 3 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44152E7 18.9 8.3 50 101600 888 1371 345 606 648 185 63200 64900 21000 4600 260 9.8 7 2 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44188E7 18.3 7.8 50 101600 744 1371 345 486 537 194 51200 54400 21600 4300 260 9.8 8 3 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44224E7 17.8 7.8 52 101500 542 1371 339 346 488 152 35800 46600 17300 3020 260 8.2 7 2 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.4426E7 15.6 8.9 64 101500 298 1371 320 198 338 124 20200 26300 14400 2660 260 8.8 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44296E7 14.4 9.4 72 101500 51 880 329 6 87 3 900 5200 600 110 260 8.2 3 3 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44332E7 13.3 9.4 77 101500 0 0 310 0 0 0 0 0 0 0 260 7.2 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44368E7 13.3 9.4 77 101400 0 0 310 0 0 0 0 0 0 0 260 6.7 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44404E7 12.8 10.0 83 101500 0 0 322 0 0 0 0 0 0 0 260 7.7 3 3 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.4444E7 12.2 10.0 86 101500 0 0 306 0 0 0 0 0 0 0 270 5.7 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44476E7 11.7 8.3 80 101500 0 0 302 0 0 0 0 0 0 0 260 3.6 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44512E7 12.2 10.0 86 101500 0 0 306 0 0 0 0 0 0 0 260 4.1 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44548E7 11.1 9.4 89 101500 0 0 301 0 0 0 0 0 0 0 270 2.6 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44584E7 10.0 6.7 80 101400 0 0 294 0 0 0 0 0 0 0 210 1.5 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.4462E7 10.0 7.2 83 101400 0 0 294 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44656E7 9.4 6.7 83 101400 0 0 291 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44692E7 9.4 6.1 80 101400 0 0 290 0 0 0 0 0 0 0 200 1.5 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44728E7 9.4 6.7 83 101400 0 0 291 0 0 0 0 0 0 0 260 1.5 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44764E7 10.0 7.2 83 101500 71 1017 294 12 114 7 1700 6700 1200 180 260 2.1 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.448E7 13.3 9.4 77 101500 325 1372 324 150 280 83 15500 22600 10100 1540 280 2.6 3 3 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44836E7 15.0 10.6 75 101600 565 1372 319 374 619 118 38400 58500 14300 2260 350 1.5 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44872E7 15.0 11.1 77 101500 760 1372 320 516 673 142 53900 66900 16700 3150 50 2.6 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44908E7 16.1 11.1 72 101500 896 1372 324 612 641 192 63700 64200 21600 4790 40 2.1 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.44944E7 17.2 11.7 70 101500 964 1372 330 654 647 198 68500 65200 22500 5470 20 2.1 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.4498E7 19.4 10.0 54 101400 959 1372 338 717 804 154 76500 82000 19000 4350 280 6.7 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.45016E7 19.4 8.3 49 101400 882 1372 336 653 765 160 68800 77200 19000 4020 280 8.2 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.45052E7 17.8 7.8 52 101400 737 1372 328 502 594 182 53200 60100 20800 3990 270 7.7 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.45088E7 17.8 7.2 50 101400 536 1372 328 348 470 164 35700 44700 18200 3290 260 7.7 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.45124E7 16.7 6.7 52 101400 291 1372 322 189 266 132 19100 20400 14800 2910 260 7.7 0 0 16.0 2000 9 999999999 150 0.1340 0 88 0.180 0.0 1.0 -2.4516E7 15.0 7.8 62 101400 48 835 316 4 63 3 800 3500 600 80 260 7.7 0 0 16.0 2000 9 999999999 160 0.1340 0 88 0.180 0.0 1.0 -2.45196E7 15.0 7.8 62 101400 0 0 316 0 0 0 0 0 0 0 260 6.2 1 0 16.0 2000 9 999999999 160 0.1340 0 88 0.180 0.0 1.0 -2.45232E7 13.9 7.8 67 101400 0 0 317 0 0 0 0 0 0 0 270 3.6 2 1 16.0 2000 9 999999999 160 0.1340 0 88 0.180 0.0 1.0 -2.45268E7 14.4 7.8 65 101500 0 0 324 0 0 0 0 0 0 0 260 4.6 4 2 16.0 2000 9 999999999 160 0.1340 0 88 0.180 0.0 1.0 -2.45304E7 13.9 8.3 69 101500 0 0 322 0 0 0 0 0 0 0 270 4.6 4 2 16.0 2000 9 999999999 160 0.1340 0 88 0.180 0.0 1.0 -2.4534E7 13.3 10.6 84 101600 0 0 312 0 0 0 0 0 0 0 260 4.1 1 0 16.0 2000 9 999999999 160 0.1340 0 88 0.180 0.0 1.0 -2.45376E7 13.3 11.1 87 101600 0 0 312 0 0 0 0 0 0 0 270 2.6 0 0 16.0 2000 9 999999999 160 0.1340 0 88 0.180 0.0 1.0 -2.45412E7 12.8 11.1 89 101600 0 0 328 0 0 0 0 0 0 0 290 1.5 5 5 16.0 2000 9 999999999 160 0.1330 0 88 0.180 0.0 1.0 -2.45448E7 12.8 11.1 89 101600 0 0 348 0 0 0 0 0 0 0 0 0.0 10 9 16.0 6096 9 999999999 160 0.1330 0 88 0.180 0.0 1.0 -2.45484E7 12.2 9.4 83 101500 0 0 311 0 0 0 0 0 0 0 0 0.0 3 1 16.0 6096 9 999999999 160 0.1330 0 88 0.180 0.0 1.0 -2.4552E7 12.2 10.0 86 101600 0 0 319 0 0 0 0 0 0 0 190 1.5 6 3 16.0 6096 9 999999999 160 0.1330 0 88 0.180 0.0 1.0 -2.45556E7 12.8 10.6 86 101600 0 0 325 0 0 0 0 0 0 0 0 0.0 9 4 16.0 6096 9 999999999 160 0.1330 0 88 0.180 0.0 1.0 -2.45592E7 12.8 10.6 86 101600 0 0 325 0 0 0 0 0 0 0 0 0.0 8 4 16.0 4877 9 999999999 170 0.1330 0 88 0.180 0.0 1.0 -2.45628E7 13.3 11.1 87 101600 68 995 328 5 0 5 600 0 600 200 0 0.0 9 4 16.0 4572 9 999999999 170 0.1330 0 88 0.180 0.0 1.0 -2.45664E7 14.4 11.1 81 101700 321 1373 331 56 0 56 6500 0 6500 2170 100 2.1 6 3 16.0 5486 9 999999999 170 0.1330 0 88 0.180 0.0 1.0 -2.457E7 15.6 11.7 78 101600 560 1373 362 287 193 208 30800 19000 23100 4900 80 2.1 10 9 16.0 6096 9 999999999 180 0.1330 0 88 0.180 0.0 1.0 -2.45736E7 15.6 11.7 78 101700 755 1373 362 197 12 190 22700 1000 22200 8100 40 1.5 10 9 16.0 5486 9 999999999 180 0.1330 0 88 0.180 0.0 1.0 -2.45772E7 16.7 11.7 72 101700 891 1373 368 362 83 308 39800 8500 34300 10240 70 2.6 10 9 16.0 5486 9 999999999 180 0.1330 0 88 0.180 0.0 1.0 -2.45808E7 16.7 11.7 72 101600 958 1373 378 303 42 274 33500 4300 30500 9920 0 0.0 10 10 16.0 4267 9 999999999 190 0.1330 0 88 0.180 0.0 1.0 -2.45844E7 17.8 12.2 70 101600 953 1373 348 662 550 278 69500 56900 29900 7810 60 1.5 8 3 16.0 5486 9 999999999 190 0.1330 0 88 0.180 0.0 1.0 -2.4588E7 21.1 8.9 46 101600 876 1373 387 608 661 185 63300 66100 21000 4510 280 4.1 10 9 16.0 6706 9 999999999 190 0.1330 0 88 0.180 0.0 1.0 -2.45916E7 20.0 9.4 50 101600 731 1373 382 481 450 241 51200 47000 26100 5720 260 5.7 10 9 16.0 5486 9 999999999 200 0.1330 0 88 0.180 0.0 1.0 -2.45952E7 18.9 10.6 59 101600 529 1373 378 137 0 137 15500 0 15500 5280 260 6.7 10 9 16.0 6096 9 999999999 200 0.1330 0 88 0.180 0.0 1.0 -2.45988E7 17.8 12.2 70 101600 285 1373 374 98 0 98 10700 0 10700 2990 260 4.6 10 9 16.0 4267 9 999999999 200 0.1330 0 88 0.180 0.0 1.0 -2.46024E7 16.7 13.3 80 101600 44 812 370 2 0 2 300 0 300 80 260 6.2 10 9 16.0 5486 9 999999999 209 0.1330 0 88 0.180 0.0 1.0 -2.4606E7 16.7 12.8 78 101600 0 0 369 0 0 0 0 0 0 0 250 4.6 10 9 16.0 5486 9 999999999 209 0.1330 0 88 0.180 0.0 1.0 -2.46096E7 15.6 13.3 86 101600 0 0 364 0 0 0 0 0 0 0 270 4.1 10 9 16.0 5486 9 999999999 209 0.1330 0 88 0.180 0.0 1.0 -2.46132E7 15.6 13.3 86 101600 0 0 364 0 0 0 0 0 0 0 290 3.1 10 9 16.0 5486 9 999999999 220 0.1330 0 88 0.180 0.0 1.0 -2.46168E7 15.6 12.8 83 101600 0 0 364 0 0 0 0 0 0 0 0 0.0 10 9 16.0 5486 9 999999999 220 0.1330 0 88 0.180 0.0 1.0 -2.46204E7 15.6 13.3 86 101700 0 0 364 0 0 0 0 0 0 0 260 2.6 10 9 16.0 5486 9 999999999 220 0.1330 0 88 0.180 0.0 1.0 -2.4624E7 15.6 13.9 90 101700 0 0 365 0 0 0 0 0 0 0 280 3.1 10 9 16.0 4572 9 999999999 230 0.1330 0 88 0.180 0.0 1.0 -2.46276E7 15.0 13.9 93 101700 0 0 372 0 0 0 0 0 0 0 280 2.6 10 10 16.0 5486 9 999999999 230 0.1320 0 88 0.180 0.0 1.0 -2.46312E7 14.4 12.8 90 101700 0 0 368 0 0 0 0 0 0 0 140 2.6 10 10 16.0 5486 9 999999999 230 0.1320 0 88 0.180 0.0 1.0 -2.46348E7 15.0 12.8 87 101700 0 0 371 0 0 0 0 0 0 0 120 2.6 10 10 16.0 427 9 999999999 240 0.1320 0 88 0.180 0.0 1.0 -2.46384E7 15.0 12.8 87 101700 0 0 371 0 0 0 0 0 0 0 120 3.1 10 10 16.0 366 9 999999999 240 0.1320 0 88 0.180 0.0 1.0 -2.4642E7 15.0 13.3 90 101700 0 0 371 0 0 0 0 0 0 0 0 0.0 10 10 16.0 305 9 999999999 240 0.1320 0 88 0.180 0.0 1.0 -2.46456E7 15.0 13.9 93 101800 0 0 372 0 0 0 0 0 0 0 0 0.0 10 10 6.4 213 9 999999999 240 0.1320 0 88 0.180 0.0 1.0 -2.46492E7 15.0 14.4 96 101800 65 973 373 7 16 6 800 600 800 90 290 4.6 10 10 8.0 152 9 999999999 230 0.1320 0 88 0.180 0.0 1.0 -2.46528E7 15.0 13.9 93 101900 316 1373 372 74 5 73 8400 200 8300 2640 250 4.1 10 10 14.4 152 9 999999999 230 0.1320 0 88 0.180 0.0 1.0 -2.46564E7 15.0 13.9 93 101900 556 1373 372 143 6 141 16300 400 16200 5530 270 4.6 10 10 14.4 152 9 999999999 230 0.1320 0 88 0.180 0.0 1.0 -2.466E7 16.1 13.9 87 101900 750 1373 347 175 6 172 20400 500 20100 7490 270 6.2 5 5 16.0 2000 9 999999999 220 0.1320 0 88 0.180 0.0 1.0 -2.46636E7 17.2 13.3 78 101900 885 1373 351 187 0 187 22100 0 22100 8660 280 7.2 5 5 16.0 2000 9 999999999 220 0.1320 0 88 0.180 0.0 1.0 -2.46672E7 18.3 12.8 70 101800 953 1373 351 262 24 245 30600 2000 29200 11040 260 7.7 3 3 16.0 2000 9 999999999 220 0.1320 0 88 0.180 0.0 1.0 -2.46708E7 18.3 12.2 68 101700 947 1373 336 643 544 267 67900 56300 28900 7410 260 8.8 0 0 16.0 2000 9 999999999 209 0.1320 0 88 0.180 0.0 1.0 -2.46744E7 18.9 11.7 63 101700 869 1373 338 588 588 215 62700 60600 24200 5340 260 10.3 0 0 16.0 2000 9 999999999 209 0.1320 0 88 0.180 0.0 1.0 -2.4678E7 18.3 10.0 58 101700 725 1373 333 346 163 259 37400 16800 28500 6590 260 10.8 0 0 16.0 2000 9 999999999 209 0.1320 0 88 0.180 0.0 1.0 -2.46816E7 16.7 12.8 78 101700 523 1373 343 309 372 167 32600 36200 18700 3560 270 7.7 3 3 16.0 2000 9 999999999 200 0.1320 0 88 0.180 0.0 1.0 -2.46852E7 16.1 12.8 81 101700 278 1373 340 203 301 142 20400 22400 15800 3240 250 10.3 3 3 16.0 2000 9 999999999 200 0.1320 0 88 0.180 0.0 1.0 -2.46888E7 15.6 12.2 80 101700 40 767 323 2 59 1 500 3400 300 40 260 9.3 0 0 16.0 2000 9 999999999 200 0.1320 0 88 0.180 0.0 1.0 -2.46924E7 14.4 12.2 87 101700 0 0 332 0 0 0 0 0 0 0 260 9.8 3 3 16.0 2000 9 999999999 190 0.1320 0 88 0.180 0.0 1.0 -2.4696E7 14.4 11.7 84 101600 0 0 331 0 0 0 0 0 0 0 270 4.6 3 3 16.0 2000 9 999999999 190 0.1320 0 88 0.180 0.0 1.0 -2.46996E7 13.9 11.7 87 101700 0 0 329 0 0 0 0 0 0 0 260 5.7 3 3 16.0 2000 9 999999999 190 0.1320 0 88 0.180 0.0 1.0 -2.47032E7 13.9 11.7 87 101600 0 0 329 0 0 0 0 0 0 0 270 7.7 3 3 16.0 2000 9 999999999 190 0.1320 0 88 0.180 0.0 1.0 -2.47068E7 13.3 11.7 90 101600 0 0 329 0 0 0 0 0 0 0 260 7.7 4 4 16.0 2000 9 999999999 180 0.1320 0 88 0.180 0.0 1.0 -2.47104E7 13.3 11.7 90 101600 0 0 329 0 0 0 0 0 0 0 260 7.7 4 4 16.0 2000 9 999999999 180 0.1320 0 88 0.180 0.0 1.0 -2.4714E7 13.3 11.7 90 101600 0 0 331 0 0 0 0 0 0 0 250 6.7 5 5 16.0 2000 9 999999999 180 0.1320 0 88 0.180 0.0 1.0 -2.47176E7 12.8 11.7 93 101500 0 0 348 0 0 0 0 0 0 0 260 5.7 9 9 16.0 213 9 999999999 170 0.1320 0 88 0.180 0.0 1.0 -2.47212E7 13.3 11.7 90 101500 0 0 361 0 0 0 0 0 0 0 250 4.1 10 10 16.0 213 9 999999999 170 0.1320 0 88 0.180 0.0 1.0 -2.47248E7 13.3 11.7 90 101500 0 0 361 0 0 0 0 0 0 0 250 4.1 10 10 16.0 213 9 999999999 170 0.1320 0 88 0.180 0.0 1.0 -2.47284E7 12.8 11.1 89 101400 0 0 323 0 0 0 0 0 0 0 260 4.6 3 3 16.0 2000 9 999999999 170 0.1320 0 88 0.180 0.0 1.0 -2.4732E7 12.2 11.1 93 101500 0 0 321 0 0 0 0 0 0 0 240 4.1 3 3 16.0 2000 9 999999999 170 0.1320 0 88 0.180 0.0 1.0 -2.47356E7 12.8 11.1 89 101500 62 951 323 9 122 5 1500 7400 1000 180 270 2.1 3 3 16.0 2000 9 999999999 160 0.1320 0 88 0.180 0.0 1.0 -2.47392E7 13.9 11.1 83 101500 312 1374 328 166 484 56 17100 38900 8200 1020 150 1.5 3 3 14.4 2000 9 999999999 160 0.1320 0 88 0.180 0.0 1.0 -2.47428E7 14.4 11.1 81 101500 551 1374 331 334 516 127 35300 49600 15400 2480 70 2.1 3 3 16.0 2000 9 999999999 160 0.1320 0 88 0.180 0.0 1.0 -2.47464E7 15.6 11.7 78 101500 745 1374 337 509 649 157 52800 63900 18000 3360 70 1.5 3 3 16.0 2000 9 999999999 160 0.1320 0 88 0.180 0.0 1.0 -2.475E7 16.7 10.0 65 101400 880 1374 340 600 629 196 62200 62700 21900 4750 260 6.7 3 3 16.0 2000 9 999999999 160 0.1320 0 88 0.180 0.0 1.0 -2.47536E7 17.2 9.4 60 101300 947 1374 342 619 557 234 66200 57700 26300 6410 270 8.8 3 3 16.0 2000 9 999999999 160 0.1320 0 88 0.180 0.0 1.0 -2.47572E7 17.2 9.4 60 101200 941 1374 342 693 732 191 72600 73700 22000 5090 260 10.8 3 3 16.0 2000 9 999999999 160 0.1320 0 88 0.180 0.0 1.0 -2.47608E7 17.2 10.0 63 101200 863 1374 342 629 778 139 66700 78800 17100 3470 260 13.9 3 3 16.0 2000 9 999999999 160 0.1320 0 88 0.180 0.0 1.0 -2.47644E7 16.7 10.0 65 101100 718 1374 340 498 664 150 51500 65200 17400 3150 250 9.8 3 3 16.0 2000 9 999999999 160 0.1320 0 88 0.180 0.0 1.0 -2.4768E7 15.6 10.0 69 101100 516 1374 338 354 586 133 36900 55300 16100 2590 250 9.3 4 4 16.0 7620 9 999999999 160 0.1320 0 88 0.180 0.0 1.0 -2.47716E7 15.6 10.0 69 101000 271 1374 338 176 360 104 18000 26700 12700 2170 250 8.8 5 4 16.0 7620 9 999999999 160 0.1320 0 88 0.180 0.0 1.0 -2.47752E7 14.4 10.0 75 101000 37 744 334 1 64 1 500 3700 300 40 260 8.2 5 5 16.0 2000 9 999999999 150 0.1320 0 88 0.180 0.0 1.0 -2.47788E7 13.9 10.0 77 101100 0 0 314 0 0 0 0 0 0 0 260 7.7 0 0 16.0 2000 9 999999999 150 0.1320 0 88 0.180 0.0 1.0 -2.47824E7 13.3 10.6 84 101100 0 0 325 0 0 0 0 0 0 0 250 7.2 3 3 16.0 2000 9 999999999 150 0.1320 0 88 0.180 0.0 1.0 -2.4786E7 13.3 10.6 84 101100 0 0 325 0 0 0 0 0 0 0 260 7.2 3 3 16.0 2000 9 999999999 150 0.1320 0 88 0.180 0.0 1.0 -2.47896E7 12.8 10.6 86 101100 0 0 323 0 0 0 0 0 0 0 260 5.7 3 3 16.0 2000 9 999999999 150 0.1320 0 88 0.180 0.0 1.0 -2.47932E7 12.8 10.6 86 101100 0 0 323 0 0 0 0 0 0 0 250 7.7 3 3 16.0 2000 9 999999999 150 0.1320 0 88 0.180 0.0 1.0 -2.47968E7 12.2 10.0 86 101000 0 0 319 0 0 0 0 0 0 0 260 6.7 3 3 16.0 2000 9 999999999 150 0.1320 0 88 0.180 0.0 1.0 -2.48004E7 11.7 9.4 86 101100 0 0 313 0 0 0 0 0 0 0 270 3.6 2 2 16.0 2000 9 999999999 150 0.1310 0 88 0.180 0.0 1.0 -2.4804E7 11.1 9.4 89 101100 0 0 314 0 0 0 0 0 0 0 270 4.1 3 3 16.0 2000 9 999999999 150 0.1310 0 88 0.180 0.0 1.0 -2.48076E7 10.6 9.4 92 101100 0 0 312 0 0 0 0 0 0 0 270 3.1 3 3 16.0 2000 9 999999999 150 0.1310 0 88 0.180 0.0 1.0 -2.48112E7 11.1 9.4 89 101100 0 0 301 0 0 0 0 0 0 0 260 3.1 0 0 16.0 2000 9 999999999 150 0.1310 0 88 0.180 0.0 1.0 -2.48148E7 10.6 9.4 92 101100 0 0 312 0 0 0 0 0 0 0 160 1.5 3 3 16.0 2000 9 999999999 140 0.1310 0 88 0.180 0.0 1.0 -2.48184E7 10.6 8.9 89 101200 0 0 311 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 140 0.1310 0 88 0.180 0.0 1.0 -2.4822E7 11.1 9.4 89 101200 59 928 314 9 125 5 1500 7500 1000 180 0 0.0 3 3 14.4 2000 9 999999999 140 0.1310 0 88 0.180 0.0 1.0 -2.48256E7 13.3 10.0 80 101300 307 1375 324 161 467 56 16500 37300 8200 1020 0 0.0 3 3 16.0 2000 9 999999999 140 0.1310 0 88 0.180 0.0 1.0 -2.48292E7 14.4 10.6 78 101300 546 1375 330 338 589 103 34900 55500 12800 1990 0 0.0 3 3 16.0 2000 9 999999999 140 0.1310 0 88 0.180 0.0 1.0 -2.48328E7 15.0 10.6 75 101300 740 1375 319 509 660 153 52700 65000 17700 3270 20 1.5 0 0 11.2 2000 9 999999999 140 0.1310 0 88 0.180 0.0 1.0 -2.48364E7 15.6 10.6 72 101300 874 1375 322 583 629 182 60700 62900 20600 4430 50 2.1 0 0 16.0 2000 9 999999999 140 0.1310 0 88 0.180 0.0 1.0 -2.484E7 18.3 8.9 54 101200 941 1375 332 625 587 222 67100 60900 25300 6010 270 5.7 0 0 16.0 2000 9 999999999 140 0.1310 0 88 0.180 0.0 1.0 -2.48436E7 18.3 7.2 48 101200 935 1375 330 694 780 161 73400 79100 19400 4350 270 7.7 0 0 16.0 2000 9 999999999 130 0.1310 0 88 0.180 0.0 1.0 -2.48472E7 18.3 6.1 45 101200 857 1375 329 629 808 124 65200 80300 15100 2810 250 7.7 0 0 16.0 2000 9 999999999 130 0.1310 0 88 0.180 0.0 1.0 -2.48508E7 17.8 7.8 52 101200 712 1375 328 514 746 126 53700 73700 15400 2710 260 9.3 0 0 16.0 2000 9 999999999 130 0.1310 0 88 0.180 0.0 1.0 -2.48544E7 17.2 7.8 54 101200 510 1375 326 356 641 118 36300 58800 14400 2150 240 8.8 0 0 16.0 2000 9 999999999 130 0.1310 0 88 0.180 0.0 1.0 -2.4858E7 15.6 8.9 64 101200 265 1375 320 165 321 103 16900 23400 12400 2160 240 7.7 0 0 14.4 2000 9 999999999 130 0.1310 0 88 0.180 0.0 1.0 -2.48616E7 14.4 8.9 70 101200 34 699 315 0 51 0 0 0 0 0 250 7.2 0 0 14.4 2000 9 999999999 130 0.1310 0 88 0.180 0.0 1.0 -2.48652E7 13.9 8.9 72 101200 0 0 312 0 0 0 0 0 0 0 270 7.2 0 0 14.4 2000 9 999999999 130 0.1310 0 88 0.180 0.0 1.0 -2.48688E7 13.9 8.9 72 101300 0 0 312 0 0 0 0 0 0 0 260 6.7 0 0 16.0 2000 9 999999999 130 0.1310 0 88 0.180 0.0 1.0 -2.48724E7 13.3 9.4 77 101400 0 0 310 0 0 0 0 0 0 0 260 6.7 0 0 14.4 2000 9 999999999 120 0.1310 0 88 0.180 0.0 1.0 -2.4876E7 13.3 8.9 75 101400 0 0 310 0 0 0 0 0 0 0 260 5.2 0 0 14.4 2000 9 999999999 120 0.1310 0 88 0.180 0.0 1.0 -2.48796E7 12.8 8.3 74 101400 0 0 307 0 0 0 0 0 0 0 270 4.1 0 0 16.0 2000 9 999999999 120 0.1310 0 88 0.180 0.0 1.0 -2.48832E7 12.8 7.8 72 101400 0 0 306 0 0 0 0 0 0 0 270 4.1 0 0 16.0 2000 9 999999999 120 0.1310 0 88 0.180 0.0 1.0 -2.48868E7 12.2 8.3 77 101400 0 0 304 0 0 0 0 0 0 0 260 4.6 0 0 14.4 2000 9 999999999 120 0.1310 0 88 0.180 0.0 1.0 -2.48904E7 12.2 6.7 69 101500 0 0 303 0 0 0 0 0 0 0 250 3.1 0 0 16.0 2000 9 999999999 120 0.1310 0 88 0.180 0.0 1.0 -2.4894E7 12.8 6.1 64 101500 0 0 305 0 0 0 0 0 0 0 280 3.6 0 0 16.0 2000 9 999999999 120 0.1310 0 88 0.180 0.0 1.0 -2.48976E7 15.0 3.3 45 101500 0 0 311 0 0 0 0 0 0 0 310 3.6 0 0 16.0 2000 9 999999999 120 0.1310 0 88 0.180 0.0 1.0 -2.49012E7 15.0 3.9 47 101600 0 0 312 0 0 0 0 0 0 0 320 3.6 0 0 16.0 2000 9 999999999 110 0.1310 0 88 0.180 0.0 1.0 -2.49048E7 15.6 5.0 49 101600 0 0 316 0 0 0 0 0 0 0 340 5.7 0 0 16.0 2000 9 999999999 110 0.1310 0 88 0.180 0.0 1.0 -2.49084E7 16.1 4.4 46 101700 56 906 317 7 104 4 1200 6200 800 150 330 7.2 0 0 16.0 2000 9 999999999 110 0.1310 0 88 0.180 0.0 1.0 -2.4912E7 16.7 3.9 42 101700 302 1376 319 163 512 50 16900 40900 7800 920 330 9.3 0 0 16.0 2000 9 999999999 110 0.1310 0 88 0.180 0.0 1.0 -2.49156E7 17.2 3.3 39 101700 541 1376 321 342 588 110 35200 55100 13400 2090 340 7.2 0 0 16.0 2000 9 999999999 110 0.1310 0 88 0.180 0.0 1.0 -2.49192E7 17.8 3.3 38 101700 734 1376 323 519 753 116 54800 75100 14600 2580 340 7.2 0 0 16.0 2000 9 999999999 110 0.1310 0 88 0.180 0.0 1.0 -2.49228E7 18.9 3.9 37 101700 869 1376 329 617 735 151 65100 74200 18100 3750 330 9.3 0 0 16.0 2000 9 999999999 110 0.1310 0 88 0.180 0.0 1.0 -2.49264E7 19.4 2.2 32 101700 935 1376 329 673 779 141 69600 77600 16600 3420 340 8.8 0 0 16.0 2000 9 999999999 110 0.1310 0 88 0.180 0.0 1.0 -2.493E7 20.6 2.2 30 101600 929 1376 335 694 823 137 72000 82100 16400 3330 330 8.2 0 0 16.0 2000 9 999999999 110 0.1310 0 88 0.180 0.0 1.0 -2.49336E7 21.7 2.2 28 101600 851 1376 340 623 741 164 65200 74300 19200 3930 330 7.2 0 0 16.0 2000 9 999999999 110 0.1310 0 88 0.180 0.0 1.0 -2.49372E7 21.1 1.7 28 101600 705 1376 337 442 427 223 47200 44400 24300 5160 270 8.2 0 0 16.0 2000 9 999999999 100 0.1310 0 88 0.180 0.0 1.0 -2.49408E7 20.6 2.8 31 101500 503 1376 336 350 496 168 35500 46300 18500 3370 260 6.7 0 0 16.0 2000 9 999999999 100 0.1310 0 88 0.180 0.0 1.0 -2.49444E7 19.4 3.3 34 101500 259 1376 331 153 234 109 15600 16800 12400 2330 260 4.6 0 0 16.0 2000 9 999999999 100 0.1310 0 88 0.180 0.0 1.0 -2.4948E7 17.2 3.9 41 101600 31 676 321 0 0 0 0 0 0 0 260 4.1 0 0 16.0 2000 9 999999999 100 0.1310 0 88 0.180 0.0 1.0 -2.49516E7 17.2 3.3 39 101600 0 0 321 0 0 0 0 0 0 0 260 5.2 0 0 16.0 2000 9 999999999 100 0.1310 0 88 0.180 0.0 1.0 -2.49552E7 19.4 2.2 32 101600 0 0 329 0 0 0 0 0 0 0 320 4.1 0 0 16.0 2000 9 999999999 100 0.1310 0 88 0.180 0.0 1.0 -2.49588E7 19.4 -1.7 24 101700 0 0 325 0 0 0 0 0 0 0 310 4.1 0 0 16.0 2000 9 999999999 100 0.1310 0 88 0.180 0.0 1.0 -2.49624E7 18.9 1.7 32 101700 0 0 327 0 0 0 0 0 0 0 330 4.6 0 0 16.0 2000 9 999999999 100 0.1310 0 88 0.180 0.0 1.0 -2.4966E7 18.3 3.3 37 101700 0 0 326 0 0 0 0 0 0 0 330 3.6 0 0 16.0 2000 9 999999999 100 0.1310 0 88 0.180 0.0 1.0 -2.49696E7 17.8 0.6 31 101700 0 0 320 0 0 0 0 0 0 0 300 2.1 0 0 16.0 2000 9 999999999 100 0.1310 0 88 0.180 0.0 1.0 -2.49732E7 16.7 2.2 38 101800 0 0 317 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 100 0.1300 0 88 0.180 0.0 1.0 -2.49768E7 13.3 -0.6 38 101800 0 0 300 0 0 0 0 0 0 0 190 2.6 0 0 16.0 2000 9 999999999 90 0.1300 0 88 0.180 0.0 1.0 -2.49804E7 13.3 -0.6 38 101800 0 0 300 0 0 0 0 0 0 0 220 2.1 0 0 16.0 2000 9 999999999 90 0.1300 0 88 0.180 0.0 1.0 -2.4984E7 15.6 -1.7 30 101800 0 0 308 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 90 0.1300 0 88 0.180 0.0 1.0 -2.49876E7 11.1 3.3 59 101900 0 0 295 0 0 0 0 0 0 0 200 1.5 0 0 16.0 2000 9 999999999 90 0.1300 0 88 0.180 0.0 1.0 -2.49912E7 11.1 2.2 54 101900 0 0 294 0 0 0 0 0 0 0 170 2.1 0 0 16.0 2000 9 999999999 100 0.1300 0 88 0.180 0.0 1.0 -2.49948E7 12.2 2.8 53 101900 53 883 299 6 109 3 1100 6500 700 120 170 1.5 0 0 16.0 2000 9 999999999 100 0.1300 0 88 0.180 0.0 1.0 -2.49984E7 16.1 5.0 48 102000 298 1377 318 158 484 53 16300 38300 8000 970 90 1.5 0 0 16.0 2000 9 999999999 100 0.1300 0 88 0.180 0.0 1.0 -2.5002E7 17.8 0.0 30 102000 536 1377 320 346 678 81 36400 64400 11200 1620 90 2.1 0 0 16.0 2000 9 999999999 100 0.1300 0 88 0.180 0.0 1.0 -2.50056E7 18.9 0.0 28 102000 729 1377 325 508 730 120 53500 72600 14900 2640 0 0.0 0 0 16.0 2000 9 999999999 100 0.1300 0 88 0.180 0.0 1.0 -2.50092E7 20.6 0.6 26 102000 863 1377 333 633 812 122 65800 80800 15000 2800 340 2.6 0 0 16.0 2000 9 999999999 100 0.1300 0 88 0.180 0.0 1.0 -2.50128E7 21.1 0.0 24 101900 930 1377 335 691 845 118 72800 84800 15300 3040 350 2.1 0 0 16.0 2000 9 999999999 110 0.1300 0 88 0.180 0.0 1.0 -2.50164E7 22.2 0.6 24 101800 923 1377 340 694 841 129 72500 84000 15900 3180 0 0.0 0 0 16.0 2000 9 999999999 110 0.1300 0 88 0.180 0.0 1.0 -2.502E7 22.2 4.4 31 101800 844 1377 345 617 797 127 63700 78900 15100 2790 270 6.7 0 0 16.0 2000 9 999999999 110 0.1300 0 88 0.180 0.0 1.0 -2.50236E7 21.1 2.2 29 101700 699 1377 337 509 760 121 53200 75000 15000 2590 270 6.2 0 0 16.0 2000 9 999999999 110 0.1300 0 88 0.180 0.0 1.0 -2.50272E7 18.9 3.9 37 101700 497 1377 329 344 611 122 35900 57100 15300 2350 270 9.8 0 0 16.0 2000 9 999999999 110 0.1300 0 88 0.180 0.0 1.0 -2.50308E7 17.2 5.6 46 101700 252 1377 323 160 277 109 16200 19600 12600 2350 270 6.7 0 0 16.0 2000 9 999999999 120 0.1300 0 88 0.180 0.0 1.0 -2.50344E7 16.7 2.8 39 101700 28 654 318 0 0 0 0 0 0 0 270 6.7 0 0 16.0 2000 9 999999999 120 0.1300 0 88 0.180 0.0 1.0 -2.5038E7 15.0 5.0 51 101700 0 0 313 0 0 0 0 0 0 0 270 6.2 0 0 16.0 2000 9 999999999 120 0.1300 0 88 0.180 0.0 1.0 -2.50416E7 14.4 7.8 65 101700 0 0 313 0 0 0 0 0 0 0 270 5.2 0 0 16.0 2000 9 999999999 120 0.1300 0 88 0.180 0.0 1.0 -2.50452E7 13.3 10.0 80 101800 0 0 324 0 0 0 0 0 0 0 280 6.7 3 3 16.0 2000 9 999999999 120 0.1300 0 88 0.180 0.0 1.0 -2.50488E7 12.2 10.0 86 101800 0 0 319 0 0 0 0 0 0 0 270 4.6 3 3 16.0 2000 9 999999999 120 0.1300 0 88 0.180 0.0 1.0 -2.50524E7 12.2 10.0 86 101800 0 0 319 0 0 0 0 0 0 0 280 4.1 3 3 16.0 2000 9 999999999 130 0.1300 0 88 0.180 0.0 1.0 -2.5056E7 11.7 10.0 89 101700 0 0 304 0 0 0 0 0 0 0 270 3.6 0 0 16.0 2000 9 999999999 130 0.1300 0 88 0.180 0.0 1.0 -2.50596E7 11.7 9.4 86 101700 0 0 303 0 0 0 0 0 0 0 260 2.6 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.50632E7 10.6 8.9 89 101700 0 0 298 0 0 0 0 0 0 0 270 3.1 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.50668E7 10.6 6.7 77 101600 0 0 296 0 0 0 0 0 0 0 240 2.1 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.50704E7 10.0 3.9 66 101600 0 0 291 0 0 0 0 0 0 0 230 1.5 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.5074E7 10.0 8.3 89 101600 0 0 295 0 0 0 0 0 0 0 270 2.6 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.50776E7 9.4 7.2 86 101600 0 0 292 0 0 0 0 0 0 0 210 1.5 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.50812E7 10.0 6.7 80 101600 51 861 294 4 35 3 600 1700 500 60 0 0.0 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.50848E7 13.9 10.0 77 101700 293 1377 327 75 10 73 8400 400 8300 2550 300 2.1 3 3 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.50884E7 14.4 10.0 75 101700 531 1377 329 185 28 174 20600 2200 19700 6160 340 2.1 3 3 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.5092E7 15.6 10.6 72 101700 724 1377 336 259 35 241 28500 3500 26600 7240 0 0.0 3 3 14.4 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.50956E7 16.1 11.1 72 101600 858 1377 324 356 89 301 39200 9100 33500 9720 30 2.1 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.50992E7 17.2 11.7 70 101600 924 1377 330 369 78 317 40600 8000 35300 10780 0 0.0 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51028E7 20.6 9.4 49 101500 917 1377 358 532 302 330 56800 32300 35200 9250 280 4.6 3 3 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51064E7 20.6 9.4 49 101400 838 1377 358 611 693 188 63200 68800 21200 4330 280 6.2 3 3 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.511E7 19.4 8.9 51 101300 693 1377 337 459 484 215 47300 48300 23000 4680 280 6.7 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51136E7 17.2 8.9 58 101300 490 1377 341 177 47 161 19500 4500 17900 4260 280 8.8 3 3 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51172E7 14.4 8.9 70 101300 246 1377 328 147 166 117 15400 12000 13200 2510 280 8.8 3 3 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51208E7 13.3 9.4 77 101300 25 608 324 0 0 0 0 0 0 0 270 7.2 3 3 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51244E7 12.8 10.0 83 101300 0 0 322 0 0 0 0 0 0 0 280 6.2 3 3 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.5128E7 13.3 10.0 80 101400 0 0 324 0 0 0 0 0 0 0 280 5.7 3 3 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51316E7 12.2 10.6 90 101400 0 0 320 0 0 0 0 0 0 0 280 5.2 3 3 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51352E7 12.2 10.6 90 101400 0 0 320 0 0 0 0 0 0 0 280 5.2 3 3 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51388E7 11.7 10.6 93 101400 0 0 318 0 0 0 0 0 0 0 260 3.6 3 3 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51424E7 11.1 8.9 86 101400 0 0 313 0 0 0 0 0 0 0 260 3.1 3 3 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.5146E7 11.1 9.4 89 101400 0 0 301 0 0 0 0 0 0 0 280 3.1 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51496E7 10.0 8.9 93 101400 0 0 296 0 0 0 0 0 0 0 270 2.1 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51532E7 10.0 8.9 93 101400 0 0 296 0 0 0 0 0 0 0 250 2.6 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51568E7 9.4 6.7 83 101300 0 0 291 0 0 0 0 0 0 0 210 2.1 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51604E7 10.0 7.2 83 101400 0 0 294 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.5164E7 10.6 7.2 79 101400 0 0 297 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51676E7 11.7 8.9 83 101400 48 838 303 4 91 3 900 5400 600 110 0 0.0 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51712E7 13.9 10.6 80 101500 288 1378 314 152 491 49 15700 38400 7600 900 0 0.0 0 0 12.8 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51748E7 15.6 10.6 72 101500 526 1378 322 345 705 74 35400 66000 10100 1430 60 1.5 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51784E7 16.1 12.2 78 101500 719 1378 326 507 776 101 52500 76000 12700 2090 30 1.5 0 0 14.4 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.5182E7 17.2 11.7 70 101500 852 1378 330 622 806 121 64500 80100 14800 2740 0 0.0 0 0 14.4 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51856E7 20.6 5.6 37 101400 918 1378 339 685 827 132 71200 82500 16000 3190 0 0.0 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51892E7 24.4 5.0 29 101300 911 1378 356 651 726 170 68500 73200 19900 4390 330 3.1 0 0 16.0 2000 9 999999999 140 0.1290 0 88 0.180 0.0 1.0 -2.51928E7 24.4 6.1 31 101200 832 1378 357 572 619 197 61100 63500 22600 4670 330 3.6 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.51964E7 25.6 6.7 30 101200 686 1378 364 438 503 186 45700 50300 20600 3960 330 3.1 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.52E7 22.2 3.9 30 101200 484 1378 344 313 527 127 32500 48800 15300 2450 270 7.7 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.52036E7 21.1 5.6 36 101200 240 1378 341 111 40 104 12100 3200 11500 2190 270 6.2 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.52072E7 20.0 2.2 31 101300 23 586 332 0 0 0 0 0 0 0 260 6.2 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.52108E7 20.0 3.3 33 101300 0 0 333 0 0 0 0 0 0 0 260 6.7 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.52144E7 18.3 6.7 47 101300 0 0 330 0 0 0 0 0 0 0 320 3.6 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.5218E7 17.8 3.9 40 101400 0 0 324 0 0 0 0 0 0 0 230 2.1 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.52216E7 17.8 3.3 38 101300 0 0 323 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.52252E7 15.6 5.6 51 101400 0 0 316 0 0 0 0 0 0 0 250 3.6 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.52288E7 14.4 7.8 65 101400 0 0 313 0 0 0 0 0 0 0 300 2.1 0 0 16.0 2000 9 999999999 130 0.1290 0 88 0.180 0.0 1.0 -2.52324E7 15.0 6.7 58 101400 0 0 315 0 0 0 0 0 0 0 280 1.5 0 0 16.0 2000 9 999999999 130 0.1280 0 88 0.180 0.0 1.0 -2.5236E7 13.3 6.7 64 101400 0 0 307 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.52396E7 11.7 4.4 61 101400 0 0 298 0 0 0 0 0 0 0 240 1.5 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.52432E7 12.8 6.1 64 101400 0 0 305 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.52468E7 12.2 5.6 64 101400 0 0 302 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.52504E7 13.3 6.1 62 101400 0 0 307 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.5254E7 12.8 7.2 69 101400 45 816 306 3 63 2 600 3700 400 80 0 0.0 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.52576E7 16.1 9.4 64 101500 284 1379 323 144 434 55 14800 33500 7900 980 10 1.5 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.52612E7 17.2 10.6 65 101500 521 1379 329 325 598 98 33600 55800 12400 1880 30 1.5 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.52648E7 18.9 11.1 61 101500 713 1379 337 465 630 138 48400 62000 16200 2920 80 2.1 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.52684E7 23.3 0.0 21 101500 847 1379 345 559 622 176 58200 62100 19900 4140 0 0.0 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.5272E7 24.4 1.7 23 101400 912 1379 352 572 509 234 60800 52600 25900 6110 0 0.0 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.52756E7 25.6 2.2 22 101300 905 1379 358 564 454 265 59100 46800 28300 6950 0 0.0 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.52792E7 26.7 3.3 22 101200 826 1379 365 533 534 212 56400 54700 23500 5030 330 1.5 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.52828E7 26.1 6.1 28 101200 680 1379 365 432 510 179 45200 50900 20000 3790 340 2.6 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.52864E7 25.0 2.2 23 101200 478 1379 355 306 501 132 31600 46200 15600 2560 270 7.2 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.529E7 23.3 0.6 22 101200 233 1379 345 140 204 106 14800 14500 12300 2260 260 6.2 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.52936E7 21.1 1.1 26 101200 20 563 336 0 0 0 0 0 0 0 270 6.7 0 0 16.0 2000 9 999999999 110 0.1280 0 88 0.180 0.0 1.0 -2.52972E7 20.6 2.8 31 101200 0 0 336 0 0 0 0 0 0 0 260 5.7 0 0 16.0 2000 9 999999999 110 0.1280 0 88 0.180 0.0 1.0 -2.53008E7 20.0 2.2 31 101300 0 0 332 0 0 0 0 0 0 0 260 3.6 0 0 16.0 2000 9 999999999 110 0.1280 0 88 0.180 0.0 1.0 -2.53044E7 18.3 4.4 40 101300 0 0 327 0 0 0 0 0 0 0 230 2.6 0 0 16.0 2000 9 999999999 110 0.1280 0 88 0.180 0.0 1.0 -2.5308E7 18.3 3.9 38 101300 0 0 326 0 0 0 0 0 0 0 250 1.5 0 0 16.0 2000 9 999999999 110 0.1280 0 88 0.180 0.0 1.0 -2.53116E7 16.1 6.1 51 101300 0 0 319 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 110 0.1280 0 88 0.180 0.0 1.0 -2.53152E7 15.0 5.6 53 101300 0 0 314 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 110 0.1280 0 88 0.180 0.0 1.0 -2.53188E7 15.0 6.7 58 101300 0 0 315 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 110 0.1280 0 88 0.180 0.0 1.0 -2.53224E7 13.3 4.4 55 101300 0 0 305 0 0 0 0 0 0 0 270 2.1 0 0 16.0 2000 9 999999999 110 0.1280 0 88 0.180 0.0 1.0 -2.5326E7 13.3 7.8 69 101300 0 0 309 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 110 0.1280 0 88 0.180 0.0 1.0 -2.53296E7 14.4 10.0 75 101200 0 0 316 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 110 0.1280 0 88 0.180 0.0 1.0 -2.53332E7 12.8 8.3 74 101300 0 0 307 0 0 0 0 0 0 0 170 1.5 0 0 16.0 2000 9 999999999 110 0.1280 0 88 0.180 0.0 1.0 -2.53368E7 12.8 7.2 69 101300 0 0 306 0 0 0 0 0 0 0 250 1.5 0 0 16.0 2000 9 999999999 110 0.1280 0 88 0.180 0.0 1.0 -2.53404E7 13.3 7.8 69 101300 43 793 309 2 60 2 600 3500 400 80 0 0.0 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.5344E7 16.1 11.1 72 101300 279 1380 324 139 407 57 14200 31100 7900 1010 90 2.6 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.53476E7 17.2 11.1 67 101400 516 1380 329 287 411 132 29900 38800 15300 2570 80 2.1 0 0 16.0 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.53512E7 17.8 12.8 73 101400 708 1380 334 417 414 204 44800 43100 22600 4640 60 2.1 0 0 14.4 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.53548E7 18.9 13.9 73 101300 841 1380 351 508 421 251 54900 44800 27400 6310 80 2.6 2 2 14.4 2000 9 999999999 120 0.1280 0 88 0.180 0.0 1.0 -2.53584E7 20.0 14.4 70 101300 907 1380 361 554 431 269 57900 44400 28600 7070 20 2.6 3 3 14.4 2000 9 999999999 130 0.1280 0 88 0.180 0.0 1.0 -2.5362E7 20.0 13.3 65 101200 899 1380 356 558 454 261 58500 46700 27900 6790 20 2.1 2 2 12.8 2000 9 999999999 130 0.1280 0 88 0.180 0.0 1.0 -2.53656E7 20.6 13.3 63 101200 820 1380 363 447 295 271 47800 31300 29100 6830 20 2.1 3 3 16.0 2000 9 999999999 130 0.1280 0 88 0.180 0.0 1.0 -2.53692E7 25.0 7.8 33 101200 674 1380 374 389 340 222 41200 35000 24000 5090 280 5.2 2 2 16.0 2000 9 999999999 130 0.1280 0 88 0.180 0.0 1.0 -2.53728E7 22.8 8.3 39 101200 472 1380 367 263 279 167 27400 26300 18400 3590 280 5.2 3 3 16.0 2000 9 999999999 140 0.1280 0 88 0.180 0.0 1.0 -2.53764E7 20.0 7.8 45 101200 227 1380 350 149 241 109 15000 16000 12300 2410 280 6.2 2 2 16.0 2000 9 999999999 140 0.1280 0 88 0.180 0.0 1.0 -2.538E7 17.2 7.2 52 101300 18 517 339 0 0 0 0 0 0 0 280 6.7 3 3 16.0 2000 9 999999999 140 0.1280 0 88 0.180 0.0 1.0 -2.53836E7 15.6 8.3 62 101300 0 0 338 0 0 0 0 0 0 0 280 7.7 5 5 16.0 2000 9 999999999 140 0.1280 0 88 0.180 0.0 1.0 -2.53872E7 13.9 9.4 74 101400 0 0 332 0 0 0 0 0 0 0 270 6.2 5 5 16.0 2000 9 999999999 150 0.1280 0 88 0.180 0.0 1.0 -2.53908E7 12.8 10.0 83 101400 0 0 319 0 0 0 0 0 0 0 280 6.2 2 2 16.0 2000 9 999999999 150 0.1280 0 88 0.180 0.0 1.0 -2.53944E7 12.2 10.0 86 101600 0 0 319 0 0 0 0 0 0 0 270 6.2 3 3 16.0 2000 9 999999999 150 0.1280 0 88 0.180 0.0 1.0 -2.5398E7 11.7 10.0 89 101600 0 0 314 0 0 0 0 0 0 0 270 6.7 2 2 16.0 2000 9 999999999 150 0.1280 0 88 0.180 0.0 1.0 -2.54016E7 11.7 10.0 89 101700 0 0 304 0 0 0 0 0 0 0 280 5.2 0 0 16.0 2000 9 999999999 150 0.1280 0 88 0.180 0.0 1.0 -2.54052E7 10.6 9.4 92 101700 0 0 299 0 0 0 0 0 0 0 270 4.6 0 0 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54088E7 10.6 9.4 92 101800 0 0 299 0 0 0 0 0 0 0 280 4.1 0 0 14.4 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54124E7 10.6 8.9 89 101800 0 0 298 0 0 0 0 0 0 0 270 3.1 0 0 11.2 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.5416E7 10.0 8.9 93 101800 0 0 296 0 0 0 0 0 0 0 270 3.1 0 0 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54196E7 9.4 7.8 90 101900 0 0 292 0 0 0 0 0 0 0 220 1.5 0 0 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54232E7 10.0 7.8 86 101900 0 0 312 0 0 0 0 0 0 0 0 0.0 5 5 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54268E7 11.1 8.9 86 102000 40 794 337 1 0 1 100 0 100 40 280 2.6 9 9 12.8 274 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54304E7 12.2 9.4 83 102100 274 1381 343 45 0 45 5200 0 5200 1730 230 1.5 9 9 6.4 274 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.5434E7 12.2 10.0 86 102100 511 1381 353 94 0 94 10900 0 10900 3910 180 1.5 10 10 6.4 366 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54376E7 12.8 10.0 83 102100 703 1381 356 132 0 132 15500 0 15500 5890 0 0.0 10 10 6.4 366 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54412E7 14.4 10.0 75 102100 836 1381 354 220 12 213 25600 1000 25000 9270 310 5.2 9 9 8.0 366 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54448E7 15.0 9.4 69 102100 901 1381 337 423 156 321 46000 16400 35300 9170 280 7.2 5 5 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54484E7 15.6 10.0 69 102000 893 1381 335 364 85 309 40000 8700 34400 10240 310 7.2 3 3 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.5452E7 16.1 10.0 67 102000 814 1381 323 400 190 288 43500 19800 31700 7720 280 7.2 0 0 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54556E7 15.6 10.0 69 102000 668 1381 321 471 555 201 48600 55100 21800 4290 290 7.2 0 0 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54592E7 15.0 10.0 72 101900 465 1381 318 274 341 158 28600 32000 17800 3350 270 7.2 0 0 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54628E7 13.9 10.0 77 101900 221 1381 314 105 11 104 11200 500 11100 2480 270 7.2 0 0 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54664E7 12.8 10.0 83 101900 16 495 309 0 0 0 0 0 0 0 270 7.2 0 0 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.547E7 12.2 10.0 86 102000 0 0 306 0 0 0 0 0 0 0 270 8.2 0 0 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54736E7 12.2 10.0 86 102000 0 0 306 0 0 0 0 0 0 0 270 7.7 0 0 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54772E7 11.7 10.0 89 102000 0 0 304 0 0 0 0 0 0 0 270 5.7 0 0 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54808E7 11.7 10.0 89 102100 0 0 304 0 0 0 0 0 0 0 270 4.1 0 0 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54844E7 11.7 10.0 89 102100 0 0 304 0 0 0 0 0 0 0 280 4.1 0 0 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.5488E7 10.6 9.4 92 102100 0 0 299 0 0 0 0 0 0 0 230 2.1 0 0 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.54916E7 11.1 9.4 89 102000 0 0 301 0 0 0 0 0 0 0 260 3.6 0 0 16.0 2000 9 999999999 150 0.1270 0 88 0.180 0.0 1.0 -2.54952E7 10.6 8.3 86 102000 0 0 298 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1270 0 88 0.180 0.0 1.0 -2.54988E7 9.4 7.8 90 102000 0 0 292 0 0 0 0 0 0 0 250 2.1 0 0 16.0 2000 9 999999999 150 0.1270 0 88 0.180 0.0 1.0 -2.55024E7 10.6 10.0 96 102000 0 0 299 0 0 0 0 0 0 0 270 4.6 0 0 16.0 2000 9 999999999 150 0.1270 0 88 0.180 0.0 1.0 -2.5506E7 10.6 10.0 96 102000 0 0 312 0 0 0 0 0 0 0 260 3.6 3 3 16.0 2000 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.55096E7 11.1 10.0 93 102000 0 0 331 0 0 0 0 0 0 0 270 4.6 8 8 9.6 853 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.55132E7 11.1 10.6 97 102100 38 771 332 1 0 1 100 0 100 40 270 4.6 8 8 9.6 152 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.55168E7 11.7 10.6 93 102100 269 1381 335 51 0 51 5800 0 5800 1890 270 2.6 8 8 11.2 274 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.55204E7 12.8 10.6 86 102200 506 1381 357 122 6 120 13900 400 13800 4680 140 2.6 10 10 9.6 335 9 999999999 160 0.1270 0 88 0.180 0.0 1.0 -2.5524E7 13.3 10.6 84 102100 698 1381 330 374 256 244 40400 26200 27200 6100 70 1.5 5 5 9.6 335 9 999999999 170 0.1270 0 88 0.180 0.0 1.0 -2.55276E7 14.4 10.6 78 102100 830 1381 316 565 593 207 59900 60800 23300 4910 80 1.5 0 0 11.2 2000 9 999999999 170 0.1270 0 88 0.180 0.0 1.0 -2.55312E7 15.0 11.1 77 102000 895 1381 333 566 515 231 60000 53100 25500 5900 70 2.6 3 3 12.8 2000 9 999999999 170 0.1270 0 88 0.180 0.0 1.0 -2.55348E7 15.0 11.1 77 101900 887 1381 320 577 515 245 60800 53000 26600 6240 60 3.1 1 0 11.2 2000 9 999999999 170 0.1270 0 88 0.180 0.0 1.0 -2.55384E7 17.8 9.4 58 101900 808 1381 350 341 98 283 37400 10000 31600 8830 270 7.7 6 5 16.0 7620 9 999999999 170 0.1270 0 88 0.180 0.0 1.0 -2.5542E7 16.1 9.4 64 101800 662 1381 342 391 354 221 41400 36400 23900 5050 280 4.1 7 5 16.0 6096 9 999999999 180 0.1270 0 88 0.180 0.0 1.0 -2.55456E7 16.7 8.9 60 101800 459 1381 339 267 321 159 27800 30000 17800 3390 250 5.2 4 3 16.0 6096 9 999999999 180 0.1270 0 88 0.180 0.0 1.0 -2.55492E7 15.6 8.9 64 101700 215 1381 326 84 0 84 9000 0 9000 2300 310 4.1 1 1 16.0 7620 9 999999999 180 0.1270 0 88 0.180 0.0 1.0 -2.55528E7 14.4 8.3 67 101700 14 472 320 0 0 0 0 0 0 0 250 2.6 2 1 16.0 7620 9 999999999 180 0.1270 0 88 0.180 0.0 1.0 -2.55564E7 15.0 8.3 64 101800 0 0 330 0 0 0 0 0 0 0 240 4.1 6 3 16.0 6096 9 999999999 180 0.1270 0 88 0.180 0.0 1.0 -2.556E7 14.4 8.3 67 101700 0 0 328 0 0 0 0 0 0 0 0 0.0 8 3 16.0 6096 9 999999999 190 0.1270 0 88 0.180 0.0 1.0 -2.55636E7 14.4 8.3 67 101700 0 0 330 0 0 0 0 0 0 0 0 0.0 8 4 16.0 6096 9 999999999 190 0.1270 0 88 0.180 0.0 1.0 -2.55672E7 14.4 8.9 70 101700 0 0 331 0 0 0 0 0 0 0 180 1.5 8 4 16.0 6096 9 999999999 190 0.1270 0 88 0.180 0.0 1.0 -2.55708E7 14.4 8.3 67 101700 0 0 330 0 0 0 0 0 0 0 190 3.1 7 4 16.0 6096 9 999999999 190 0.1270 0 88 0.180 0.0 1.0 -2.55744E7 14.4 8.3 67 101700 0 0 330 0 0 0 0 0 0 0 190 4.6 8 4 16.0 5486 9 999999999 190 0.1270 0 88 0.180 0.0 1.0 -2.5578E7 15.0 8.3 64 101600 0 0 333 0 0 0 0 0 0 0 170 2.6 9 4 16.0 5486 9 999999999 200 0.1260 0 88 0.180 0.0 1.0 -2.55816E7 15.0 8.3 64 101600 0 0 333 0 0 0 0 0 0 0 140 4.1 9 4 16.0 5486 9 999999999 200 0.1260 0 88 0.180 0.0 1.0 -2.55852E7 15.0 8.9 67 101500 0 0 334 0 0 0 0 0 0 0 130 4.1 8 4 16.0 5486 9 999999999 200 0.1260 0 88 0.180 0.0 1.0 -2.55888E7 14.4 10.6 78 101400 0 0 348 0 0 0 0 0 0 0 120 3.1 10 8 16.0 3048 9 999999999 200 0.1260 0 88 0.180 0.0 1.0 -2.55924E7 15.0 10.0 72 101300 0 0 350 0 0 0 0 0 0 0 130 3.6 10 8 16.0 3353 9 999999999 200 0.1260 0 88 0.180 0.0 1.0 -2.5596E7 15.0 10.6 75 101300 0 0 368 0 0 0 0 0 0 0 100 3.6 10 10 16.0 1280 9 999999999 200 0.1260 0 88 0.180 0.0 1.0 -2.55996E7 13.9 12.2 89 101300 36 749 364 0 0 0 0 0 0 0 110 5.2 10 10 4.8 823 9 999999999 200 0.1260 0 88 0.180 4.0 1.0 -2.56032E7 13.9 13.3 96 101400 265 1382 366 54 0 54 6100 0 6100 1960 100 5.7 10 10 6.4 488 9 999999999 200 0.1260 0 88 0.180 5.0 1.0 -2.56068E7 13.9 13.3 96 101500 501 1382 366 112 0 112 12800 0 12800 4430 100 4.6 10 10 4.8 518 9 999999999 200 0.1260 0 88 0.180 3.0 1.0 -2.56104E7 15.0 13.3 90 101600 692 1382 371 116 0 116 13800 0 13800 5260 200 3.6 10 10 16.0 914 9 999999999 190 0.1260 0 88 0.180 2.0 1.0 -2.5614E7 16.1 12.8 81 101600 825 1382 376 282 36 261 31100 3600 28900 8420 240 4.1 10 10 16.0 1036 9 999999999 190 0.1260 0 88 0.180 0.0 1.0 -2.56176E7 16.1 12.2 78 101600 889 1382 358 286 42 259 31500 4300 28800 8850 260 4.6 8 8 16.0 2591 9 999999999 190 0.1260 0 88 0.180 0.0 1.0 -2.56212E7 17.2 12.2 72 101600 881 1382 363 621 587 246 65400 60400 26700 6230 280 5.2 8 8 16.0 3048 9 999999999 190 0.1260 0 88 0.180 0.0 1.0 -2.56248E7 17.2 12.2 72 101600 802 1382 348 542 645 166 56200 64000 18900 3730 270 5.2 4 4 16.0 2000 9 999999999 190 0.1260 0 88 0.180 0.0 1.0 -2.56284E7 17.2 11.7 70 101600 656 1382 347 451 556 186 46800 55100 20600 3910 270 5.2 4 4 16.0 2000 9 999999999 190 0.1260 0 88 0.180 0.0 1.0 -2.5632E7 17.2 12.8 75 101700 453 1382 348 222 192 159 23900 17900 18000 3600 280 5.7 4 4 16.0 2000 9 999999999 180 0.1260 0 88 0.180 0.0 1.0 -2.56356E7 16.3 12.4 78 101700 210 1382 344 121 91 107 13100 7100 12100 2050 280 5.7 4 4 16.0 2000 9 999999999 180 0.1260 0 88 0.180 999.0 99.0 -2.56392E7 15.6 12.2 80 101700 12 449 340 0 0 0 0 0 0 0 270 5.7 4 4 16.0 2000 9 999999999 180 0.1260 0 88 0.180 0.0 1.0 -2.56428E7 14.4 11.7 84 101700 0 0 331 0 0 0 0 0 0 0 260 6.2 3 3 16.0 2000 9 999999999 180 0.1260 0 88 0.180 0.0 1.0 -2.56464E7 14.4 11.1 81 101700 0 0 331 0 0 0 0 0 0 0 260 6.7 3 3 16.0 2000 9 999999999 180 0.1260 0 88 0.180 0.0 1.0 -2.565E7 14.4 11.1 81 101700 0 0 331 0 0 0 0 0 0 0 260 5.2 3 3 16.0 2000 9 999999999 180 0.1260 0 88 0.180 0.0 1.0 -2.56536E7 13.9 10.6 80 101800 0 0 314 0 0 0 0 0 0 0 260 6.2 0 0 16.0 2000 9 999999999 180 0.1260 0 88 0.180 0.0 1.0 -2.56572E7 13.3 11.1 87 101800 0 0 312 0 0 0 0 0 0 0 280 4.6 0 0 16.0 2000 9 999999999 170 0.1260 0 88 0.180 0.0 1.0 -2.56608E7 13.3 11.7 90 101900 0 0 326 0 0 0 0 0 0 0 260 5.2 3 3 16.0 2000 9 999999999 170 0.1260 0 88 0.180 0.0 1.0 -2.56644E7 12.2 10.6 90 101900 0 0 307 0 0 0 0 0 0 0 270 5.7 0 0 16.0 2000 9 999999999 170 0.1260 0 88 0.180 0.0 1.0 -2.5668E7 12.8 11.1 89 101900 0 0 323 0 0 0 0 0 0 0 270 6.7 3 3 16.0 2000 9 999999999 170 0.1260 0 88 0.180 0.0 1.0 -2.56716E7 12.2 11.1 93 101800 0 0 307 0 0 0 0 0 0 0 280 5.7 0 0 16.0 2000 9 999999999 170 0.1260 0 88 0.180 0.0 1.0 -2.56752E7 11.7 10.6 93 101800 0 0 305 0 0 0 0 0 0 0 260 4.6 0 0 12.8 2000 9 999999999 170 0.1260 0 88 0.180 0.0 1.0 -2.56788E7 11.1 10.6 97 101900 0 0 302 0 0 0 0 0 0 0 260 3.1 1 0 14.4 2000 9 999999999 170 0.1260 0 88 0.180 0.0 1.0 -2.56824E7 11.1 10.0 93 101900 0 0 317 0 0 0 0 0 0 0 240 3.6 4 4 16.0 2000 9 999999999 170 0.1260 0 88 0.180 0.0 1.0 -2.5686E7 12.2 10.0 86 101900 33 726 324 0 49 0 0 0 0 0 260 4.1 5 5 14.4 2000 9 999999999 170 0.1260 0 88 0.180 0.0 1.0 -2.56896E7 13.3 10.6 84 101900 260 1383 330 131 455 45 13500 34100 7000 820 270 3.1 5 5 14.4 2000 9 999999999 170 0.1260 0 88 0.180 0.0 1.0 -2.56932E7 15.0 9.4 69 102000 496 1383 331 302 595 88 31300 55000 11500 1690 340 3.6 3 3 16.0 2000 9 999999999 170 0.1260 0 88 0.180 0.0 1.0 -2.56968E7 16.1 9.4 64 102000 687 1383 339 421 495 174 44300 49500 19600 3680 270 4.1 4 4 16.0 2000 9 999999999 170 0.1260 0 88 0.180 0.0 1.0 -2.57004E7 17.2 9.4 60 101900 819 1383 342 547 634 171 56900 63000 19400 3900 290 2.6 3 3 16.0 2000 9 999999999 170 0.1260 0 88 0.180 0.0 1.0 -2.5704E7 17.2 10.0 63 101800 883 1383 342 614 665 187 63800 66500 21200 4560 280 2.1 3 3 16.0 2000 9 999999999 180 0.1260 0 88 0.180 0.0 1.0 -2.57076E7 18.3 9.4 56 101800 875 1383 347 559 503 240 58900 51700 26100 6020 270 7.7 3 3 16.0 2000 9 999999999 180 0.1260 0 88 0.180 0.0 1.0 -2.57112E7 18.3 10.0 58 101700 796 1383 350 542 608 191 57700 62100 21800 4360 260 8.2 4 4 16.0 2000 9 999999999 180 0.1260 0 88 0.180 0.0 1.0 -2.57148E7 17.8 10.6 63 101700 650 1383 349 430 588 152 45500 58300 18000 3110 270 9.3 4 4 16.0 2000 9 999999999 180 0.1260 0 88 0.180 0.0 1.0 -2.57184E7 17.2 10.0 63 101600 447 1383 345 299 550 120 30900 49700 14700 2300 260 9.3 4 4 16.0 2000 9 999999999 180 0.1260 0 88 0.180 0.0 1.0 -2.5722E7 15.6 10.6 72 101600 204 1383 336 97 0 97 10200 0 10200 2270 260 8.2 3 3 16.0 2000 9 999999999 180 0.1260 0 88 0.180 0.0 1.0 -2.57256E7 14.4 11.1 81 101600 11 403 331 0 0 0 0 0 0 0 260 7.7 3 3 16.0 2000 9 999999999 180 0.1260 0 88 0.180 0.0 1.0 -2.57292E7 14.4 10.6 78 101600 0 0 316 0 0 0 0 0 0 0 260 6.2 0 0 16.0 2000 9 999999999 180 0.1260 0 88 0.180 0.0 1.0 -2.57328E7 14.4 10.6 78 101600 0 0 316 0 0 0 0 0 0 0 270 4.1 0 0 16.0 2000 9 999999999 190 0.1260 0 88 0.180 0.0 1.0 -2.57364E7 14.4 10.6 78 101600 0 0 316 0 0 0 0 0 0 0 270 4.1 0 0 16.0 2000 9 999999999 190 0.1260 0 88 0.180 0.0 1.0 -2.574E7 14.4 10.6 78 101500 0 0 316 0 0 0 0 0 0 0 270 3.6 0 0 16.0 2000 9 999999999 190 0.1260 0 88 0.180 0.0 1.0 -2.57436E7 13.9 10.6 80 101500 0 0 314 0 0 0 0 0 0 0 270 3.1 0 0 16.0 2000 9 999999999 190 0.1260 0 88 0.180 0.0 1.0 -2.57472E7 12.8 10.0 83 101500 0 0 309 0 0 0 0 0 0 0 170 1.5 0 0 16.0 2000 9 999999999 190 0.1260 0 88 0.180 0.0 1.0 -2.57508E7 13.3 10.0 80 101500 0 0 311 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.57544E7 11.1 8.9 86 101500 0 0 300 0 0 0 0 0 0 0 210 1.5 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.5758E7 11.1 8.3 83 101400 0 0 300 0 0 0 0 0 0 0 250 1.5 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.57616E7 10.6 8.3 86 101400 0 0 298 0 0 0 0 0 0 0 260 2.1 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.57652E7 10.0 8.3 89 101400 0 0 295 0 0 0 0 0 0 0 210 2.1 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.57688E7 10.6 8.3 86 101400 0 0 298 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.57724E7 11.1 8.9 86 101400 31 703 300 0 48 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.5776E7 13.3 10.6 84 101400 255 1384 312 123 404 48 12600 29900 7000 860 150 2.1 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.57796E7 16.1 9.4 64 101400 491 1384 323 302 617 82 31400 57100 11100 1580 0 0.0 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.57832E7 17.2 9.4 60 101300 681 1384 328 436 617 131 45300 60300 15500 2710 360 1.5 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.57868E7 18.3 8.3 52 101300 813 1384 331 513 539 195 54600 55200 22100 4530 0 0.0 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.57904E7 19.4 8.3 49 101200 878 1384 336 578 593 200 62000 61200 23100 4940 0 0.0 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.5794E7 21.1 7.8 42 101100 870 1384 344 521 369 288 55800 39400 31000 7560 0 0.0 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.57976E7 22.2 8.9 43 101000 790 1384 350 536 602 191 56900 61400 21800 4340 310 4.1 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.58012E7 22.8 8.9 41 101000 644 1384 353 416 519 173 43300 51300 19400 3590 360 2.1 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.58048E7 20.0 9.4 50 101100 442 1384 340 264 380 142 27600 35000 16400 2950 280 6.2 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.58084E7 18.9 9.4 54 101000 198 1384 335 0 0 0 0 0 0 0 270 5.2 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.5812E7 16.7 10.6 67 101100 9 381 327 0 0 0 0 0 0 0 280 5.2 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.58156E7 16.1 10.0 67 101100 0 0 323 0 0 0 0 0 0 0 280 4.1 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.58192E7 15.6 10.6 72 101100 0 0 322 0 0 0 0 0 0 0 280 3.1 0 0 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.58228E7 15.0 10.0 72 101100 0 0 318 0 0 0 0 0 0 0 270 3.6 0 0 16.0 2000 9 999999999 180 0.1250 0 88 0.180 0.0 1.0 -2.58264E7 14.4 10.0 75 101200 0 0 316 0 0 0 0 0 0 0 190 2.1 0 0 16.0 2000 9 999999999 180 0.1250 0 88 0.180 0.0 1.0 -2.583E7 13.9 10.0 77 101200 0 0 314 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 180 0.1250 0 88 0.180 0.0 1.0 -2.58336E7 12.8 10.0 83 101200 0 0 309 0 0 0 0 0 0 0 270 3.1 0 0 14.4 2000 9 999999999 180 0.1250 0 88 0.180 0.0 1.0 -2.58372E7 12.2 9.4 83 101200 0 0 306 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 180 0.1250 0 88 0.180 0.0 1.0 -2.58408E7 13.3 11.1 87 101200 0 0 326 0 0 0 0 0 0 0 10 2.1 3 3 14.4 2000 9 999999999 180 0.1250 0 88 0.180 0.0 1.0 -2.58444E7 11.7 9.4 86 101300 0 0 340 0 0 0 0 0 0 0 260 4.6 10 9 14.4 183 9 999999999 180 0.1250 0 88 0.180 0.0 1.0 -2.5848E7 12.2 10.0 86 101300 0 0 353 0 0 0 0 0 0 0 290 2.1 10 10 16.0 244 9 999999999 180 0.1250 0 88 0.180 0.0 1.0 -2.58516E7 11.7 9.4 86 101400 0 0 321 0 0 0 0 0 0 0 220 2.6 6 5 16.0 2000 9 999999999 180 0.1250 0 88 0.180 0.0 1.0 -2.58552E7 12.2 9.4 83 101400 0 0 319 0 0 0 0 0 0 0 150 2.1 3 3 16.0 2000 9 999999999 180 0.1250 0 88 0.180 0.0 1.0 -2.58588E7 11.7 9.4 86 101500 29 658 319 0 0 0 0 0 0 0 200 2.6 4 4 14.4 2000 9 999999999 180 0.1250 0 88 0.180 0.0 1.0 -2.58624E7 13.3 10.0 80 101500 250 1385 327 92 118 71 10000 8800 8400 1520 150 4.6 4 4 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.5866E7 13.9 10.0 77 101600 486 1385 344 259 319 147 27400 30400 16700 3060 150 5.7 8 8 16.0 457 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.58696E7 15.0 10.0 72 101600 676 1385 350 142 0 142 16500 0 16500 6120 150 6.2 8 8 16.0 518 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.58732E7 16.7 10.0 65 101600 808 1385 358 113 0 113 13700 0 13700 5470 180 4.1 8 8 16.0 518 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.58768E7 16.7 10.0 65 101600 872 1385 358 197 12 189 23200 1000 22600 8640 190 5.7 8 8 16.0 671 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.58804E7 16.1 10.6 70 101500 864 1385 338 547 442 270 58800 47100 29300 6970 100 1.5 3 3 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.5884E7 16.1 11.7 75 101500 784 1385 342 315 86 266 34600 8700 29600 8220 50 3.1 4 4 16.0 2000 9 999999999 190 0.1250 0 88 0.180 0.0 1.0 -2.58876E7 17.2 10.6 65 101600 638 1385 361 186 6 183 21100 500 20800 7120 220 5.7 8 8 16.0 823 9 999999999 200 0.1250 0 88 0.180 0.0 1.0 -2.58912E7 15.6 10.6 72 101600 436 1385 361 95 0 95 10900 0 10900 3670 220 7.7 9 9 16.0 823 9 999999999 200 0.1250 0 88 0.180 0.0 1.0 -2.58948E7 15.6 10.6 72 101700 193 1385 371 0 0 0 0 0 0 0 230 3.6 10 10 16.0 610 9 999999999 200 0.1250 0 88 0.180 0.0 1.0 -2.58984E7 15.0 11.1 77 101700 8 358 369 0 0 0 0 0 0 0 230 3.6 10 10 16.0 549 9 999999999 200 0.1250 0 88 0.180 0.0 1.0 -2.5902E7 14.4 11.1 81 101700 0 0 366 0 0 0 0 0 0 0 210 4.6 10 10 16.0 549 9 999999999 200 0.1250 0 88 0.180 0.0 1.0 -2.59056E7 14.4 10.6 78 101700 0 0 348 0 0 0 0 0 0 0 210 4.6 8 8 16.0 671 9 999999999 200 0.1250 0 88 0.180 0.0 1.0 -2.59092E7 14.4 10.6 78 101800 0 0 365 0 0 0 0 0 0 0 190 5.2 10 10 16.0 792 9 999999999 200 0.1250 0 88 0.180 0.0 1.0 -2.59128E7 14.4 10.6 78 101800 0 0 365 0 0 0 0 0 0 0 180 2.1 10 10 16.0 671 9 999999999 200 0.1250 0 88 0.180 0.0 1.0 -2.59164E7 15.0 10.6 75 101800 0 0 368 0 0 0 0 0 0 0 180 2.6 10 10 16.0 671 9 999999999 209 0.1250 0 88 0.180 0.0 1.0 -2.592E7 15.0 10.6 75 101800 0 0 368 0 0 0 0 0 0 0 190 3.6 10 10 16.0 671 9 999999999 209 0.1250 0 88 0.180 0.0 1.0 -2.59236E7 15.0 10.6 75 101800 0 0 368 0 0 0 0 0 0 0 170 2.6 10 10 16.0 671 9 999999999 209 0.1240 0 88 0.180 0.0 1.0 -2.59272E7 14.4 11.1 81 101800 0 0 366 0 0 0 0 0 0 0 220 3.6 10 10 16.0 732 9 999999999 209 0.1240 0 88 0.180 0.0 1.0 -2.59308E7 13.3 11.7 90 101800 0 0 361 0 0 0 0 0 0 0 240 4.1 10 10 16.0 518 9 999999999 209 0.1240 0 88 0.180 0.0 1.0 -2.59344E7 12.8 11.1 89 101800 0 0 358 0 0 0 0 0 0 0 260 2.6 10 10 16.1 427 9 999999999 209 0.1240 0 88 0.180 0.0 1.0 -2.5938E7 13.3 10.6 84 101800 0 0 359 0 0 0 0 0 0 0 210 2.1 10 10 16.0 549 9 999999999 209 0.1240 0 88 0.180 0.0 1.0 -2.59416E7 13.3 10.6 84 101800 0 0 359 0 0 0 0 0 0 0 270 1.5 10 10 16.0 853 9 999999999 200 0.1240 0 88 0.180 0.0 1.0 -2.59452E7 13.3 11.1 87 101800 27 635 360 0 0 0 0 0 0 0 250 2.1 10 10 16.0 792 9 999999999 200 0.1240 0 88 0.180 0.0 1.0 -2.59488E7 13.9 11.1 83 101900 245 1385 363 36 0 36 4200 0 4200 1390 260 4.6 10 10 16.0 732 9 999999999 200 0.1240 0 88 0.180 0.0 1.0 -2.59524E7 14.4 11.1 81 101900 480 1385 356 111 0 111 12700 0 12700 4310 260 3.1 9 9 16.0 732 9 999999999 190 0.1240 0 88 0.180 0.0 1.0 -2.5956E7 14.4 11.7 84 101900 671 1385 356 115 0 115 13600 0 13600 5150 250 3.1 9 9 16.0 427 9 999999999 190 0.1240 0 88 0.180 0.0 1.0 -2.59596E7 15.0 11.7 81 101900 802 1385 359 473 367 260 50600 38800 28000 6430 250 4.6 9 9 16.0 671 9 999999999 180 0.1240 0 88 0.180 0.0 1.0 -2.59632E7 14.4 11.1 81 101800 866 1385 356 304 66 262 33400 6700 29200 8740 260 4.6 9 9 16.0 457 9 999999999 180 0.1240 0 88 0.180 0.0 1.0 -2.59668E7 14.4 11.1 81 101800 858 1385 348 233 6 229 26900 500 26600 9900 260 5.7 9 8 16.0 396 9 999999999 180 0.1240 0 88 0.180 0.0 1.0 -2.59704E7 15.0 10.6 75 101700 778 1385 345 201 6 198 23300 500 23000 8440 170 2.1 9 7 16.0 5486 9 999999999 170 0.1240 0 88 0.180 0.0 1.0 -2.5974E7 15.6 10.6 72 101600 632 1385 341 336 266 214 35400 27000 23000 4840 170 2.1 9 5 16.0 5486 9 999999999 170 0.1240 0 88 0.180 0.0 1.0 -2.59776E7 15.0 11.1 77 101600 430 1385 342 172 63 153 18900 5800 17100 3820 280 4.1 9 6 16.0 2286 9 999999999 160 0.1240 0 88 0.180 0.0 1.0 -2.59812E7 13.9 10.6 80 101600 187 1385 336 0 0 0 0 0 0 0 270 5.2 10 6 16.0 5486 9 999999999 160 0.1240 0 88 0.180 0.0 1.0 -2.59848E7 13.9 10.6 80 101500 7 335 330 0 0 0 0 0 0 0 290 2.6 9 4 16.0 5486 9 999999999 160 0.1240 0 88 0.180 0.0 1.0 -2.59884E7 13.3 10.6 84 101600 0 0 342 0 0 0 0 0 0 0 260 7.2 9 8 16.0 2134 9 999999999 150 0.1240 0 88 0.180 0.0 1.0 -2.5992E7 13.3 11.1 87 101600 0 0 350 0 0 0 0 0 0 0 260 4.6 10 9 16.0 2134 9 999999999 150 0.1240 0 88 0.180 0.0 1.0 -2.59956E7 12.8 11.1 89 101600 0 0 348 0 0 0 0 0 0 0 270 4.6 10 9 16.0 2286 9 999999999 140 0.1240 0 88 0.180 0.0 1.0 -2.59992E7 13.3 11.1 87 101600 0 0 337 0 0 0 0 0 0 0 270 3.6 10 7 16.0 5486 9 999999999 140 0.1240 0 88 0.180 0.0 1.0 -2.60028E7 12.8 11.1 89 101600 0 0 331 0 0 0 0 0 0 0 280 4.1 10 6 14.4 5182 9 999999999 140 0.1240 0 88 0.180 0.0 1.0 -2.60064E7 12.8 11.1 89 101500 0 0 331 0 0 0 0 0 0 0 280 4.1 9 6 12.8 5182 9 999999999 130 0.1240 0 88 0.180 0.0 1.0 -2.601E7 12.2 11.1 93 101400 0 0 326 0 0 0 0 0 0 0 270 4.1 9 5 16.0 5182 9 999999999 130 0.1240 0 88 0.180 0.0 1.0 -2.60136E7 11.7 10.6 93 101400 0 0 323 0 0 0 0 0 0 0 270 4.6 6 5 14.4 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60172E7 11.7 10.6 93 101400 0 0 310 0 0 0 0 0 0 0 290 4.1 1 1 14.4 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60208E7 11.7 10.6 93 101400 0 0 305 0 0 0 0 0 0 0 280 3.1 0 0 16.0 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60244E7 11.7 10.0 89 101400 0 0 320 0 0 0 0 0 0 0 260 5.2 4 4 14.4 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.6028E7 11.7 10.0 89 101400 0 0 320 0 0 0 0 0 0 0 260 5.2 4 4 14.4 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60316E7 11.1 10.0 93 101400 25 612 315 0 0 0 0 0 0 0 270 4.1 3 3 12.8 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60352E7 12.8 10.0 83 101400 240 1386 322 116 403 46 11900 29000 6800 820 270 4.6 3 3 12.8 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60388E7 13.9 10.0 77 101400 475 1386 344 295 642 73 30800 59100 10400 1420 280 4.1 8 8 14.4 3048 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60424E7 14.4 8.9 70 101400 665 1386 331 435 640 126 45100 62400 15100 2580 250 5.7 4 4 16.0 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.6046E7 15.0 7.2 60 101300 797 1386 329 496 515 199 52500 52500 22200 4560 250 5.2 3 3 16.0 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60496E7 16.1 7.8 58 101300 860 1386 321 536 491 230 56500 50400 25100 5650 280 7.2 0 0 16.0 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60532E7 15.6 7.8 60 101200 852 1386 332 535 460 250 55700 47100 26700 6150 280 8.8 3 3 16.0 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60568E7 16.1 7.8 58 101200 772 1386 335 544 628 193 57600 63800 21900 4330 260 9.3 3 3 16.0 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60604E7 16.1 8.3 60 101200 626 1386 321 404 514 171 42100 50500 19200 3520 280 8.8 0 0 16.0 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.6064E7 15.6 8.3 62 101200 425 1386 333 270 412 143 28100 37400 16600 3000 270 9.3 3 3 16.0 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60676E7 13.9 8.9 72 101200 182 1386 312 0 0 0 0 0 0 0 260 8.2 0 0 16.0 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60712E7 13.3 8.9 75 101200 6 312 310 0 0 0 0 0 0 0 240 7.2 0 0 16.0 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60748E7 12.8 8.9 77 101200 0 0 308 0 0 0 0 0 0 0 250 5.7 0 0 16.0 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.60784E7 13.3 7.8 69 101200 0 0 309 0 0 0 0 0 0 0 260 5.2 0 0 16.0 2000 9 999999999 120 0.1240 0 88 0.180 0.0 1.0 -2.6082E7 12.8 7.8 72 101300 0 0 306 0 0 0 0 0 0 0 250 5.7 0 0 16.0 2000 9 999999999 130 0.1240 0 88 0.180 0.0 1.0 -2.60856E7 12.2 7.8 74 101300 0 0 304 0 0 0 0 0 0 0 250 7.2 0 0 16.0 2000 9 999999999 130 0.1240 0 88 0.180 0.0 1.0 -2.60892E7 12.2 7.2 71 101300 0 0 303 0 0 0 0 0 0 0 260 6.2 0 0 16.0 2000 9 999999999 130 0.1240 0 88 0.180 0.0 1.0 -2.60928E7 11.7 7.2 74 101300 0 0 301 0 0 0 0 0 0 0 250 5.7 0 0 16.0 2000 9 999999999 130 0.1240 0 88 0.180 0.0 1.0 -2.60964E7 12.2 7.2 71 101300 0 0 303 0 0 0 0 0 0 0 250 5.2 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61E7 11.7 6.7 71 101300 0 0 301 0 0 0 0 0 0 0 250 4.6 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61036E7 10.6 7.8 83 101300 0 0 297 0 0 0 0 0 0 0 250 3.6 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61072E7 10.6 8.3 86 101300 0 0 298 0 0 0 0 0 0 0 290 3.6 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61108E7 10.6 8.3 86 101400 0 0 298 0 0 0 0 0 0 0 270 4.6 0 0 14.4 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61144E7 11.1 8.3 83 101400 0 0 300 0 0 0 0 0 0 0 280 4.1 0 0 14.4 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.6118E7 10.6 8.3 86 101400 23 589 298 0 0 0 0 0 0 0 260 3.6 0 0 11.2 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61216E7 12.2 8.9 80 101500 235 1387 305 114 415 44 11700 29700 6700 790 270 2.6 0 0 11.2 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61252E7 13.9 8.9 72 101500 470 1387 312 294 658 70 30800 60500 10200 1370 0 0.0 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61288E7 15.0 9.4 69 101500 660 1387 318 450 738 97 47500 72700 12800 2060 10 2.1 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61324E7 15.0 9.4 69 101500 791 1387 318 546 705 143 57300 70400 17000 3240 40 2.6 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.6136E7 15.6 8.9 64 101500 855 1387 320 620 797 127 64000 79000 15200 2800 50 1.5 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61396E7 17.8 7.2 50 101400 846 1387 328 604 739 151 63400 74300 18000 3620 280 6.7 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61432E7 17.2 5.6 46 101400 766 1387 323 552 763 128 58000 76200 15800 2880 270 9.3 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61468E7 17.2 5.6 46 101400 621 1387 323 435 699 121 45000 67300 14800 2400 270 6.7 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61504E7 15.6 6.7 55 101400 419 1387 317 282 539 118 28900 47600 14500 2260 260 6.2 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.6154E7 13.9 8.3 69 101400 177 1387 312 0 0 0 0 0 0 0 260 7.7 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61576E7 12.8 8.9 77 101500 5 266 308 0 0 0 0 0 0 0 260 7.2 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61612E7 12.2 8.9 80 101500 0 0 305 0 0 0 0 0 0 0 280 4.1 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61648E7 12.2 8.3 77 101500 0 0 304 0 0 0 0 0 0 0 280 5.2 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61684E7 11.7 8.9 83 101600 0 0 303 0 0 0 0 0 0 0 270 5.2 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.6172E7 11.1 8.9 86 101600 0 0 300 0 0 0 0 0 0 0 270 4.1 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61756E7 11.1 8.9 86 101600 0 0 300 0 0 0 0 0 0 0 280 3.1 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61792E7 10.6 8.3 86 101600 0 0 298 0 0 0 0 0 0 0 260 2.1 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61828E7 10.6 7.2 79 101700 0 0 297 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61864E7 9.4 6.7 83 101700 0 0 291 0 0 0 0 0 0 0 260 2.6 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.619E7 9.4 7.2 86 101700 0 0 292 0 0 0 0 0 0 0 270 2.6 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61936E7 8.9 6.7 86 101700 0 0 289 0 0 0 0 0 0 0 260 1.5 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.61972E7 7.8 5.6 86 101800 0 0 283 0 0 0 0 0 0 0 240 3.1 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.62008E7 9.4 7.2 86 101700 0 0 292 0 0 0 0 0 0 0 220 2.1 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.62044E7 8.9 7.2 89 101800 21 567 290 0 0 0 0 0 0 0 190 1.5 0 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.6208E7 11.7 8.3 80 101800 230 1388 302 94 254 52 9900 17400 7000 940 280 3.1 1 0 16.0 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.62116E7 13.3 10.0 80 101900 465 1388 317 201 178 141 21800 16800 16200 3200 290 2.1 1 1 14.4 2000 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.62152E7 14.4 10.0 75 101900 654 1388 326 444 581 169 46500 57600 19300 3510 10 2.6 5 2 14.4 5182 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.62188E7 14.4 10.6 78 101900 786 1388 327 326 107 266 35900 10800 29700 8220 60 2.6 2 2 14.4 5182 9 999999999 130 0.1230 0 88 0.180 0.0 1.0 -2.62224E7 14.4 10.6 78 101800 849 1388 327 417 192 299 45300 20100 33000 8180 360 1.5 4 2 12.8 5182 9 999999999 140 0.1230 0 88 0.180 0.0 1.0 -2.6226E7 16.7 10.6 67 101800 841 1388 341 308 73 264 33900 7400 29400 8590 300 3.1 5 3 14.4 7620 9 999999999 140 0.1230 0 88 0.180 0.0 1.0 -2.62296E7 16.1 9.4 64 101800 761 1388 339 121 0 121 14500 0 14500 5650 270 8.2 6 4 16.0 6096 9 999999999 140 0.1230 0 88 0.180 0.0 1.0 -2.62332E7 13.9 8.9 72 101900 615 1388 351 158 0 158 18000 0 18000 6300 260 6.7 9 9 16.0 5182 9 999999999 140 0.1230 0 88 0.180 0.0 1.0 -2.62368E7 13.3 10.0 80 101800 414 1388 349 78 0 78 9000 0 9000 3090 280 5.7 9 9 16.0 3048 9 999999999 140 0.1230 0 88 0.180 0.0 1.0 -2.62404E7 13.9 10.0 77 101900 171 1388 352 0 0 0 0 0 0 0 270 1.5 9 9 14.4 2438 9 999999999 140 0.1230 0 88 0.180 0.0 1.0 -2.6244E7 14.4 10.0 75 101900 4 243 364 0 0 0 0 0 0 0 0 0.0 10 10 16.0 1829 9 999999999 140 0.1230 0 88 0.180 0.0 1.0 -2.62476E7 15.0 9.4 69 101900 0 0 349 0 0 0 0 0 0 0 0 0.0 8 8 16.0 1829 9 999999999 140 0.1230 0 88 0.180 0.0 1.0 -2.62512E7 14.4 10.6 78 101900 0 0 335 0 0 0 0 0 0 0 0 0.0 5 5 16.0 2000 9 999999999 140 0.1230 0 88 0.180 0.0 1.0 -2.62548E7 13.3 10.6 84 101900 0 0 342 0 0 0 0 0 0 0 280 3.1 8 8 16.0 3353 9 999999999 140 0.1230 0 88 0.180 0.0 1.0 -2.62584E7 13.1 10.0 77 101900 0 0 341 0 0 0 0 0 0 0 0 2.9 9 8 16.0 3353 9 999999999 140 0.1230 0 88 0.180 0.0 1.0 -2.6262E7 13.0 9.3 77 101900 0 0 339 0 0 0 0 0 0 0 170 2.6 9 8 16.0 3353 9 999999999 140 0.1230 0 88 0.180 0.0 1.0 -2.62656E7 12.8 8.7 77 101900 0 0 338 0 0 0 0 0 0 0 0 2.4 8 8 16.0 3353 9 999999999 140 0.1230 0 88 0.180 0.0 1.0 -2.62692E7 12.7 8.0 51 102400 0 0 306 0 0 0 0 0 0 0 360 2.2 0 0 16.0 2000 9 999999999 100 0.1220 0 88 0.160 0.0 1.0 -2.62728E7 12.5 7.4 60 102500 0 0 305 0 0 0 0 0 0 0 360 2.0 0 0 16.0 2000 9 999999999 120 0.1220 0 88 0.160 0.0 1.0 -2.62764E7 12.4 6.7 57 102500 0 0 304 0 0 0 0 0 0 0 70 1.7 0 0 16.0 2000 9 999999999 130 0.1220 0 88 0.160 0.0 1.0 -2.628E7 12.2 6.1 66 102400 0 0 302 0 0 0 0 0 0 0 190 1.5 0 0 16.0 2000 9 999999999 140 0.1220 0 88 0.160 0.0 1.0 -2.62836E7 10.0 3.9 66 102500 0 0 291 0 0 0 0 0 0 0 200 2.1 0 0 16.0 2000 9 999999999 140 0.1220 0 88 0.160 0.0 1.0 -2.62872E7 10.0 3.9 66 102600 0 0 291 0 0 0 0 0 0 0 180 1.5 0 0 16.0 2000 9 999999999 140 0.1220 0 88 0.160 0.0 1.0 -2.62908E7 10.0 2.8 61 102600 18 544 290 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 140 0.1220 0 88 0.160 0.0 1.0 -2.62944E7 12.2 7.2 71 102700 223 1389 303 108 452 35 11200 31900 6000 650 0 0.0 0 0 16.0 2000 9 999999999 140 0.1220 0 88 0.160 0.0 1.0 -2.6298E7 15.0 4.4 49 102700 457 1389 312 282 634 73 29400 57700 10400 1400 0 0.0 0 0 16.0 2000 9 999999999 140 0.1220 0 88 0.160 0.0 1.0 -2.63016E7 16.1 7.2 56 102700 646 1389 320 443 755 91 45800 72900 11700 1810 0 0.0 0 0 16.0 2000 9 999999999 140 0.1220 0 88 0.160 0.0 1.0 -2.63052E7 17.2 2.2 36 102700 777 1389 320 557 799 108 57700 78800 13500 2310 160 2.6 0 0 16.0 2000 9 999999999 140 0.1220 0 88 0.160 0.0 1.0 -2.63088E7 18.3 1.1 31 102600 841 1389 323 602 791 121 62300 78400 14700 2670 0 0.0 0 0 16.0 2000 9 999999999 130 0.1220 0 88 0.160 0.0 1.0 -2.63124E7 20.0 1.7 30 102500 832 1389 332 611 824 115 63500 81800 14300 2570 350 2.1 0 0 16.0 2000 9 999999999 130 0.1220 0 88 0.160 0.0 1.0 -2.6316E7 20.6 1.7 28 102500 752 1389 334 540 789 111 55600 77400 13500 2270 340 2.6 0 0 16.0 2000 9 999999999 140 0.1220 0 88 0.160 0.0 1.0 -2.63196E7 20.6 0.0 25 102400 607 1389 332 415 662 124 42700 63300 14900 2420 0 0.0 0 0 16.0 2000 9 999999999 160 0.1220 0 88 0.160 0.0 1.0 -2.63232E7 20.6 0.6 26 102400 405 1389 333 258 445 128 26200 38800 14800 2480 0 0.0 0 0 16.0 2000 9 999999999 170 0.1220 0 88 0.160 0.0 1.0 -2.63268E7 17.8 5.6 45 102400 164 1389 326 0 0 0 0 0 0 0 280 4.6 0 0 16.0 2000 9 999999999 160 0.1220 0 88 0.160 0.0 1.0 -2.63304E7 16.1 4.4 46 102500 3 220 317 0 0 0 0 0 0 0 280 5.2 0 0 16.0 2000 9 999999999 160 0.1220 0 88 0.160 0.0 1.0 -2.6334E7 15.6 3.3 44 102500 0 0 314 0 0 0 0 0 0 0 280 5.7 0 0 16.0 2000 9 999999999 160 0.1220 0 88 0.160 0.0 1.0 -2.63376E7 15.0 4.4 49 102500 0 0 312 0 0 0 0 0 0 0 270 5.2 0 0 16.0 2000 9 999999999 160 0.1220 0 88 0.160 0.0 1.0 -2.63412E7 15.0 1.7 41 102500 0 0 309 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1220 0 88 0.160 0.0 1.0 -2.63448E7 12.8 2.8 51 102500 0 0 301 0 0 0 0 0 0 0 220 1.5 0 0 16.0 2000 9 999999999 150 0.1220 0 88 0.160 0.0 1.0 -2.63484E7 13.3 2.8 49 102600 0 0 303 0 0 0 0 0 0 0 280 2.1 0 0 16.0 2000 9 999999999 150 0.1220 0 88 0.160 0.0 1.0 -2.6352E7 12.2 7.2 71 102600 0 0 303 0 0 0 0 0 0 0 130 2.1 0 0 16.0 2000 9 999999999 150 0.1220 0 88 0.160 0.0 1.0 -2.63556E7 12.2 2.8 53 102600 0 0 299 0 0 0 0 0 0 0 210 2.6 0 0 16.0 2000 9 999999999 150 0.1220 0 88 0.160 0.0 1.0 -2.63592E7 11.1 3.3 59 102600 0 0 295 0 0 0 0 0 0 0 290 2.1 0 0 16.0 2000 9 999999999 160 0.1220 0 88 0.160 0.0 1.0 -2.63628E7 10.6 3.9 63 102600 0 0 293 0 0 0 0 0 0 0 0 0.0 3 0 16.0 2000 9 999999999 170 0.1220 0 88 0.160 0.0 1.0 -2.63664E7 10.0 3.9 66 102500 0 0 291 0 0 0 0 0 0 0 190 1.5 0 0 16.0 2000 9 999999999 170 0.1220 0 88 0.160 0.0 1.0 -2.637E7 10.6 6.1 74 102600 0 0 295 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 170 0.1220 0 88 0.160 0.0 1.0 -2.63736E7 10.0 6.7 80 102600 0 0 294 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 170 0.1220 0 88 0.160 0.0 1.0 -2.63772E7 10.6 8.3 86 102600 17 521 298 0 0 0 0 0 0 0 170 1.5 3 0 16.0 2000 9 999999999 170 0.1220 0 88 0.160 0.0 1.0 -2.63808E7 12.2 8.9 80 102700 218 1390 305 103 411 38 10600 28500 6100 690 0 0.0 0 0 16.0 2000 9 999999999 170 0.1220 0 88 0.160 0.0 1.0 -2.63844E7 13.9 8.3 69 102700 452 1390 312 268 533 94 27400 47600 11800 1720 0 0.0 0 0 16.0 2000 9 999999999 170 0.1220 0 88 0.160 0.0 1.0 -2.6388E7 15.0 6.1 55 102600 641 1390 314 448 754 99 47200 73700 13000 2070 80 2.1 0 0 16.0 2000 9 999999999 170 0.1220 0 88 0.160 0.0 1.0 -2.63916E7 15.6 7.2 57 102600 772 1390 318 557 822 98 58200 81400 12900 2170 60 2.1 0 0 12.8 2000 9 999999999 170 0.1220 0 88 0.160 0.0 1.0 -2.63952E7 16.7 8.9 60 102600 835 1390 335 614 845 104 64500 84300 13700 2430 10 1.5 10 2 16.0 2000 9 999999999 180 0.1220 0 88 0.160 0.0 1.0 -2.63988E7 17.8 7.2 50 102500 827 1390 328 605 837 105 63400 83300 13700 2410 0 0.0 3 0 14.4 2000 9 999999999 180 0.1220 0 88 0.160 0.0 1.0 -2.64024E7 18.3 6.1 45 102400 747 1390 340 540 814 101 56100 80100 12900 2140 0 0.0 10 2 12.8 2000 9 999999999 180 0.1220 0 88 0.160 0.0 1.0 -2.6406E7 18.9 8.9 52 102300 601 1390 355 408 618 140 43200 60400 16900 2790 10 1.5 10 5 14.4 2000 9 999999999 180 0.1220 0 88 0.160 0.0 1.0 -2.64096E7 19.4 8.3 49 102300 400 1390 356 270 560 108 27800 48700 13700 2040 330 2.6 10 5 14.4 2000 9 999999999 180 0.1220 0 88 0.160 0.0 1.0 -2.64132E7 17.8 10.0 60 102300 159 1390 337 0 0 0 0 0 0 0 290 5.2 1 1 9.6 2000 9 999999999 190 0.1220 0 88 0.160 0.0 1.0 -2.64168E7 16.1 11.7 75 102300 2 197 347 0 0 0 0 0 0 0 270 7.2 7 6 9.6 7620 9 999999999 190 0.1220 0 88 0.160 0.0 1.0 -2.64204E7 14.4 10.6 78 102300 0 0 327 0 0 0 0 0 0 0 260 7.2 2 2 12.8 2000 9 999999999 200 0.1220 0 88 0.160 0.0 1.0 -2.6424E7 14.4 9.4 72 102300 0 0 315 0 0 0 0 0 0 0 280 3.6 0 0 12.8 2000 9 999999999 209 0.1220 0 88 0.160 0.0 1.0 -2.64276E7 14.4 8.9 70 102300 0 0 328 0 0 0 0 0 0 0 300 5.2 4 3 14.4 2000 9 999999999 209 0.1220 0 88 0.160 0.0 1.0 -2.64312E7 13.3 12.8 97 102300 0 0 345 0 0 0 0 0 0 0 300 3.6 9 8 14.4 2000 9 999999999 220 0.1220 0 88 0.160 0.0 1.0 -2.64348E7 13.9 13.3 96 102300 0 0 348 0 0 0 0 0 0 0 310 2.6 8 8 16.0 6096 9 999999999 230 0.1220 0 88 0.160 0.0 1.0 -2.64384E7 13.9 13.3 96 102300 0 0 356 0 0 0 0 0 0 0 280 5.7 9 9 16.0 335 9 999999999 240 0.1220 0 88 0.160 0.0 1.0 -2.6442E7 14.4 13.9 97 102200 0 0 369 0 0 0 0 0 0 0 280 4.6 10 10 16.0 244 9 999999999 260 0.1210 0 88 0.160 0.0 1.0 -2.64456E7 14.4 13.3 93 102200 0 0 368 0 0 0 0 0 0 0 280 7.7 10 10 16.0 244 9 999999999 260 0.1210 0 88 0.160 0.0 1.0 -2.64492E7 13.9 12.2 89 102100 0 0 354 0 0 0 0 0 0 0 280 8.2 10 9 16.0 1676 9 999999999 260 0.1210 0 88 0.160 0.0 1.0 -2.64528E7 13.3 12.2 93 102100 0 0 361 0 0 0 0 0 0 0 270 8.8 10 10 16.0 1829 9 999999999 260 0.1210 0 88 0.160 0.0 1.0 -2.64564E7 13.3 10.6 84 102100 0 0 359 0 0 0 0 0 0 0 280 11.3 10 10 16.0 1829 9 999999999 250 0.1210 0 88 0.160 0.0 1.0 -2.646E7 13.3 10.0 80 102100 0 0 359 0 0 0 0 0 0 0 270 12.9 10 10 16.0 2438 9 999999999 240 0.1210 0 88 0.160 0.0 1.0 -2.64636E7 12.8 8.9 77 102000 15 498 355 0 0 0 0 0 0 0 280 11.8 10 10 16.0 2743 9 999999999 220 0.1210 0 88 0.160 0.0 1.0 -2.64672E7 12.8 7.8 72 102000 213 1391 344 102 348 48 10200 23500 6600 820 280 11.8 9 9 16.0 3353 9 999999999 200 0.1210 0 88 0.160 0.0 1.0 -2.64708E7 13.3 8.3 72 102000 447 1391 330 258 316 156 26900 29100 17500 3320 300 7.7 6 6 16.0 2000 9 999999999 170 0.1210 0 88 0.160 0.0 1.0 -2.64744E7 13.9 7.8 67 101900 636 1391 327 73 0 73 8900 0 8900 3410 290 9.3 4 4 16.0 3658 9 999999999 140 0.1210 0 88 0.160 0.0 1.0 -2.6478E7 13.9 8.3 69 101900 766 1391 342 450 379 240 48100 39800 26000 5740 290 8.8 8 8 16.0 1128 9 999999999 140 0.1210 0 88 0.160 0.0 1.0 -2.64816E7 14.4 7.2 62 101700 829 1391 344 316 96 258 34700 9700 28900 8340 310 5.7 8 8 16.0 1158 9 999999999 150 0.1210 0 88 0.160 0.0 1.0 -2.64852E7 13.9 7.2 64 101600 821 1391 341 95 0 95 11700 0 11700 4710 10 1.5 8 8 16.0 975 9 999999999 150 0.1210 0 88 0.160 0.0 1.0 -2.64888E7 13.9 7.8 67 101500 741 1391 342 257 49 230 28200 4900 25500 7050 320 4.1 8 8 16.0 1036 9 999999999 150 0.1210 0 88 0.160 0.0 1.0 -2.64924E7 13.9 8.9 72 101400 596 1391 343 333 223 237 35600 22100 26100 5650 330 3.1 8 8 16.0 1981 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.6496E7 12.8 9.4 80 101200 395 1391 338 51 0 51 6100 0 6100 2140 20 9.3 8 8 16.0 1372 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.64996E7 10.6 8.9 89 101300 154 1391 335 0 0 0 0 0 0 0 280 6.2 9 9 16.0 1676 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.65032E7 10.6 8.9 89 101300 2 174 335 0 0 0 0 0 0 0 280 4.1 9 9 16.0 1524 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.65068E7 11.1 8.3 83 101200 0 0 329 0 0 0 0 0 0 0 280 3.6 8 8 16.0 1311 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.65104E7 10.6 8.3 86 101200 0 0 343 0 0 0 0 0 0 0 300 5.2 10 10 16.0 1372 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.6514E7 11.1 9.4 89 101200 0 0 347 0 0 0 0 0 0 0 350 6.7 10 10 12.8 1219 9 999999999 170 0.1210 0 88 0.160 0.0 1.0 -2.65176E7 10.6 9.4 92 101200 0 0 345 0 0 0 0 0 0 0 10 4.6 10 10 16.0 1219 9 999999999 180 0.1210 0 88 0.160 0.0 1.0 -2.65212E7 11.1 8.9 86 101300 0 0 347 0 0 0 0 0 0 0 20 4.6 10 10 16.0 1433 9 999999999 170 0.1210 0 88 0.160 0.0 1.0 -2.65248E7 11.1 8.9 86 101300 0 0 347 0 0 0 0 0 0 0 50 5.2 10 10 16.0 579 9 999999999 170 0.1210 0 88 0.160 0.0 1.0 -2.65284E7 10.6 9.4 92 101300 0 0 345 0 0 0 0 0 0 0 20 3.1 10 10 16.0 579 9 999999999 170 0.1210 0 88 0.160 0.0 1.0 -2.6532E7 11.1 8.3 83 101300 0 0 346 0 0 0 0 0 0 0 40 3.1 10 10 16.0 579 9 999999999 170 0.1210 0 88 0.160 0.0 1.0 -2.65356E7 10.6 8.9 89 101300 0 0 335 0 0 0 0 0 0 0 70 3.1 9 9 16.0 488 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.65392E7 10.6 8.9 89 101300 0 0 328 0 0 0 0 0 0 0 70 4.1 8 8 16.0 610 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.65428E7 9.4 8.3 93 101400 0 0 321 0 0 0 0 0 0 0 190 2.6 8 8 16.0 671 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.65464E7 8.9 8.3 96 101400 0 0 319 0 0 0 0 0 0 0 0 0.0 8 8 16.0 3658 9 999999999 150 0.1210 0 88 0.160 0.0 1.0 -2.655E7 11.1 7.2 77 101500 13 475 328 0 0 0 0 0 0 0 70 4.1 9 8 16.0 3658 9 999999999 150 0.1210 0 88 0.160 0.0 1.0 -2.65536E7 11.7 7.2 74 101500 208 1391 338 27 0 27 3200 0 3200 1040 50 8.2 9 9 16.0 3962 9 999999999 150 0.1210 0 88 0.160 0.0 1.0 -2.65572E7 11.7 7.8 77 101600 441 1391 339 95 0 95 10900 0 10900 3690 60 8.2 9 9 16.0 3962 9 999999999 150 0.1210 0 88 0.160 0.0 1.0 -2.65608E7 11.7 8.3 80 101600 630 1391 323 296 162 222 31900 16300 24500 5370 70 9.8 6 6 16.0 5486 9 999999999 140 0.1210 0 88 0.160 0.0 1.0 -2.65644E7 12.2 8.3 77 101600 761 1391 334 343 130 271 37100 13400 29700 7000 60 8.8 8 8 16.0 2438 9 999999999 140 0.1210 0 88 0.160 0.0 1.0 -2.6568E7 12.8 7.8 72 101600 824 1391 337 328 78 281 36000 7900 31300 8870 60 8.2 8 8 16.0 1524 9 999999999 140 0.1210 0 88 0.160 0.0 1.0 -2.65716E7 13.3 8.3 72 101500 815 1391 340 353 91 299 38700 9300 33200 9220 60 8.2 8 8 16.0 1676 9 999999999 140 0.1210 0 88 0.160 0.0 1.0 -2.65752E7 13.9 8.3 69 101500 736 1391 342 392 247 261 42400 25400 28900 6650 70 8.8 8 8 16.0 1829 9 999999999 150 0.1210 0 88 0.160 0.0 1.0 -2.65788E7 13.9 7.8 67 101500 591 1391 342 220 45 201 24100 4400 22200 5540 70 10.3 8 8 16.0 1524 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.65824E7 13.9 7.8 67 101500 390 1391 359 112 0 112 12500 0 12500 3880 80 9.8 10 10 16.0 1524 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.6586E7 11.7 8.9 83 101600 150 1391 350 0 0 0 0 0 0 0 130 5.7 10 10 16.0 1433 9 999999999 170 0.1210 0 88 0.160 0.0 1.0 -2.65896E7 12.2 8.3 77 101600 1 151 325 0 0 0 0 0 0 0 60 8.8 6 6 16.0 2000 9 999999999 180 0.1210 0 88 0.160 0.0 1.0 -2.65932E7 12.2 8.9 80 101700 0 0 323 0 0 0 0 0 0 0 80 7.7 5 5 16.0 2000 9 999999999 190 0.1210 0 88 0.160 0.0 1.0 -2.65968E7 12.2 8.9 80 101700 0 0 323 0 0 0 0 0 0 0 80 6.2 5 5 16.0 2000 9 999999999 180 0.1210 0 88 0.160 0.0 1.0 -2.66004E7 12.2 8.3 77 101700 0 0 318 0 0 0 0 0 0 0 80 5.7 3 3 16.0 2000 9 999999999 180 0.1210 0 88 0.160 0.0 1.0 -2.6604E7 12.2 8.9 80 101800 0 0 305 0 0 0 0 0 0 0 80 4.6 0 0 16.0 2000 9 999999999 180 0.1210 0 88 0.160 0.0 1.0 -2.66076E7 12.2 8.3 77 101800 0 0 314 0 0 0 0 0 0 0 40 5.2 2 2 16.0 2000 9 999999999 180 0.1210 0 88 0.160 0.0 1.0 -2.66112E7 12.8 8.3 74 101900 0 0 307 0 0 0 0 0 0 0 70 5.7 0 0 16.0 2000 9 999999999 180 0.1210 0 88 0.160 0.0 1.0 -2.66148E7 12.2 8.3 77 101900 0 0 318 0 0 0 0 0 0 0 40 3.1 3 3 16.0 2000 9 999999999 190 0.1210 0 88 0.160 0.0 1.0 -2.66184E7 9.4 7.8 90 101900 0 0 292 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 180 0.1210 0 88 0.160 0.0 1.0 -2.6622E7 8.9 7.8 93 101800 0 0 296 0 0 0 0 0 0 0 160 2.6 1 1 16.0 2000 9 999999999 170 0.1210 0 88 0.160 0.0 1.0 -2.66256E7 10.6 7.2 79 101800 0 0 297 0 0 0 0 0 0 0 140 1.5 0 0 16.0 2000 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.66292E7 8.3 6.7 90 101800 0 0 287 0 0 0 0 0 0 0 180 1.5 0 0 16.0 2000 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.66328E7 9.4 6.1 80 101800 0 0 308 0 0 0 0 0 0 0 0 0.0 5 5 16.0 2000 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.66364E7 10.6 7.8 83 101800 12 452 321 0 0 0 0 0 0 0 0 0.0 7 7 16.0 2000 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.664E7 10.6 7.8 83 101900 203 1392 321 76 213 44 7900 13700 5900 790 0 0.0 7 7 16.0 6096 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.66436E7 13.3 7.8 69 101900 436 1392 325 270 487 116 27800 43600 14100 2210 100 1.5 4 4 16.0 2000 9 999999999 170 0.1210 0 88 0.160 0.0 1.0 -2.66472E7 13.3 7.2 67 101900 625 1392 308 296 191 210 32000 19200 23400 5060 70 1.5 0 0 16.0 2000 9 999999999 170 0.1210 0 88 0.160 0.0 1.0 -2.66508E7 14.4 7.8 65 101900 755 1392 319 460 426 228 49300 44700 24900 5370 60 1.5 1 1 16.0 2000 9 999999999 170 0.1210 0 88 0.160 0.0 1.0 -2.66544E7 15.0 9.4 69 101800 818 1392 318 590 707 172 61100 70200 19700 3890 50 2.1 0 0 16.0 2000 9 999999999 180 0.1210 0 88 0.160 0.0 1.0 -2.6658E7 15.0 10.0 72 101700 810 1392 318 530 582 190 56500 59500 21700 4370 30 2.1 0 0 16.0 2000 9 999999999 180 0.1210 0 88 0.160 0.0 1.0 -2.66616E7 17.2 8.9 58 101700 731 1392 327 521 777 112 55100 77400 14300 2470 0 0.0 0 0 16.0 2000 9 999999999 170 0.1210 0 88 0.160 0.0 1.0 -2.66652E7 17.8 6.1 46 101700 586 1392 327 411 716 109 42600 68300 13800 2140 280 6.2 0 0 16.0 2000 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.66688E7 16.7 3.3 41 101600 385 1392 319 257 545 105 26400 46700 13400 1980 270 6.2 0 0 16.0 2000 9 999999999 150 0.1210 0 88 0.160 0.0 1.0 -2.66724E7 15.0 6.7 58 101600 145 1392 315 0 0 0 0 0 0 0 280 6.7 0 0 16.0 2000 9 999999999 140 0.1210 0 88 0.160 0.0 1.0 -2.6676E7 13.9 9.4 74 101600 1 128 313 0 0 0 0 0 0 0 280 5.7 0 0 16.0 2000 9 999999999 140 0.1210 0 88 0.160 0.0 1.0 -2.66796E7 13.9 10.0 77 101600 0 0 314 0 0 0 0 0 0 0 280 5.2 0 0 16.0 2000 9 999999999 140 0.1210 0 88 0.160 0.0 1.0 -2.66832E7 13.3 10.6 84 101600 0 0 317 0 0 0 0 0 0 0 280 4.1 1 1 16.0 2000 9 999999999 140 0.1210 0 88 0.160 0.0 1.0 -2.66868E7 12.8 10.6 86 101600 0 0 309 0 0 0 0 0 0 0 280 4.1 0 0 16.0 6096 9 999999999 150 0.1210 0 88 0.160 0.0 1.0 -2.66904E7 11.7 8.9 83 101600 0 0 313 0 0 0 0 0 0 0 240 1.5 2 2 16.0 2000 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.6694E7 11.7 10.0 89 101600 0 0 304 0 0 0 0 0 0 0 280 2.1 0 0 16.0 2000 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.66976E7 10.6 7.2 79 101700 0 0 297 0 0 0 0 0 0 0 170 1.5 0 0 16.0 2000 9 999999999 160 0.1210 0 88 0.160 0.0 1.0 -2.67012E7 11.1 6.7 74 101700 0 0 298 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 160 0.1200 0 88 0.160 0.0 1.0 -2.67048E7 9.4 6.1 80 101800 0 0 290 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 160 0.1200 0 88 0.160 0.0 1.0 -2.67084E7 8.3 6.7 90 101700 0 0 287 0 0 0 0 0 0 0 240 1.5 0 0 16.0 2000 9 999999999 160 0.1200 0 88 0.160 0.0 1.0 -2.6712E7 9.4 7.8 90 101700 0 0 292 0 0 0 0 0 0 0 290 1.5 0 0 16.0 2000 9 999999999 160 0.1200 0 88 0.160 0.0 1.0 -2.67156E7 7.8 6.7 93 101700 0 0 285 0 0 0 0 0 0 0 250 1.5 0 0 16.0 2000 9 999999999 160 0.1200 0 88 0.160 0.0 1.0 -2.67192E7 8.9 7.8 93 101600 0 0 303 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 160 0.1200 0 88 0.160 0.0 1.0 -2.67228E7 8.9 7.8 93 101600 11 429 303 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 160 0.1200 0 88 0.160 0.0 1.0 -2.67264E7 10.6 8.9 89 101700 198 1393 311 51 37 46 5600 2700 5200 1140 0 0.0 3 3 16.0 2000 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.673E7 13.3 11.1 87 101700 431 1393 328 125 11 122 14000 700 13800 4330 310 2.1 4 4 14.4 2000 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.67336E7 13.3 11.7 90 101600 619 1393 329 202 23 192 22700 1900 21900 7190 90 2.1 4 4 14.4 2000 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.67372E7 13.9 11.7 87 101600 750 1393 329 438 373 236 46700 39100 25600 5590 80 2.1 3 3 14.4 2000 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.67408E7 13.9 11.1 83 101500 813 1393 315 476 365 262 50900 38600 28200 6510 70 2.1 0 0 14.4 2000 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.67444E7 14.4 11.7 84 101400 805 1393 317 328 85 279 36100 8600 31100 8660 0 0.0 0 0 12.8 2000 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.6748E7 16.1 10.6 70 101300 725 1393 324 339 148 261 36600 15200 28600 6610 290 6.7 0 0 16.0 2000 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.67516E7 15.0 10.6 75 101300 581 1393 319 145 0 145 16500 0 16500 5740 300 7.7 0 0 16.0 2000 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.67552E7 13.3 10.6 84 101300 381 1393 312 114 0 114 12600 0 12600 3860 290 7.7 0 0 16.0 2000 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.67588E7 12.2 10.6 90 101300 141 1393 320 0 0 0 0 0 0 0 290 7.7 3 3 16.0 2000 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.67624E7 11.7 10.6 93 101400 1 104 318 0 0 0 0 0 0 0 300 5.2 3 3 16.0 2000 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.6766E7 11.7 10.0 89 101400 0 0 317 0 0 0 0 0 0 0 290 5.7 3 3 16.0 2000 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.67696E7 11.1 10.0 93 101400 0 0 315 0 0 0 0 0 0 0 280 3.1 3 3 16.0 2000 9 999999999 160 0.1200 0 88 0.160 0.0 1.0 -2.67732E7 11.1 10.0 93 101400 0 0 315 0 0 0 0 0 0 0 290 3.1 3 3 16.0 2000 9 999999999 160 0.1200 0 88 0.160 0.0 1.0 -2.67768E7 10.0 9.4 96 101400 0 0 309 0 0 0 0 0 0 0 280 2.1 3 3 16.0 2000 9 999999999 160 0.1200 0 88 0.160 0.0 1.0 -2.67804E7 10.6 8.9 89 101500 0 0 311 0 0 0 0 0 0 0 130 1.5 3 3 14.4 2000 9 999999999 160 0.1200 0 88 0.160 0.0 1.0 -2.6784E7 11.1 9.4 89 101500 0 0 331 0 0 0 0 0 0 0 0 0.0 8 8 14.4 427 9 999999999 160 0.1200 0 88 0.160 0.0 1.0 -2.67876E7 11.7 10.0 89 101400 0 0 334 0 0 0 0 0 0 0 0 0.0 8 8 16.0 427 9 999999999 160 0.1200 0 88 0.160 0.0 1.0 -2.67912E7 11.7 10.0 89 101400 0 0 351 0 0 0 0 0 0 0 160 3.6 10 10 16.0 427 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.67948E7 11.7 10.0 89 101400 0 0 351 0 0 0 0 0 0 0 150 1.5 10 10 16.0 488 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.67984E7 11.7 9.4 86 101400 0 0 350 0 0 0 0 0 0 0 150 2.6 10 10 16.0 488 9 999999999 140 0.1200 0 88 0.160 0.0 1.0 -2.6802E7 11.7 10.0 89 101400 0 0 351 0 0 0 0 0 0 0 150 2.6 10 10 16.0 488 9 999999999 140 0.1200 0 88 0.160 0.0 1.0 -2.68056E7 11.7 10.0 89 101500 0 0 351 0 0 0 0 0 0 0 170 2.6 10 10 11.2 457 9 999999999 140 0.1200 0 88 0.160 0.0 1.0 -2.68092E7 11.7 9.4 86 101500 9 383 350 0 0 0 0 0 0 0 170 2.6 10 10 12.8 457 9 999999999 140 0.1200 0 88 0.160 0.0 1.0 -2.68128E7 12.2 9.4 83 101600 193 1393 353 70 142 51 7500 8600 6300 960 150 3.6 10 10 12.8 488 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.68164E7 12.2 9.4 83 101600 426 1393 336 94 0 94 10700 0 10700 3600 140 3.6 8 8 11.2 488 9 999999999 150 0.1200 0 88 0.160 0.0 1.0 -2.682E7 12.8 9.4 80 101500 614 1393 324 414 579 158 43300 56700 18200 3200 0 0.0 4 4 14.4 2000 9 999999999 160 0.1200 0 88 0.160 0.0 1.0 -2.68236E7 13.3 10.0 80 101600 744 1393 324 494 650 145 51300 64200 16900 3120 70 2.1 3 3 16.0 2000 9 999999999 170 0.1200 0 88 0.160 0.0 1.0 -2.68272E7 13.9 10.0 77 101500 808 1393 327 518 545 201 54900 55600 22500 4640 30 2.6 3 3 16.0 2000 9 999999999 180 0.1200 0 88 0.160 0.0 1.0 -2.68308E7 15.0 10.6 75 101400 799 1393 333 461 328 272 49000 34600 29100 6770 360 2.1 3 3 16.0 2000 9 999999999 190 0.1200 0 88 0.160 0.0 1.0 -2.68344E7 16.1 10.6 70 101500 720 1393 338 217 19 207 24700 1600 23900 8300 300 2.6 3 3 16.0 2000 9 999999999 190 0.1200 0 88 0.160 0.0 1.0 -2.6838E7 16.1 10.6 70 101400 576 1393 338 298 224 205 32100 22100 22900 4840 260 3.6 3 3 16.0 2000 9 999999999 190 0.1200 0 88 0.160 0.0 1.0 -2.68416E7 15.6 10.0 69 101500 376 1393 335 188 116 157 20600 10500 17700 3590 230 5.7 3 3 16.0 2000 9 999999999 190 0.1200 0 88 0.160 0.0 1.0 -2.68452E7 14.4 10.6 78 101500 136 1393 330 0 0 0 0 0 0 0 270 4.6 3 3 16.0 2000 9 999999999 190 0.1200 0 88 0.160 0.0 1.0 -2.68488E7 13.9 10.6 80 101500 0 81 333 0 0 0 0 0 0 0 270 4.6 5 5 16.0 2000 9 999999999 200 0.1200 0 88 0.160 0.0 1.0 -2.68524E7 13.9 11.1 83 101600 0 0 333 0 0 0 0 0 0 0 260 3.1 5 5 16.0 2000 9 999999999 200 0.1200 0 88 0.160 0.0 1.0 -2.6856E7 13.3 10.6 84 101600 0 0 328 0 0 0 0 0 0 0 210 3.1 4 4 16.0 2000 9 999999999 209 0.1200 0 88 0.160 0.0 1.0 -2.68596E7 12.8 11.1 89 101600 0 0 323 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 220 0.1200 0 88 0.160 0.0 1.0 -2.68632E7 12.2 11.1 93 101600 0 0 321 0 0 0 0 0 0 0 280 3.1 3 3 16.0 2000 9 999999999 220 0.1200 0 88 0.160 0.0 1.0 -2.68668E7 11.1 10.6 97 101600 0 0 315 0 0 0 0 0 0 0 230 2.6 3 3 16.0 2000 9 999999999 230 0.1200 0 88 0.160 0.0 1.0 -2.68704E7 12.8 11.1 89 101600 0 0 328 0 0 0 0 0 0 0 240 2.1 5 5 16.0 2000 9 999999999 230 0.1200 0 88 0.160 0.0 1.0 -2.6874E7 11.7 11.1 96 101600 0 0 326 0 0 0 0 0 0 0 170 2.1 6 6 16.0 2000 9 999999999 240 0.1190 0 88 0.160 0.0 1.0 -2.68776E7 11.7 10.6 93 101600 0 0 318 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 230 0.1190 0 88 0.160 0.0 1.0 -2.68812E7 11.7 10.6 93 101600 0 0 320 0 0 0 0 0 0 0 280 1.5 4 4 16.0 2000 9 999999999 220 0.1190 0 88 0.160 0.0 1.0 -2.68848E7 12.8 11.1 89 101500 0 0 340 0 0 0 0 0 0 0 280 1.5 8 8 16.0 640 9 999999999 220 0.1190 0 88 0.160 0.0 1.0 -2.68884E7 12.2 11.1 93 101600 0 0 355 0 0 0 0 0 0 0 160 2.1 10 10 14.4 732 9 999999999 220 0.1190 0 88 0.160 0.0 1.0 -2.6892E7 12.8 10.6 86 101600 0 0 357 0 0 0 0 0 0 0 230 2.1 10 10 16.0 579 9 999999999 230 0.1190 0 88 0.160 0.0 1.0 -2.68956E7 12.8 10.6 86 101600 8 360 347 0 0 0 0 0 0 0 130 1.5 9 9 14.4 792 9 999999999 230 0.1190 0 88 0.160 0.0 1.0 -2.68992E7 13.3 10.6 84 101600 189 1394 350 36 0 36 4100 0 4100 1280 200 2.6 9 9 14.4 853 9 999999999 240 0.1190 0 88 0.160 0.0 1.0 -2.69028E7 15.0 10.0 72 101700 421 1394 357 71 0 71 8300 0 8300 2880 230 2.6 9 9 16.0 914 9 999999999 240 0.1190 0 88 0.160 0.0 1.0 -2.69064E7 14.4 9.4 72 101700 609 1394 346 67 0 67 8200 0 8200 3110 210 2.1 8 8 16.0 914 9 999999999 250 0.1190 0 88 0.160 0.0 1.0 -2.691E7 14.4 10.0 75 101700 739 1394 364 84 0 84 10300 0 10300 4070 190 4.6 10 10 16.0 914 9 999999999 250 0.1190 0 88 0.160 0.0 1.0 -2.69136E7 14.4 10.6 78 101700 802 1394 365 95 0 95 11700 0 11700 4670 220 4.1 10 10 16.0 945 9 999999999 250 0.1190 0 88 0.160 0.0 1.0 -2.69172E7 14.4 10.6 78 101700 794 1394 365 88 0 88 10800 0 10800 4350 190 4.6 10 10 16.0 975 9 999999999 260 0.1190 0 88 0.160 0.0 1.0 -2.69208E7 13.3 12.2 93 101700 715 1394 361 81 0 81 9900 0 9900 3890 240 2.6 10 10 12.8 975 9 999999999 240 0.1190 0 88 0.160 0.0 1.0 -2.69244E7 13.3 11.7 90 101700 571 1394 361 61 0 61 7400 0 7400 2810 230 2.6 10 10 12.8 914 9 999999999 220 0.1190 0 88 0.160 0.0 1.0 -2.6928E7 13.3 11.1 87 101700 371 1394 360 74 0 74 8500 0 8500 2830 210 2.1 10 10 16.0 1128 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.69316E7 13.3 11.7 90 101800 132 1394 361 0 0 0 0 0 0 0 190 2.6 10 10 12.8 762 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.69352E7 13.3 11.1 87 101800 0 58 360 0 0 0 0 0 0 0 220 2.6 10 10 16.0 792 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.69388E7 13.3 11.1 87 101800 0 0 360 0 0 0 0 0 0 0 200 2.1 10 10 16.0 823 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.69424E7 13.3 10.0 80 101900 0 0 359 0 0 0 0 0 0 0 250 6.2 10 10 16.0 1097 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.6946E7 13.3 9.4 77 101900 0 0 358 0 0 0 0 0 0 0 230 6.2 10 10 16.0 1219 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.69496E7 13.3 10.0 80 101900 0 0 359 0 0 0 0 0 0 0 200 4.1 10 10 16.0 1158 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.69532E7 13.3 9.4 77 102000 0 0 358 0 0 0 0 0 0 0 230 5.7 10 10 16.0 1189 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.69568E7 12.8 10.0 83 101900 0 0 356 0 0 0 0 0 0 0 250 1.5 10 10 16.0 1128 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.69604E7 13.3 10.6 84 102000 0 0 359 0 0 0 0 0 0 0 0 0.0 10 10 16.0 1128 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.6964E7 12.2 11.1 93 102000 0 0 355 0 0 0 0 0 0 0 0 0.0 10 10 6.4 610 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.69676E7 12.2 11.7 97 102000 0 0 355 0 0 0 0 0 0 0 80 1.5 10 10 16.0 1006 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.69712E7 12.2 11.7 97 102000 0 0 355 0 0 0 0 0 0 0 160 2.1 10 10 16.0 1250 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.69748E7 12.2 11.7 97 102000 0 0 355 0 0 0 0 0 0 0 160 1.5 10 10 16.0 1250 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.69784E7 12.2 11.7 97 102000 0 0 355 0 0 0 0 0 0 0 0 0.0 10 10 16.0 1250 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.6982E7 12.2 11.7 97 102100 7 337 355 0 0 0 0 0 0 0 0 0.0 10 10 16.0 1311 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.69856E7 12.8 11.7 93 102100 184 1395 348 54 90 42 5700 5300 5000 760 170 1.5 9 9 16.0 1311 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.69892E7 13.3 11.1 87 102100 416 1395 360 120 22 113 13400 1300 13000 4040 170 2.6 10 10 16.0 1311 9 999999999 220 0.1190 0 88 0.160 0.0 1.0 -2.69928E7 14.4 10.6 78 102100 604 1395 365 67 0 67 8200 0 8200 3100 130 1.5 10 10 16.0 1311 9 999999999 220 0.1190 0 88 0.160 0.0 1.0 -2.69964E7 15.0 10.6 75 102200 734 1395 358 146 0 146 17100 0 17100 6480 80 2.6 9 9 16.0 1311 9 999999999 230 0.1190 0 88 0.160 0.0 1.0 -2.7E7 15.6 7.8 60 102100 797 1395 368 95 0 95 11600 0 11600 4660 150 3.1 10 10 16.0 1311 9 999999999 240 0.1190 0 88 0.160 0.0 1.0 -2.70036E7 15.6 7.2 57 102100 789 1395 367 385 194 275 41800 20100 30300 7220 190 3.1 10 10 16.0 1372 9 999999999 250 0.1190 0 88 0.160 0.0 1.0 -2.70072E7 16.1 8.3 60 102000 710 1395 353 387 272 248 40900 28200 26500 5870 140 2.6 8 8 16.0 1372 9 999999999 230 0.1190 0 88 0.160 0.0 1.0 -2.70108E7 15.6 10.0 69 102000 566 1395 360 161 0 161 18200 0 18200 6070 90 4.1 9 9 16.0 1494 9 999999999 220 0.1190 0 88 0.160 0.0 1.0 -2.70144E7 15.6 10.6 72 102000 367 1395 353 138 58 123 15100 5200 13800 3010 90 4.1 8 8 16.0 4572 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.7018E7 15.0 11.1 77 102000 128 1395 369 0 0 0 0 0 0 0 110 2.6 10 10 16.0 4572 9 999999999 230 0.1190 0 88 0.160 0.0 1.0 -2.70216E7 15.0 8.9 67 102000 0 35 356 0 0 0 0 0 0 0 210 3.1 9 9 16.0 1676 9 999999999 250 0.1190 0 88 0.160 0.0 1.0 -2.70252E7 14.4 9.4 72 102000 0 0 354 0 0 0 0 0 0 0 160 3.1 9 9 16.0 4267 9 999999999 260 0.1190 0 88 0.160 0.0 1.0 -2.70288E7 14.4 9.4 72 102100 0 0 364 0 0 0 0 0 0 0 140 2.1 10 10 16.0 1676 9 999999999 270 0.1190 0 88 0.160 0.0 1.0 -2.70324E7 14.4 9.4 72 102000 0 0 364 0 0 0 0 0 0 0 180 1.5 10 10 16.0 1524 9 999999999 280 0.1190 0 88 0.160 0.0 1.0 -2.7036E7 14.4 11.1 81 102000 0 0 366 0 0 0 0 0 0 0 100 3.1 10 10 16.0 2896 9 999999999 280 0.1190 0 88 0.160 0.0 1.0 -2.70396E7 14.4 10.0 75 102000 0 0 364 0 0 0 0 0 0 0 0 0.0 10 10 16.0 1829 9 999999999 290 0.1190 0 88 0.160 0.0 1.0 -2.70432E7 13.9 10.6 80 102000 0 0 363 0 0 0 0 0 0 0 0 0.0 10 10 16.0 1524 9 999999999 300 0.1190 0 88 0.160 0.0 1.0 -2.70468E7 13.3 11.1 87 102000 0 0 360 0 0 0 0 0 0 0 60 2.6 10 10 8.0 1341 9 999999999 310 0.1190 0 88 0.160 1.0 1.0 -2.70504E7 12.8 11.1 89 101900 0 0 358 0 0 0 0 0 0 0 180 2.1 10 10 16.0 1128 9 999999999 280 0.1190 0 88 0.160 0.0 1.0 -2.7054E7 12.8 11.1 89 101900 0 0 358 0 0 0 0 0 0 0 0 0.0 10 10 16.0 1006 9 999999999 260 0.1190 0 88 0.160 0.0 1.0 -2.70576E7 12.8 11.1 89 101900 0 0 358 0 0 0 0 0 0 0 0 0.0 10 10 16.0 823 9 999999999 240 0.1190 0 88 0.160 0.0 1.0 -2.70612E7 12.8 11.7 93 101900 0 0 358 0 0 0 0 0 0 0 110 2.6 10 10 16.0 762 9 999999999 230 0.1190 0 88 0.160 0.0 1.0 -2.70648E7 12.2 11.7 97 101900 0 0 355 0 0 0 0 0 0 0 0 0.0 10 10 16.0 823 9 999999999 220 0.1190 0 88 0.160 0.0 1.0 -2.70684E7 12.2 11.7 97 101900 6 314 355 0 0 0 0 0 0 0 360 1.5 10 10 11.2 762 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.7072E7 12.8 12.2 96 102000 179 1395 359 13 0 13 1600 0 1600 530 0 0.0 10 10 16.0 1311 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.70756E7 12.8 12.2 96 102000 410 1395 359 40 0 40 4900 0 4900 1750 170 1.5 10 10 2.4 701 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.70792E7 12.8 12.8 100 102000 598 1395 360 134 0 134 15400 0 15400 5500 0 0.0 10 10 4.8 701 9 999999999 209 0.1190 0 88 0.160 1.0 1.0 -2.70828E7 13.9 13.3 96 102000 729 1395 348 129 0 129 15300 0 15300 5840 100 3.1 8 8 16.0 640 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.70864E7 15.0 13.3 90 101900 792 1395 354 274 30 257 31100 2700 29500 10130 70 3.1 8 8 16.0 1189 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.709E7 17.2 12.8 75 101800 784 1395 364 278 36 257 30500 3600 28400 7970 210 2.6 8 8 16.0 1128 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.70936E7 16.1 13.3 83 101800 705 1395 359 367 222 254 39600 22700 28100 6360 210 1.5 8 8 16.0 2438 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.70972E7 16.7 12.8 78 101800 562 1395 356 316 379 163 33600 37500 18400 3450 200 6.7 7 7 16.0 4572 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.71008E7 16.7 12.8 78 101700 363 1395 352 204 300 126 21200 25500 14500 2620 190 5.2 6 6 16.0 4572 9 999999999 190 0.1190 0 88 0.160 0.0 1.0 -2.71044E7 15.6 12.2 80 101800 125 1395 340 0 0 0 0 0 0 0 180 3.1 4 4 16.0 2000 9 999999999 190 0.1190 0 88 0.160 0.0 1.0 -2.7108E7 15.6 12.2 80 101800 0 12 355 0 0 0 0 0 0 0 200 5.7 8 8 16.0 2743 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.71116E7 15.0 12.2 83 101800 0 0 340 0 0 0 0 0 0 0 180 5.7 5 5 16.0 3658 9 999999999 200 0.1190 0 88 0.160 0.0 1.0 -2.71152E7 15.0 12.2 83 101800 0 0 340 0 0 0 0 0 0 0 190 2.1 5 5 16.0 3658 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.71188E7 14.4 12.2 87 101800 0 0 367 0 0 0 0 0 0 0 140 3.1 10 10 14.4 1036 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.71224E7 13.9 12.2 89 101800 0 0 347 0 0 0 0 0 0 0 150 2.1 8 8 16.0 1280 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.7126E7 14.4 12.2 87 101900 0 0 367 0 0 0 0 0 0 0 170 2.1 10 10 16.0 945 9 999999999 209 0.1190 0 88 0.160 0.0 1.0 -2.71296E7 14.4 13.3 93 101900 0 0 368 0 0 0 0 0 0 0 130 3.6 10 10 14.4 671 9 999999999 220 0.1190 0 88 0.160 0.0 1.0 -2.71332E7 14.4 12.8 90 101900 0 0 368 0 0 0 0 0 0 0 140 3.1 10 10 16.0 914 9 999999999 220 0.1180 0 88 0.160 0.0 1.0 -2.71368E7 13.9 12.8 93 101800 0 0 365 0 0 0 0 0 0 0 150 2.6 10 10 11.2 792 9 999999999 220 0.1180 0 88 0.160 0.0 1.0 -2.71404E7 13.9 13.3 96 101900 0 0 366 0 0 0 0 0 0 0 130 3.6 10 10 16.0 1433 9 999999999 230 0.1180 0 88 0.160 0.0 1.0 -2.7144E7 13.9 13.3 96 101800 0 0 366 0 0 0 0 0 0 0 130 4.6 10 10 16.0 914 9 999999999 230 0.1180 0 88 0.160 0.0 1.0 -2.71476E7 13.3 13.3 100 101800 0 0 363 0 0 0 0 0 0 0 120 6.2 10 10 8.0 701 9 999999999 230 0.1180 0 88 0.160 2.0 1.0 -2.71512E7 13.3 13.3 100 101900 0 0 363 0 0 0 0 0 0 0 120 4.1 10 10 11.2 549 9 999999999 220 0.1180 0 88 0.160 4.0 1.0 -2.71548E7 13.3 13.3 100 101900 5 291 363 0 0 0 0 0 0 0 110 5.7 10 10 8.0 884 9 999999999 220 0.1180 0 88 0.160 0.0 1.0 -2.71584E7 13.3 13.3 100 101900 174 1396 363 34 4 33 3800 0 3800 1170 120 4.1 10 10 9.6 610 9 999999999 209 0.1180 0 88 0.160 2.0 1.0 -2.7162E7 13.9 13.9 100 101900 405 1396 366 114 11 111 12800 700 12600 3930 120 5.7 10 10 9.6 792 9 999999999 200 0.1180 0 88 0.160 0.0 1.0 -2.71656E7 14.4 13.9 97 101900 593 1396 369 113 0 113 13200 0 13200 4800 120 6.2 10 10 4.8 823 9 999999999 190 0.1180 0 88 0.160 2.0 1.0 -2.71692E7 14.4 13.9 97 101900 723 1396 369 101 0 101 12200 0 12200 4740 110 4.6 10 10 2.8 579 9 999999999 200 0.1180 0 88 0.160 1.0 1.0 -2.71728E7 15.6 14.4 93 101800 787 1396 376 184 6 181 21500 500 21200 7910 160 3.6 10 10 6.4 579 9 999999999 200 0.1180 0 88 0.160 1.0 1.0 -2.71764E7 15.6 14.4 93 101800 779 1396 376 234 12 227 26700 1000 26100 9250 210 5.7 10 10 12.8 518 9 999999999 209 0.1180 0 88 0.160 0.0 1.0 -2.718E7 15.0 14.4 96 101800 701 1396 373 225 12 218 25300 1000 24800 8420 170 3.6 10 10 4.8 701 9 999999999 209 0.1180 0 88 0.160 0.0 1.0 -2.71836E7 15.6 14.4 93 101700 557 1396 376 139 0 139 15800 0 15800 5440 230 4.1 10 10 11.2 488 9 999999999 220 0.1180 0 88 0.160 0.0 1.0 -2.71872E7 15.0 12.8 87 101700 358 1396 353 130 44 119 14200 3900 13200 2910 230 4.1 8 8 16.0 945 9 999999999 220 0.1180 0 88 0.160 0.0 1.0 -2.71908E7 14.4 12.8 90 101700 121 1384 350 23 23 21 2600 1200 2500 440 250 6.7 8 8 16.0 1067 9 999999999 220 0.1180 0 88 0.160 0.0 1.0 -2.71944E7 14.4 12.8 90 101800 0 0 368 0 0 0 0 0 0 0 260 3.1 10 10 16.0 945 9 999999999 220 0.1180 0 88 0.160 0.0 1.0 -2.7198E7 13.9 12.8 93 101800 0 0 365 0 0 0 0 0 0 0 0 0.0 10 10 16.0 823 9 999999999 220 0.1180 0 88 0.160 0.0 1.0 -2.72016E7 13.3 12.8 97 101900 0 0 362 0 0 0 0 0 0 0 0 0.0 10 10 16.0 610 9 999999999 220 0.1180 0 88 0.160 0.0 1.0 -2.72052E7 13.3 12.8 97 101900 0 0 332 0 0 0 0 0 0 0 190 1.5 5 5 16.0 2000 9 999999999 220 0.1180 0 88 0.160 0.0 1.0 -2.72088E7 12.0 9.0 82 101900 0 0 320 0 0 0 0 0 0 0 310 2.1 4 4 16.0 2000 9 999999999 220 0.1180 0 88 0.160 0.0 1.0 -2.72124E7 13.0 9.0 77 101900 0 0 339 0 0 0 0 0 0 0 350 2.6 8 8 16.0 1006 9 999999999 220 0.1180 0 88 0.160 0.0 1.0 -2.7216E7 12.0 9.0 82 102000 0 0 334 0 0 0 0 0 0 0 0 0.0 8 8 16.0 975 9 999999999 209 0.1180 0 88 0.160 0.0 1.0 -2.72196E7 12.0 9.0 82 102000 0 0 334 0 0 0 0 0 0 0 300 2.1 8 8 16.0 549 9 999999999 209 0.1180 0 88 0.160 0.0 1.0 -2.72232E7 13.0 9.0 77 101900 0 0 339 0 0 0 0 0 0 0 30 3.1 8 8 16.0 488 9 999999999 200 0.1180 0 88 0.160 0.0 1.0 -2.72268E7 12.0 9.0 82 101900 0 0 320 0 0 0 0 0 0 0 50 3.6 4 4 16.0 2000 9 999999999 180 0.1180 0 88 0.160 0.0 1.0 -2.72304E7 13.3 12.2 93 101900 0 0 329 0 0 0 0 0 0 0 80 4.6 4 4 16.0 2000 9 999999999 170 0.1180 0 88 0.160 0.0 1.0 -2.7234E7 13.9 12.2 89 101900 0 0 347 0 0 0 0 0 0 0 70 4.1 8 8 16.0 1036 9 999999999 170 0.1180 0 88 0.160 0.0 1.0 -2.72376E7 13.9 11.7 87 101900 0 0 332 0 0 0 0 0 0 0 30 5.2 4 4 16.0 2000 9 999999999 170 0.1180 0 88 0.160 0.0 1.0 -2.72412E7 13.9 11.7 87 101900 4 268 329 0 0 0 0 0 0 0 60 3.6 3 3 16.0 2000 9 999999999 170 0.1180 0 88 0.160 0.0 1.0 -2.72448E7 13.9 11.7 87 102000 169 1397 329 62 245 32 6300 15100 4500 570 40 4.6 3 3 16.0 2000 9 999999999 180 0.1180 0 88 0.160 0.0 1.0 -2.72484E7 14.4 12.2 87 102000 400 1397 332 232 520 82 23700 44900 10700 1480 350 3.1 3 3 16.0 2000 9 999999999 190 0.1180 0 88 0.160 0.0 1.0 -2.7252E7 15.0 12.8 87 102000 588 1397 335 355 531 130 37600 51600 15800 2560 10 4.6 3 3 16.0 2000 9 999999999 190 0.1180 0 88 0.160 0.0 1.0 -2.72556E7 14.4 13.3 93 102000 718 1397 333 458 602 148 47400 58900 17000 3080 30 3.1 3 3 12.8 2000 9 999999999 190 0.1180 0 88 0.160 0.0 1.0 -2.72592E7 15.6 12.2 80 102000 782 1397 337 524 611 180 55800 62200 20800 4020 280 6.2 3 3 16.0 2000 9 999999999 200 0.1180 0 88 0.160 0.0 1.0 -2.72628E7 16.7 11.1 70 101900 774 1397 341 474 437 231 49200 44300 24600 5280 290 7.2 3 3 16.0 2000 9 999999999 200 0.1180 0 88 0.160 0.0 1.0 -2.72664E7 16.7 11.1 70 101800 696 1397 341 490 594 193 51100 59300 21400 4130 280 8.8 3 3 16.0 2000 9 999999999 190 0.1180 0 88 0.160 0.0 1.0 -2.727E7 15.6 11.1 75 101800 553 1397 336 139 0 139 15800 0 15800 5420 270 7.2 3 3 16.0 2000 9 999999999 190 0.1180 0 88 0.160 0.0 1.0 -2.72736E7 14.4 11.7 84 101800 354 1397 339 98 0 98 10900 0 10900 3380 270 8.8 8 6 16.0 2000 9 999999999 190 0.1180 0 88 0.160 0.0 1.0 -2.72772E7 13.9 12.2 89 101800 117 1362 338 17 0 17 2000 0 2000 630 290 5.7 10 6 16.0 4572 9 999999999 190 0.1180 0 88 0.160 0.0 1.0 -2.72808E7 13.9 12.2 89 101800 0 0 347 0 0 0 0 0 0 0 270 5.7 10 8 16.0 4572 9 999999999 200 0.1180 0 88 0.160 0.0 1.0 -2.72844E7 13.9 12.2 89 101800 0 0 341 0 0 0 0 0 0 0 300 2.6 10 7 16.0 4572 9 999999999 209 0.1180 0 88 0.160 0.0 1.0 -2.7288E7 13.9 11.7 87 101700 0 0 341 0 0 0 0 0 0 0 280 6.7 9 7 16.0 4572 9 999999999 220 0.1180 0 88 0.160 0.0 1.0 -2.72916E7 14.4 11.7 84 101700 0 0 336 0 0 0 0 0 0 0 280 5.7 10 5 16.0 4572 9 999999999 230 0.1180 0 88 0.160 0.0 1.0 -2.72952E7 13.9 11.7 87 101700 0 0 337 0 0 0 0 0 0 0 290 7.7 10 6 16.0 2000 9 999999999 240 0.1180 0 88 0.160 0.0 1.0 -2.72988E7 13.9 11.1 83 101600 0 0 340 0 0 0 0 0 0 0 290 3.6 10 7 16.0 2000 9 999999999 230 0.1180 0 88 0.160 0.0 1.0 -2.73024E7 13.9 12.2 89 101600 0 0 354 0 0 0 0 0 0 0 260 4.6 10 9 16.0 2896 9 999999999 220 0.1180 0 88 0.160 0.0 1.0 -2.7306E7 13.9 12.2 89 101700 0 0 354 0 0 0 0 0 0 0 280 5.7 9 9 16.0 2438 9 999999999 209 0.1170 0 88 0.160 0.0 1.0 -2.73096E7 13.3 11.7 90 101700 0 0 361 0 0 0 0 0 0 0 290 8.2 10 10 16.0 2591 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.73132E7 13.3 11.7 90 101600 0 0 343 0 0 0 0 0 0 0 270 5.2 8 8 16.0 2591 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.73168E7 12.8 11.7 93 101600 0 0 329 0 0 0 0 0 0 0 280 4.1 5 5 16.0 2000 9 999999999 180 0.1170 0 88 0.160 0.0 1.0 -2.73204E7 12.2 11.1 93 101600 0 0 323 0 0 0 0 0 0 0 0 0.0 4 4 16.0 2000 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.7324E7 11.7 11.1 96 101600 0 0 318 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.73276E7 11.1 10.6 97 101600 4 245 315 0 0 0 0 0 0 0 190 1.5 3 3 16.0 2000 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.73312E7 12.8 11.7 93 101700 164 1397 324 60 165 41 6200 9300 5100 740 0 0.0 3 3 16.0 2000 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.73348E7 14.4 11.7 84 101800 395 1397 331 83 0 83 9500 0 9500 3170 290 4.1 3 3 16.0 2000 9 999999999 209 0.1170 0 88 0.160 0.0 1.0 -2.73384E7 15.6 11.7 78 101800 583 1397 339 349 433 168 36000 41800 18500 3400 290 5.2 4 4 16.0 2000 9 999999999 209 0.1170 0 88 0.160 0.0 1.0 -2.7342E7 16.7 11.7 72 101900 713 1397 342 441 537 166 46800 54000 19200 3530 300 5.2 3 3 16.0 2000 9 999999999 209 0.1170 0 88 0.160 0.0 1.0 -2.73456E7 17.2 12.2 72 101800 777 1397 345 470 455 216 49100 46100 23400 4900 40 2.1 3 3 16.0 2000 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.73492E7 16.7 11.7 72 101700 769 1397 342 468 461 213 48900 46700 23100 4800 60 1.5 3 3 16.0 2000 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.73528E7 16.7 12.2 75 101700 691 1397 328 491 730 128 51100 71500 15500 2670 0 0.0 0 0 16.0 2000 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.73564E7 18.9 11.7 63 101700 549 1397 338 380 689 108 39100 64600 13600 2060 300 1.5 0 0 16.0 2000 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.736E7 19.4 9.4 52 101600 351 1397 338 209 355 120 21700 29700 14200 2480 240 2.6 0 0 16.0 2000 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.73636E7 15.6 12.2 80 101700 114 1362 323 34 180 20 3700 9700 2900 370 280 5.7 0 0 16.0 2000 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.73672E7 15.0 12.2 83 101700 0 0 321 0 0 0 0 0 0 0 280 3.6 0 0 16.0 2000 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.73708E7 14.4 11.7 84 101800 0 0 317 0 0 0 0 0 0 0 280 2.6 0 0 16.0 2000 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.73744E7 14.4 11.7 84 101800 0 0 317 0 0 0 0 0 0 0 280 3.1 0 0 16.0 2000 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.7378E7 13.3 12.2 93 101800 0 0 313 0 0 0 0 0 0 0 210 1.5 0 0 16.0 2000 9 999999999 180 0.1170 0 88 0.160 0.0 1.0 -2.73816E7 13.3 11.1 87 101900 0 0 312 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 180 0.1170 0 88 0.160 0.0 1.0 -2.73852E7 12.8 11.1 89 101900 0 0 310 0 0 0 0 0 0 0 300 2.1 0 0 16.0 2000 9 999999999 180 0.1170 0 88 0.160 0.0 1.0 -2.73888E7 11.7 11.1 96 101900 0 0 305 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.73924E7 11.7 10.0 89 101900 0 0 304 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.7396E7 11.7 10.0 89 101900 0 0 304 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 180 0.1170 0 88 0.160 0.0 1.0 -2.73996E7 10.6 10.0 96 102000 0 0 299 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 180 0.1170 0 88 0.160 0.0 1.0 -2.74032E7 11.1 10.6 97 101900 0 0 302 0 0 0 0 0 0 0 310 2.1 0 0 16.0 2000 9 999999999 180 0.1170 0 88 0.160 0.0 1.0 -2.74068E7 9.4 9.4 100 102000 0 0 294 0 0 0 0 0 0 0 220 1.5 0 0 16.0 2000 9 999999999 180 0.1170 0 88 0.160 0.0 1.0 -2.74104E7 10.6 10.6 100 102000 0 0 313 0 0 0 0 0 0 0 0 0.0 3 3 14.4 2000 9 999999999 180 0.1170 0 88 0.160 0.0 1.0 -2.7414E7 10.0 10.0 100 102000 3 221 297 0 0 0 0 0 0 0 160 1.5 0 0 14.4 2000 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.74176E7 11.7 11.7 100 102100 160 1398 306 61 284 29 6300 17000 4300 520 0 0.0 0 0 12.8 2000 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.74212E7 13.3 12.8 97 102100 390 1398 314 213 415 96 22100 35800 12100 1790 140 1.5 0 0 14.4 2000 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.74248E7 15.0 11.7 81 102100 578 1398 337 292 231 196 31500 22800 22000 4630 90 2.6 4 4 14.4 2000 9 999999999 209 0.1170 0 88 0.160 0.0 1.0 -2.74284E7 15.0 11.7 81 102100 708 1398 359 341 142 269 36700 14500 29300 6740 0 0.0 10 9 14.4 2000 9 999999999 209 0.1170 0 88 0.160 0.0 1.0 -2.7432E7 15.0 12.2 83 102100 772 1398 347 416 305 247 44400 32100 26600 5950 50 1.5 10 7 12.8 7620 9 999999999 209 0.1170 0 88 0.160 0.0 1.0 -2.74356E7 16.1 13.9 87 102000 765 1398 360 430 370 226 46100 38900 24700 5330 0 0.0 9 8 11.2 7620 9 999999999 209 0.1170 0 88 0.160 0.0 1.0 -2.74392E7 17.2 12.2 72 102000 687 1398 371 416 464 187 43400 46300 20600 3970 0 0.0 10 9 11.2 7620 9 999999999 209 0.1170 0 88 0.160 0.0 1.0 -2.74428E7 17.2 11.7 70 101900 544 1398 363 287 200 209 30700 19400 23100 4880 0 0.0 8 8 11.2 7620 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.74464E7 16.7 11.7 72 101900 347 1398 368 155 89 133 16900 7900 15000 3090 0 0.0 10 9 11.2 7620 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.745E7 16.1 12.2 78 101900 111 1340 358 25 45 21 2800 2300 2600 440 0 0.0 10 8 12.8 6096 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.74536E7 15.6 12.8 83 101900 0 0 341 0 0 0 0 0 0 0 360 3.1 10 4 14.4 6096 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.74572E7 15.0 12.2 83 101900 0 0 340 0 0 0 0 0 0 0 20 1.5 10 5 14.4 6096 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.74608E7 15.0 12.8 87 101900 0 0 338 0 0 0 0 0 0 0 20 1.5 10 4 12.8 6096 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.74644E7 14.4 12.8 90 101900 0 0 335 0 0 0 0 0 0 0 0 0.0 10 4 12.8 6096 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.7468E7 13.9 11.7 87 102000 0 0 332 0 0 0 0 0 0 0 0 0.0 10 4 11.2 2000 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.74716E7 14.4 12.8 90 101900 0 0 335 0 0 0 0 0 0 0 80 3.1 10 4 12.8 2000 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.74752E7 13.9 12.2 89 101900 0 0 332 0 0 0 0 0 0 0 0 0.0 10 4 11.2 2000 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.74788E7 12.8 11.7 93 101900 0 0 329 0 0 0 0 0 0 0 0 0.0 10 5 11.2 2000 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.74824E7 12.2 11.1 93 101900 0 0 323 0 0 0 0 0 0 0 0 0.0 10 4 11.2 2000 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.7486E7 12.2 11.1 93 101900 0 0 323 0 0 0 0 0 0 0 0 0.0 10 4 11.2 2000 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.74896E7 11.7 11.1 96 101800 0 0 323 0 0 0 0 0 0 0 0 0.0 10 5 11.2 2000 9 999999999 190 0.1170 0 88 0.160 0.0 1.0 -2.74932E7 11.7 11.1 96 101900 0 0 321 0 0 0 0 0 0 0 0 0.0 10 4 11.2 2000 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.74968E7 11.7 10.6 93 101900 0 0 323 0 0 0 0 0 0 0 0 0.0 10 5 11.2 2000 9 999999999 200 0.1170 0 88 0.160 0.0 1.0 -2.75004E7 11.7 11.1 96 101900 2 198 330 0 0 0 0 0 0 0 0 0.0 10 7 11.2 2000 9 999999999 209 0.1170 0 88 0.160 0.0 1.0 -2.7504E7 12.8 11.7 93 102000 155 1399 329 38 26 36 4300 1700 4100 870 0 0.0 10 5 9.6 7620 9 999999999 220 0.1170 0 88 0.160 0.0 1.0 -2.75076E7 13.9 12.2 89 102000 385 1399 341 138 71 119 15200 6400 13400 3010 160 1.5 10 7 9.6 7620 9 999999999 230 0.1170 0 88 0.160 0.0 1.0 -2.75112E7 14.4 12.8 90 102000 573 1399 345 179 23 170 20200 1800 19400 6320 0 0.0 10 7 9.6 6096 9 999999999 240 0.1170 0 88 0.160 0.0 1.0 -2.75148E7 15.0 12.2 83 102000 703 1399 347 301 94 254 33000 9400 28300 7310 90 1.5 10 7 8.0 6096 9 999999999 250 0.1170 0 88 0.160 0.0 1.0 -2.75184E7 15.0 12.8 87 101900 767 1399 347 339 96 286 37200 9700 31800 8480 0 0.0 10 7 9.6 6096 9 999999999 260 0.1170 0 88 0.160 0.0 1.0 -2.7522E7 15.6 12.8 83 101800 760 1399 356 329 109 269 36000 11000 30000 8050 20 1.5 10 8 9.6 6096 9 999999999 260 0.1170 0 88 0.160 0.0 1.0 -2.75256E7 15.6 13.3 86 101800 683 1399 347 389 322 231 41100 33200 24800 5350 0 0.0 10 6 9.6 7620 9 999999999 250 0.1170 0 88 0.160 0.0 1.0 -2.75292E7 15.6 13.3 86 101700 540 1399 356 210 77 180 23000 7400 20100 4840 10 1.5 10 8 8.0 7620 9 999999999 240 0.1170 0 88 0.160 0.0 1.0 -2.75328E7 15.6 13.9 90 101700 343 1399 352 168 216 115 17500 17900 13100 2360 20 1.5 10 7 8.0 7620 9 999999999 230 0.1170 0 88 0.160 0.0 1.0 -2.75364E7 15.6 12.8 83 101700 108 1317 350 26 107 18 3000 5100 2500 310 360 1.5 7 7 8.0 7620 9 999999999 230 0.1170 0 88 0.160 0.0 1.0 -2.754E7 15.0 13.3 90 101700 0 0 341 0 0 0 0 0 0 0 0 0.0 5 5 11.2 7620 9 999999999 240 0.1170 0 88 0.160 0.0 1.0 -2.75436E7 15.0 12.2 83 101800 0 0 360 0 0 0 0 0 0 0 0 0.0 10 9 8.0 7620 9 999999999 250 0.1170 0 88 0.160 0.0 1.0 -2.75472E7 13.9 12.2 89 101800 0 0 338 0 0 0 0 0 0 0 0 0.0 6 6 9.6 2000 9 999999999 260 0.1170 0 88 0.160 0.0 1.0 -2.75508E7 13.3 11.7 90 101800 0 0 338 0 0 0 0 0 0 0 0 0.0 8 7 9.6 2000 9 999999999 260 0.1170 0 88 0.160 0.0 1.0 -2.75544E7 12.8 11.7 93 101800 0 0 348 0 0 0 0 0 0 0 0 0.0 10 9 9.6 2000 9 999999999 270 0.1170 0 88 0.160 0.0 1.0 -2.7558E7 12.2 11.7 97 101900 0 0 346 0 0 0 0 0 0 0 180 2.1 10 9 8.0 2000 9 999999999 280 0.1170 0 88 0.160 0.0 1.0 -2.75616E7 12.2 11.7 97 101900 0 0 338 0 0 0 0 0 0 0 160 1.5 10 8 8.0 2000 9 999999999 290 0.1170 0 88 0.160 0.0 1.0 -2.75652E7 12.8 12.2 96 101900 0 0 329 0 0 0 0 0 0 0 0 0.0 10 5 8.0 2000 9 999999999 300 0.1160 0 88 0.160 0.0 1.0 -2.75688E7 11.1 11.1 100 101900 0 0 321 0 0 0 0 0 0 0 0 0.0 5 5 8.0 2000 9 999999999 270 0.1160 0 88 0.160 0.0 1.0 -2.75724E7 11.0 9.0 87 102000 0 0 346 0 0 0 0 0 0 0 0 0.0 10 10 6.4 274 9 999999999 250 0.1160 0 88 0.160 0.0 1.0 -2.7576E7 11.0 8.0 82 101900 0 0 314 0 0 0 0 0 0 0 0 0.0 4 4 6.4 3658 9 999999999 220 0.1160 0 88 0.160 0.0 1.0 -2.75796E7 11.0 7.0 76 102000 0 0 311 0 0 0 0 0 0 0 0 0.0 3 3 6.4 3658 9 999999999 220 0.1160 0 88 0.160 0.0 1.0 -2.75832E7 11.0 9.0 87 102000 0 0 346 0 0 0 0 0 0 0 250 1.5 10 10 4.8 183 9 999999999 230 0.1160 0 88 0.160 0.0 1.0 -2.75868E7 12.0 9.0 82 102000 2 175 351 0 0 0 0 0 0 0 60 1.5 10 10 4.8 244 9 999999999 230 0.1160 0 88 0.160 0.0 1.0 -2.75904E7 12.0 9.0 82 102100 150 1399 351 30 17 29 3400 1100 3300 730 150 2.1 10 10 4.8 244 9 999999999 230 0.1160 0 88 0.160 0.0 1.0 -2.7594E7 12.8 12.2 96 102100 380 1399 359 90 0 90 10200 0 10200 3300 0 0.0 10 10 3.2 183 9 999999999 230 0.1160 0 88 0.160 0.0 1.0 -2.75976E7 12.8 12.2 96 102200 568 1399 359 179 23 169 20000 1800 19300 6260 0 0.0 10 10 3.2 183 9 999999999 230 0.1160 0 88 0.160 0.0 1.0 -2.76012E7 13.3 12.2 93 102200 698 1399 361 351 201 251 38000 20500 27700 6260 80 1.5 10 10 2.8 183 9 999999999 230 0.1160 0 88 0.160 0.0 1.0 -2.76048E7 13.3 12.2 93 102200 762 1399 339 398 180 300 42800 18500 32700 7740 150 1.5 7 7 2.8 3658 9 999999999 230 0.1160 0 88 0.160 0.0 1.0 -2.76084E7 14.4 12.8 90 102100 755 1399 338 430 370 229 46000 38800 24900 5400 0 0.0 5 5 4.0 2000 9 999999999 230 0.1160 0 88 0.160 0.0 1.0 -2.7612E7 15.6 12.8 83 102100 678 1399 330 348 217 243 37600 22000 26900 6000 0 0.0 1 1 4.8 4572 9 999999999 230 0.1160 0 88 0.160 0.0 1.0 -2.76156E7 15.6 13.3 86 102100 537 1399 344 172 19 164 19200 1500 18600 5930 80 1.5 6 5 4.8 6096 9 999999999 220 0.1160 0 88 0.160 0.0 1.0 -2.76192E7 15.6 13.3 86 102100 340 1399 356 135 75 117 14800 6500 13200 2800 0 0.0 9 8 6.4 6096 9 999999999 220 0.1160 0 88 0.160 0.0 1.0 -2.76228E7 14.4 13.3 93 102100 105 1318 341 20 36 17 2300 1900 2100 350 280 4.1 7 6 4.8 2000 9 999999999 220 0.1160 0 88 0.160 0.0 1.0 -2.76264E7 13.9 12.8 93 102200 0 0 316 0 0 0 0 0 0 0 280 4.6 0 0 6.4 2000 9 999999999 209 0.1160 0 88 0.160 0.0 1.0 -2.763E7 13.9 12.8 93 102200 0 0 316 0 0 0 0 0 0 0 280 2.6 0 0 6.4 2000 9 999999999 209 0.1160 0 88 0.160 0.0 1.0 -2.76336E7 12.8 12.2 96 102300 0 0 311 0 0 0 0 0 0 0 180 1.5 0 0 6.4 2000 9 999999999 209 0.1160 0 88 0.160 0.0 1.0 -2.76372E7 12.2 11.7 97 102300 0 0 321 0 0 0 0 0 0 0 0 0.0 3 3 6.4 2000 9 999999999 209 0.1160 0 88 0.160 0.0 1.0 -2.76408E7 11.7 11.1 96 102300 0 0 311 0 0 0 0 0 0 0 190 1.5 1 1 6.4 2000 9 999999999 209 0.1160 0 88 0.160 0.0 1.0 -2.76444E7 12.2 11.7 97 102300 0 0 318 0 0 0 0 0 0 0 0 0.0 2 2 6.4 2000 9 999999999 209 0.1160 0 88 0.160 0.0 1.0 -2.7648E7 12.2 12.2 100 102300 0 0 308 0 0 0 0 0 0 0 0 0.0 0 0 6.4 2000 9 999999999 209 0.1160 0 88 0.160 0.0 1.0 -2.76516E7 11.1 10.6 97 102300 0 0 302 0 0 0 0 0 0 0 190 2.1 0 0 6.4 2000 9 999999999 209 0.1160 0 88 0.160 0.0 1.0 -2.76552E7 10.6 10.6 100 102300 0 0 300 0 0 0 0 0 0 0 0 0.0 0 0 6.4 2000 9 999999999 200 0.1160 0 88 0.160 0.0 1.0 -2.76588E7 11.0 8.0 82 102300 0 0 299 0 0 0 0 0 0 0 0 0.0 0 0 6.4 2000 9 999999999 180 0.1160 0 88 0.160 0.0 1.0 -2.76624E7 11.0 8.0 82 102300 0 0 299 0 0 0 0 0 0 0 0 0.0 0 0 6.4 2000 9 999999999 170 0.1160 0 88 0.160 0.0 1.0 -2.7666E7 9.0 7.0 87 102300 0 0 290 0 0 0 0 0 0 0 170 1.5 0 0 6.4 2000 9 999999999 170 0.1160 0 88 0.160 0.0 1.0 -2.76696E7 10.0 7.0 82 102300 0 0 294 0 0 0 0 0 0 0 0 0.0 0 0 6.4 2000 9 999999999 160 0.1160 0 88 0.160 0.0 1.0 -2.76732E7 10.0 7.0 82 102400 1 152 307 0 0 0 0 0 0 0 0 0.0 3 3 2.4 2000 9 999999999 160 0.1160 0 88 0.160 0.0 1.0 -2.76768E7 12.0 8.0 76 102500 146 1400 303 41 104 30 4400 5200 3800 530 0 0.0 0 0 3.2 2000 9 999999999 160 0.1160 0 88 0.160 0.0 1.0 -2.76804E7 12.0 8.0 76 102500 375 1400 319 210 488 78 21300 41200 10200 1390 0 0.0 4 4 3.2 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.7684E7 13.0 9.0 77 102500 563 1400 322 357 645 96 37100 61300 12400 1890 70 1.5 3 3 3.2 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.76876E7 13.9 13.3 96 102500 693 1400 331 457 625 146 47100 60800 16800 2970 30 1.5 3 3 2.0 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.76912E7 13.9 13.9 100 102400 758 1400 318 458 443 217 47600 44800 23300 4860 0 0.0 0 0 6.4 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.76948E7 15.0 13.3 90 102400 751 1400 322 468 516 190 49300 52200 21200 4180 30 1.5 0 0 9.6 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.76984E7 16.1 12.8 81 102300 674 1400 326 471 656 154 48300 63300 17700 3040 0 0.0 0 0 9.6 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.7702E7 17.8 12.8 73 102300 533 1400 334 328 517 130 34300 49000 15600 2530 350 1.5 0 0 12.8 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.77056E7 18.3 10.6 61 102300 336 1400 334 205 330 125 21100 27000 14600 2630 0 0.0 0 0 14.4 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.77092E7 16.1 11.1 72 102300 102 1295 324 29 158 18 3200 8300 2500 330 280 5.2 0 0 14.4 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.77128E7 15.0 12.2 83 102300 0 0 321 0 0 0 0 0 0 0 280 5.7 0 0 14.4 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.77164E7 13.9 12.8 93 102400 0 0 330 0 0 0 0 0 0 0 290 4.1 3 3 12.8 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.772E7 12.8 12.2 96 102400 0 0 324 0 0 0 0 0 0 0 290 4.1 3 3 12.8 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.77236E7 12.2 11.7 97 102500 0 0 321 0 0 0 0 0 0 0 270 3.6 3 3 14.4 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.77272E7 12.2 10.6 90 102500 0 0 307 0 0 0 0 0 0 0 180 1.5 0 0 16.0 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.77308E7 11.7 9.4 86 102500 0 0 303 0 0 0 0 0 0 0 200 1.5 0 0 14.4 2000 9 999999999 140 0.1160 0 88 0.160 0.0 1.0 -2.77344E7 11.1 9.4 89 102500 0 0 301 0 0 0 0 0 0 0 160 1.5 0 0 16.0 2000 9 999999999 140 0.1160 0 88 0.160 0.0 1.0 -2.7738E7 11.7 10.0 89 102500 0 0 304 0 0 0 0 0 0 0 290 1.5 0 0 12.8 2000 9 999999999 140 0.1160 0 88 0.160 0.0 1.0 -2.77416E7 10.0 10.0 100 102500 0 0 297 0 0 0 0 0 0 0 280 2.6 0 0 8.0 2000 9 999999999 140 0.1160 0 88 0.160 0.0 1.0 -2.77452E7 9.4 9.4 100 102500 0 0 294 0 0 0 0 0 0 0 270 2.1 0 0 9.6 2000 9 999999999 140 0.1160 0 88 0.160 0.0 1.0 -2.77488E7 10.0 8.9 93 102500 0 0 341 0 0 0 0 0 0 0 0 0.0 10 10 14.4 61 9 999999999 130 0.1160 0 88 0.160 0.0 1.0 -2.77524E7 11.7 11.7 100 102500 0 0 353 0 0 0 0 0 0 0 0 0.0 10 10 0.2 30 9 999999999 130 0.1160 0 88 0.160 0.0 1.0 -2.7756E7 11.7 11.7 100 102600 0 0 353 0 0 0 0 0 0 0 0 0.0 10 10 0.4 30 9 999999999 130 0.1160 0 88 0.160 0.0 1.0 -2.77596E7 11.7 11.1 96 102600 1 128 352 0 0 0 0 0 0 0 0 0.0 10 10 1.6 30 9 999999999 130 0.1160 0 88 0.160 0.0 1.0 -2.77632E7 12.2 11.1 93 102600 141 1400 355 51 210 30 5400 10900 4300 530 340 1.5 10 10 4.0 122 9 999999999 140 0.1160 0 88 0.160 0.0 1.0 -2.77668E7 12.2 11.1 93 102700 371 1400 355 171 244 106 18000 20900 12400 2110 20 2.1 10 10 4.8 183 9 999999999 140 0.1160 0 88 0.160 0.0 1.0 -2.77704E7 12.2 11.1 93 102600 558 1400 355 341 547 122 36200 52500 15100 2370 0 0.0 10 10 4.0 183 9 999999999 140 0.1160 0 88 0.160 0.0 1.0 -2.7774E7 12.8 11.1 89 102600 689 1400 358 445 625 137 46100 60900 16000 2810 0 0.0 10 10 3.2 152 9 999999999 140 0.1160 0 88 0.160 0.0 1.0 -2.77776E7 13.9 11.7 87 102600 753 1400 346 481 575 171 51300 58300 19900 3730 20 1.5 8 8 3.2 152 9 999999999 140 0.1160 0 88 0.160 0.0 1.0 -2.77812E7 15.0 12.8 87 102500 747 1400 353 443 395 231 47300 41300 25100 5430 20 3.1 8 8 4.8 3353 9 999999999 140 0.1160 0 88 0.160 0.0 1.0 -2.77848E7 15.6 12.8 83 102400 670 1400 324 335 198 240 36200 20100 26500 5900 30 2.6 0 0 4.0 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.77884E7 15.6 12.8 83 102400 529 1400 324 180 32 168 19700 3100 18600 4540 20 3.6 0 0 6.4 2000 9 999999999 160 0.1160 0 88 0.160 0.0 1.0 -2.7792E7 15.0 12.8 87 102300 333 1400 321 149 136 116 15900 11300 13200 2530 10 2.6 0 0 6.4 2000 9 999999999 180 0.1160 0 88 0.160 0.0 1.0 -2.77956E7 14.4 12.2 87 102400 100 1272 332 21 64 16 2400 2700 2100 260 310 2.6 3 3 8.0 2000 9 999999999 170 0.1160 0 88 0.160 0.0 1.0 -2.77992E7 13.9 11.7 87 102400 0 0 329 0 0 0 0 0 0 0 270 5.7 3 3 14.4 2000 9 999999999 160 0.1160 0 88 0.160 0.0 1.0 -2.78028E7 13.9 12.2 89 102400 0 0 329 0 0 0 0 0 0 0 280 5.2 3 3 16.0 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.78064E7 13.9 11.7 87 102400 0 0 332 0 0 0 0 0 0 0 290 4.1 4 4 16.0 2000 9 999999999 150 0.1160 0 88 0.160 0.0 1.0 -2.781E7 13.3 11.7 90 102400 0 0 326 0 0 0 0 0 0 0 280 8.2 3 3 16.0 2000 9 999999999 140 0.1160 0 88 0.160 0.0 1.0 -2.78136E7 12.8 11.7 93 102300 0 0 324 0 0 0 0 0 0 0 290 3.6 3 3 14.4 2000 9 999999999 130 0.1160 0 88 0.160 0.0 1.0 -2.78172E7 12.2 11.7 97 102400 0 0 321 0 0 0 0 0 0 0 310 2.1 3 3 12.8 2000 9 999999999 140 0.1160 0 88 0.160 0.0 1.0 -2.78208E7 12.8 11.1 89 102300 0 0 326 0 0 0 0 0 0 0 320 1.5 4 4 8.0 2000 9 999999999 140 0.1160 0 88 0.160 0.0 1.0 -2.78244E7 12.8 10.6 86 102300 0 0 340 0 0 0 0 0 0 0 340 2.6 8 8 9.6 335 9 999999999 140 0.1150 0 88 0.160 0.0 1.0 -2.7828E7 12.2 10.6 90 102300 0 0 354 0 0 0 0 0 0 0 300 2.1 10 10 9.6 335 9 999999999 140 0.1150 0 88 0.160 0.0 1.0 -2.78316E7 12.2 10.6 90 102300 0 0 354 0 0 0 0 0 0 0 360 4.6 10 10 8.0 335 9 999999999 150 0.1150 0 88 0.160 0.0 1.0 -2.78352E7 12.2 10.6 90 102200 0 0 354 0 0 0 0 0 0 0 20 4.1 10 10 6.4 366 9 999999999 150 0.1150 0 88 0.160 0.0 1.0 -2.78388E7 12.2 9.4 83 102200 0 0 336 0 0 0 0 0 0 0 70 3.1 8 8 12.8 488 9 999999999 150 0.1150 0 88 0.160 0.0 1.0 -2.78424E7 11.7 9.4 86 102200 0 0 319 0 0 0 0 0 0 0 70 3.6 4 4 12.8 2000 9 999999999 140 0.1150 0 88 0.160 0.0 1.0 -2.7846E7 12.2 8.9 80 102200 1 105 318 0 0 0 0 0 0 0 50 3.1 3 3 11.2 2000 9 999999999 140 0.1150 0 88 0.160 0.0 1.0 -2.78496E7 12.2 8.9 80 102300 136 1401 318 50 289 22 5200 16200 3600 400 320 2.1 3 3 12.8 2000 9 999999999 130 0.1150 0 88 0.160 0.0 1.0 -2.78532E7 13.3 9.4 77 102300 366 1401 324 212 589 58 22100 50000 9000 1090 340 1.5 3 3 12.8 2000 9 999999999 130 0.1150 0 88 0.160 0.0 1.0 -2.78568E7 14.4 9.4 72 102200 553 1401 329 361 707 80 38000 67400 11200 1610 360 1.5 3 3 12.8 2000 9 999999999 120 0.1150 0 88 0.160 0.0 1.0 -2.78604E7 14.4 8.9 70 102100 684 1401 328 473 772 94 48800 75100 12000 1910 10 3.1 3 3 16.0 2000 9 999999999 120 0.1150 0 88 0.160 0.0 1.0 -2.7864E7 13.9 8.3 69 102000 748 1401 325 523 706 144 54300 69700 17000 3100 60 1.5 3 3 16.0 2000 9 999999999 120 0.1150 0 88 0.160 0.0 1.0 -2.78676E7 14.4 7.8 65 101900 742 1401 324 436 382 233 46500 39900 25300 5480 50 1.5 2 2 16.0 2000 9 999999999 110 0.1150 0 88 0.160 0.0 1.0 -2.78712E7 15.0 8.3 64 101900 666 1401 335 465 731 116 48600 71400 14400 2400 0 0.0 5 5 16.0 2000 9 999999999 120 0.1150 0 88 0.160 0.0 1.0 -2.78748E7 15.6 9.4 67 101800 526 1401 339 353 634 114 36000 58500 14000 2110 290 4.1 5 5 16.0 2000 9 999999999 120 0.1150 0 88 0.160 0.0 1.0 -2.78784E7 15.0 7.8 62 101800 330 1401 335 196 332 117 20200 26900 13800 2430 270 5.7 5 5 16.0 2000 9 999999999 130 0.1150 0 88 0.160 0.0 1.0 -2.7882E7 13.3 9.4 77 101800 97 1273 310 26 155 16 3000 8100 2300 300 280 6.2 0 0 16.0 2000 9 999999999 130 0.1150 0 88 0.160 0.0 1.0 -2.78856E7 12.8 8.9 77 101800 0 0 308 0 0 0 0 0 0 0 270 5.7 0 0 16.0 2000 9 999999999 120 0.1150 0 88 0.160 0.0 1.0 -2.78892E7 12.2 9.4 83 101800 0 0 306 0 0 0 0 0 0 0 280 6.2 0 0 16.0 2000 9 999999999 120 0.1150 0 88 0.160 0.0 1.0 -2.78928E7 12.2 9.4 83 101700 0 0 306 0 0 0 0 0 0 0 280 5.2 0 0 16.0 2000 9 999999999 110 0.1150 0 88 0.160 0.0 1.0 -2.78964E7 11.7 9.4 86 101700 0 0 303 0 0 0 0 0 0 0 280 4.1 0 0 16.0 2000 9 999999999 110 0.1150 0 88 0.160 0.0 1.0 -2.79E7 11.1 9.4 89 101700 0 0 301 0 0 0 0 0 0 0 220 1.5 0 0 16.0 2000 9 999999999 110 0.1150 0 88 0.160 0.0 1.0 -2.79036E7 10.0 8.3 89 101700 0 0 295 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 100 0.1150 0 88 0.160 0.0 1.0 -2.79072E7 10.6 7.2 79 101700 0 0 297 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 100 0.1150 0 88 0.160 0.0 1.0 -2.79108E7 10.0 7.2 83 101700 0 0 294 0 0 0 0 0 0 0 190 1.5 0 0 16.0 2000 9 999999999 100 0.1150 0 88 0.160 0.0 1.0 -2.79144E7 9.4 7.2 86 101700 0 0 292 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 90 0.1150 0 88 0.160 0.0 1.0 -2.7918E7 12.2 3.9 57 101700 0 0 300 0 0 0 0 0 0 0 50 4.6 0 0 16.0 2000 9 999999999 90 0.1150 0 88 0.160 0.0 1.0 -2.79216E7 12.2 4.4 59 101700 0 0 300 0 0 0 0 0 0 0 60 6.7 0 0 16.0 2000 9 999999999 80 0.1150 0 88 0.160 0.0 1.0 -2.79252E7 12.2 3.3 54 101700 0 0 299 0 0 0 0 0 0 0 50 8.2 0 0 16.0 2000 9 999999999 80 0.1150 0 88 0.160 0.0 1.0 -2.79288E7 12.2 3.3 54 101700 0 0 299 0 0 0 0 0 0 0 80 5.2 0 0 16.0 2000 9 999999999 70 0.1150 0 88 0.160 0.0 1.0 -2.79324E7 11.1 5.6 69 101900 0 82 297 0 0 0 0 0 0 0 350 4.1 0 0 16.0 2000 9 999999999 70 0.1150 0 88 0.160 0.0 1.0 -2.7936E7 12.2 1.7 49 101900 132 1402 298 48 297 20 5000 16500 3400 370 30 4.6 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.79396E7 12.8 1.1 45 101900 361 1402 299 207 577 58 21500 48800 8900 1080 50 7.2 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.79432E7 13.9 1.1 42 101800 549 1402 304 340 609 100 35100 57300 12600 1940 70 4.1 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.79468E7 15.0 -2.8 28 101800 679 1402 305 439 625 135 45400 60800 15800 2750 0 0.0 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.79504E7 15.6 -2.8 27 101700 744 1402 307 463 497 198 48500 50100 21800 4350 0 0.0 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.7954E7 15.6 -1.7 30 101600 738 1402 308 487 613 162 50100 60000 18300 3370 0 0.0 0 0 16.0 2000 9 999999999 70 0.1150 0 88 0.160 0.0 1.0 -2.79576E7 16.1 0.6 35 101500 663 1402 313 465 744 112 48700 72700 14100 2320 0 0.0 0 0 16.0 2000 9 999999999 70 0.1150 0 88 0.160 0.0 1.0 -2.79612E7 18.3 2.8 36 101500 522 1402 325 345 635 108 35400 58700 13500 2020 280 3.6 0 0 16.0 2000 9 999999999 80 0.1150 0 88 0.160 0.0 1.0 -2.79648E7 19.4 2.8 33 101400 327 1402 330 221 500 103 22200 40000 12900 1970 330 5.7 0 0 16.0 2000 9 999999999 80 0.1150 0 88 0.160 0.0 1.0 -2.79684E7 17.8 4.4 41 101400 95 1250 325 29 230 13 3300 13500 2200 290 20 11.8 0 0 16.0 2000 9 999999999 80 0.1150 0 88 0.160 0.0 1.0 -2.7972E7 16.7 5.0 46 101500 0 0 320 0 0 0 0 0 0 0 10 9.8 0 0 16.0 2000 9 999999999 70 0.1150 0 88 0.160 0.0 1.0 -2.79756E7 16.7 2.8 39 101500 0 0 332 0 0 0 0 0 0 0 20 14.4 8 3 16.0 2000 9 999999999 70 0.1150 0 88 0.160 0.0 1.0 -2.79792E7 16.1 3.3 42 101600 0 0 326 0 0 0 0 0 0 0 20 9.8 7 2 16.0 2000 9 999999999 70 0.1150 0 88 0.160 0.0 1.0 -2.79828E7 15.6 2.2 40 101700 0 0 313 0 0 0 0 0 0 0 20 10.8 1 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.79864E7 14.4 2.2 44 101700 0 0 307 0 0 0 0 0 0 0 30 11.3 1 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.799E7 13.9 2.8 47 101700 0 0 306 0 0 0 0 0 0 0 20 12.9 1 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.79936E7 13.3 2.8 49 101700 0 0 303 0 0 0 0 0 0 0 20 11.3 1 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.79972E7 12.8 0.6 43 101700 0 0 299 0 0 0 0 0 0 0 10 12.4 0 0 16.0 2000 9 999999999 50 0.1150 0 88 0.160 0.0 1.0 -2.80008E7 12.8 0.6 43 101700 0 0 299 0 0 0 0 0 0 0 10 12.9 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80044E7 12.8 1.1 45 101800 0 0 305 0 0 0 0 0 0 0 10 12.4 1 1 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.8008E7 12.2 1.1 47 101800 0 0 297 0 0 0 0 0 0 0 350 11.3 0 0 16.0 2000 9 999999999 70 0.1150 0 88 0.160 0.0 1.0 -2.80116E7 12.2 1.7 49 101800 0 0 310 0 0 0 0 0 0 0 360 10.8 3 3 16.0 2000 9 999999999 70 0.1150 0 88 0.160 0.0 1.0 -2.80152E7 11.7 1.7 50 101800 0 0 308 0 0 0 0 0 0 0 360 9.8 5 3 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80188E7 11.1 -0.6 44 101900 0 58 291 0 0 0 0 0 0 0 10 5.7 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80224E7 11.7 -0.6 42 101900 127 1402 293 41 202 23 4200 10900 3200 410 10 7.2 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.8026E7 12.8 0.6 43 101900 356 1402 299 193 495 67 19800 41300 9300 1220 10 5.2 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80296E7 12.8 -0.6 39 101900 544 1402 298 349 672 88 36500 63500 11800 1730 360 5.7 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80332E7 14.4 1.1 40 101900 675 1402 306 450 701 111 47200 68800 13900 2330 20 6.7 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80368E7 15.0 1.7 41 101800 740 1402 309 516 742 123 54200 73700 15200 2690 20 8.2 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80404E7 15.6 1.7 39 101700 734 1402 312 487 619 161 50100 60500 18300 3340 30 6.2 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.8044E7 16.1 2.2 39 101600 659 1402 315 411 539 156 43400 53500 18100 3210 350 4.1 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80476E7 15.6 4.4 47 101500 519 1402 315 322 525 127 33700 49400 15300 2460 360 7.7 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80512E7 15.6 3.3 44 101400 324 1402 314 211 418 113 21000 33200 13300 2190 360 12.4 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80548E7 15.0 4.4 49 101500 93 1250 312 27 190 14 3100 9900 2300 270 360 4.1 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80584E7 14.4 5.6 55 101500 0 0 311 0 0 0 0 0 0 0 20 3.6 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.8062E7 15.0 2.2 42 101500 0 0 310 0 0 0 0 0 0 0 360 4.6 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80656E7 14.4 2.2 44 101500 0 0 307 0 0 0 0 0 0 0 350 4.1 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80692E7 13.3 -3.3 30 101500 0 0 297 0 0 0 0 0 0 0 340 2.6 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80728E7 12.8 -0.6 39 101500 0 0 298 0 0 0 0 0 0 0 300 1.5 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80764E7 13.9 -3.3 29 101500 0 0 299 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.808E7 10.6 0.0 48 101500 0 0 289 0 0 0 0 0 0 0 180 2.1 0 0 16.0 2000 9 999999999 60 0.1150 0 88 0.160 0.0 1.0 -2.80836E7 7.8 -2.2 48 101500 0 0 276 0 0 0 0 0 0 0 240 2.1 0 0 16.0 2000 9 999999999 60 0.1140 0 88 0.160 0.0 1.0 -2.80872E7 7.8 -2.8 46 101500 0 0 275 0 0 0 0 0 0 0 280 4.1 0 0 16.0 2000 9 999999999 70 0.1140 0 88 0.160 0.0 1.0 -2.80908E7 8.3 -2.2 46 101500 0 0 278 0 0 0 0 0 0 0 280 4.1 0 0 16.0 2000 9 999999999 80 0.1140 0 88 0.160 0.0 1.0 -2.80944E7 9.4 4.4 71 101500 0 0 289 0 0 0 0 0 0 0 330 1.5 0 0 16.0 2000 9 999999999 90 0.1140 0 88 0.160 0.0 1.0 -2.8098E7 5.6 -1.1 61 101500 0 0 268 0 0 0 0 0 0 0 240 2.6 0 0 16.0 2000 9 999999999 90 0.1140 0 88 0.160 0.0 1.0 -2.81016E7 8.9 -0.6 51 101600 0 0 282 0 0 0 0 0 0 0 140 1.5 0 0 16.0 2000 9 999999999 90 0.1140 0 88 0.160 0.0 1.0 -2.81052E7 8.9 2.8 66 101600 0 35 285 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 90 0.1140 0 88 0.160 0.0 1.0 -2.81088E7 8.3 1.7 63 101700 123 1403 282 40 211 21 4100 11200 3100 380 0 0.0 0 0 16.0 2000 9 999999999 100 0.1140 0 88 0.160 0.0 1.0 -2.81124E7 12.2 1.1 47 101700 352 1403 297 184 451 70 18800 37300 9300 1250 100 2.6 0 0 16.0 2000 9 999999999 100 0.1140 0 88 0.160 0.0 1.0 -2.8116E7 13.9 0.0 38 101700 539 1403 309 278 304 161 29500 29700 18000 3400 0 0.0 1 1 16.0 2000 9 999999999 100 0.1140 0 88 0.160 0.0 1.0 -2.81196E7 15.0 2.2 42 101700 670 1403 348 461 654 147 47300 63100 17000 2920 100 2.1 9 9 16.0 7620 9 999999999 110 0.1140 0 88 0.160 0.0 1.0 -2.81232E7 15.0 -0.6 34 101700 735 1403 307 522 796 103 54000 78000 12900 2120 0 0.0 0 0 16.0 2000 9 999999999 120 0.1140 0 88 0.160 0.0 1.0 -2.81268E7 15.0 5.0 51 101600 730 1403 313 512 783 103 52900 76600 12800 2110 80 2.1 0 0 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2.81304E7 15.6 5.0 49 101600 656 1403 332 459 663 148 47000 63700 17100 2890 90 1.5 4 4 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2.8134E7 14.4 8.9 70 101600 516 1403 328 260 253 166 27300 24400 18300 3540 0 0.0 3 3 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2.81376E7 16.1 10.6 70 101500 321 1403 341 212 259 152 22200 21000 17400 3310 300 2.6 4 4 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2.81412E7 13.9 10.0 77 101600 91 1227 330 26 116 19 3000 5200 2600 330 300 3.1 4 4 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2.81448E7 13.3 10.0 80 101600 0 0 324 0 0 0 0 0 0 0 290 5.2 3 3 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2.81484E7 12.8 10.0 83 101600 0 0 322 0 0 0 0 0 0 0 260 3.6 3 3 16.0 2000 9 999999999 140 0.1140 0 88 0.160 0.0 1.0 -2.8152E7 11.7 10.0 89 101700 0 0 317 0 0 0 0 0 0 0 270 2.1 3 3 16.0 2000 9 999999999 140 0.1140 0 88 0.160 0.0 1.0 -2.81556E7 11.7 8.9 83 101700 0 0 316 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.81592E7 10.6 8.3 86 101700 0 0 311 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.81628E7 11.1 9.4 89 101800 0 0 301 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.81664E7 9.4 7.8 90 101800 0 0 292 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.817E7 8.3 6.7 90 101800 0 0 299 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 160 0.1140 0 88 0.160 0.0 1.0 -2.81736E7 8.9 7.8 93 101800 0 0 290 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.81772E7 7.2 6.1 93 101900 0 0 282 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 140 0.1140 0 88 0.160 0.0 1.0 -2.81808E7 8.3 7.2 93 101800 0 0 287 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2.81844E7 7.8 6.7 93 101900 0 0 297 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2.8188E7 7.2 6.7 97 101900 0 0 310 0 0 0 0 0 0 0 190 2.1 8 8 14.4 335 9 999999999 130 0.1140 0 88 0.160 0.0 1.0 -2.81916E7 8.9 7.8 93 102000 0 12 335 0 0 0 0 0 0 0 170 3.1 10 10 16.0 366 9 999999999 140 0.1140 0 88 0.160 0.0 1.0 -2.81952E7 10.0 8.3 89 102000 119 1403 341 38 239 18 4000 12600 2900 330 170 2.1 10 10 12.8 366 9 999999999 140 0.1140 0 88 0.160 0.0 1.0 -2.81988E7 11.7 8.9 83 102100 347 1403 333 179 424 74 18900 35000 10200 1350 0 0.0 8 8 11.2 366 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82024E7 12.2 8.9 80 102100 535 1403 318 318 528 116 33700 50200 14500 2230 0 0.0 3 3 11.2 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.8206E7 12.2 9.4 83 102100 666 1403 319 399 489 166 41900 48500 18800 3440 0 0.0 3 3 11.2 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82096E7 12.2 9.4 83 102100 731 1403 306 439 455 201 45800 45800 21900 4400 0 0.0 0 0 11.2 2000 9 999999999 160 0.1140 0 88 0.160 0.0 1.0 -2.82132E7 12.8 9.4 80 102000 727 1403 308 455 534 177 48000 53800 20100 3810 60 1.5 0 0 12.8 2000 9 999999999 160 0.1140 0 88 0.160 0.0 1.0 -2.82168E7 14.4 7.2 62 101900 652 1403 313 391 471 171 40800 46600 19100 3540 0 0.0 0 0 12.8 2000 9 999999999 160 0.1140 0 88 0.160 0.0 1.0 -2.82204E7 15.6 6.1 53 101900 513 1403 317 307 474 134 32000 44400 15700 2610 0 0.0 0 0 12.8 2000 9 999999999 160 0.1140 0 88 0.160 0.0 1.0 -2.8224E7 15.0 8.9 67 101900 319 1403 317 213 352 133 21700 28000 15400 2890 290 4.1 0 0 14.4 2000 9 999999999 160 0.1140 0 88 0.160 0.0 1.0 -2.82276E7 12.8 10.6 86 101900 89 1228 323 25 156 16 2900 7900 2300 300 280 5.7 3 3 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82312E7 12.8 10.6 86 102000 0 0 323 0 0 0 0 0 0 0 270 3.6 3 3 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82348E7 12.2 10.0 86 102000 0 0 306 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82384E7 11.7 7.8 77 102000 0 0 302 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.8242E7 11.1 8.3 83 102000 0 0 300 0 0 0 0 0 0 0 290 2.1 0 0 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82456E7 10.6 7.8 83 102000 0 0 297 0 0 0 0 0 0 0 190 2.1 0 0 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82492E7 10.0 7.2 83 102100 0 0 307 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82528E7 9.4 7.8 90 102100 0 0 305 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82564E7 8.9 6.7 86 102100 0 0 289 0 0 0 0 0 0 0 190 1.5 0 0 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.826E7 9.4 7.2 86 102200 0 0 292 0 0 0 0 0 0 0 0 0.0 0 0 14.4 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82636E7 8.3 6.1 86 102200 0 0 286 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82672E7 7.2 6.1 93 102200 0 0 282 0 0 0 0 0 0 0 210 1.5 0 0 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82708E7 6.7 5.6 93 102200 0 0 279 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82744E7 7.2 6.7 97 102200 0 0 282 0 0 0 0 0 0 0 0 0.0 0 0 14.4 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.8278E7 8.9 7.8 93 102300 0 0 290 0 0 0 0 0 0 0 0 0.0 0 0 14.4 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82816E7 9.4 7.8 90 102300 114 1392 292 37 236 18 4000 12700 2900 340 0 0.0 0 0 11.2 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82852E7 10.6 7.8 83 102400 343 1404 297 199 594 53 20700 49400 8500 990 0 0.0 0 0 11.2 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82888E7 11.7 7.8 77 102400 530 1404 302 342 659 92 35500 61700 12100 1780 0 0.0 0 0 11.2 2000 9 999999999 150 0.1140 0 88 0.160 0.0 1.0 -2.82924E7 12.8 8.3 74 102400 662 1404 307 393 459 176 41000 45500 19500 3670 80 1.5 0 0 11.2 2000 9 999999999 160 0.1140 0 88 0.160 0.0 1.0 -2.8296E7 13.3 8.9 75 102400 727 1404 310 439 437 212 45600 43900 22700 4650 70 1.5 0 0 11.2 2000 9 999999999 160 0.1140 0 88 0.160 0.0 1.0 -2.82996E7 13.9 8.3 69 102300 723 1404 312 430 462 191 45000 46400 21000 4130 0 0.0 0 0 12.8 2000 9 999999999 160 0.1140 0 88 0.160 0.0 1.0 -2.83032E7 16.1 7.2 56 102300 649 1404 320 418 583 147 44300 57700 17500 2990 0 0.0 0 0 12.8 2000 9 999999999 170 0.1140 0 88 0.160 0.0 1.0 -2.83068E7 16.1 8.3 60 102200 510 1404 321 292 370 157 30800 35600 17800 3310 0 0.0 0 0 11.2 2000 9 999999999 170 0.1140 0 88 0.160 0.0 1.0 -2.83104E7 15.0 10.0 72 102200 317 1404 318 202 406 110 20200 31900 12900 2130 310 3.1 0 0 11.2 2000 9 999999999 180 0.1140 0 88 0.160 0.0 1.0 -2.8314E7 13.9 10.6 80 102200 88 1205 314 24 178 13 2800 9100 2100 250 280 5.2 0 0 9.6 2000 9 999999999 190 0.1140 0 88 0.160 0.0 1.0 -2.83176E7 13.3 11.1 87 102300 0 0 343 0 0 0 0 0 0 0 290 5.7 9 8 12.8 2000 9 999999999 190 0.1140 0 88 0.160 0.0 1.0 -2.83212E7 12.8 12.2 96 102300 0 0 359 0 0 0 0 0 0 0 280 6.2 10 10 14.4 2000 9 999999999 200 0.1140 0 88 0.160 0.0 1.0 -2.83248E7 12.8 12.2 96 102400 0 0 342 0 0 0 0 0 0 0 270 4.6 10 8 16.0 2000 9 999999999 200 0.1140 0 88 0.160 0.0 1.0 -2.83284E7 12.2 11.7 97 102400 0 0 338 0 0 0 0 0 0 0 290 5.2 10 8 16.0 2000 9 999999999 200 0.1140 0 88 0.160 0.0 1.0 -2.8332E7 12.2 11.7 97 102300 0 0 346 0 0 0 0 0 0 0 280 5.2 9 9 16.0 2000 9 999999999 200 0.1140 0 88 0.160 0.0 1.0 -2.83356E7 11.7 11.1 96 102400 0 0 326 0 0 0 0 0 0 0 280 3.1 6 6 16.0 7620 9 999999999 200 0.1140 0 88 0.160 0.0 1.0 -2.83392E7 10.6 10.0 96 102300 0 0 329 0 0 0 0 0 0 0 130 1.5 8 8 12.8 7620 9 999999999 190 0.1140 0 88 0.160 0.0 1.0 -2.83428E7 11.1 10.0 93 102300 0 0 326 0 0 0 0 0 0 0 270 3.6 10 7 14.4 2000 9 999999999 190 0.1130 0 88 0.160 0.0 1.0 -2.83464E7 11.7 10.0 89 102300 0 0 334 0 0 0 0 0 0 0 280 4.6 8 8 16.0 335 9 999999999 160 0.1130 0 88 0.160 0.0 1.0 -2.835E7 11.7 10.6 93 102300 0 0 352 0 0 0 0 0 0 0 220 2.6 10 10 16.0 335 9 999999999 140 0.1130 0 88 0.160 0.0 1.0 -2.83536E7 11.7 10.0 89 102200 0 0 351 0 0 0 0 0 0 0 260 3.6 10 10 16.0 396 9 999999999 110 0.1130 0 88 0.160 0.0 1.0 -2.83572E7 11.7 10.6 93 102200 0 0 352 0 0 0 0 0 0 0 290 2.6 10 10 16.0 274 9 999999999 110 0.1130 0 88 0.160 0.0 1.0 -2.83608E7 11.7 10.0 89 102200 0 0 351 0 0 0 0 0 0 0 280 2.1 10 10 16.0 335 9 999999999 120 0.1130 0 88 0.160 0.0 1.0 -2.83644E7 12.2 10.0 86 102200 0 0 353 0 0 0 0 0 0 0 280 2.6 10 10 16.0 335 9 999999999 130 0.1130 0 88 0.160 0.0 1.0 -2.8368E7 11.7 10.0 89 102200 110 1369 351 5 0 5 600 0 600 210 270 4.1 10 10 16.0 335 9 999999999 150 0.1130 0 88 0.160 0.0 1.0 -2.83716E7 11.7 10.6 93 102300 338 1404 352 91 11 88 10100 500 10000 3060 290 3.6 10 10 16.0 213 9 999999999 170 0.1130 0 88 0.160 0.0 1.0 -2.83752E7 12.8 10.6 86 102300 526 1404 357 146 11 141 16400 800 16100 5310 280 3.6 10 10 16.0 366 9 999999999 190 0.1130 0 88 0.160 0.0 1.0 -2.83788E7 13.9 10.0 77 102300 657 1404 362 321 200 227 34700 20200 25200 5540 280 6.2 10 10 16.0 488 9 999999999 220 0.1130 0 88 0.160 0.0 1.0 -2.83824E7 14.4 10.6 78 102300 723 1404 355 397 293 245 42000 30500 26200 5790 280 5.7 9 9 16.0 488 9 999999999 250 0.1130 0 88 0.160 0.0 1.0 -2.8386E7 15.0 10.6 75 102200 720 1404 350 221 24 209 25200 2000 24100 8310 270 3.6 8 8 16.0 2743 9 999999999 270 0.1130 0 88 0.160 0.0 1.0 -2.83896E7 13.9 11.1 83 102100 646 1404 353 151 0 151 17400 0 17400 6220 0 0.0 9 9 16.0 2743 9 999999999 280 0.1130 0 88 0.160 0.0 1.0 -2.83932E7 15.0 10.6 75 102000 508 1404 358 103 0 103 11900 0 11900 4160 290 4.6 9 9 16.0 1524 9 999999999 290 0.1130 0 88 0.160 0.0 1.0 -2.83968E7 14.4 10.0 75 102000 314 1404 354 144 184 102 14900 14600 11600 2060 280 3.6 9 9 16.0 1524 9 999999999 290 0.1130 0 88 0.160 0.0 1.0 -2.84004E7 15.0 9.4 69 102000 86 1205 367 16 80 12 2000 3500 1800 200 260 3.6 10 10 16.0 2134 9 999999999 280 0.1130 0 88 0.160 0.0 1.0 -2.8404E7 14.4 9.4 72 101900 0 0 364 0 0 0 0 0 0 0 220 2.1 10 10 16.0 914 9 999999999 270 0.1130 0 88 0.160 0.0 1.0 -2.84076E7 13.9 11.1 83 102000 0 0 363 0 0 0 0 0 0 0 340 2.6 10 10 16.0 701 9 999999999 260 0.1130 0 88 0.160 0.0 1.0 -2.84112E7 12.8 12.2 96 102000 0 0 359 0 0 0 0 0 0 0 350 2.1 10 10 14.4 640 9 999999999 240 0.1130 0 88 0.160 0.0 1.0 -2.84148E7 12.2 12.2 100 102000 0 0 356 0 0 0 0 0 0 0 30 2.6 10 10 12.8 366 9 999999999 220 0.1130 0 88 0.160 0.0 1.0 -2.84184E7 12.2 12.2 100 102000 0 0 356 0 0 0 0 0 0 0 40 4.6 10 10 12.8 366 9 999999999 209 0.1130 0 88 0.160 0.0 1.0 -2.8422E7 12.2 12.2 100 102100 0 0 356 0 0 0 0 0 0 0 70 3.1 10 10 12.8 427 9 999999999 200 0.1130 0 88 0.160 0.0 1.0 -2.84256E7 12.2 11.7 97 102100 0 0 355 0 0 0 0 0 0 0 50 3.1 10 10 9.6 427 9 999999999 180 0.1130 0 88 0.160 0.0 1.0 -2.84292E7 12.2 10.6 90 102000 0 0 354 0 0 0 0 0 0 0 50 3.6 10 10 8.0 427 9 999999999 170 0.1130 0 88 0.160 0.0 1.0 -2.84328E7 12.2 10.6 90 102100 0 0 354 0 0 0 0 0 0 0 50 3.1 10 10 6.4 579 9 999999999 160 0.1130 0 88 0.160 0.0 1.0 -2.84364E7 12.2 9.4 83 102100 0 0 336 0 0 0 0 0 0 0 60 1.5 8 8 6.4 732 9 999999999 160 0.1130 0 88 0.160 0.0 1.0 -2.844E7 11.7 10.0 89 102100 0 0 351 0 0 0 0 0 0 0 0 0.0 10 10 6.4 671 9 999999999 150 0.1130 0 88 0.160 0.0 1.0 -2.84436E7 12.2 10.0 86 102200 0 0 353 0 0 0 0 0 0 0 30 2.6 10 10 6.4 549 9 999999999 150 0.1130 0 88 0.160 0.0 1.0 -2.84472E7 11.7 9.4 86 102200 0 0 333 0 0 0 0 0 0 0 70 4.1 8 8 8.0 732 9 999999999 150 0.1130 0 88 0.160 0.0 1.0 -2.84508E7 11.7 9.4 86 102200 0 0 324 0 0 0 0 0 0 0 100 2.6 6 6 8.0 6096 9 999999999 150 0.1130 0 88 0.160 0.0 1.0 -2.84544E7 12.2 9.4 83 102200 106 1346 324 29 158 18 3300 8300 2500 330 100 3.1 7 5 8.0 6096 9 999999999 160 0.1130 0 88 0.160 0.0 1.0 -2.8458E7 12.2 10.0 86 102200 334 1405 319 176 463 66 18000 37600 9000 1180 130 2.1 3 3 4.8 2000 9 999999999 170 0.1130 0 88 0.160 0.0 1.0 -2.84616E7 13.3 10.0 80 102200 522 1405 324 311 515 119 32800 48600 14700 2290 0 0.0 3 3 8.0 2000 9 999999999 180 0.1130 0 88 0.160 0.0 1.0 -2.84652E7 13.9 10.0 77 102200 653 1405 314 393 494 162 41300 48900 18400 3330 360 2.1 0 0 9.6 2000 9 999999999 180 0.1130 0 88 0.160 0.0 1.0 -2.84688E7 13.9 10.0 77 102200 720 1405 320 427 425 208 44300 42600 22300 4540 360 1.5 1 1 12.8 6096 9 999999999 190 0.1130 0 88 0.160 0.0 1.0 -2.84724E7 14.4 10.0 75 102000 716 1405 329 354 164 270 38100 16800 29500 6780 50 1.5 3 3 12.8 6096 9 999999999 190 0.1130 0 88 0.160 0.0 1.0 -2.8476E7 14.4 11.7 84 102000 643 1405 336 302 136 239 32400 13700 26100 5800 360 2.1 5 5 11.2 6096 9 999999999 190 0.1130 0 88 0.160 0.0 1.0 -2.84796E7 13.9 12.2 89 101900 505 1405 347 206 71 180 22500 6800 20000 4640 30 1.5 8 8 9.6 6096 9 999999999 200 0.1130 0 88 0.160 0.0 1.0 -2.84832E7 13.9 11.7 87 101900 312 1405 341 108 15 105 11800 800 11700 3240 340 1.5 7 7 11.2 6096 9 999999999 200 0.1130 0 88 0.160 0.0 1.0 -2.84868E7 13.9 11.1 83 101900 85 1206 363 12 7 12 1400 400 1400 310 270 3.1 10 10 16.0 3048 9 999999999 209 0.1130 0 88 0.160 0.0 1.0 -2.84904E7 13.3 12.2 93 101900 0 0 361 0 0 0 0 0 0 0 280 5.2 10 10 16.0 2743 9 999999999 220 0.1130 0 88 0.160 0.0 1.0 -2.8494E7 13.3 11.7 90 101800 0 0 361 0 0 0 0 0 0 0 280 2.6 10 10 16.0 2743 9 999999999 230 0.1130 0 88 0.160 0.0 1.0 -2.84976E7 13.3 11.7 90 101900 0 0 361 0 0 0 0 0 0 0 280 4.1 10 10 16.0 2438 9 999999999 230 0.1130 0 88 0.160 0.0 1.0 -2.85012E7 12.8 11.7 93 101800 0 0 358 0 0 0 0 0 0 0 300 3.1 10 10 16.0 2743 9 999999999 240 0.1130 0 88 0.160 0.0 1.0 -2.85048E7 12.8 11.7 93 101800 0 0 348 0 0 0 0 0 0 0 240 3.6 9 9 16.0 2134 9 999999999 240 0.1130 0 88 0.160 0.0 1.0 -2.85084E7 13.3 11.1 87 101700 0 0 350 0 0 0 0 0 0 0 210 2.6 9 9 16.0 2134 9 999999999 250 0.1130 0 88 0.160 0.0 1.0 -2.8512E7 13.3 11.1 87 101700 0 0 350 0 0 0 0 0 0 0 0 0.0 10 9 16.0 1524 9 999999999 260 0.1130 0 88 0.160 0.0 1.0 -2.85156E7 13.3 10.0 80 101700 0 0 359 0 0 0 0 0 0 0 170 3.1 10 10 16.0 1036 9 999999999 270 0.1130 0 88 0.160 0.0 1.0 -2.85192E7 12.2 11.1 93 101500 0 0 355 0 0 0 0 0 0 0 150 4.6 10 10 11.2 1036 9 999999999 270 0.1130 0 88 0.160 0.0 1.0 -2.85228E7 12.2 11.1 93 101400 0 0 355 0 0 0 0 0 0 0 170 4.6 10 10 14.4 853 9 999999999 270 0.1130 0 88 0.160 0.0 1.0 -2.85264E7 12.8 11.7 93 101200 0 0 358 0 0 0 0 0 0 0 180 7.2 10 10 8.0 762 9 999999999 280 0.1130 0 88 0.160 0.0 1.0 -2.853E7 13.9 12.2 89 101100 0 0 364 0 0 0 0 0 0 0 200 11.8 10 10 4.8 853 9 999999999 250 0.1130 0 88 0.160 1.0 1.0 -2.85336E7 15.0 13.9 93 101000 0 0 372 0 0 0 0 0 0 0 220 9.3 10 10 4.8 701 9 999999999 230 0.1130 0 88 0.160 3.0 1.0 -2.85372E7 12.8 11.7 93 101100 0 0 358 0 0 0 0 0 0 0 260 10.3 10 10 3.2 610 9 999999999 209 0.1130 0 88 0.160 3.0 1.0 -2.85408E7 12.2 10.6 90 101100 102 1323 344 32 127 23 3600 5900 3100 400 280 12.4 9 9 16.0 1097 9 999999999 180 0.1130 0 88 0.160 0.0 1.0 -2.85444E7 12.2 10.0 86 101300 329 1405 336 98 106 73 10800 8900 8700 1590 300 9.3 8 8 16.0 975 9 999999999 160 0.1130 0 88 0.160 0.0 1.0 -2.8548E7 12.2 9.4 83 101400 517 1405 336 326 498 142 33700 46700 16400 2790 350 5.7 8 8 16.0 884 9 999999999 130 0.1130 0 88 0.160 0.0 1.0 -2.85516E7 12.2 10.0 86 101500 649 1405 322 415 624 125 42900 60400 14900 2510 330 1.5 4 4 16.0 2000 9 999999999 130 0.1130 0 88 0.160 0.0 1.0 -2.85552E7 13.9 7.8 67 101500 716 1405 325 492 682 143 50900 66800 16800 2980 310 7.2 3 3 16.0 2000 9 999999999 120 0.1130 0 88 0.160 0.0 1.0 -2.85588E7 14.4 8.9 70 101500 713 1405 328 423 443 198 44100 44400 21500 4280 280 8.8 3 3 16.0 2000 9 999999999 120 0.1130 0 88 0.160 0.0 1.0 -2.85624E7 15.0 8.3 64 101500 640 1405 330 391 484 170 40800 47600 19000 3500 290 8.8 3 3 16.0 2000 9 999999999 110 0.1130 0 88 0.160 0.0 1.0 -2.8566E7 15.0 8.3 64 101500 503 1405 330 309 462 143 31800 43000 16300 2800 290 7.7 3 3 16.0 2000 9 999999999 100 0.1130 0 88 0.160 0.0 1.0 -2.85696E7 13.9 8.3 69 101600 310 1405 325 181 363 101 18300 28300 12000 1930 280 8.2 3 3 16.0 2000 9 999999999 100 0.1130 0 88 0.160 0.0 1.0 -2.85732E7 13.3 8.3 72 101600 84 1183 323 20 154 11 2400 7900 1800 210 290 7.2 3 3 16.0 2000 9 999999999 90 0.1130 0 88 0.160 0.0 1.0 -2.85768E7 12.8 8.3 74 101700 0 0 307 0 0 0 0 0 0 0 290 6.7 0 0 16.0 2000 9 999999999 90 0.1130 0 88 0.160 0.0 1.0 -2.85804E7 12.2 7.8 74 101800 0 0 304 0 0 0 0 0 0 0 290 6.2 0 0 16.0 2000 9 999999999 90 0.1130 0 88 0.160 0.0 1.0 -2.8584E7 12.8 4.4 57 101900 0 0 303 0 0 0 0 0 0 0 330 6.7 0 0 16.0 2000 9 999999999 90 0.1130 0 88 0.160 0.0 1.0 -2.85876E7 12.2 1.7 49 102000 0 0 298 0 0 0 0 0 0 0 330 5.7 0 0 16.0 2000 9 999999999 90 0.1130 0 88 0.160 0.0 1.0 -2.85912E7 12.8 2.2 48 102000 0 0 301 0 0 0 0 0 0 0 340 7.2 0 0 16.0 2000 9 999999999 90 0.1130 0 88 0.160 0.0 1.0 -2.85948E7 12.2 1.7 49 102100 0 0 298 0 0 0 0 0 0 0 330 6.7 0 0 16.0 2000 9 999999999 90 0.1130 0 88 0.160 0.0 1.0 -2.85984E7 11.7 0.6 46 102100 0 0 294 0 0 0 0 0 0 0 340 6.2 0 0 16.0 2000 9 999999999 90 0.1130 0 88 0.160 0.0 1.0 -2.8602E7 11.7 -0.6 42 102100 0 0 293 0 0 0 0 0 0 0 320 7.7 0 0 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2.86056E7 11.1 0.0 46 102200 0 0 291 0 0 0 0 0 0 0 330 9.8 0 0 16.0 2000 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2.86092E7 10.6 -0.6 46 102200 0 0 289 0 0 0 0 0 0 0 330 6.2 0 0 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.86128E7 10.6 -0.6 46 102200 0 0 289 0 0 0 0 0 0 0 330 6.7 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86164E7 10.0 -0.6 47 102300 0 0 286 0 0 0 0 0 0 0 330 6.2 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.862E7 10.6 -0.6 46 102300 0 0 289 0 0 0 0 0 0 0 340 9.8 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86236E7 10.6 -1.1 44 102400 0 0 288 0 0 0 0 0 0 0 350 9.8 0 0 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.86272E7 10.6 0.0 48 102400 98 1301 289 29 193 16 3300 10100 2500 300 340 7.7 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86308E7 11.1 0.0 46 102500 325 1406 291 162 392 71 17000 31400 9700 1290 350 9.3 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86344E7 11.1 -0.6 44 102500 513 1406 291 305 537 108 32400 50500 13900 2050 360 9.8 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.8638E7 11.7 0.6 46 102600 645 1406 294 381 453 172 39700 44700 19100 3550 360 7.2 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86416E7 12.2 0.0 43 102500 712 1406 296 485 616 172 51300 61800 19800 3660 360 8.8 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86452E7 13.3 0.0 40 102400 710 1406 300 417 395 217 44500 41000 23700 4980 340 8.8 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86488E7 13.3 -0.6 38 102400 637 1406 300 446 738 110 46500 71600 13900 2240 350 7.7 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86524E7 13.9 0.6 40 102400 500 1406 304 341 683 97 35100 62700 12700 1820 350 6.2 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.8656E7 13.9 0.0 38 102400 309 1406 303 206 464 104 20700 36100 12700 2000 360 7.2 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86596E7 13.3 1.7 45 102400 82 1183 302 22 196 11 2700 11300 1900 250 360 6.2 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86632E7 12.8 -1.1 38 102500 0 0 297 0 0 0 0 0 0 0 360 7.2 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86668E7 12.2 0.6 45 102500 0 0 296 0 0 0 0 0 0 0 10 5.7 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86704E7 11.7 0.0 44 102600 0 0 294 0 0 0 0 0 0 0 350 7.7 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.8674E7 11.1 -1.1 42 102600 0 0 290 0 0 0 0 0 0 0 340 7.7 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86776E7 10.6 0.6 50 102600 0 0 290 0 0 0 0 0 0 0 340 6.2 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86812E7 11.1 -0.6 44 102700 0 0 291 0 0 0 0 0 0 0 330 3.6 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86848E7 11.1 0.6 48 102700 0 0 292 0 0 0 0 0 0 0 20 7.7 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86884E7 10.6 -0.6 46 102700 0 0 289 0 0 0 0 0 0 0 30 4.6 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.8692E7 10.6 -0.6 46 102800 0 0 289 0 0 0 0 0 0 0 30 6.2 0 0 16.0 2000 9 999999999 50 0.1120 0 88 0.160 0.0 1.0 -2.86956E7 10.0 -1.7 43 102800 0 0 285 0 0 0 0 0 0 0 40 5.2 0 0 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.86992E7 8.9 0.0 54 102700 0 0 282 0 0 0 0 0 0 0 50 4.6 0 0 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.87028E7 9.4 0.0 52 102800 0 0 284 0 0 0 0 0 0 0 80 5.2 0 0 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.87064E7 8.9 -0.6 51 102800 0 0 282 0 0 0 0 0 0 0 80 6.2 0 0 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.871E7 6.7 -2.2 52 102900 0 0 272 0 0 0 0 0 0 0 140 2.6 0 0 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.87136E7 8.9 -3.3 41 103000 95 1278 279 26 182 14 3000 9500 2200 270 60 6.2 0 0 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.87172E7 8.3 -2.2 46 103000 321 1406 278 177 540 54 18400 43700 8400 990 140 4.6 0 0 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.87208E7 9.4 -2.2 43 103000 509 1406 282 309 577 100 31900 53100 12500 1880 110 4.6 0 0 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.87244E7 9.4 -2.8 41 103100 642 1406 282 381 465 168 39800 45800 18800 3460 120 3.1 0 0 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.8728E7 10.0 -3.3 38 103000 709 1406 283 396 383 203 42500 39800 22400 4590 80 2.1 0 0 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.87316E7 10.6 -3.3 36 103000 707 1406 295 398 370 211 42500 38400 23100 4810 0 0.0 2 2 16.0 2000 9 999999999 70 0.1120 0 88 0.160 0.0 1.0 -2.87352E7 11.7 -2.8 35 102900 635 1406 308 302 180 220 32600 18100 24400 5320 0 0.0 5 5 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.87388E7 11.7 -1.7 39 102900 498 1406 309 293 403 150 31000 38500 17300 3130 340 1.5 5 5 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.87424E7 12.2 0.0 43 102900 307 1406 313 146 170 109 15600 13700 12600 2360 0 0.0 5 5 16.0 2000 9 999999999 60 0.1120 0 88 0.160 0.0 1.0 -2.8746E7 11.1 0.6 48 102900 81 1184 309 15 71 11 1800 3100 1600 180 360 2.1 6 5 16.0 2000 9 999999999 70 0.1120 0 88 0.160 0.0 1.0 -2.87496E7 10.0 0.6 52 102900 0 0 300 0 0 0 0 0 0 0 310 2.1 3 3 16.0 6096 9 999999999 70 0.1120 0 88 0.160 0.0 1.0 -2.87532E7 9.4 -2.2 43 103000 0 0 291 0 0 0 0 0 0 0 270 2.6 2 2 16.0 2000 9 999999999 70 0.1120 0 88 0.160 0.0 1.0 -2.87568E7 8.3 0.0 56 103000 0 0 289 0 0 0 0 0 0 0 0 0.0 2 2 16.0 2000 9 999999999 70 0.1120 0 88 0.160 0.0 1.0 -2.87604E7 7.2 0.0 60 103000 0 0 276 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2.8764E7 6.7 1.7 70 103000 0 0 302 0 0 0 0 0 0 0 170 1.5 9 8 16.0 2000 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2.87676E7 6.7 1.7 70 103000 0 0 292 0 0 0 0 0 0 0 180 1.5 5 5 16.0 2000 9 999999999 80 0.1120 0 88 0.160 0.0 1.0 -2.87712E7 5.6 1.7 76 103000 0 0 276 0 0 0 0 0 0 0 0 0.0 1 1 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2.87748E7 5.0 1.1 76 103000 0 0 273 0 0 0 0 0 0 0 0 0.0 1 1 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2.87784E7 5.0 1.7 79 103000 0 0 274 0 0 0 0 0 0 0 0 0.0 1 1 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2.8782E7 4.4 2.2 86 103000 0 0 267 0 0 0 0 0 0 0 160 1.5 0 0 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2.87856E7 3.9 1.1 82 103000 0 0 264 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 90 0.1120 0 88 0.160 0.0 1.0 -2.87892E7 3.3 1.7 89 103000 0 0 262 0 0 0 0 0 0 0 250 1.5 0 0 16.0 2000 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2.87928E7 3.9 2.2 89 103000 0 0 265 0 0 0 0 0 0 0 190 1.5 0 0 16.0 2000 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2.87964E7 3.9 2.8 93 103000 0 0 281 0 0 0 0 0 0 0 190 1.5 5 5 16.0 2000 9 999999999 100 0.1120 0 88 0.160 0.0 1.0 -2.88E7 4.4 3.3 93 103000 91 1255 282 25 158 15 2900 8100 2200 280 180 1.5 4 4 16.0 2000 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2.88036E7 7.2 3.3 76 103100 317 1407 293 172 517 55 17700 41500 8300 1010 110 1.5 4 4 16.0 2000 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2.88072E7 7.8 2.8 71 103100 505 1407 293 324 651 89 33600 60200 11800 1700 0 0.0 3 3 16.0 2000 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2.88108E7 8.9 3.9 71 103100 638 1407 286 386 494 161 40400 48600 18300 3290 0 0.0 0 0 16.0 2000 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2.88144E7 8.9 3.3 68 103000 706 1407 298 467 610 160 49700 61200 18800 3360 0 0.0 3 3 14.4 2000 9 999999999 110 0.1120 0 88 0.160 0.0 1.0 -2.8818E7 10.0 3.3 63 102900 704 1407 290 404 364 221 43000 37700 24000 5080 0 0.0 0 0 14.4 2000 9 999999999 120 0.1120 0 88 0.160 0.0 1.0 -2.88216E7 10.6 4.4 65 102800 632 1407 303 412 608 137 42200 58200 15900 2660 0 0.0 2 2 12.8 2438 9 999999999 120 0.1120 0 88 0.160 0.0 1.0 -2.88252E7 11.7 2.8 54 102800 497 1407 312 325 495 150 33300 45800 17000 2960 0 0.0 4 4 11.2 2000 9 999999999 120 0.1120 0 88 0.160 0.0 1.0 -2.88288E7 11.1 3.9 61 102700 306 1407 311 147 124 119 15500 9900 13300 2580 0 0.0 4 4 14.4 2000 9 999999999 130 0.1120 0 88 0.160 0.0 1.0 -2.88324E7 11.1 3.9 61 102700 81 1161 324 15 52 12 1800 2200 1600 200 0 0.0 8 8 12.8 2438 9 999999999 130 0.1120 0 88 0.160 0.0 1.0 -2.8836E7 10.6 3.9 63 102700 0 0 308 0 0 0 0 0 0 0 340 2.1 4 4 14.4 2000 9 999999999 130 0.1120 0 88 0.160 0.0 1.0 -2.88396E7 10.0 3.9 66 102700 0 0 303 0 0 0 0 0 0 0 290 2.6 3 3 14.4 2000 9 999999999 130 0.1120 0 88 0.160 0.0 1.0 -2.88432E7 10.0 3.3 63 102700 0 0 319 0 0 0 0 0 0 0 330 2.1 8 8 14.4 2134 9 999999999 130 0.1120 0 88 0.160 0.0 1.0 -2.88468E7 10.0 5.6 74 102700 0 0 305 0 0 0 0 0 0 0 0 0.0 3 3 14.4 2000 9 999999999 130 0.1120 0 88 0.160 0.0 1.0 -2.88504E7 9.6 5.8 79 102700 0 0 304 0 0 0 0 0 0 0 0 0.0 3 3 12.8 2000 9 999999999 140 0.1120 0 88 0.160 0.0 1.0 -2.8854E7 9.2 6.1 80 102700 0 0 290 0 0 0 0 0 0 0 0 0.0 0 0 11.2 2000 9 999999999 140 0.1120 0 88 0.160 0.0 1.0 -2.88576E7 8.8 6.3 80 102700 0 0 298 0 0 0 0 0 0 0 0 0.0 2 2 11.2 2000 9 999999999 140 0.1120 0 88 0.160 0.0 1.0 -2.88612E7 8.4 6.5 100 101200 0 0 287 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 160 0.1120 0 88 0.210 0.0 1.0 -2.88648E7 8.0 6.7 96 101200 0 0 285 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 160 0.1120 0 88 0.210 0.0 1.0 -2.88684E7 7.6 7.0 100 101200 0 0 284 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1120 0 88 0.210 0.0 1.0 -2.8872E7 7.2 7.2 100 101200 0 0 283 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1120 0 88 0.210 0.0 1.0 -2.88756E7 7.2 7.2 100 101200 0 0 283 0 0 0 0 0 0 0 130 2.1 0 0 16.0 2000 9 999999999 150 0.1120 0 88 0.210 0.0 1.0 -2.88792E7 8.9 8.9 100 101200 0 0 291 0 0 0 0 0 0 0 110 1.5 0 0 16.0 2000 9 999999999 150 0.1120 0 88 0.210 0.0 1.0 -2.88828E7 8.3 8.3 100 101200 0 0 301 0 0 0 0 0 0 0 170 1.5 3 3 16.0 2000 9 999999999 150 0.1120 0 88 0.210 0.0 1.0 -2.88864E7 9.4 9.4 100 101300 89 1231 306 33 207 18 3500 10400 2700 330 60 1.5 3 3 16.0 2000 9 999999999 150 0.1120 0 88 0.210 0.0 1.0 -2.889E7 10.6 9.4 92 101300 314 1407 312 177 548 54 18200 43900 8400 990 0 0.0 3 3 16.0 2000 9 999999999 150 0.1120 0 88 0.210 0.0 1.0 -2.88936E7 12.2 8.9 80 101300 502 1407 318 315 632 90 32800 58300 11900 1710 90 2.6 3 3 16.0 2000 9 999999999 150 0.1120 0 88 0.210 0.0 1.0 -2.88972E7 13.3 8.9 75 101300 635 1407 323 435 745 99 45900 72600 13000 2040 90 3.1 3 3 16.0 2000 9 999999999 150 0.1120 0 88 0.210 0.0 1.0 -2.89008E7 13.9 8.9 72 101200 703 1407 326 505 817 96 52400 79700 12400 1960 80 2.1 3 3 16.0 2000 9 999999999 150 0.1120 0 88 0.210 0.0 1.0 -2.89044E7 14.4 8.3 67 101100 702 1407 314 501 871 67 52700 84800 10200 1530 20 1.5 0 0 16.0 2000 9 999999999 150 0.1120 0 88 0.210 0.0 1.0 -2.8908E7 14.4 8.9 70 101100 631 1407 315 440 842 62 46300 81000 9800 1390 50 2.1 0 0 16.0 2000 9 999999999 140 0.1120 0 88 0.210 0.0 1.0 -2.89116E7 16.1 3.9 44 101100 495 1407 317 324 773 52 34200 71700 8800 1140 0 0.0 0 0 16.0 2000 9 999999999 140 0.1120 0 88 0.210 0.0 1.0 -2.89152E7 15.6 5.6 51 101100 305 1407 316 172 620 38 17900 50800 6800 770 0 0.0 0 0 16.0 2000 9 999999999 140 0.1120 0 88 0.210 0.0 1.0 -2.89188E7 13.9 8.9 72 101100 80 1161 312 31 239 14 3200 13400 2300 290 280 4.6 0 0 16.0 2000 9 999999999 140 0.1120 0 88 0.210 0.0 1.0 -2.89224E7 13.3 8.9 75 101000 0 0 310 0 0 0 0 0 0 0 260 4.6 0 0 16.0 2000 9 999999999 140 0.1120 0 88 0.210 0.0 1.0 -2.8926E7 12.2 8.9 80 101000 0 0 305 0 0 0 0 0 0 0 220 2.1 0 0 16.0 2000 9 999999999 140 0.1120 0 88 0.210 0.0 1.0 -2.89296E7 12.2 8.9 80 101000 0 0 305 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 140 0.1120 0 88 0.210 0.0 1.0 -2.89332E7 10.0 8.3 89 101100 0 0 295 0 0 0 0 0 0 0 190 2.1 0 0 16.0 2000 9 999999999 140 0.1120 0 88 0.210 0.0 1.0 -2.89368E7 10.0 7.8 86 101100 0 0 295 0 0 0 0 0 0 0 180 1.5 0 0 16.0 2000 9 999999999 140 0.1120 0 88 0.210 0.0 1.0 -2.89404E7 10.0 7.8 86 101100 0 0 295 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 140 0.1120 0 88 0.210 0.0 1.0 -2.8944E7 9.4 7.2 86 101100 0 0 292 0 0 0 0 0 0 0 260 2.1 0 0 16.0 2000 9 999999999 140 0.1120 0 88 0.210 0.0 1.0 -2.89476E7 8.9 6.7 86 101100 0 0 289 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.89512E7 7.8 6.7 93 101100 0 0 285 0 0 0 0 0 0 0 210 1.5 0 0 16.0 2000 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.89548E7 7.2 6.7 97 101100 0 0 282 0 0 0 0 0 0 0 210 1.5 0 0 16.0 2000 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.89584E7 7.2 6.1 93 101100 0 0 282 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.8962E7 6.7 6.7 100 101100 0 0 280 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.89656E7 6.7 6.7 100 101100 0 0 280 0 0 0 0 0 0 0 190 2.1 0 0 16.0 2000 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.89692E7 8.3 7.2 93 101200 0 0 287 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.89728E7 10.0 8.3 89 101300 85 1208 308 23 35 20 2500 1700 2400 410 80 2.1 3 3 16.0 2000 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.89764E7 10.0 8.3 89 101300 310 1407 308 135 241 82 14300 19000 10100 1580 130 2.1 3 3 16.0 7620 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.898E7 10.6 7.2 79 101300 499 1407 309 255 360 127 26500 33500 14600 2450 50 3.1 3 3 16.0 7620 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.89836E7 11.1 7.8 80 101400 632 1407 312 339 375 170 36400 38100 19200 3650 40 2.1 4 3 16.0 7620 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.89872E7 11.7 9.4 86 101300 700 1407 313 419 569 136 43600 55600 15800 2810 20 3.6 3 2 12.8 7620 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.89908E7 12.2 9.4 83 101300 699 1407 306 460 656 133 47800 64200 15800 2760 10 3.1 0 0 12.8 7620 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.89944E7 12.2 8.9 80 101300 629 1407 323 284 209 190 30900 21000 21500 4570 0 0.0 5 5 12.8 7620 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.8998E7 12.8 9.4 80 101300 494 1407 338 118 69 94 13200 6600 10900 2150 360 2.6 8 8 12.8 1067 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.90016E7 12.8 9.4 80 101300 303 1407 338 106 69 91 11600 5800 10300 2220 350 2.1 8 8 12.8 1067 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.90052E7 12.8 10.0 83 101300 79 1161 339 29 4 29 3200 0 3200 900 20 3.1 8 8 12.8 1067 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.90088E7 12.8 10.0 83 101400 0 0 339 0 0 0 0 0 0 0 0 0.0 8 8 12.8 1219 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.90124E7 12.2 10.0 86 101400 0 0 336 0 0 0 0 0 0 0 70 3.1 8 8 12.8 1372 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.9016E7 12.2 10.0 86 101400 0 0 336 0 0 0 0 0 0 0 0 0.0 8 8 16.0 1372 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.90196E7 12.2 10.0 86 101400 0 0 336 0 0 0 0 0 0 0 150 2.1 8 8 16.0 1372 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.90232E7 12.2 10.0 86 101400 0 0 336 0 0 0 0 0 0 0 0 0.0 8 8 12.8 1372 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.90268E7 12.2 10.0 86 101400 0 0 336 0 0 0 0 0 0 0 0 0.0 8 8 16.0 1372 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.90304E7 11.7 10.0 89 101400 0 0 341 0 0 0 0 0 0 0 130 2.1 9 9 16.0 1433 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.9034E7 11.7 10.0 89 101400 0 0 334 0 0 0 0 0 0 0 100 2.1 8 8 16.0 1372 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.90376E7 11.7 10.0 89 101400 0 0 334 0 0 0 0 0 0 0 130 2.6 8 8 14.4 1372 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.90412E7 11.7 10.0 89 101400 0 0 334 0 0 0 0 0 0 0 100 1.5 8 8 16.0 1372 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.90448E7 11.7 10.0 89 101400 0 0 341 0 0 0 0 0 0 0 0 0.0 9 9 16.0 1372 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.90484E7 11.7 10.0 89 101400 0 0 351 0 0 0 0 0 0 0 0 0.0 10 10 16.0 1524 9 999999999 140 0.1110 0 88 0.210 0.0 1.0 -2.9052E7 11.7 10.0 89 101400 0 0 351 0 0 0 0 0 0 0 140 2.1 10 10 16.0 1372 9 999999999 150 0.1110 0 88 0.210 0.0 1.0 -2.90556E7 11.7 10.0 89 101400 0 0 334 0 0 0 0 0 0 0 110 6.7 8 8 16.0 1494 9 999999999 150 0.1110 0 88 0.210 0.0 1.0 -2.90592E7 11.7 10.0 89 101500 82 1185 334 22 44 19 2400 1700 2300 320 130 3.1 8 8 16.0 1676 9 999999999 150 0.1110 0 88 0.210 0.0 1.0 -2.90628E7 12.2 10.0 86 101400 306 1408 327 130 180 91 13600 14100 10600 1800 110 6.2 9 6 16.0 3962 9 999999999 160 0.1110 0 88 0.210 0.0 1.0 -2.90664E7 13.3 10.0 80 101600 495 1408 349 130 86 99 14400 8300 11500 2260 100 3.6 10 9 16.0 1829 9 999999999 160 0.1110 0 88 0.210 0.0 1.0 -2.907E7 13.3 10.6 84 101500 628 1408 359 230 65 201 25200 6400 22400 5700 70 4.6 10 10 16.0 1524 9 999999999 160 0.1110 0 88 0.210 0.0 1.0 -2.90736E7 14.4 11.1 81 101400 697 1408 366 146 0 146 17000 0 17000 6300 90 6.2 10 10 16.0 1402 9 999999999 170 0.1110 0 88 0.210 0.0 1.0 -2.90772E7 15.0 10.6 75 101400 697 1408 368 146 0 146 17000 0 17000 6290 120 5.2 10 10 16.0 1372 9 999999999 170 0.1110 0 88 0.210 0.0 1.0 -2.90808E7 15.0 11.7 81 101400 627 1408 369 127 0 127 14800 0 14800 5370 140 4.1 10 10 16.0 1433 9 999999999 170 0.1110 0 88 0.210 0.0 1.0 -2.90844E7 13.9 12.2 89 101400 492 1408 364 93 0 93 10800 0 10800 3780 110 5.2 10 10 12.8 1280 9 999999999 180 0.1110 0 88 0.210 2.0 1.0 -2.9088E7 13.3 12.8 97 101400 302 1408 362 49 0 49 5700 0 5700 1900 120 3.1 10 10 14.4 1402 9 999999999 180 0.1110 0 88 0.210 1.0 1.0 -2.90916E7 13.3 12.8 97 101400 79 1161 362 12 0 12 1400 0 1400 450 0 0.0 10 10 16.0 2286 9 999999999 180 0.1110 0 88 0.210 0.0 1.0 -2.90952E7 13.9 12.8 93 101400 0 0 365 0 0 0 0 0 0 0 60 6.2 10 10 16.0 2134 9 999999999 190 0.1110 0 88 0.210 0.0 1.0 -2.90988E7 13.9 12.2 89 101400 0 0 354 0 0 0 0 0 0 0 90 5.2 10 9 11.2 2134 9 999999999 190 0.1110 0 88 0.210 0.0 1.0 -2.91024E7 13.3 12.2 93 101400 0 0 361 0 0 0 0 0 0 0 90 3.6 10 10 16.0 3353 9 999999999 190 0.1110 0 88 0.210 0.0 1.0 -2.9106E7 13.3 12.2 93 101400 0 0 361 0 0 0 0 0 0 0 50 3.1 10 10 12.8 2134 9 999999999 200 0.1110 0 88 0.210 0.0 1.0 -2.91096E7 13.3 11.7 90 101400 0 0 361 0 0 0 0 0 0 0 70 2.6 10 10 14.4 2286 9 999999999 200 0.1110 0 88 0.210 0.0 1.0 -2.91132E7 13.3 11.7 90 101400 0 0 361 0 0 0 0 0 0 0 0 0.0 10 10 16.0 2438 9 999999999 200 0.1110 0 88 0.210 0.0 1.0 -2.91168E7 13.9 11.7 87 101400 0 0 341 0 0 0 0 0 0 0 60 3.6 8 7 16.0 2000 9 999999999 209 0.1110 0 88 0.210 0.0 1.0 -2.91204E7 13.9 11.7 87 101300 0 0 337 0 0 0 0 0 0 0 80 4.1 8 6 16.0 2000 9 999999999 209 0.1110 0 88 0.210 0.0 1.0 -2.9124E7 13.9 11.7 87 101300 0 0 346 0 0 0 0 0 0 0 70 4.6 9 8 16.0 2743 9 999999999 209 0.1110 0 88 0.210 0.0 1.0 -2.91276E7 13.9 11.7 87 101300 0 0 364 0 0 0 0 0 0 0 50 4.6 10 10 16.0 2896 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91312E7 13.3 11.1 87 101200 0 0 337 0 0 0 0 0 0 0 30 6.7 10 7 14.4 2896 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91348E7 12.8 10.6 86 101100 0 0 325 0 0 0 0 0 0 0 40 7.7 10 4 11.2 2000 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91384E7 12.8 10.6 86 101100 0 0 323 0 0 0 0 0 0 0 50 6.2 6 3 12.8 2000 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.9142E7 12.8 11.1 89 101000 0 0 323 0 0 0 0 0 0 0 40 6.2 8 3 16.0 7620 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91456E7 12.2 10.6 90 101100 79 1162 320 22 41 19 2500 1900 2300 390 70 3.6 7 3 16.0 7620 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91492E7 12.8 10.0 83 101100 302 1408 325 117 197 75 12500 15400 9100 1420 60 4.1 9 4 16.0 4267 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91528E7 13.3 10.6 84 101100 491 1408 328 283 410 140 29200 37900 15900 2740 50 5.7 9 4 14.4 7620 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91564E7 13.3 10.6 84 101100 625 1408 333 183 86 144 20200 8700 16300 3460 60 6.2 10 6 14.4 7620 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.916E7 13.9 11.1 83 100900 694 1408 353 208 69 174 22900 6800 19500 5380 100 1.5 10 9 14.4 2134 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91636E7 13.9 11.7 87 100900 694 1408 354 244 147 171 26900 15100 19500 4240 0 0.0 10 9 12.8 1676 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91672E7 13.9 12.2 89 100800 625 1408 354 236 113 186 25800 11400 20700 4470 30 3.1 10 9 14.4 2286 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91708E7 13.9 12.2 89 100800 491 1408 364 88 0 88 10200 0 10200 3620 40 3.1 10 10 16.0 1829 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91744E7 14.4 11.7 84 100800 302 1408 356 114 91 94 12200 7300 10700 2030 0 0.0 10 9 14.4 1829 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.9178E7 14.4 12.2 87 100700 78 1162 367 13 0 13 1500 0 1500 480 0 0.0 10 10 16.0 1829 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91816E7 14.4 11.7 84 100700 0 0 366 0 0 0 0 0 0 0 60 5.7 10 10 16.0 2286 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91852E7 14.4 11.7 84 100600 0 0 366 0 0 0 0 0 0 0 80 4.1 10 10 16.0 2743 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91888E7 15.0 11.1 77 100600 0 0 369 0 0 0 0 0 0 0 100 7.2 10 10 16.0 2438 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91924E7 13.9 11.1 83 100600 0 0 363 0 0 0 0 0 0 0 110 5.7 10 10 16.0 2438 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.9196E7 14.4 11.1 81 100500 0 0 366 0 0 0 0 0 0 0 100 8.2 10 10 16.0 2591 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.91996E7 13.9 11.7 87 100500 0 0 364 0 0 0 0 0 0 0 90 7.7 10 10 16.0 2743 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92032E7 13.9 10.6 80 100600 0 0 363 0 0 0 0 0 0 0 130 5.2 10 10 16.0 2134 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92068E7 12.8 11.7 93 100600 0 0 358 0 0 0 0 0 0 0 0 0.0 10 10 12.8 1676 9 999999999 220 0.1110 0 88 0.210 2.0 1.0 -2.92104E7 12.8 12.2 96 100600 0 0 359 0 0 0 0 0 0 0 80 5.7 10 10 9.6 1494 9 999999999 220 0.1110 0 88 0.210 2.0 1.0 -2.9214E7 12.8 12.2 96 100600 0 0 359 0 0 0 0 0 0 0 100 3.1 10 10 14.4 1829 9 999999999 220 0.1110 0 88 0.210 1.0 1.0 -2.92176E7 13.3 12.2 93 100500 0 0 361 0 0 0 0 0 0 0 100 4.1 10 10 16.0 1676 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92212E7 13.3 11.7 90 100500 0 0 361 0 0 0 0 0 0 0 100 3.6 10 10 16.0 1829 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92248E7 13.3 11.7 90 100500 0 0 361 0 0 0 0 0 0 0 90 3.1 10 10 16.0 2134 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92284E7 13.3 11.7 90 100500 0 0 361 0 0 0 0 0 0 0 120 5.2 10 10 16.0 1981 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.9232E7 13.3 12.2 93 100500 76 1139 361 12 0 12 1400 0 1400 450 70 3.6 10 10 9.6 1829 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92356E7 14.4 11.1 81 100500 299 1409 356 89 12 86 9800 500 9700 2820 100 9.3 10 9 16.0 2134 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92392E7 14.4 11.1 81 100500 488 1409 356 158 80 130 17300 7500 14700 3570 110 7.7 10 9 16.0 2134 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92428E7 15.6 11.1 75 100500 622 1409 362 166 43 147 18300 4200 16400 4420 120 8.2 10 9 16.0 2134 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92464E7 14.4 12.2 87 100400 692 1409 357 151 65 119 17100 6700 13700 2940 60 6.7 10 9 16.0 2286 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.925E7 15.0 11.7 81 100300 692 1409 359 193 53 167 21300 5200 18700 5190 90 6.7 10 9 16.0 2286 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92536E7 16.1 11.7 75 100200 623 1409 365 183 49 161 20100 4800 18000 4770 110 8.8 10 9 16.0 4267 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92572E7 16.1 11.1 72 100200 489 1409 364 237 48 221 25900 4600 24300 5190 110 8.2 10 9 16.0 4267 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92608E7 15.0 12.2 83 100200 301 1409 360 71 30 65 7800 2500 7300 1700 70 5.7 10 9 16.0 1676 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92644E7 15.0 12.2 83 100200 78 1162 360 16 9 15 1700 500 1700 380 80 5.2 10 9 16.0 1676 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.9268E7 14.4 11.1 81 100200 0 0 356 0 0 0 0 0 0 0 60 5.2 10 9 16.0 1676 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92716E7 14.4 11.1 81 100300 0 0 356 0 0 0 0 0 0 0 70 5.2 10 9 16.0 1676 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92752E7 13.9 11.7 87 100300 0 0 354 0 0 0 0 0 0 0 100 3.1 10 9 16.0 2438 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92788E7 13.9 10.6 80 100300 0 0 353 0 0 0 0 0 0 0 60 5.2 10 9 16.0 1189 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.92824E7 13.3 10.6 84 100300 0 0 350 0 0 0 0 0 0 0 50 7.7 10 9 16.0 1463 9 999999999 220 0.1110 0 88 0.210 0.0 1.0 -2.9286E7 13.3 10.6 84 100300 0 0 350 0 0 0 0 0 0 0 50 7.2 10 9 16.0 1402 9 999999999 209 0.1110 0 88 0.210 0.0 1.0 -2.92896E7 13.3 11.1 87 100200 0 0 350 0 0 0 0 0 0 0 40 5.7 10 9 16.0 1250 9 999999999 209 0.1110 0 88 0.210 0.0 1.0 -2.92932E7 13.3 10.6 84 100200 0 0 342 0 0 0 0 0 0 0 50 8.2 8 8 16.0 1524 9 999999999 209 0.1100 0 88 0.210 0.0 1.0 -2.92968E7 13.3 10.6 84 100200 0 0 342 0 0 0 0 0 0 0 40 7.2 9 8 16.0 1433 9 999999999 209 0.1100 0 88 0.210 0.0 1.0 -2.93004E7 12.8 11.1 89 100200 0 0 358 0 0 0 0 0 0 0 50 6.7 10 10 16.0 1524 9 999999999 209 0.1100 0 88 0.210 0.0 1.0 -2.9304E7 12.8 10.6 86 100100 0 0 357 0 0 0 0 0 0 0 50 7.7 10 10 16.0 1829 9 999999999 209 0.1100 0 88 0.210 0.0 1.0 -2.93076E7 12.8 10.6 86 100100 0 0 347 0 0 0 0 0 0 0 50 8.2 9 9 16.0 4572 9 999999999 220 0.1100 0 88 0.210 0.0 1.0 -2.93112E7 12.8 10.6 86 100100 0 0 328 0 0 0 0 0 0 0 50 6.7 5 5 16.0 2000 9 999999999 220 0.1100 0 88 0.210 0.0 1.0 -2.93148E7 12.8 10.6 86 100100 0 0 340 0 0 0 0 0 0 0 50 8.2 10 8 16.0 2591 9 999999999 220 0.1100 0 88 0.210 0.0 1.0 -2.93184E7 12.8 10.6 86 100100 73 1116 357 12 0 12 1400 0 1400 450 50 6.7 10 10 16.0 2591 9 999999999 220 0.1100 0 88 0.210 0.0 1.0 -2.9322E7 12.8 11.1 89 100200 295 1409 348 67 56 55 7400 4500 6500 1190 50 4.1 9 9 16.0 3048 9 999999999 220 0.1100 0 88 0.210 0.0 1.0 -2.93256E7 13.3 11.1 87 100300 484 1409 360 151 36 138 16500 3400 15300 3730 100 2.1 10 10 16.0 3962 9 999999999 220 0.1100 0 88 0.210 0.0 1.0 -2.93292E7 13.3 11.1 87 100300 619 1409 360 120 0 120 14000 0 14000 5110 40 2.1 10 10 16.0 1189 9 999999999 220 0.1100 0 88 0.210 0.0 1.0 -2.93328E7 13.3 11.7 90 100200 689 1409 351 240 57 212 26300 5700 23600 6270 50 4.1 9 9 16.0 1829 9 999999999 220 0.1100 0 88 0.210 0.0 1.0 -2.93364E7 13.9 12.2 89 100100 690 1409 354 210 57 182 23100 5600 20300 5560 50 3.6 9 9 16.0 1829 9 999999999 220 0.1100 0 88 0.210 0.0 1.0 -2.934E7 13.9 12.2 89 100100 621 1409 354 221 36 205 24200 3500 22700 5750 60 2.1 9 9 16.0 4267 9 999999999 230 0.1100 0 88 0.210 0.0 1.0 -2.93436E7 14.4 12.8 90 100100 488 1409 358 160 31 149 17500 2900 16500 3970 40 2.6 9 9 16.0 1372 9 999999999 230 0.1100 0 88 0.210 0.0 1.0 -2.93472E7 13.9 12.2 89 100100 300 1409 354 96 29 90 10500 2400 10000 2190 30 4.6 9 9 16.0 1433 9 999999999 230 0.1100 0 88 0.210 0.0 1.0 -2.93508E7 13.9 12.2 89 100200 78 1163 354 17 3 16 1900 0 1900 580 30 3.1 9 9 16.0 1676 9 999999999 230 0.1100 0 88 0.210 0.0 1.0 -2.93544E7 13.9 12.2 89 100200 0 0 354 0 0 0 0 0 0 0 360 2.1 9 9 16.0 1524 9 999999999 230 0.1100 0 88 0.210 0.0 1.0 -2.9358E7 13.3 12.2 93 100300 0 0 329 0 0 0 0 0 0 0 350 3.1 4 4 16.0 2000 9 999999999 230 0.1100 0 88 0.210 0.0 1.0 -2.93616E7 13.3 11.7 90 100300 0 0 343 0 0 0 0 0 0 0 360 1.5 8 8 16.0 1341 9 999999999 230 0.1100 0 88 0.210 0.0 1.0 -2.93652E7 12.8 12.2 96 100400 0 0 342 0 0 0 0 0 0 0 150 2.1 8 8 16.0 1097 9 999999999 230 0.1100 0 88 0.210 0.0 1.0 -2.93688E7 12.2 12.2 100 100400 0 0 356 0 0 0 0 0 0 0 170 1.5 10 10 6.4 792 9 999999999 230 0.1100 0 88 0.210 1.0 1.0 -2.93724E7 12.2 12.2 100 100400 0 0 356 0 0 0 0 0 0 0 80 1.5 10 10 11.2 732 9 999999999 240 0.1100 0 88 0.210 0.0 1.0 -2.9376E7 12.2 12.2 100 100300 0 0 356 0 0 0 0 0 0 0 100 2.6 10 10 6.4 610 9 999999999 240 0.1100 0 88 0.210 0.0 1.0 -2.93796E7 12.2 12.2 100 100300 0 0 356 0 0 0 0 0 0 0 90 3.6 10 10 3.2 701 9 999999999 240 0.1100 0 88 0.210 9.0 1.0 -2.93832E7 13.3 13.3 100 100300 0 0 363 0 0 0 0 0 0 0 140 1.5 10 10 8.0 914 9 999999999 240 0.1100 0 88 0.210 1.0 1.0 -2.93868E7 15.6 13.9 90 100300 0 0 375 0 0 0 0 0 0 0 180 5.7 10 10 6.4 853 9 999999999 240 0.1100 0 88 0.210 1.0 1.0 -2.93904E7 15.6 13.9 90 100200 0 0 375 0 0 0 0 0 0 0 170 8.2 10 10 16.0 1036 9 999999999 240 0.1100 0 88 0.210 2.0 1.0 -2.9394E7 15.0 13.9 93 100200 0 0 372 0 0 0 0 0 0 0 170 6.2 10 10 11.2 1676 9 999999999 240 0.1100 0 88 0.210 0.0 1.0 -2.93976E7 14.4 13.3 93 100300 0 0 368 0 0 0 0 0 0 0 200 8.2 10 10 6.4 792 9 999999999 230 0.1100 0 88 0.210 6.0 1.0 -2.94012E7 15.0 13.3 90 100200 0 0 371 0 0 0 0 0 0 0 180 7.2 10 10 16.0 2134 9 999999999 230 0.1100 0 88 0.210 0.0 1.0 -2.94048E7 14.4 13.3 93 100300 71 1116 368 10 0 10 1200 0 1200 380 210 6.2 10 10 9.6 823 9 999999999 220 0.1100 0 88 0.210 3.0 1.0 -2.94084E7 15.0 13.3 90 100300 292 1409 371 51 0 51 5900 0 5900 1930 210 2.6 10 10 12.8 640 9 999999999 220 0.1100 0 88 0.210 1.0 1.0 -2.9412E7 15.6 12.8 83 100300 481 1409 374 96 0 96 11100 0 11100 3840 210 5.7 10 10 16.0 1524 9 999999999 209 0.1100 0 88 0.210 1.0 1.0 -2.94156E7 12.8 11.7 93 100400 616 1409 358 130 0 130 15000 0 15000 5420 250 11.3 10 10 4.8 853 9 999999999 209 0.1100 0 88 0.210 5.0 1.0 -2.94192E7 12.2 11.1 93 100300 687 1409 345 208 106 156 23100 10900 17700 3850 220 3.6 10 9 8.0 884 9 999999999 200 0.1100 0 88 0.210 5.0 1.0 -2.94228E7 14.4 11.7 84 100300 688 1409 356 308 22 297 33800 2200 32700 9670 240 6.2 10 9 16.0 1067 9 999999999 200 0.1100 0 88 0.210 0.0 1.0 -2.94264E7 15.0 8.9 67 100400 620 1409 336 313 386 143 33100 37800 16400 2870 250 10.3 7 5 16.0 2000 9 999999999 200 0.1100 0 88 0.210 0.0 1.0 -2.943E7 12.8 10.0 83 100400 488 1409 339 176 165 119 19400 15800 13900 2710 270 8.8 8 8 16.0 1067 9 999999999 190 0.1100 0 88 0.210 0.0 1.0 -2.94336E7 12.2 6.8 70 100600 300 1409 333 110 62 97 12000 5200 10900 2310 270 9.3 9 8 16.0 1524 9 999999999 190 0.1100 0 88 0.210 0.0 1.0 -2.94372E7 11.1 8.9 86 100600 78 1163 337 33 22 32 3700 1300 3600 710 310 5.2 10 9 16.0 1433 9 999999999 180 0.1100 0 88 0.210 0.0 1.0 -2.94408E7 10.3 7.8 84 100700 0 0 341 0 0 0 0 0 0 0 270 6.2 10 10 11.2 1463 9 999999999 180 0.1100 0 88 0.210 0.0 1.0 -2.94444E7 10.6 8.3 86 100800 0 0 334 0 0 0 0 0 0 0 290 3.6 10 9 16.0 1494 9 999999999 170 0.1100 0 88 0.210 0.0 1.0 -2.9448E7 10.0 8.9 93 100900 0 0 332 0 0 0 0 0 0 0 0 0.0 10 9 16.0 1676 9 999999999 170 0.1100 0 88 0.210 2.0 1.0 -2.94516E7 10.0 7.8 86 100900 0 0 312 0 0 0 0 0 0 0 150 3.1 8 5 16.0 2000 9 999999999 160 0.1100 0 88 0.210 1.0 1.0 -2.94552E7 10.6 7.8 83 101000 0 0 326 0 0 0 0 0 0 0 0 0.0 9 8 16.0 1981 9 999999999 160 0.1100 0 88 0.210 1.0 1.0 -2.94588E7 8.9 6.3 84 101100 0 0 333 0 0 0 0 0 0 0 270 9.3 10 10 16.0 1219 9 999999999 150 0.1100 0 88 0.210 0.0 1.0 -2.94624E7 10.6 6.7 77 101100 0 0 332 0 0 0 0 0 0 0 280 3.6 10 9 16.0 1219 9 999999999 150 0.1100 0 88 0.210 0.0 1.0 -2.9466E7 11.1 6.1 71 101100 0 0 334 0 0 0 0 0 0 0 240 6.7 10 9 16.0 1067 9 999999999 150 0.1100 0 88 0.210 0.0 1.0 -2.94696E7 10.0 7.8 86 101200 0 0 331 0 0 0 0 0 0 0 0 0.0 10 9 16.0 2286 9 999999999 140 0.1100 0 88 0.210 0.0 1.0 -2.94732E7 10.6 6.1 74 101200 0 0 325 0 0 0 0 0 0 0 280 5.2 8 8 16.0 2286 9 999999999 140 0.1100 0 88 0.210 1.0 1.0 -2.94768E7 10.6 7.2 79 101300 0 0 333 0 0 0 0 0 0 0 0 0.0 9 9 16.0 1829 9 999999999 130 0.1100 0 88 0.210 0.0 1.0 -2.94804E7 10.6 5.6 71 101300 0 0 331 0 0 0 0 0 0 0 260 6.7 10 9 16.0 3048 9 999999999 130 0.1100 0 88 0.210 1.0 1.0 -2.9484E7 10.6 6.7 77 101400 0 0 332 0 0 0 0 0 0 0 340 5.2 10 9 16.0 1829 9 999999999 130 0.1100 0 88 0.210 0.0 1.0 -2.94876E7 9.4 6.7 83 101500 0 0 327 0 0 0 0 0 0 0 0 0.0 10 9 16.0 2438 9 999999999 130 0.1100 0 88 0.210 0.0 1.0 -2.94912E7 8.9 6.1 83 101600 68 1093 324 14 5 14 1600 300 1600 360 0 0.0 10 9 16.0 1219 9 999999999 130 0.1100 0 88 0.210 3.0 1.0 -2.94948E7 8.9 7.8 93 101700 288 1410 326 68 37 61 7500 3000 6900 1590 150 4.1 10 9 16.0 1372 9 999999999 130 0.1100 0 88 0.210 0.0 1.0 -2.94984E7 10.6 7.2 79 101700 478 1410 333 165 124 123 18100 11800 14100 2800 100 1.5 10 9 16.0 1067 9 999999999 130 0.1100 0 88 0.210 0.0 1.0 -2.9502E7 12.2 6.7 69 101700 613 1410 340 240 101 196 26300 9900 22000 5510 260 7.2 10 9 16.0 1829 9 999999999 120 0.1100 0 88 0.210 0.0 1.0 -2.95056E7 10.6 7.2 79 101800 684 1410 333 246 0 246 27400 0 27400 8820 330 5.7 10 9 16.0 1219 9 999999999 120 0.1100 0 88 0.210 0.0 1.0 -2.95092E7 10.0 7.2 83 101800 686 1410 330 362 149 289 38600 15100 31300 7150 280 3.1 10 9 16.0 1372 9 999999999 120 0.1100 0 88 0.210 0.0 1.0 -2.95128E7 11.7 6.1 68 101700 619 1410 337 301 152 234 32300 15100 25600 5610 270 6.2 10 9 16.0 7620 9 999999999 120 0.1100 0 88 0.210 0.0 1.0 -2.95164E7 11.7 6.1 68 101800 487 1410 318 238 211 165 25600 20000 18700 3770 260 8.2 6 5 16.0 7620 9 999999999 120 0.1100 0 88 0.210 0.0 1.0 -2.952E7 11.1 5.6 69 101900 300 1410 315 113 164 78 11900 12700 9200 1500 270 4.6 5 5 16.0 7620 9 999999999 120 0.1100 0 88 0.210 0.0 1.0 -2.95236E7 10.0 5.0 71 101900 78 1163 309 24 95 18 2700 4000 2400 310 270 5.7 5 5 16.0 2000 9 999999999 120 0.1100 0 88 0.210 0.0 1.0 -2.95272E7 10.0 6.1 77 102000 0 0 308 0 0 0 0 0 0 0 280 3.6 4 4 16.0 2000 9 999999999 120 0.1100 0 88 0.210 0.0 1.0 -2.95308E7 10.6 6.7 77 102000 0 0 314 0 0 0 0 0 0 0 310 4.1 5 5 16.0 2000 9 999999999 120 0.1100 0 88 0.210 0.0 1.0 -2.95344E7 10.0 6.7 80 102100 0 0 306 0 0 0 0 0 0 0 280 4.6 3 3 16.0 2000 9 999999999 120 0.1100 0 88 0.210 0.0 1.0 -2.9538E7 10.0 5.6 74 102200 0 0 305 0 0 0 0 0 0 0 290 6.7 3 3 16.0 2000 9 999999999 120 0.1100 0 88 0.210 0.0 1.0 -2.95416E7 9.4 6.1 80 102200 0 0 303 0 0 0 0 0 0 0 310 5.2 3 3 16.0 2000 9 999999999 110 0.1100 0 88 0.210 0.0 1.0 -2.95452E7 9.4 5.6 77 102300 0 0 303 0 0 0 0 0 0 0 320 5.2 3 3 16.0 2000 9 999999999 110 0.1100 0 88 0.210 0.0 1.0 -2.95488E7 8.9 6.1 83 102400 0 0 288 0 0 0 0 0 0 0 330 6.2 0 0 16.0 2000 9 999999999 110 0.1100 0 88 0.210 0.0 1.0 -2.95524E7 8.3 5.6 83 102500 0 0 286 0 0 0 0 0 0 0 300 3.1 0 0 16.0 2000 9 999999999 110 0.1100 0 88 0.210 0.0 1.0 -2.9556E7 8.3 5.0 80 102500 0 0 285 0 0 0 0 0 0 0 300 4.1 0 0 16.0 2000 9 999999999 110 0.1100 0 88 0.210 0.0 1.0 -2.95596E7 7.2 5.0 86 102600 0 0 280 0 0 0 0 0 0 0 280 2.6 0 0 16.0 2000 9 999999999 110 0.1100 0 88 0.210 0.0 1.0 -2.95632E7 7.8 5.0 82 102600 0 0 283 0 0 0 0 0 0 0 300 3.1 0 0 16.0 2000 9 999999999 110 0.1100 0 88 0.210 0.0 1.0 -2.95668E7 7.2 4.4 82 102700 0 0 280 0 0 0 0 0 0 0 240 1.5 0 0 16.0 2000 9 999999999 110 0.1100 0 88 0.210 0.0 1.0 -2.95704E7 5.0 3.9 93 102800 0 0 271 0 0 0 0 0 0 0 200 2.6 0 0 16.0 2000 9 999999999 110 0.1100 0 88 0.210 0.0 1.0 -2.9574E7 5.6 4.4 92 102800 0 0 285 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 100 0.1100 0 88 0.210 0.0 1.0 -2.95776E7 6.7 5.0 89 103000 66 1069 291 20 103 13 2200 4200 1900 220 270 2.1 3 3 16.0 2000 9 999999999 100 0.1100 0 88 0.210 0.0 1.0 -2.95812E7 8.9 5.6 80 103000 285 1410 288 148 497 47 15300 38400 7500 860 320 1.5 0 0 16.0 2000 9 999999999 100 0.1100 0 88 0.210 0.0 1.0 -2.95848E7 10.0 6.1 77 103100 475 1410 306 283 498 115 29600 45700 14200 2190 360 2.6 3 3 16.0 2000 9 999999999 100 0.1100 0 88 0.210 0.0 1.0 -2.95884E7 10.6 5.0 68 103100 611 1410 307 415 712 107 43400 68500 13600 2140 340 3.6 3 3 16.0 2000 9 999999999 100 0.1100 0 88 0.210 0.0 1.0 -2.9592E7 11.7 2.8 54 103100 682 1410 306 450 711 106 47500 70000 13500 2250 340 6.2 2 2 16.0 2000 9 999999999 100 0.1100 0 88 0.210 0.0 1.0 -2.95956E7 12.2 4.4 59 103000 685 1410 306 443 702 103 47000 69200 13200 2200 330 4.1 1 1 16.0 2000 9 999999999 100 0.1100 0 88 0.210 0.0 1.0 -2.95992E7 12.8 4.4 57 102900 618 1410 303 420 774 81 43700 74400 11000 1630 360 4.6 0 0 16.0 2000 9 999999999 100 0.1100 0 88 0.210 0.0 1.0 -2.96028E7 13.3 5.6 60 102900 486 1410 306 307 693 68 31600 63600 9500 1300 350 4.1 0 0 16.0 2000 9 999999999 90 0.1100 0 88 0.210 0.0 1.0 -2.96064E7 13.3 5.6 60 103000 299 1410 306 159 517 49 16500 40800 7800 900 350 3.6 0 0 16.0 2000 9 999999999 90 0.1100 0 88 0.210 0.0 1.0 -2.961E7 12.2 3.3 54 103000 78 1163 299 26 143 16 2700 7000 2200 300 310 2.6 0 0 16.0 2000 9 999999999 90 0.1100 0 88 0.210 0.0 1.0 -2.96136E7 10.6 5.6 71 103100 0 0 295 0 0 0 0 0 0 0 240 2.6 0 0 16.0 2000 9 999999999 90 0.1100 0 88 0.210 0.0 1.0 -2.96172E7 10.0 5.0 71 103100 0 0 292 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 90 0.1100 0 88 0.210 0.0 1.0 -2.96208E7 10.0 6.1 77 103100 0 0 293 0 0 0 0 0 0 0 190 1.5 0 0 16.0 2000 9 999999999 90 0.1100 0 88 0.210 0.0 1.0 -2.96244E7 8.9 6.1 83 103100 0 0 288 0 0 0 0 0 0 0 170 2.1 0 0 16.0 2000 9 999999999 90 0.1100 0 88 0.210 0.0 1.0 -2.9628E7 8.3 6.1 86 103200 0 0 286 0 0 0 0 0 0 0 150 2.1 0 0 16.0 2000 9 999999999 90 0.1100 0 88 0.210 0.0 1.0 -2.96316E7 9.4 5.6 77 103200 0 0 290 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96352E7 8.9 4.4 73 103200 0 0 287 0 0 0 0 0 0 0 250 2.6 0 0 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96388E7 7.8 3.9 76 103200 0 0 282 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96424E7 8.9 3.3 68 103200 0 0 286 0 0 0 0 0 0 0 130 2.1 0 0 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.9646E7 6.7 3.3 79 103200 0 0 282 0 0 0 0 0 0 0 240 1.5 1 1 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96496E7 5.6 3.9 89 103200 0 0 273 0 0 0 0 0 0 0 180 1.5 1 0 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96532E7 6.1 4.4 89 103200 0 0 276 0 0 0 0 0 0 0 160 2.1 0 0 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96568E7 6.1 4.4 89 103300 0 0 281 0 0 0 0 0 0 0 140 3.1 1 1 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96604E7 6.7 2.8 76 103300 0 0 286 0 0 0 0 0 0 0 130 4.1 3 2 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.9664E7 7.8 3.3 73 103300 63 1046 287 22 181 11 2400 9900 1700 240 120 3.1 1 1 16.0 6096 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96676E7 9.4 3.9 68 103400 282 1411 298 154 507 53 15800 38700 8100 950 120 5.2 2 2 16.0 6096 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96712E7 10.6 3.9 63 103400 472 1411 299 264 584 68 27800 53600 9700 1330 100 4.1 1 1 16.0 6096 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96748E7 11.1 4.4 63 103400 608 1411 296 426 841 63 44800 80500 9900 1360 90 3.1 0 0 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96784E7 12.2 3.3 54 103300 680 1411 299 489 872 69 51400 84600 10400 1500 0 0.0 0 0 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.9682E7 13.3 3.9 53 103200 683 1411 305 492 874 69 51700 84800 10400 1500 50 1.5 0 0 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96856E7 13.9 5.6 57 103100 617 1411 309 419 814 63 44100 78100 9800 1370 50 1.5 0 0 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96892E7 13.9 4.4 53 103100 486 1411 308 320 774 53 33800 71900 8900 1130 50 3.1 0 0 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96928E7 13.3 4.4 55 103200 299 1411 305 170 615 39 17500 49900 6800 770 100 2.6 0 0 16.0 6096 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.96964E7 13.3 7.2 67 103200 78 1164 308 30 223 14 3100 12500 2200 290 60 4.6 0 0 16.0 6096 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.97E7 12.2 4.4 59 103200 0 0 300 0 0 0 0 0 0 0 130 3.6 1 0 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.97036E7 10.6 5.0 68 103300 0 0 300 0 0 0 0 0 0 0 130 2.1 2 1 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.97072E7 10.6 4.4 65 103300 0 0 299 0 0 0 0 0 0 0 130 3.6 1 1 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.97108E7 10.6 3.3 61 103300 0 0 298 0 0 0 0 0 0 0 140 3.1 1 1 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.97144E7 10.6 2.8 58 103300 0 0 298 0 0 0 0 0 0 0 140 2.6 1 1 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.9718E7 10.6 3.3 61 103300 0 0 293 0 0 0 0 0 0 0 120 3.1 0 0 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.97216E7 11.7 2.8 54 103300 0 0 297 0 0 0 0 0 0 0 100 2.6 0 0 16.0 2000 9 999999999 80 0.1100 0 88 0.210 0.0 1.0 -2.97252E7 11.7 6.7 71 103300 0 0 301 0 0 0 0 0 0 0 60 3.1 0 0 16.0 2000 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.97288E7 11.7 5.0 63 103200 0 0 299 0 0 0 0 0 0 0 60 3.6 0 0 16.0 2000 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.97324E7 11.7 5.0 63 103200 0 0 299 0 0 0 0 0 0 0 40 6.7 0 0 16.0 2000 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.9736E7 11.1 4.4 63 103200 0 0 296 0 0 0 0 0 0 0 90 4.1 0 0 16.0 2000 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.97396E7 9.4 2.8 63 103100 0 0 287 0 0 0 0 0 0 0 130 4.1 0 0 16.0 2000 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.97432E7 8.9 3.9 71 103100 0 0 286 0 0 0 0 0 0 0 120 4.1 0 0 16.0 2000 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.97468E7 9.4 2.8 63 103100 0 0 287 0 0 0 0 0 0 0 150 2.1 0 0 16.0 2000 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.97504E7 9.4 3.3 66 103200 61 1023 288 18 94 12 2000 3700 1800 200 140 3.1 0 0 16.0 6096 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.9754E7 11.1 2.8 57 103200 279 1411 294 143 496 45 14800 38000 7300 830 130 4.6 0 0 16.0 6096 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.97576E7 12.2 2.8 53 103200 469 1411 299 295 696 64 30500 63500 9300 1240 100 4.6 0 0 16.0 2000 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.97612E7 13.3 2.2 47 103100 606 1411 303 412 781 77 43000 74900 10700 1570 120 3.6 0 0 16.0 2000 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.97648E7 13.9 2.2 45 103100 678 1411 305 476 816 84 49900 79600 11500 1770 110 4.1 0 0 16.0 2000 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.97684E7 14.4 3.9 49 103000 682 1411 309 479 817 84 50200 79800 11500 1780 90 4.1 0 0 16.0 2000 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.9772E7 14.4 4.4 51 102900 616 1411 310 421 786 78 44000 75600 10800 1600 100 4.1 0 0 16.0 2000 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.97756E7 15.6 2.8 42 103000 486 1411 313 308 706 65 31800 64900 9400 1270 110 3.1 0 0 16.0 2000 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.97792E7 13.9 3.3 49 103100 300 1411 306 161 532 47 16700 42000 7700 870 60 2.1 0 0 16.0 2000 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.97828E7 13.3 3.9 53 103100 79 1164 310 27 119 19 2900 5000 2600 330 100 3.1 2 1 16.0 6096 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.97864E7 12.8 3.9 55 103200 0 0 308 0 0 0 0 0 0 0 120 2.6 3 1 16.0 6096 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.979E7 11.7 8.3 80 103200 0 0 312 0 0 0 0 0 0 0 110 3.1 4 2 16.0 2000 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.97936E7 11.7 4.4 61 103300 0 0 308 0 0 0 0 0 0 0 0 0.0 4 2 16.0 2000 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.97972E7 10.0 4.4 68 103300 0 0 301 0 0 0 0 0 0 0 190 2.1 6 2 16.0 2000 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.98008E7 9.4 6.1 80 103300 0 0 303 0 0 0 0 0 0 0 0 0.0 6 3 16.0 2000 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.98044E7 10.0 4.4 68 103200 0 0 301 0 0 0 0 0 0 0 0 0.0 4 2 16.0 2000 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.9808E7 8.9 4.4 73 103300 0 0 296 0 0 0 0 0 0 0 0 0.0 4 2 16.0 2000 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.98116E7 7.2 4.4 82 103200 0 0 285 0 0 0 0 0 0 0 170 1.5 2 1 16.0 2000 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.98152E7 7.2 5.6 90 103200 0 0 281 0 0 0 0 0 0 0 130 2.1 0 0 16.0 2000 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.98188E7 7.2 6.1 93 103200 0 0 287 0 0 0 0 0 0 0 120 3.6 2 1 16.0 2000 9 999999999 110 0.1090 0 88 0.210 0.0 1.0 -2.98224E7 7.2 5.0 86 103200 0 0 293 0 0 0 0 0 0 0 170 1.5 6 3 16.0 2000 9 999999999 110 0.1090 0 88 0.210 0.0 1.0 -2.9826E7 5.6 4.4 92 103300 0 0 283 0 0 0 0 0 0 0 220 1.5 5 2 16.0 2000 9 999999999 110 0.1090 0 88 0.210 0.0 1.0 -2.98296E7 5.6 5.0 96 103300 0 0 293 0 0 0 0 0 0 0 180 2.1 7 6 16.0 2000 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.98332E7 6.1 5.6 97 103200 0 0 286 0 0 0 0 0 0 0 150 2.6 4 2 16.0 6096 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.98368E7 7.2 5.6 90 103200 59 1023 290 15 25 14 1800 1100 1700 290 90 2.1 4 2 16.0 6096 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.98404E7 8.3 5.6 83 103300 276 1411 295 117 273 64 12200 20300 8300 1160 60 3.6 3 2 12.8 6096 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.9844E7 8.3 6.1 86 103300 467 1411 295 213 360 94 22700 32900 11800 1750 80 1.5 4 2 12.8 6096 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.98476E7 8.9 6.1 83 103200 604 1411 301 368 375 208 38700 37600 22600 4660 130 2.6 7 3 12.8 6096 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.98512E7 9.4 5.6 77 103100 677 1411 305 411 470 185 42800 46700 20300 3900 160 1.5 8 4 12.8 4267 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.98548E7 10.0 5.6 74 103000 681 1411 308 454 539 194 47200 53500 21200 4120 0 0.0 8 4 12.8 6096 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.98584E7 11.1 6.7 74 103000 615 1411 311 345 443 151 36200 43300 17200 3040 0 0.0 5 3 12.8 6096 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.9862E7 11.1 6.1 71 103000 486 1411 303 267 498 95 27400 45300 11800 1770 0 0.0 2 1 12.8 4267 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.98656E7 11.1 6.7 74 103000 300 1411 304 135 335 64 14300 25900 8700 1160 0 0.0 2 1 12.8 4267 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.98692E7 10.6 6.7 77 103000 79 1164 302 22 46 19 2400 1700 2300 330 100 1.5 1 1 11.2 4267 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.98728E7 10.0 7.2 83 103000 0 0 294 0 0 0 0 0 0 0 60 3.6 0 0 14.4 7620 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.98764E7 10.0 7.2 83 103000 0 0 294 0 0 0 0 0 0 0 60 4.6 0 0 14.4 2000 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.988E7 10.0 6.7 80 102900 0 0 294 0 0 0 0 0 0 0 70 4.6 0 0 14.4 2000 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.98836E7 7.8 6.7 93 102900 0 0 297 0 0 0 0 0 0 0 160 3.1 6 3 14.4 5486 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.98872E7 7.8 5.6 86 102800 0 0 296 0 0 0 0 0 0 0 120 2.1 8 3 14.4 5486 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.98908E7 6.7 4.4 85 102800 0 0 292 0 0 0 0 0 0 0 150 2.1 9 4 14.4 4572 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.98944E7 7.8 4.4 79 102600 0 0 297 0 0 0 0 0 0 0 130 2.6 9 4 16.0 5486 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.9898E7 7.8 4.4 79 102600 0 0 297 0 0 0 0 0 0 0 150 2.6 9 4 16.0 5486 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.99016E7 7.2 4.4 82 102500 0 0 294 0 0 0 0 0 0 0 130 2.6 9 4 16.0 4572 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.99052E7 7.2 3.3 76 102500 0 0 293 0 0 0 0 0 0 0 190 2.1 9 4 16.0 4572 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.99088E7 7.2 3.9 80 102400 0 0 294 0 0 0 0 0 0 0 0 0.0 10 4 16.0 4572 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.99124E7 7.2 3.3 76 102400 0 0 293 0 0 0 0 0 0 0 190 1.5 9 4 16.0 4572 9 999999999 80 0.1090 0 88 0.210 0.0 1.0 -2.9916E7 6.7 4.4 85 102300 0 0 292 0 0 0 0 0 0 0 0 0.0 9 4 16.0 4572 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.99196E7 6.7 5.0 89 102400 0 0 293 0 0 0 0 0 0 0 170 1.5 9 4 16.0 5486 9 999999999 90 0.1090 0 88 0.210 0.0 1.0 -2.99232E7 7.2 4.4 82 102400 57 1000 294 15 7 14 1600 400 1600 350 150 1.5 9 4 16.0 6096 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.99268E7 8.9 3.9 71 102400 273 1412 301 118 115 96 12600 8800 10900 2060 70 4.6 8 4 14.4 6096 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.99304E7 8.9 3.9 71 102500 464 1412 301 243 373 121 25300 33900 14100 2320 70 4.1 8 4 16.0 6096 9 999999999 100 0.1090 0 88 0.210 0.0 1.0 -2.9934E7 8.9 3.3 68 102400 601 1412 300 342 317 207 36000 31700 22400 4630 40 3.6 9 4 16.0 6096 9 999999999 110 0.1090 0 88 0.210 0.0 1.0 -2.99376E7 8.9 5.6 80 102300 675 1412 303 406 436 197 42000 43200 21200 4180 70 2.6 10 4 16.0 5486 9 999999999 110 0.1090 0 88 0.210 0.0 1.0 -2.99412E7 9.4 5.0 74 102200 680 1412 304 392 323 236 41300 33200 25300 5480 120 2.6 10 4 16.0 5486 9 999999999 120 0.1090 0 88 0.210 0.0 1.0 -2.99448E7 9.4 4.4 71 102100 615 1412 304 372 482 162 38800 47000 18300 3290 60 3.1 9 4 14.4 5486 9 999999999 120 0.1090 0 88 0.210 0.0 1.0 -2.99484E7 9.4 4.4 71 102100 486 1412 333 103 0 103 11800 0 11800 4060 50 2.1 10 10 12.8 5486 9 999999999 120 0.1090 0 88 0.210 0.0 1.0 -2.9952E7 10.0 5.6 74 102100 301 1412 321 92 88 73 10100 7100 8500 1580 50 2.6 10 8 12.8 5486 9 999999999 130 0.1090 0 88 0.210 0.0 1.0 -2.99556E7 10.0 5.6 74 102000 80 1188 313 22 21 20 2400 1000 2300 410 80 4.6 10 6 12.8 7620 9 999999999 130 0.1090 0 88 0.210 0.0 1.0 -2.99592E7 9.4 5.0 74 102000 0 0 325 0 0 0 0 0 0 0 0 0.0 10 9 16.0 7620 9 999999999 140 0.1090 0 88 0.210 0.0 1.0 -2.99628E7 8.9 5.6 80 102000 0 0 305 0 0 0 0 0 0 0 0 0.0 9 5 16.0 7620 9 999999999 140 0.1090 0 88 0.210 0.0 1.0 -2.99664E7 10.0 7.2 83 101900 0 0 314 0 0 0 0 0 0 0 50 3.1 8 6 14.4 6096 9 999999999 140 0.1090 0 88 0.210 0.0 1.0 -2.997E7 9.4 6.1 80 101900 0 0 314 0 0 0 0 0 0 0 120 2.6 8 7 16.0 6096 9 999999999 150 0.1090 0 88 0.210 0.0 1.0 -2.99736E7 11.1 6.7 74 101900 0 0 335 0 0 0 0 0 0 0 170 1.5 10 9 16.0 1372 9 999999999 150 0.1090 0 88 0.210 0.0 1.0 -2.99772E7 12.7 11.3 91 101900 0 0 357 0 0 0 0 0 0 0 210 8.2 10 10 16.0 1219 9 999999999 160 0.1090 0 88 0.210 0.0 1.0 -2.99808E7 11.7 11.7 100 101900 0 0 353 0 0 0 0 0 0 0 110 3.6 10 10 12.8 1219 9 999999999 160 0.1090 0 88 0.210 1.0 1.0 -2.99844E7 11.7 11.7 100 101900 0 0 353 0 0 0 0 0 0 0 110 6.7 10 10 8.0 1067 9 999999999 170 0.1090 0 88 0.210 3.0 1.0 -2.9988E7 11.1 11.1 100 101900 0 0 349 0 0 0 0 0 0 0 120 4.6 10 10 12.8 1067 9 999999999 170 0.1090 0 88 0.210 3.0 1.0 -2.99916E7 11.1 11.1 100 101800 0 0 349 0 0 0 0 0 0 0 90 4.6 10 10 14.4 762 9 999999999 170 0.1090 0 88 0.210 1.0 1.0 -2.99952E7 10.6 10.6 100 101800 0 0 346 0 0 0 0 0 0 0 120 6.2 10 10 14.4 305 9 999999999 180 0.1090 0 88 0.210 1.0 1.0 -2.99988E7 10.6 10.6 100 101800 0 0 346 0 0 0 0 0 0 0 140 5.7 10 10 16.0 610 9 999999999 180 0.1090 0 88 0.210 2.0 1.0 -3.00024E7 11.1 11.1 100 101800 0 0 349 0 0 0 0 0 0 0 120 3.6 10 10 16.0 610 9 999999999 170 0.1090 0 88 0.210 1.0 1.0 -3.0006E7 11.1 11.1 100 101900 0 0 349 0 0 0 0 0 0 0 120 4.6 10 10 16.0 610 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.00096E7 11.1 11.1 100 101900 55 977 349 8 0 8 1000 0 1000 310 110 4.6 10 10 16.0 610 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.00132E7 11.1 11.1 100 101900 270 1412 349 42 0 42 4900 0 4900 1610 120 4.6 10 10 16.0 610 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.00168E7 11.7 11.7 100 101900 462 1412 353 85 0 85 9800 0 9800 3430 120 3.6 10 10 16.0 671 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.00204E7 12.2 11.7 97 101900 600 1412 355 119 0 119 13800 0 13800 5000 100 4.6 10 10 16.0 671 9 999999999 160 0.1090 0 88 0.210 0.0 1.0 -3.0024E7 12.2 11.7 97 101900 674 1412 346 264 34 248 29400 3100 27900 8740 160 2.6 9 9 4.8 457 9 999999999 160 0.1090 0 88 0.210 4.0 1.0 -3.00276E7 13.9 12.2 89 101800 679 1412 354 267 61 237 29200 6100 26300 6750 120 2.6 9 9 16.0 671 9 999999999 160 0.1090 0 88 0.210 0.0 1.0 -3.00312E7 15.0 12.8 87 101800 615 1412 361 301 56 276 32800 5600 30400 6980 240 4.6 9 9 16.0 1189 9 999999999 160 0.1090 0 88 0.210 0.0 1.0 -3.00348E7 14.4 11.7 84 101900 486 1412 356 141 18 135 15800 1200 15400 4910 250 6.2 9 9 16.0 1676 9 999999999 160 0.1090 0 88 0.210 0.0 1.0 -3.00384E7 13.9 10.0 77 102000 301 1412 332 117 176 79 12300 13700 9400 1520 270 6.7 5 5 16.0 2000 9 999999999 150 0.1090 0 88 0.210 0.0 1.0 -3.0042E7 13.3 9.4 77 102000 81 1188 326 26 125 17 2800 5300 2400 290 260 3.1 4 4 16.0 2000 9 999999999 150 0.1090 0 88 0.210 0.0 1.0 -3.00456E7 12.8 10.0 83 102100 0 0 339 0 0 0 0 0 0 0 280 4.6 8 8 16.0 1829 9 999999999 150 0.1090 0 88 0.210 0.0 1.0 -3.00492E7 12.2 8.9 80 102200 0 0 321 0 0 0 0 0 0 0 300 3.6 4 4 16.0 2000 9 999999999 150 0.1090 0 88 0.210 0.0 1.0 -3.00528E7 11.1 8.9 86 102200 0 0 316 0 0 0 0 0 0 0 280 2.1 4 4 16.0 2000 9 999999999 150 0.1090 0 88 0.210 0.0 1.0 -3.00564E7 11.1 8.3 83 102300 0 0 315 0 0 0 0 0 0 0 270 1.5 4 4 16.0 2000 9 999999999 140 0.1090 0 88 0.210 0.0 1.0 -3.006E7 9.4 8.3 93 102400 0 0 305 0 0 0 0 0 0 0 210 1.5 3 3 16.0 2000 9 999999999 140 0.1090 0 88 0.210 0.0 1.0 -3.00636E7 10.0 8.3 89 102400 0 0 308 0 0 0 0 0 0 0 230 1.5 3 3 16.0 2000 9 999999999 140 0.1090 0 88 0.210 0.0 1.0 -3.00672E7 8.3 7.8 97 102400 0 0 302 0 0 0 0 0 0 0 200 2.1 4 4 16.0 2000 9 999999999 140 0.1090 0 88 0.210 0.0 1.0 -3.00708E7 8.3 7.2 93 102400 0 0 299 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 140 0.1090 0 88 0.210 0.0 1.0 -3.00744E7 7.2 7.2 100 102400 0 0 283 0 0 0 0 0 0 0 190 1.5 0 0 16.0 2000 9 999999999 130 0.1090 0 88 0.210 0.0 1.0 -3.0078E7 6.7 6.7 100 102400 0 0 280 0 0 0 0 0 0 0 230 2.1 0 0 16.0 2000 9 999999999 130 0.1090 0 88 0.210 0.0 1.0 -3.00816E7 5.6 5.6 100 102400 0 0 275 0 0 0 0 0 0 0 210 1.5 0 0 16.0 2000 9 999999999 130 0.1090 0 88 0.210 0.0 1.0 -3.00852E7 7.2 6.1 93 102400 0 0 294 0 0 0 0 0 0 0 250 1.5 6 3 16.0 7620 9 999999999 130 0.1090 0 88 0.210 0.0 1.0 -3.00888E7 6.7 6.1 96 102400 0 0 280 0 0 0 0 0 0 0 180 2.1 0 0 16.0 2000 9 999999999 130 0.1090 0 88 0.210 0.0 1.0 -3.00924E7 6.7 6.1 96 102500 0 0 292 0 0 0 0 0 0 0 200 2.1 3 3 16.0 2000 9 999999999 130 0.1090 0 88 0.210 0.0 1.0 -3.0096E7 7.2 6.7 97 102500 53 953 294 19 131 11 2000 6000 1600 210 340 1.5 3 3 16.0 2000 9 999999999 140 0.1090 0 88 0.210 0.0 1.0 -3.00996E7 7.8 7.2 96 102500 267 1412 297 145 516 47 14900 38700 7500 850 0 0.0 3 3 16.0 2000 9 999999999 140 0.1090 0 88 0.210 0.0 1.0 -3.01032E7 10.0 8.3 89 102600 459 1412 308 266 652 53 27800 59700 8300 1100 0 0.0 3 3 16.0 2000 9 999999999 140 0.1090 0 88 0.210 0.0 1.0 -3.01068E7 10.6 9.4 92 102500 598 1412 312 321 458 127 34200 44600 15300 2500 10 2.1 4 3 12.8 7620 9 999999999 140 0.1090 0 88 0.210 0.0 1.0 -3.01104E7 10.0 9.4 96 102500 672 1412 309 460 765 95 47400 74100 12000 1880 40 2.6 4 3 9.6 7620 9 999999999 140 0.1090 0 88 0.210 0.0 1.0 -3.0114E7 10.6 9.4 92 102400 678 1412 312 423 566 151 45100 56400 17900 3110 40 2.6 3 3 14.4 2000 9 999999999 140 0.1090 0 88 0.210 0.0 1.0 -3.01176E7 11.1 8.3 83 102400 615 1412 313 391 610 125 40300 58200 14900 2430 0 0.0 3 3 16.0 2000 9 999999999 150 0.1090 0 88 0.210 0.0 1.0 -3.01212E7 11.1 8.3 83 102400 486 1412 313 296 571 100 30400 51800 12500 1840 60 1.5 3 3 16.0 2000 9 999999999 150 0.1090 0 88 0.210 0.0 1.0 -3.01248E7 11.7 5.6 66 102400 302 1412 320 126 202 83 13300 15700 9900 1610 0 0.0 6 6 16.0 7620 9 999999999 150 0.1090 0 88 0.210 0.0 1.0 -3.01284E7 11.7 6.1 68 102500 82 1189 337 22 48 19 2400 1800 2300 330 290 2.6 9 9 16.0 9144 9 999999999 150 0.1090 0 88 0.210 0.0 1.0 -3.0132E7 11.7 5.6 66 102400 0 0 336 0 0 0 0 0 0 0 310 1.5 9 9 16.0 7620 9 999999999 150 0.1090 0 88 0.210 0.0 1.0 -3.01356E7 11.1 5.6 69 102500 0 0 333 0 0 0 0 0 0 0 0 0.0 9 9 16.0 7620 9 999999999 160 0.1090 0 88 0.210 0.0 1.0 -3.01392E7 10.0 6.1 77 102500 0 0 322 0 0 0 0 0 0 0 140 2.1 8 8 16.0 5182 9 999999999 160 0.1090 0 88 0.210 0.0 1.0 -3.01428E7 8.9 6.7 86 102500 0 0 304 0 0 0 0 0 0 0 150 2.1 6 4 16.0 6096 9 999999999 160 0.1090 0 88 0.210 0.0 1.0 -3.01464E7 10.0 6.7 80 102500 0 0 309 0 0 0 0 0 0 0 0 0.0 5 4 16.0 9144 9 999999999 160 0.1090 0 88 0.210 0.0 1.0 -3.015E7 10.0 7.2 83 102500 0 0 307 0 0 0 0 0 0 0 30 4.1 5 3 16.0 5182 9 999999999 160 0.1090 0 88 0.210 0.0 1.0 -3.01536E7 10.0 8.3 89 102500 0 0 308 0 0 0 0 0 0 0 70 2.6 4 3 16.0 7620 9 999999999 160 0.1090 0 88 0.210 0.0 1.0 -3.01572E7 8.9 7.2 89 102500 0 0 299 0 0 0 0 0 0 0 150 1.5 3 2 16.0 5182 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.01608E7 9.4 7.2 86 102500 0 0 301 0 0 0 0 0 0 0 0 0.0 3 2 16.0 5182 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.01644E7 8.3 7.8 97 102500 0 0 293 0 0 0 0 0 0 0 0 0.0 2 1 16.0 5182 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.0168E7 7.8 7.2 96 102500 0 0 290 0 0 0 0 0 0 0 150 1.5 1 1 16.0 5182 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.01716E7 8.3 7.8 97 102400 0 0 288 0 0 0 0 0 0 0 140 2.1 0 0 16.0 5182 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.01752E7 8.3 7.2 93 102500 0 0 302 0 0 0 0 0 0 0 120 2.1 4 4 16.0 5182 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.01788E7 7.8 7.2 96 102500 0 0 294 0 0 0 0 0 0 0 170 1.5 2 2 16.0 2000 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.01824E7 8.3 6.7 90 102500 51 953 301 15 96 10 1700 4400 1400 190 160 2.1 4 4 16.0 7620 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.0186E7 8.9 7.2 89 102600 265 1412 325 47 19 43 5100 1500 4800 1150 130 2.1 10 9 14.4 7620 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.01896E7 10.0 7.8 86 102600 457 1412 319 262 220 190 27800 20300 21200 4300 90 2.6 9 7 14.4 7620 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.01932E7 10.6 8.3 86 102600 596 1412 315 304 367 149 31900 35600 16800 2980 90 2.1 8 5 12.8 7620 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.01968E7 10.0 7.8 86 102500 671 1412 307 321 259 198 34300 26600 21600 4410 60 1.5 7 3 12.8 7620 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.02004E7 10.6 8.9 89 102400 677 1412 314 317 352 148 33800 35100 16900 3040 40 2.1 8 4 12.8 7620 9 999999999 170 0.1090 0 88 0.210 0.0 1.0 -3.0204E7 11.1 8.9 86 102400 615 1412 310 384 591 127 39600 56400 15000 2460 0 0.0 5 2 12.8 7620 9 999999999 180 0.1090 0 88 0.210 0.0 1.0 -3.02076E7 11.7 8.9 83 102400 487 1412 309 294 630 77 30800 58000 10700 1490 360 2.6 2 1 12.8 7620 9 999999999 180 0.1090 0 88 0.210 0.0 1.0 -3.02112E7 11.7 9.4 86 102300 303 1412 317 152 445 56 15600 35000 8000 1010 20 1.5 4 3 12.8 7620 9 999999999 180 0.1090 0 88 0.210 0.0 1.0 -3.02148E7 11.1 9.4 89 102400 83 1212 319 26 80 20 2800 3100 2600 350 40 1.5 6 5 11.2 7620 9 999999999 180 0.1090 0 88 0.210 0.0 1.0 -3.02184E7 11.1 10.0 93 102400 0 0 326 0 0 0 0 0 0 0 0 0.0 8 7 12.8 4572 9 999999999 180 0.1090 0 88 0.210 0.0 1.0 -3.0222E7 11.1 8.9 86 102400 0 0 337 0 0 0 0 0 0 0 0 0.0 10 9 14.4 1981 9 999999999 180 0.1090 0 88 0.210 0.0 1.0 -3.02256E7 11.1 10.0 93 102400 0 0 338 0 0 0 0 0 0 0 50 1.5 10 9 11.2 1829 9 999999999 180 0.1090 0 88 0.210 0.0 1.0 -3.02292E7 10.6 8.9 89 102300 0 0 335 0 0 0 0 0 0 0 150 1.5 10 9 11.2 1097 9 999999999 180 0.1090 0 88 0.210 0.0 1.0 -3.02328E7 10.6 8.9 89 102300 0 0 335 0 0 0 0 0 0 0 0 0.0 10 9 12.8 5182 9 999999999 180 0.1090 0 88 0.210 0.0 1.0 -3.02364E7 10.6 8.9 89 102300 0 0 335 0 0 0 0 0 0 0 0 0.0 10 9 12.8 5182 9 999999999 180 0.1090 0 88 0.210 0.0 1.0 -3.024E7 10.6 9.4 92 102200 0 0 345 0 0 0 0 0 0 0 0 0.0 10 10 12.8 640 9 999999999 180 0.1090 0 88 0.210 0.0 1.0 -3.02436E7 10.6 8.9 89 102200 0 0 344 0 0 0 0 0 0 0 130 1.5 10 10 12.8 579 9 999999999 180 0.1080 0 88 0.210 0.0 1.0 -3.02472E7 11.1 9.4 89 102200 0 0 347 0 0 0 0 0 0 0 0 0.0 10 10 11.2 762 9 999999999 180 0.1080 0 88 0.210 0.0 1.0 -3.02508E7 11.1 9.4 89 102200 0 0 338 0 0 0 0 0 0 0 0 0.0 10 9 16.0 792 9 999999999 180 0.1080 0 88 0.210 0.0 1.0 -3.02544E7 11.1 9.4 89 102100 0 0 347 0 0 0 0 0 0 0 0 0.0 10 10 11.2 701 9 999999999 180 0.1080 0 88 0.210 0.0 1.0 -3.0258E7 11.1 10.0 93 102100 0 0 348 0 0 0 0 0 0 0 90 1.5 10 10 9.6 853 9 999999999 180 0.1080 0 88 0.210 0.0 1.0 -3.02616E7 10.6 9.4 92 102100 0 0 328 0 0 0 0 0 0 0 0 0.0 9 8 11.2 1067 9 999999999 180 0.1080 0 88 0.210 0.0 1.0 -3.02652E7 10.6 9.4 92 102100 0 0 317 0 0 0 0 0 0 0 0 0.0 8 5 11.2 4572 9 999999999 180 0.1080 0 88 0.210 0.0 1.0 -3.02688E7 10.6 9.4 92 102100 50 930 335 14 8 13 1500 400 1500 330 80 1.5 10 9 8.0 1981 9 999999999 180 0.1080 0 88 0.210 0.0 1.0 -3.02724E7 10.6 9.4 92 102100 263 1413 345 45 0 45 5200 0 5200 1690 130 1.5 10 10 8.0 640 9 999999999 180 0.1080 0 88 0.210 0.0 1.0 -3.0276E7 11.1 10.0 93 102100 455 1413 348 166 18 160 18200 1300 17800 5190 30 1.5 10 10 8.0 1981 9 999999999 180 0.1080 0 88 0.210 0.0 1.0 -3.02796E7 11.7 9.4 86 102100 595 1413 340 180 45 161 19800 4400 17900 4650 50 1.5 10 9 11.2 1829 9 999999999 180 0.1080 0 88 0.210 0.0 1.0 -3.02832E7 11.7 9.4 86 101900 670 1413 340 282 126 222 30600 12800 24500 5440 60 1.5 10 9 12.8 1128 9 999999999 180 0.1080 0 88 0.210 0.0 1.0 -3.02868E7 12.2 10.0 86 101800 677 1413 353 147 0 147 17000 0 17000 6230 0 0.0 10 10 9.6 1524 9 999999999 170 0.1080 0 88 0.210 0.0 1.0 -3.02904E7 12.2 10.6 90 101700 615 1413 354 131 0 131 15100 0 15100 5440 360 2.6 10 10 8.0 853 9 999999999 170 0.1080 0 88 0.210 0.0 1.0 -3.0294E7 11.7 10.6 93 101700 487 1413 352 82 0 82 9600 0 9600 3400 350 2.1 10 10 2.8 396 9 999999999 170 0.1080 0 88 0.210 0.0 1.0 -3.02976E7 11.1 11.1 100 101700 304 1413 349 55 0 55 6300 0 6300 2080 360 4.6 10 10 1.6 488 9 999999999 170 0.1080 0 88 0.210 2.0 1.0 -3.03012E7 10.0 10.0 100 101700 84 1213 343 12 0 12 1400 0 1400 450 10 8.8 10 10 3.2 427 9 999999999 170 0.1080 0 88 0.210 2.0 1.0 -3.03048E7 10.0 9.4 96 101600 0 0 342 0 0 0 0 0 0 0 340 3.1 10 10 16.0 274 9 999999999 170 0.1080 0 88 0.210 0.0 1.0 -3.03084E7 10.6 8.9 89 101600 0 0 344 0 0 0 0 0 0 0 40 2.1 10 10 16.0 701 9 999999999 170 0.1080 0 88 0.210 0.0 1.0 -3.0312E7 10.6 8.3 86 101500 0 0 343 0 0 0 0 0 0 0 0 0.0 10 10 16.0 823 9 999999999 170 0.1080 0 88 0.210 0.0 1.0 -3.03156E7 10.6 8.9 89 101500 0 0 344 0 0 0 0 0 0 0 50 7.2 10 10 16.0 945 9 999999999 170 0.1080 0 88 0.210 0.0 1.0 -3.03192E7 10.6 7.8 83 101500 0 0 343 0 0 0 0 0 0 0 60 6.7 10 10 16.0 945 9 999999999 170 0.1080 0 88 0.210 0.0 1.0 -3.03228E7 10.6 7.8 83 101500 0 0 343 0 0 0 0 0 0 0 40 4.1 10 10 16.0 1006 9 999999999 170 0.1080 0 88 0.210 0.0 1.0 -3.03264E7 10.0 7.8 86 101500 0 0 340 0 0 0 0 0 0 0 50 3.1 10 10 16.0 1128 9 999999999 170 0.1080 0 88 0.210 0.0 1.0 -3.033E7 10.6 7.8 83 101400 0 0 343 0 0 0 0 0 0 0 90 4.1 10 10 16.0 1372 9 999999999 170 0.1080 0 88 0.210 0.0 1.0 -3.03336E7 10.0 8.3 89 101400 0 0 341 0 0 0 0 0 0 0 150 2.6 10 10 16.0 1524 9 999999999 170 0.1080 0 88 0.210 0.0 1.0 -3.03372E7 10.0 8.3 89 101400 0 0 341 0 0 0 0 0 0 0 0 0.0 10 10 16.0 1829 9 999999999 170 0.1080 0 88 0.210 0.0 1.0 -3.03408E7 10.6 7.2 79 101300 0 0 342 0 0 0 0 0 0 0 330 3.6 10 10 16.0 1829 9 999999999 170 0.1080 0 88 0.210 0.0 1.0 -3.03444E7 10.6 8.3 86 101300 0 0 343 0 0 0 0 0 0 0 360 3.1 10 10 16.0 1981 9 999999999 160 0.1080 0 88 0.210 0.0 1.0 -3.0348E7 10.0 8.3 89 101400 0 0 331 0 0 0 0 0 0 0 280 2.6 9 9 16.0 2134 9 999999999 160 0.1080 0 88 0.210 0.0 1.0 -3.03516E7 10.6 8.3 86 101400 0 0 334 0 0 0 0 0 0 0 330 2.1 9 9 16.0 2438 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.03552E7 10.0 8.3 89 101400 48 930 331 11 4 11 1200 200 1200 280 0 0.0 9 9 16.0 3048 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.03588E7 11.1 9.4 89 101500 260 1413 338 57 24 52 6200 1900 5800 1350 40 1.5 9 9 16.0 5486 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.03624E7 11.1 9.4 89 101500 453 1413 319 194 162 141 20900 15000 16000 3180 0 0.0 5 5 16.0 2000 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.0366E7 11.7 8.9 83 101500 593 1413 316 364 555 130 38600 53900 15900 2560 40 1.5 3 3 16.0 2000 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.03696E7 13.3 5.6 60 101400 669 1413 320 403 587 125 42000 57100 14800 2550 350 4.6 3 3 16.0 2000 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.03732E7 13.3 7.8 69 101300 677 1413 322 426 620 129 44300 60300 15300 2630 350 3.6 3 3 16.0 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.03768E7 13.9 7.8 67 101300 615 1413 325 325 373 163 35000 37700 18500 3460 360 3.6 3 3 16.0 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.03804E7 15.0 5.6 53 101300 488 1413 314 290 585 87 30000 53600 11400 1650 330 4.1 0 0 16.0 2000 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.0384E7 14.4 6.7 60 101400 305 1413 312 149 402 62 15200 31500 8400 1100 360 4.6 0 0 16.0 2000 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.03876E7 13.9 7.2 64 101400 85 1213 311 25 77 20 2800 3000 2600 340 350 4.1 0 0 16.0 2000 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.03912E7 14.4 2.8 46 101500 0 0 308 0 0 0 0 0 0 0 350 6.7 0 0 16.0 2000 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.03948E7 13.9 3.3 49 101600 0 0 306 0 0 0 0 0 0 0 350 7.2 0 0 16.0 2000 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.03984E7 13.3 2.2 47 101500 0 0 303 0 0 0 0 0 0 0 340 11.3 0 0 16.0 2000 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.0402E7 12.8 2.2 48 101600 0 0 301 0 0 0 0 0 0 0 350 12.4 0 0 16.0 2000 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.04056E7 12.8 2.8 51 101700 0 0 301 0 0 0 0 0 0 0 350 11.3 0 0 16.0 2000 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.04092E7 12.2 2.2 50 101700 0 0 298 0 0 0 0 0 0 0 350 9.8 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.04128E7 12.2 2.2 50 101800 0 0 298 0 0 0 0 0 0 0 350 4.6 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.04164E7 11.7 -2.2 37 101900 0 0 291 0 0 0 0 0 0 0 320 3.1 1 0 16.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.042E7 11.7 0.6 46 101900 0 0 294 0 0 0 0 0 0 0 320 5.2 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04236E7 11.7 1.1 48 101900 0 0 295 0 0 0 0 0 0 0 340 6.2 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04272E7 11.7 2.2 52 101900 0 0 296 0 0 0 0 0 0 0 350 4.1 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.04308E7 11.7 0.6 46 101900 0 0 294 0 0 0 0 0 0 0 350 5.2 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04344E7 10.6 2.2 56 102000 0 0 292 0 0 0 0 0 0 0 20 4.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.0438E7 8.9 1.1 58 101900 0 0 283 0 0 0 0 0 0 0 110 3.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04416E7 7.8 1.7 65 102000 47 907 280 14 101 9 1600 4500 1300 170 190 3.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04452E7 10.6 1.1 52 102000 258 1413 290 132 492 42 13700 36600 7000 770 130 1.5 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04488E7 12.2 -1.1 39 102000 452 1413 295 280 688 60 28900 62300 8900 1170 0 0.0 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04524E7 12.8 -3.9 30 102000 592 1413 294 404 788 73 42200 75400 10400 1500 0 0.0 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.0456E7 13.9 -5.6 24 101900 669 1413 297 471 826 80 49500 80500 11300 1700 70 1.5 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04596E7 14.4 -3.9 27 101800 677 1413 301 458 787 80 48100 76900 11200 1720 70 1.5 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04632E7 15.0 -1.1 33 101700 616 1413 306 424 801 75 44400 77100 10700 1560 60 1.5 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04668E7 14.4 4.4 51 101700 489 1413 310 315 725 64 32600 66800 9400 1260 60 2.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04704E7 15.0 0.0 36 101700 307 1413 308 168 559 47 17600 44600 7800 880 270 3.6 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.0474E7 13.9 -2.2 32 101800 87 1237 301 31 185 18 3300 9200 2600 330 300 1.5 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04776E7 12.8 -0.6 39 101800 0 0 298 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04812E7 11.1 4.4 63 101800 0 0 296 0 0 0 0 0 0 0 200 2.6 1 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04848E7 10.6 3.3 61 101900 0 0 298 0 0 0 0 0 0 0 0 0.0 1 1 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04884E7 10.6 2.2 56 101800 0 0 301 0 0 0 0 0 0 0 210 1.5 4 2 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.0492E7 10.0 2.2 58 101800 0 0 304 0 0 0 0 0 0 0 0 0.0 8 4 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04956E7 9.4 2.2 61 101800 0 0 296 0 0 0 0 0 0 0 260 2.1 3 2 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.04992E7 10.0 1.1 54 101700 0 0 308 0 0 0 0 0 0 0 0 0.0 8 6 16.0 7620 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.05028E7 8.9 3.9 71 101800 0 0 299 0 0 0 0 0 0 0 180 1.5 7 3 16.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.05064E7 8.9 4.4 73 101700 0 0 299 0 0 0 0 0 0 0 0 0.0 6 3 16.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.051E7 8.9 4.4 73 101700 0 0 302 0 0 0 0 0 0 0 100 1.5 10 4 16.0 7620 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.05136E7 8.3 2.2 65 101700 0 0 297 0 0 0 0 0 0 0 0 0.0 8 4 16.0 9144 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.05172E7 6.1 3.3 82 101700 0 0 286 0 0 0 0 0 0 0 190 1.5 7 3 16.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.05208E7 6.7 3.3 79 101800 0 0 282 0 0 0 0 0 0 0 0 0.0 1 1 16.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.05244E7 7.8 5.0 82 101800 0 0 283 0 0 0 0 0 0 0 360 1.5 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.0528E7 7.2 5.0 86 101800 45 883 297 13 58 10 1500 2100 1400 170 160 2.6 5 5 16.0 7620 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.05316E7 8.3 4.4 76 101900 256 1413 319 75 34 68 8100 2700 7600 1670 0 0.0 10 9 16.0 7620 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.05352E7 10.0 5.0 71 101900 450 1413 328 148 23 141 16400 1600 15900 4810 0 0.0 10 9 16.0 2134 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.05388E7 11.1 7.8 80 101800 591 1413 336 170 0 170 19100 0 19100 6400 60 1.5 10 9 16.0 1829 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.05424E7 12.8 12.2 96 101800 668 1413 359 142 0 142 16500 0 16500 6030 290 8.2 10 10 6.4 792 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.0546E7 13.9 11.1 83 101700 677 1413 353 257 60 228 28200 6000 25300 6540 280 7.7 10 9 16.0 1524 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.05496E7 13.9 10.0 77 101700 616 1413 352 260 108 213 28500 10600 23900 5870 290 6.2 10 9 16.0 975 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.05532E7 13.9 8.9 72 101600 490 1413 351 150 34 138 16400 3200 15300 3750 290 6.7 10 9 16.0 2438 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.05568E7 13.3 8.3 72 101700 308 1413 347 95 76 78 10300 6200 9000 1690 270 5.7 10 9 16.0 1676 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.05604E7 12.8 8.3 74 101700 88 1237 345 17 8 17 1900 500 1900 430 290 6.2 10 9 16.0 4572 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.0564E7 12.2 7.2 71 101700 0 0 321 0 0 0 0 0 0 0 290 5.7 5 5 16.0 2000 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.05676E7 11.1 6.1 71 101700 0 0 298 0 0 0 0 0 0 0 280 4.6 0 0 16.0 2000 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.05712E7 10.0 6.1 77 101600 0 0 306 0 0 0 0 0 0 0 270 5.2 3 3 16.0 2000 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.05748E7 10.0 6.1 77 101600 0 0 310 0 0 0 0 0 0 0 270 3.6 5 5 16.0 2000 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.05784E7 10.0 6.1 77 101600 0 0 293 0 0 0 0 0 0 0 280 2.6 0 0 16.0 2000 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.0582E7 9.4 5.6 77 101500 0 0 303 0 0 0 0 0 0 0 0 0.0 3 3 16.0 2000 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.05856E7 9.4 4.4 71 101500 0 0 317 0 0 0 0 0 0 0 260 3.6 9 8 16.0 4267 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.05892E7 9.4 4.4 71 101400 0 0 333 0 0 0 0 0 0 0 260 2.6 10 10 16.0 3353 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.05928E7 9.4 3.9 68 101400 0 0 333 0 0 0 0 0 0 0 270 3.1 10 10 16.0 3048 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.05964E7 10.0 5.6 74 101400 0 0 338 0 0 0 0 0 0 0 290 7.7 10 10 16.0 3048 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.06E7 9.4 6.1 80 101300 0 0 335 0 0 0 0 0 0 0 270 6.2 10 10 16.0 2743 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.06036E7 9.4 6.7 83 101400 0 0 311 0 0 0 0 0 0 0 320 4.1 7 6 16.0 6096 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.06072E7 8.9 6.7 86 101400 0 0 324 0 0 0 0 0 0 0 330 4.1 9 9 16.0 7620 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.06108E7 7.8 5.6 86 101500 0 0 296 0 0 0 0 0 0 0 270 3.1 3 3 16.0 2000 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.06144E7 8.3 5.6 83 101500 44 884 298 11 26 9 1200 800 1100 140 330 6.2 3 3 16.0 2000 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.0618E7 8.9 5.6 80 101600 254 1414 300 107 273 57 11100 19500 7600 1030 330 3.1 3 3 16.0 2000 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.06216E7 9.4 5.6 77 101600 449 1414 303 225 410 95 23900 37000 12100 1770 350 3.1 3 3 16.0 2000 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.06252E7 10.6 5.0 68 101500 590 1414 307 331 513 116 35500 49800 14600 2250 350 3.6 3 3 16.0 2000 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.06288E7 12.2 1.7 49 101400 668 1414 310 325 398 137 34900 39600 16100 2780 310 6.7 3 3 16.0 2000 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.06324E7 12.2 0.6 45 101400 677 1414 309 402 498 163 42400 49500 18600 3380 330 8.2 3 3 16.0 2000 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.0636E7 12.8 1.1 45 101300 617 1414 312 365 565 118 37800 54100 14100 2330 330 5.7 3 3 16.0 2000 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.06396E7 13.3 0.6 42 101300 492 1414 314 260 473 96 27900 43900 12600 1800 320 8.2 3 3 16.0 2000 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.06432E7 13.3 1.1 43 101400 310 1414 317 117 123 90 12700 10000 10500 1950 320 6.2 4 4 16.0 2000 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.06468E7 12.2 1.7 49 101400 90 1260 307 27 81 21 2900 3200 2700 360 350 6.2 2 2 16.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.06504E7 12.2 1.7 49 101500 0 0 298 0 0 0 0 0 0 0 340 8.8 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.0654E7 11.7 1.7 50 101500 0 0 296 0 0 0 0 0 0 0 350 7.7 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.06576E7 11.1 -1.1 42 101600 0 0 290 0 0 0 0 0 0 0 340 9.3 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.06612E7 11.1 0.6 48 101500 0 0 292 0 0 0 0 0 0 0 340 12.4 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.06648E7 10.6 -0.6 46 101400 0 0 289 0 0 0 0 0 0 0 340 16.0 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.06684E7 10.6 0.0 48 101500 0 0 289 0 0 0 0 0 0 0 350 16.0 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.0672E7 10.0 0.6 52 101500 0 0 287 0 0 0 0 0 0 0 340 14.9 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.06756E7 10.0 0.0 50 101500 0 0 287 0 0 0 0 0 0 0 350 14.4 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.06792E7 10.0 -1.1 45 101500 0 0 286 0 0 0 0 0 0 0 350 15.5 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.06828E7 9.4 -0.6 49 101600 0 0 289 0 0 0 0 0 0 0 340 14.9 2 1 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.06864E7 8.9 -0.6 51 101600 0 0 282 0 0 0 0 0 0 0 340 12.9 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.069E7 8.9 -1.7 47 101600 0 0 281 0 0 0 0 0 0 0 340 16.5 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.06936E7 8.9 -1.7 47 101600 0 0 281 0 0 0 0 0 0 0 340 14.9 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.06972E7 8.9 -1.1 49 101600 0 0 281 0 0 0 0 0 0 0 340 12.4 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07008E7 8.9 -1.1 49 101700 43 860 281 15 145 7 1600 7600 1200 170 330 14.4 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07044E7 9.4 -1.7 45 101700 253 1414 283 137 573 35 14100 43900 6200 680 340 11.8 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.0708E7 9.4 -2.2 43 101800 447 1414 282 291 764 49 30700 69600 8600 1040 340 11.8 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07116E7 10.0 -2.8 39 101800 589 1414 284 411 842 60 43300 80200 9700 1310 350 9.8 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07152E7 11.1 -1.7 40 101700 668 1414 290 472 860 65 49600 83300 10100 1460 340 9.3 1 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07188E7 11.7 -1.7 39 101600 677 1414 292 407 704 70 43500 69200 10300 1580 360 10.3 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07224E7 12.2 1.1 47 101600 618 1414 303 414 802 63 43500 76900 9700 1370 350 5.7 2 1 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.0726E7 12.8 0.6 43 101600 493 1414 305 318 763 52 33800 71100 8800 1120 350 4.1 1 1 16.0 9144 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07296E7 13.3 0.6 42 101700 312 1414 307 162 551 40 16700 45300 6700 800 330 5.2 1 1 16.0 9144 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07332E7 11.7 4.4 61 101700 92 1261 304 34 240 17 3700 12100 2700 310 350 2.6 1 1 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07368E7 11.1 -0.6 44 101800 0 0 296 0 0 0 0 0 0 0 0 0.0 2 1 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07404E7 10.0 -1.1 45 101800 0 0 291 0 0 0 0 0 0 0 210 2.1 2 1 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.0744E7 9.4 -2.8 41 101800 0 0 282 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07476E7 7.8 0.0 58 101800 0 0 278 0 0 0 0 0 0 0 160 2.1 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07512E7 8.3 -1.7 48 101900 0 0 287 0 0 0 0 0 0 0 0 0.0 4 2 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07548E7 6.7 0.0 62 101900 0 0 279 0 0 0 0 0 0 0 120 2.1 1 1 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07584E7 6.7 -2.8 49 101900 0 0 276 0 0 0 0 0 0 0 0 0.0 2 1 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.0762E7 6.7 1.1 67 101900 0 0 275 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07656E7 5.6 1.1 73 101900 0 0 270 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07692E7 4.4 1.7 83 102000 0 0 266 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07728E7 3.3 1.1 85 102000 0 0 262 0 0 0 0 0 0 0 250 1.5 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07764E7 5.0 1.1 76 102000 0 0 268 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.078E7 3.9 -1.1 69 102100 0 0 262 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07836E7 3.9 0.0 76 102200 0 0 263 0 0 0 0 0 0 0 170 1.5 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07872E7 5.0 1.7 79 102300 42 860 269 15 154 7 1600 8100 1200 170 190 1.5 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.07908E7 7.2 2.8 74 102300 251 1414 278 137 586 33 14100 44900 6100 660 160 1.5 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.07944E7 8.9 3.3 68 102400 446 1414 286 291 773 47 30800 70300 8500 1040 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.0798E7 10.0 5.0 71 102400 589 1414 292 413 854 57 43500 81400 9500 1300 360 1.5 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.08016E7 9.4 5.0 74 102300 668 1414 289 483 889 63 50800 86100 10000 1440 50 1.5 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.08052E7 10.6 4.4 65 102200 678 1414 294 492 893 64 51800 86600 10100 1460 40 2.1 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.08088E7 11.1 2.8 57 102200 619 1414 294 440 867 60 46300 83200 9700 1360 70 2.1 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.08124E7 11.7 1.7 50 102200 495 1414 308 325 676 88 33700 62100 11900 1670 0 0.0 3 3 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.0816E7 13.9 7.2 64 102200 314 1414 311 183 657 37 19100 54300 7000 760 270 4.6 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.08196E7 13.3 9.4 77 102100 94 1284 310 38 295 16 4000 16900 2700 320 270 6.2 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.08232E7 12.8 10.0 83 102200 0 0 327 0 0 0 0 0 0 0 290 5.2 6 5 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.08268E7 11.7 6.7 71 102200 0 0 306 0 0 0 0 0 0 0 0 0.0 1 1 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.08304E7 11.1 6.1 71 102300 0 0 298 0 0 0 0 0 0 0 290 2.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.0834E7 11.1 7.2 77 102300 0 0 299 0 0 0 0 0 0 0 300 3.6 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.08376E7 11.1 5.6 69 102300 0 0 297 0 0 0 0 0 0 0 290 3.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.08412E7 11.7 6.1 68 102300 0 0 300 0 0 0 0 0 0 0 340 1.5 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.08448E7 10.6 7.2 79 102300 0 0 302 0 0 0 0 0 0 0 20 2.1 2 1 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.08484E7 10.6 3.9 63 102300 0 0 293 0 0 0 0 0 0 0 310 4.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.0852E7 8.9 2.2 63 102300 0 0 285 0 0 0 0 0 0 0 290 3.6 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.08556E7 10.6 2.8 58 102200 0 0 292 0 0 0 0 0 0 0 320 4.6 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.08592E7 10.0 2.2 58 102100 0 0 289 0 0 0 0 0 0 0 310 4.6 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.08628E7 8.9 2.2 63 102100 0 0 285 0 0 0 0 0 0 0 300 2.6 0 0 16.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.08664E7 8.3 2.2 65 102100 0 0 282 0 0 0 0 0 0 0 300 2.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.087E7 9.4 4.4 71 102100 0 0 289 0 0 0 0 0 0 0 320 4.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.08736E7 9.4 3.3 66 102100 41 860 288 10 44 8 1200 1600 1100 130 290 2.6 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.08772E7 10.0 6.1 77 102100 250 1414 293 117 382 50 12000 27600 7100 880 330 4.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.08808E7 10.6 6.7 77 102100 445 1414 296 265 605 74 27500 54200 10400 1400 350 3.6 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.08844E7 12.2 3.9 57 102000 588 1414 313 360 543 134 38100 52600 16100 2640 340 8.8 3 3 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.0888E7 12.2 4.4 59 101900 668 1414 313 425 569 156 45000 56500 18200 3210 350 8.2 3 3 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.08916E7 13.3 3.3 51 101800 679 1414 317 464 736 111 48800 72200 14000 2330 350 8.2 3 3 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.08952E7 13.3 1.7 45 101700 620 1414 315 414 621 142 43900 60800 17100 2840 340 9.3 3 3 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.08988E7 13.3 0.0 40 101700 496 1414 300 308 649 80 32200 59900 11000 1550 340 9.3 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.09024E7 12.8 2.2 48 101700 316 1414 301 164 474 58 16900 37800 8400 1050 330 8.2 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.0906E7 12.2 2.2 50 101700 96 1285 298 31 124 22 3400 5500 2900 390 340 8.2 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.09096E7 11.7 3.3 56 101800 0 0 297 0 0 0 0 0 0 0 340 8.2 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.09132E7 11.7 2.2 52 101900 0 0 296 0 0 0 0 0 0 0 350 8.2 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.09168E7 11.7 1.7 50 101800 0 0 296 0 0 0 0 0 0 0 340 7.7 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.09204E7 11.7 1.7 50 101800 0 0 296 0 0 0 0 0 0 0 350 9.3 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.0924E7 11.1 3.3 59 101800 0 0 295 0 0 0 0 0 0 0 350 9.3 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.09276E7 11.1 1.7 52 101900 0 0 293 0 0 0 0 0 0 0 340 8.8 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.09312E7 10.6 1.7 54 101900 0 0 291 0 0 0 0 0 0 0 340 7.7 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.09348E7 10.6 0.6 50 101900 0 0 290 0 0 0 0 0 0 0 340 8.2 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.09384E7 10.6 0.6 50 101900 0 0 290 0 0 0 0 0 0 0 350 8.2 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.0942E7 10.0 0.0 50 102000 0 0 287 0 0 0 0 0 0 0 340 9.3 0 0 16.0 2000 9 999999999 50 0.1080 0 88 0.210 0.0 1.0 -3.09456E7 10.6 0.0 48 102000 0 0 289 0 0 0 0 0 0 0 350 9.8 0 0 16.0 2000 9 999999999 50 0.1080 0 88 0.210 0.0 1.0 -3.09492E7 10.0 1.1 54 102000 0 0 288 0 0 0 0 0 0 0 10 10.8 0 0 16.0 2000 9 999999999 50 0.1080 0 88 0.210 0.0 1.0 -3.09528E7 9.4 -0.6 49 102000 0 0 284 0 0 0 0 0 0 0 30 3.1 0 0 16.0 2000 9 999999999 50 0.1080 0 88 0.210 0.0 1.0 -3.09564E7 8.9 0.0 54 102100 0 0 282 0 0 0 0 0 0 0 90 2.1 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.096E7 8.9 0.6 56 102100 40 837 283 14 141 7 1500 7300 1200 170 30 7.2 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.09636E7 10.0 0.0 50 102300 248 1414 287 135 574 34 13800 43700 6100 660 20 5.2 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.09672E7 10.0 0.6 52 102300 444 1414 287 290 767 48 30500 69600 8500 1040 50 5.2 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.09708E7 11.1 1.1 50 102300 588 1414 292 413 851 59 43500 81100 9600 1310 30 5.2 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.09744E7 11.7 1.1 48 102300 668 1414 295 484 887 65 50900 85900 10200 1460 30 6.7 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.0978E7 11.7 1.7 50 102200 680 1414 296 495 891 66 52000 86400 10200 1480 30 6.2 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.09816E7 12.2 2.2 50 102200 622 1414 298 443 867 62 46600 83200 9900 1370 30 7.7 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.09852E7 11.7 2.8 54 102300 498 1414 297 335 801 52 35300 74300 9000 1140 40 6.7 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.09888E7 12.2 2.2 50 102400 318 1414 298 187 656 39 19400 54400 7100 790 40 6.7 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.09924E7 11.7 2.8 54 102400 98 1308 297 40 295 17 4100 16900 2800 340 30 6.2 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.0996E7 10.6 5.0 68 102400 0 0 294 0 0 0 0 0 0 0 30 3.6 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.09996E7 9.4 1.7 59 102500 0 0 286 0 0 0 0 0 0 0 180 1.5 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.10032E7 8.9 0.6 56 102500 0 0 283 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.10068E7 7.2 0.6 63 102600 0 0 276 0 0 0 0 0 0 0 170 1.5 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.10104E7 7.2 -1.7 52 102600 0 0 274 0 0 0 0 0 0 0 220 2.1 0 0 16.0 2000 9 999999999 60 0.1080 0 88 0.210 0.0 1.0 -3.1014E7 7.8 -1.7 50 102700 0 0 276 0 0 0 0 0 0 0 220 1.5 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10176E7 6.7 -2.2 52 102700 0 0 272 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10212E7 6.1 0.0 65 102700 0 0 271 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10248E7 5.0 -1.1 64 102700 0 0 266 0 0 0 0 0 0 0 290 1.5 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10284E7 3.3 -1.1 72 102800 0 0 260 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.1032E7 3.3 -0.6 75 102800 0 0 260 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10356E7 2.8 -0.6 78 102900 0 0 258 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10392E7 3.3 0.0 79 102900 0 0 261 0 0 0 0 0 0 0 270 1.5 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10428E7 3.3 0.6 82 103000 0 0 261 0 0 0 0 0 0 0 190 2.1 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10464E7 4.4 1.7 83 103000 39 837 266 9 24 8 1000 700 1000 130 170 1.5 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.105E7 5.6 2.8 82 103100 247 1414 272 110 314 55 11500 22100 7600 990 130 2.1 0 0 12.8 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10536E7 7.8 2.2 68 103200 444 1414 280 254 543 84 26200 48300 11000 1550 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10572E7 9.4 2.2 61 103200 588 1414 287 376 655 104 39200 62500 13100 2050 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10608E7 9.4 1.1 56 103100 668 1414 286 448 704 116 47000 68700 14400 2390 60 1.5 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10644E7 10.6 1.1 52 103100 681 1414 290 459 710 117 48100 69500 14500 2430 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.1068E7 11.7 0.0 44 103100 623 1414 294 408 677 109 42500 65300 13600 2190 60 1.5 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10716E7 12.2 -0.6 41 103100 500 1414 295 301 591 92 31200 54300 11900 1740 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10752E7 11.1 1.1 50 103100 321 1414 292 159 412 66 16900 32800 9400 1190 80 1.5 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10788E7 10.6 2.8 58 103100 100 1332 292 30 87 24 3300 3600 3000 420 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10824E7 10.6 1.1 52 103100 0 0 290 0 0 0 0 0 0 0 50 2.1 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.1086E7 9.4 5.6 77 103200 0 0 290 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10896E7 7.8 2.2 68 103200 0 0 280 0 0 0 0 0 0 0 170 2.1 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10932E7 7.8 0.6 60 103300 0 0 279 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.10968E7 7.2 1.1 65 103300 0 0 277 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.11004E7 6.7 1.7 70 103300 0 0 275 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.1104E7 5.6 1.7 76 103300 0 0 271 0 0 0 0 0 0 0 180 1.5 0 0 16.0 2000 9 999999999 70 0.1080 0 88 0.210 0.0 1.0 -3.11076E7 6.7 1.7 70 103300 0 0 275 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.11112E7 5.0 1.7 79 103300 0 0 269 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.11148E7 5.0 2.2 82 103300 0 0 269 0 0 0 0 0 0 0 140 2.6 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.11184E7 2.8 1.1 89 103300 0 0 260 0 0 0 0 0 0 0 190 2.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.1122E7 5.6 1.7 76 103300 0 0 271 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.11256E7 2.8 1.1 89 103300 0 0 260 0 0 0 0 0 0 0 190 2.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.11292E7 3.3 1.1 85 103300 0 0 262 0 0 0 0 0 0 0 170 2.1 0 0 16.0 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.11328E7 5.6 2.2 79 103400 38 813 277 13 69 9 1400 2400 1300 150 0 0.0 1 1 14.4 2000 9 999999999 80 0.1080 0 88 0.210 0.0 1.0 -3.11364E7 6.1 3.3 82 103500 246 1415 286 113 376 47 11500 27100 6800 840 300 1.5 3 3 11.2 7620 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.114E7 7.8 3.9 76 103400 443 1415 294 265 546 94 27100 48200 11900 1690 130 2.1 3 3 9.6 7620 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.11436E7 8.3 3.9 74 103300 588 1415 296 301 472 105 32700 45900 13600 2020 0 0.0 3 3 8.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.11472E7 8.9 4.4 73 103200 669 1415 299 406 590 127 42200 57300 15000 2580 0 0.0 3 3 8.0 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.11508E7 9.4 3.9 68 103100 682 1415 301 465 621 166 49100 61800 19200 3460 0 0.0 3 3 9.6 2000 9 999999999 90 0.1080 0 88 0.210 0.0 1.0 -3.11544E7 9.4 5.0 74 103000 625 1415 289 422 787 74 44400 76100 10600 1560 80 1.5 0 0 9.6 2000 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.1158E7 10.0 5.0 71 103000 503 1415 304 304 683 61 31700 63500 9100 1240 0 0.0 3 3 12.8 2000 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.11616E7 11.7 3.9 59 103000 323 1415 298 180 583 47 18400 48100 7300 880 170 1.5 0 0 11.2 2000 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.11652E7 11.1 2.2 54 102900 103 1332 294 38 227 21 4000 11600 3100 380 0 0.0 0 0 14.4 2000 9 999999999 100 0.1080 0 88 0.210 0.0 1.0 -3.11688E7 8.9 4.4 73 102900 0 0 287 0 0 0 0 0 0 0 170 1.5 0 0 12.8 2000 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.11724E7 7.8 3.3 73 102900 0 0 281 0 0 0 0 0 0 0 160 1.5 0 0 16.0 2000 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.1176E7 8.3 2.8 68 102900 0 0 283 0 0 0 0 0 0 0 0 0.0 0 0 14.4 2000 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.11796E7 7.8 2.8 71 102900 0 0 281 0 0 0 0 0 0 0 270 1.5 0 0 12.8 2000 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.11832E7 7.8 2.8 71 102900 0 0 281 0 0 0 0 0 0 0 0 0.0 0 0 12.8 2000 9 999999999 110 0.1080 0 88 0.210 0.0 1.0 -3.11868E7 6.7 4.4 85 102900 0 0 278 0 0 0 0 0 0 0 170 1.5 0 0 12.8 2000 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.11904E7 6.7 3.3 79 102900 0 0 277 0 0 0 0 0 0 0 180 1.5 0 0 12.8 2000 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.1194E7 5.6 3.3 85 102800 0 0 273 0 0 0 0 0 0 0 0 0.0 0 0 12.8 2000 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.11976E7 6.7 3.9 82 102900 0 0 277 0 0 0 0 0 0 0 10 1.5 0 0 12.8 2000 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.12012E7 5.6 3.3 85 102800 0 0 273 0 0 0 0 0 0 0 0 0.0 0 0 12.8 2000 9 999999999 120 0.1080 0 88 0.210 0.0 1.0 -3.12048E7 5.6 4.4 92 102800 0 0 274 0 0 0 0 0 0 0 180 1.5 0 0 11.2 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.12084E7 4.4 2.8 89 102800 0 0 267 0 0 0 0 0 0 0 0 0.0 0 0 12.8 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.1212E7 3.9 2.8 93 102800 0 0 265 0 0 0 0 0 0 0 360 1.5 0 0 9.6 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.12156E7 5.6 3.3 85 102800 0 0 273 0 0 0 0 0 0 0 0 0.0 0 0 11.2 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.12192E7 5.6 2.8 82 102900 38 813 277 8 6 8 900 300 900 210 0 0.0 2 1 11.2 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.12228E7 8.3 4.4 76 102900 245 1415 290 96 199 62 10200 13800 7800 1170 160 3.1 2 1 16.0 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.12264E7 11.7 3.3 56 102900 443 1415 303 225 405 99 23800 36400 12400 1850 100 3.6 1 1 16.0 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.123E7 12.8 3.3 52 102900 588 1415 302 350 546 123 37400 52900 15300 2400 40 4.1 1 0 16.0 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.12336E7 13.9 3.9 51 102800 670 1415 307 417 589 138 43100 57000 16000 2760 80 4.1 0 0 16.0 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.12372E7 13.3 5.0 57 102600 683 1415 306 433 607 140 44800 58900 16200 2830 50 6.7 0 0 16.0 2000 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.12408E7 13.3 5.0 57 102500 627 1415 306 389 582 130 40000 55700 15200 2530 50 6.7 0 0 16.0 2000 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.12444E7 13.3 6.1 62 102500 505 1415 307 285 493 109 30200 46000 13700 2070 30 3.6 0 0 16.0 2000 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.1248E7 13.9 6.7 62 102500 326 1415 310 149 318 76 15600 25400 9700 1390 350 2.1 0 0 16.0 2000 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.12516E7 13.3 5.6 60 102500 105 1356 306 30 46 26 3300 2300 3100 540 360 2.1 0 0 16.0 2000 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.12552E7 12.8 5.6 62 102500 0 0 304 0 0 0 0 0 0 0 340 3.1 0 0 16.0 2000 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.12588E7 13.3 3.3 51 102500 0 0 304 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.12624E7 11.1 3.9 61 102400 0 0 295 0 0 0 0 0 0 0 180 2.1 0 0 16.0 2000 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.1266E7 11.7 4.4 61 102400 0 0 298 0 0 0 0 0 0 0 130 2.6 0 0 16.0 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.12696E7 11.1 6.1 71 102400 0 0 298 0 0 0 0 0 0 0 50 1.5 0 0 16.0 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.12732E7 11.7 4.4 61 102500 0 0 298 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.12768E7 8.9 5.6 80 102500 0 0 288 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.12804E7 9.4 5.0 74 102500 0 0 289 0 0 0 0 0 0 0 170 2.1 0 0 16.0 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.1284E7 8.9 5.0 77 102400 0 0 287 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.12876E7 9.4 5.6 77 102400 0 0 290 0 0 0 0 0 0 0 0 0.0 0 0 16.0 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.12912E7 8.3 6.7 90 102300 0 0 287 0 0 0 0 0 0 0 120 3.1 0 0 12.8 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.12948E7 8.9 6.1 83 102300 0 0 288 0 0 0 0 0 0 0 100 2.1 0 0 12.8 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.12984E7 9.4 6.7 83 102300 0 0 291 0 0 0 0 0 0 0 0 0.0 0 0 9.6 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.1302E7 7.2 6.1 93 102200 0 0 282 0 0 0 0 0 0 0 140 2.6 0 0 11.2 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.13056E7 8.3 5.6 83 102300 37 813 286 11 84 7 1200 3700 1000 140 120 4.1 0 0 12.8 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.13092E7 8.9 5.6 80 102300 245 1415 288 122 475 40 12700 34500 6700 730 90 2.1 0 0 12.8 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.13128E7 10.0 5.6 74 102300 443 1415 298 260 645 58 26900 58100 8600 1140 150 2.1 1 1 11.2 7620 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.13164E7 11.7 5.6 66 102200 588 1415 305 372 688 86 39300 66200 11700 1750 60 1.5 2 1 14.4 7620 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.132E7 12.2 6.1 66 102100 671 1415 312 423 638 120 44100 62200 14500 2470 0 0.0 3 2 9.6 7620 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.13236E7 12.8 3.3 52 102000 685 1415 312 468 699 129 48600 68200 15500 2650 0 0.0 6 2 14.4 7620 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.13272E7 13.3 3.3 51 101900 629 1415 314 396 638 112 41300 61600 13800 2250 0 0.0 5 2 14.4 7620 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.13308E7 14.4 3.9 49 101900 507 1415 315 305 671 64 31700 62400 9200 1280 0 0.0 1 1 12.8 7620 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.13344E7 15.0 4.4 49 101800 329 1415 318 175 547 48 18300 44800 7900 900 140 2.1 2 1 14.4 7620 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.1338E7 13.9 4.4 53 101900 108 1379 314 38 203 22 4000 10500 3100 390 130 2.1 2 1 16.0 7620 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.13416E7 11.7 7.2 74 101800 0 0 307 0 0 0 0 0 0 0 80 2.1 2 1 12.8 7620 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.13452E7 10.6 8.3 86 101800 0 0 307 0 0 0 0 0 0 0 0 0.0 3 2 12.8 7620 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.13488E7 10.0 8.3 89 101800 0 0 301 0 0 0 0 0 0 0 60 2.1 3 1 12.8 7620 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.13524E7 10.0 8.3 89 101800 0 0 301 0 0 0 0 0 0 0 0 0.0 2 1 14.4 7620 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.1356E7 10.0 6.7 80 101700 0 0 299 0 0 0 0 0 0 0 0 0.0 2 1 14.4 7620 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.13596E7 10.0 7.8 86 101700 0 0 304 0 0 0 0 0 0 0 30 2.1 3 2 16.0 7620 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.13632E7 8.9 5.6 80 101700 0 0 297 0 0 0 0 0 0 0 0 0.0 4 2 16.0 7620 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.13668E7 8.9 5.6 80 101700 0 0 297 0 0 0 0 0 0 0 0 0.0 3 2 16.0 7620 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.13704E7 7.8 4.4 79 101700 0 0 292 0 0 0 0 0 0 0 190 1.5 4 2 16.0 7620 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.1374E7 7.8 6.1 89 101700 0 0 296 0 0 0 0 0 0 0 160 1.5 5 3 16.0 7620 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.13776E7 8.3 5.6 83 101700 0 0 295 0 0 0 0 0 0 0 0 0.0 5 2 12.8 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.13812E7 6.1 3.9 86 101600 0 0 284 0 0 0 0 0 0 0 0 0.0 4 2 14.4 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.13848E7 6.7 5.0 89 101600 0 0 288 0 0 0 0 0 0 0 170 1.5 4 2 16.0 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.13884E7 8.3 5.0 80 101700 0 0 294 0 0 0 0 0 0 0 0 0.0 3 2 16.0 2000 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.1392E7 8.9 6.7 86 101700 37 814 304 11 58 9 1300 2000 1200 150 100 3.1 5 4 12.8 7620 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.13956E7 10.0 4.4 68 101700 244 1415 327 92 43 85 10100 3400 9500 1930 140 3.1 10 9 11.2 7620 9 999999999 130 0.1080 0 88 0.210 0.0 1.0 -3.13992E7 11.7 5.0 63 101800 443 1415 335 151 55 133 16500 5100 14900 3470 140 4.1 10 9 9.6 7620 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.14028E7 12.8 3.9 55 101700 589 1415 339 266 52 244 29000 5100 26900 6250 100 1.5 10 9 9.6 7620 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.14064E7 13.9 3.9 51 101600 672 1415 320 412 664 97 43700 65400 12600 2060 0 0.0 5 3 9.6 5182 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.141E7 12.8 7.8 72 101600 686 1415 354 190 0 190 21600 0 21600 7540 0 0.0 10 10 9.6 6096 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.14136E7 12.2 8.3 77 101500 631 1415 351 173 0 173 19600 0 19600 6730 40 2.1 10 10 9.6 6096 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.14172E7 12.8 7.8 72 101500 510 1415 354 135 0 135 15200 0 15200 5040 0 0.0 10 10 9.6 4572 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.14208E7 13.3 6.1 62 101500 332 1415 332 170 72 153 18500 6300 17000 3240 0 0.0 9 7 9.6 6096 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.14244E7 13.3 5.6 60 101500 111 1379 322 46 60 41 4900 3000 4700 850 0 0.0 9 4 9.6 6096 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.1428E7 13.9 5.6 57 101600 0 0 325 0 0 0 0 0 0 0 0 0.0 9 4 12.8 5486 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.14316E7 13.9 7.2 64 101500 0 0 327 0 0 0 0 0 0 0 0 0.0 9 4 14.4 6096 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.14352E7 13.9 5.6 57 101600 0 0 325 0 0 0 0 0 0 0 0 0.0 8 4 14.4 6096 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.14388E7 11.7 6.7 71 101600 0 0 316 0 0 0 0 0 0 0 290 1.5 7 4 16.0 6096 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.14424E7 10.6 8.3 86 101600 0 0 315 0 0 0 0 0 0 0 320 2.1 8 5 11.2 6096 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.1446E7 10.6 8.3 86 101700 0 0 313 0 0 0 0 0 0 0 0 0.0 6 4 12.8 5486 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.14496E7 10.6 7.8 83 101700 0 0 321 0 0 0 0 0 0 0 210 1.5 9 7 12.8 5486 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.14532E7 10.6 7.2 79 101700 0 0 317 0 0 0 0 0 0 0 0 0.0 9 6 12.8 5486 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.14568E7 9.4 7.2 86 101700 0 0 312 0 0 0 0 0 0 0 150 2.1 7 6 16.0 5486 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.14604E7 10.0 6.7 80 101700 0 0 314 0 0 0 0 0 0 0 240 1.5 7 6 14.4 5486 9 999999999 140 0.1080 0 88 0.210 0.0 1.0 -3.1464E7 10.0 8.3 89 101700 0 0 315 0 0 0 0 0 0 0 0 0.0 7 6 8.0 6096 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.14676E7 8.9 6.1 83 101700 0 0 306 0 0 0 0 0 0 0 0 0.0 6 5 11.2 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.14712E7 9.4 7.2 86 101700 0 0 301 0 0 0 0 0 0 0 280 1.5 3 2 8.0 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.14748E7 8.3 7.2 93 101800 0 0 297 0 0 0 0 0 0 0 140 2.1 3 2 6.4 4572 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.14784E7 10.0 8.3 89 101800 36 790 308 9 49 7 1100 1700 1000 120 0 0.0 4 3 4.8 4572 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.1482E7 10.0 8.3 89 101900 244 1415 319 111 201 76 11500 13900 9100 1500 0 0.0 8 7 4.8 4572 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.14856E7 10.6 9.4 92 102000 443 1415 328 106 105 73 11900 9800 8800 1640 0 0.0 8 8 4.8 4572 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.14892E7 10.6 9.4 92 101900 589 1415 328 233 128 180 25400 12700 20100 4260 30 1.5 9 8 4.8 4572 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.14928E7 11.1 10.0 93 101900 673 1415 326 377 295 237 39700 30200 25300 5500 70 1.5 7 7 4.8 4572 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.14964E7 11.7 10.0 89 101800 688 1415 341 300 76 263 32900 7600 29100 7330 0 0.0 9 9 4.8 4572 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.15E7 11.7 10.0 89 101800 633 1415 325 269 252 156 29100 25600 17500 3290 20 1.5 10 6 4.8 4572 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.15036E7 11.7 10.0 89 101700 513 1415 329 232 165 172 25000 15800 19300 3960 0 0.0 9 7 4.8 3658 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.15072E7 12.8 8.3 74 101700 335 1415 337 116 81 96 12500 6800 10900 2090 0 0.0 9 8 6.4 5486 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.15108E7 11.7 8.3 80 101700 114 1403 339 24 17 22 2600 1000 2500 550 0 0.0 9 9 11.2 7620 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.15144E7 12.8 12.2 96 101800 0 0 329 0 0 0 0 0 0 0 270 3.6 5 5 11.2 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.1518E7 12.8 11.7 93 101800 0 0 348 0 0 0 0 0 0 0 300 2.6 9 9 14.4 6096 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.15216E7 13.3 11.7 90 101800 0 0 338 0 0 0 0 0 0 0 280 3.1 7 7 14.4 579 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.15252E7 12.2 11.1 93 101700 0 0 326 0 0 0 0 0 0 0 350 1.5 5 5 16.0 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.15288E7 10.6 10.0 96 101800 0 0 317 0 0 0 0 0 0 0 180 2.1 5 5 11.2 2000 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 -3.15324E7 10.6 10.6 100 101800 0 0 337 0 0 0 0 0 0 0 170 2.1 9 9 6.4 640 9 999999999 150 0.1080 0 88 0.210 0.0 1.0 diff --git a/BESMod/Systems/Electrical/Generation/Tests/PartialTest.mo b/BESMod/Systems/Electrical/Generation/Tests/PartialTest.mo index d5ac9d43..0d0826d8 100644 --- a/BESMod/Systems/Electrical/Generation/Tests/PartialTest.mo +++ b/BESMod/Systems/Electrical/Generation/Tests/PartialTest.mo @@ -7,7 +7,7 @@ partial model PartialTest choicesAllMatching=true); IBPSA.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam= ModelicaServices.ExternalReferences.loadResource( - "modelica://BESMod/Resources/TRY2015_522361130393_Jahr_City_Potsdam.mos")) + "modelica://BESMod/Resources/WeatherData/TRY2015_522361130393_Jahr_City_Potsdam.mos")) annotation (Placement(transformation(extent={{-100,58},{-62,100}}))); BESMod.Utilities.Electrical.ElecConToReal elecConToReal annotation (Placement(transformation(extent={{56,54},{92,98}}))); diff --git a/BESMod/Systems/Electrical/Tests/ElectricalSystem.mo b/BESMod/Systems/Electrical/Tests/ElectricalSystem.mo index 5f871b5f..9d99e77d 100644 --- a/BESMod/Systems/Electrical/Tests/ElectricalSystem.mo +++ b/BESMod/Systems/Electrical/Tests/ElectricalSystem.mo @@ -44,7 +44,7 @@ model ElectricalSystem annotation (Placement(transformation(extent={{-70,24},{-50,44}}))); IBPSA.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam= ModelicaServices.ExternalReferences.loadResource( - "modelica://BESMod/Resources/TRY2015_522361130393_Jahr_City_Potsdam.mos")) + "modelica://BESMod/Resources/WeatherData/TRY2015_522361130393_Jahr_City_Potsdam.mos")) annotation (Placement(transformation(extent={{-100,68},{-72,96}}))); BESMod.Utilities.Electrical.ElecConToReal elecConToReal(reverse=true) annotation (Placement(transformation(extent={{64,-12},{88,14}}))); diff --git a/BESMod/Systems/RecordsCollection/ExampleSystemParameters.mo b/BESMod/Systems/RecordsCollection/ExampleSystemParameters.mo index 04333f93..69704a84 100644 --- a/BESMod/Systems/RecordsCollection/ExampleSystemParameters.mo +++ b/BESMod/Systems/RecordsCollection/ExampleSystemParameters.mo @@ -1,7 +1,7 @@ within BESMod.Systems.RecordsCollection; record ExampleSystemParameters extends Systems.RecordsCollection.SystemParametersBaseDataDefinition( - filNamWea=Modelica.Utilities.Files.loadResource("modelica://BESMod/Resources/TRY2015_522361130393_Jahr_City_Potsdam.mos"), + filNamWea=Modelica.Utilities.Files.loadResource("modelica://BESMod/Resources/WeatherData/TRY2015_522361130393_Jahr_City_Potsdam.mos"), THydSup_nominal={328.15}, QBui_flow_nominal={10632.414942943078}, use_ventilation=true, From 5fd782bfdc63c9a00405b75fbfa4f9d0ecd1351b Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Thu, 7 Dec 2023 13:26:49 +0100 Subject: [PATCH 004/125] update cleanupscript/ci_setting.yml --- .gitlab-ci.yml | 2 +- .../cleanupscript/{ci_setting.gitlab-ci.yml => ci_setting.yml} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename dymola-ci-tests/ci_templates/cleanupscript/{ci_setting.gitlab-ci.yml => ci_setting.yml} (100%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 210cdc0b..4980b8ca 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1 +1 @@ -image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - check_setting - build_templates - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist - HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/cleanupscript/ci_setting.gitlab-ci.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file +image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - check_setting - build_templates - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist - HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/cleanupscript/ci_setting.gitlab-ci.yml b/dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml similarity index 100% rename from dymola-ci-tests/ci_templates/cleanupscript/ci_setting.gitlab-ci.yml rename to dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml From 02eb0d11aec1c002e446fccef81f045c1ec9b815 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Thu, 7 Dec 2023 13:31:53 +0100 Subject: [PATCH 005/125] rm redundant test --- dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml | 1 - 1 file changed, 1 deletion(-) delete mode 100644 dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml diff --git a/dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml b/dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml deleted file mode 100644 index 213c9d94..00000000 --- a/dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml +++ /dev/null @@ -1 +0,0 @@ -stages: - check_setting - build_templates Test_CI_Setting: stage: check_setting before_script: - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - source activate myenv - export PYTHONIOENCODING=utf-8 - pip install toml - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/CleanUp/setting_check.py --github-private-key $GITHUB_PRIVATE_KEY --github-token $GITHUB_API_TOKEN only: variables: - $CI_COMMIT_MESSAGE =~ /ci_setting/ except: refs: - external_pull_requests Create_templates: stage: build_templates before_script: - source activate myenv - export PYTHONIOENCODING=utf-8 - pip install pandas toml mako - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir build_template && cd build_template - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python MoCITempGen/CITests/ci_templates/ci_templates.py --setting - message="CI message from ebc-aixlib-bot. Automatic push of CI with new created CI templates. Please pull the new files before push again." - git add . - git commit -m "$message" - git push git@github.com:$Github_Repository.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_setting/ except: refs: - external_pull_requests artifacts: when: always paths: - build_template/dymola-ci-tests\ci_templates/* \ No newline at end of file From e1f3c65d37473253c59e9ac7ff718559db02e87a Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Thu, 7 Dec 2023 13:32:45 +0100 Subject: [PATCH 006/125] rm redundant test --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4980b8ca..fdf7c2fc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1 +1 @@ -image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - check_setting - build_templates - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist - HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file +image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist - HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file From 8112ee9496be1f53b95c4c38f240aada4810c056 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Thu, 7 Dec 2023 13:57:45 +0100 Subject: [PATCH 007/125] use posix paths --- .gitlab-ci.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/check_model.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/regression_test.yml | 2 +- .../ci_templates/cleanupscript/ci_build_whitelist.yml | 2 +- dymola-ci-tests/ci_templates/syntaxtest/html_check.yml | 2 +- dymola-ci-tests/ci_templates/syntaxtest/style_check.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fdf7c2fc..4980b8ca 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1 +1 @@ -image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist - HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file +image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - check_setting - build_templates - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist - HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml index 416ae3a8..fef48604 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml @@ -1 +1 @@ -stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file +stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml index 16285cc3..b1521ee6 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml @@ -1 +1 @@ -stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - git clone https://github.com/RWTH-EBC/MoCITempGen - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\api_script\api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py --coverage-only artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\api_script\api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen\CITests\Converter\google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install xdg-utils --fix-missing -y - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - export PYTHONIOENCODING=utf-8 - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen\CITests\CI_Configuration\configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen\CITests\Converter\google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\Converter\google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen\CITests\api_script\api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file +stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - git clone https://github.com/RWTH-EBC/MoCITempGen - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 script: - cd BESMod && xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/reference_check.py --coverage-only artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install xdg-utils --fix-missing -y - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - export PYTHONIOENCODING=utf-8 - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen/CITests/CI_Configuration/configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen/CITests/Converter/google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml b/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml index a50f73ec..d14a6257 100644 --- a/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml +++ b/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml @@ -1 +1 @@ -stages: - build_ci_whitelist CI_Whitelist_Setting: stage: build_ci_whitelist before_script: - source activate myenv - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir build_whitelist - cd build_whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen\CITests\CI_Configuration\configuration.py create-whitelist - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --simulate-examples - message="CI message from ebc-aixlib-bot. Push new created whitelists." - push_model=$(git ls-files --others --exclude-standard --directory dymola-ci-tests) - git add $push_model - git commit -m "$message" - git push --force git@github.com:$Github_Repository.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ except: refs: - external_pull_requests artifacts: paths: - dymola-ci-tests expire_in: 7h \ No newline at end of file +stages: - build_ci_whitelist CI_Whitelist_Setting: stage: build_ci_whitelist before_script: - source activate myenv - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir build_whitelist - cd build_whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen/CITests/CI_Configuration/configuration.py create-whitelist - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --simulate-examples - message="CI message from ebc-aixlib-bot. Push new created whitelists." - push_model=$(git ls-files --others --exclude-standard --directory dymola-ci-tests) - git add $push_model - git commit -m "$message" - git push --force git@github.com:$Github_Repository.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ except: refs: - external_pull_requests artifacts: paths: - dymola-ci-tests expire_in: 7h \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml b/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml index 711548d0..25f50fdf 100644 --- a/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml +++ b/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml @@ -1 +1 @@ -stages: - HTML_Check - create_html_whitelist - open_PR variables: Praefix_Branch: correct_HTML_ Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME Correct_check_HTML: stage: HTML_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\SyntaxTests\html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ Open_Pull_HTML_Request: stage: open_PR before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install requests toml - export PYTHONIOENCODING=utf-8 # just in case - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\api_script\api_github.py --github-repo $Github_Repository --working-branch $CI_COMMIT_REF_NAME --github-token $GITHUB_API_TOKEN --create-pr --correct-html except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ HTML_PR_Checks: stage: HTML_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\SyntaxTests\html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main HTML_Check: stage: HTML_Check before_script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\SyntaxTests\html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/MoCITempGen ; python MoCITempGen\CITests\SyntaxTests\html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; echo $message; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ CI_HTML_Check: stage: HTML_Check before_script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\SyntaxTests\html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/MoCITempGen ; python MoCITempGen\CITests\SyntaxTests\html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: variables: - $CI_COMMIT_MESSAGE =~ /ci_html/ html_whitelist_job: stage: create_html_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen ; - python MoCITempGen\CITests\SyntaxTests\html_tidy_errors.py --whitelist - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - git add dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt - git commit -m "$message" - git push git@github.com:$Github_Repository.git artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ except: refs: - external_pull_requests \ No newline at end of file +stages: - HTML_Check - create_html_whitelist - open_PR variables: Praefix_Branch: correct_HTML_ Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME Correct_check_HTML: stage: HTML_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ Open_Pull_HTML_Request: stage: open_PR before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install requests toml - export PYTHONIOENCODING=utf-8 # just in case - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/api_script/api_github.py --github-repo $Github_Repository --working-branch $CI_COMMIT_REF_NAME --github-token $GITHUB_API_TOKEN --create-pr --correct-html except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ HTML_PR_Checks: stage: HTML_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main HTML_Check: stage: HTML_Check before_script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/MoCITempGen ; python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; echo $message; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ CI_HTML_Check: stage: HTML_Check before_script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/MoCITempGen ; python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: variables: - $CI_COMMIT_MESSAGE =~ /ci_html/ html_whitelist_job: stage: create_html_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen ; - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - git add dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt - git commit -m "$message" - git push git@github.com:$Github_Repository.git artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml b/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml index c9d808aa..905ff8c8 100644 --- a/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml +++ b/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml @@ -1 +1 @@ -stages: - Style_check Style_Check_AixLib: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7 day allow_failure: true only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Development_Style_Check: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\SyntaxTests\StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: refs: - main CI_Style_Check: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\SyntaxTests\StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: variables: - $CI_COMMIT_MESSAGE =~ /ci_style_check/ except: refs: - external_pull_requests Style_Check_ChangedModel: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - (git diff --raw --diff-filter=AMT HEAD^1) > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen\CITests\SyntaxTests\StyleChecking.py -s BESMod -p BESMod/package.mo -CM -DS 2022 only: changes: - BESMod/**/* except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html - dymola-ci-tests/Configfiles/ci_changed_model_list.txt expire_in: 7h allow_failure: true \ No newline at end of file +stages: - Style_check Style_Check_AixLib: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7 day allow_failure: true only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Development_Style_Check: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: refs: - main CI_Style_Check: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: variables: - $CI_COMMIT_MESSAGE =~ /ci_style_check/ except: refs: - external_pull_requests Style_Check_ChangedModel: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - (git diff --raw --diff-filter=AMT HEAD^1) > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -CM -DS 2022 only: changes: - BESMod/**/* except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html - dymola-ci-tests/Configfiles/ci_changed_model_list.txt expire_in: 7h allow_failure: true \ No newline at end of file From dc5c8d2a9356f2ff6f46afb980f411fa38dbeabd Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Thu, 7 Dec 2023 14:00:09 +0100 Subject: [PATCH 008/125] posix --- dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml index 12611742..5853c712 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml @@ -1 +1 @@ -stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen\CITests\CI_Configuration\configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - xvfb-run -n 77 python MoCITempGen\CITests\UnitTests\CheckPackages\validatetest.py -DS 2022 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file +stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file From 9b57ce71a2fc6af52fd5c9955d14f359c0265666 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Thu, 7 Dec 2023 14:03:41 +0100 Subject: [PATCH 009/125] update gitlab-ci --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4980b8ca..fdf7c2fc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1 +1 @@ -image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - check_setting - build_templates - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist - HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file +image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist - HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file From a1e75eb0cba5d2f5f9f4903d2688ec0673803a86 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Thu, 7 Dec 2023 14:19:53 +0100 Subject: [PATCH 010/125] fix path --- dymola-ci-tests/ci_templates/UnitTests/regression_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml index b1521ee6..18ae47bd 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml @@ -1 +1 @@ -stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - git clone https://github.com/RWTH-EBC/MoCITempGen - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 script: - cd BESMod && xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/reference_check.py --coverage-only artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install xdg-utils --fix-missing -y - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - export PYTHONIOENCODING=utf-8 - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen/CITests/CI_Configuration/configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen/CITests/Converter/google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file +stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - git clone https://github.com/RWTH-EBC/MoCITempGen - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --coverage-only artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install xdg-utils --fix-missing -y - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - export PYTHONIOENCODING=utf-8 - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen/CITests/CI_Configuration/configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen/CITests/Converter/google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file From fffed816618d68bbb0a1b7c7f60cbc71536292d5 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Thu, 7 Dec 2023 14:28:13 +0100 Subject: [PATCH 011/125] Disable html check --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fdf7c2fc..dd7da552 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1 +1 @@ -image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist - HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file +image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist #- HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file From 5f071cd061facdbe973af604c2d977810117e715 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Thu, 7 Dec 2023 14:31:23 +0100 Subject: [PATCH 012/125] Disable html check --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dd7da552..028c6921 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1 +1 @@ -image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist #- HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file +image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist #- HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' #- 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file From f183e2596734dc998f29be27ad99071f978acda3 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Thu, 7 Dec 2023 17:35:20 +0100 Subject: [PATCH 013/125] Add new scripts --- .gitlab-ci.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/check_model.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/regression_test.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml | 2 +- .../ci_templates/cleanupscript/ci_build_whitelist.yml | 2 +- dymola-ci-tests/ci_templates/deploy/create_CI_path.yml | 2 +- dymola-ci-tests/ci_templates/syntaxtest/html_check.yml | 2 +- dymola-ci-tests/ci_templates/syntaxtest/style_check.yml | 2 +- dymola-ci-tests/ci_templates/utilities.yml | 1 + 9 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 dymola-ci-tests/ci_templates/utilities.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 028c6921..07ef9a28 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1 +1 @@ -image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist #- HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' #- 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file +image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist #- HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' #- 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' - 'dymola-ci-tests/ci_templates/utilities.yml' \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml index fef48604..67ba835f 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml @@ -1 +1 @@ -stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'utilities.yml' stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --startup-mos startup.mos after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml index 18ae47bd..def07d91 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml @@ -1 +1 @@ -stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - git clone https://github.com/RWTH-EBC/MoCITempGen - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --coverage-only artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install xdg-utils --fix-missing -y - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - export PYTHONIOENCODING=utf-8 - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen/CITests/CI_Configuration/configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen/CITests/Converter/google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file +include: 'utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../MoCITempGen/CITests/CI_Configuration/configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen/CITests/Converter/google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml index 5853c712..164002f7 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml @@ -1 +1 @@ -stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'utilities.yml' stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml b/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml index d14a6257..6335884d 100644 --- a/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml +++ b/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml @@ -1 +1 @@ -stages: - build_ci_whitelist CI_Whitelist_Setting: stage: build_ci_whitelist before_script: - source activate myenv - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir build_whitelist - cd build_whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen/CITests/CI_Configuration/configuration.py create-whitelist - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --simulate-examples - message="CI message from ebc-aixlib-bot. Push new created whitelists." - push_model=$(git ls-files --others --exclude-standard --directory dymola-ci-tests) - git add $push_model - git commit -m "$message" - git push --force git@github.com:$Github_Repository.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ except: refs: - external_pull_requests artifacts: paths: - dymola-ci-tests expire_in: 7h \ No newline at end of file +include: 'utilities.yml' stages: - build_ci_whitelist CI_Whitelist_Setting: stage: build_ci_whitelist before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - mkdir build_whitelist - cd build_whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../MoCITempGen/CITests/CI_Configuration/configuration.py create-whitelist - python ../MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --simulate-examples - message="CI message from ebc-aixlib-bot. Push new created whitelists." - push_model=$(git ls-files --others --exclude-standard --directory dymola-ci-tests) - git add $push_model - git commit -m "$message" - git push --force git@github.com:$Github_Repository.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ except: refs: - external_pull_requests artifacts: paths: - dymola-ci-tests expire_in: 7h \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/deploy/create_CI_path.yml b/dymola-ci-tests/ci_templates/deploy/create_CI_path.yml index be1214cf..60f2e736 100644 --- a/dymola-ci-tests/ci_templates/deploy/create_CI_path.yml +++ b/dymola-ci-tests/ci_templates/deploy/create_CI_path.yml @@ -1 +1 @@ -stages: - build_ci_structure create_ci_structure_job: stage: build_ci_structure before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install natsort toml - export PYTHONIOENCODING=utf-8 # just in case - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen - python MoCITempGen/CITests/CleanUp/structure_check.py after_script: - cd $CI_PROJECT_NAME - message="CI message from ebc-aixlib-bot. Add files for ci structure" ; - git add /dymola-ci-tests ; - git commit -m "$message"; - git push git@github.com:$Github_Repository.git ; only: variables: - $CI_COMMIT_MESSAGE =~/ci_build_structure/ retry: max: 2 when: runner_system_failure artifacts: when: on_failure paths: - dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt - dymola-ci-tests\ci_whitelist\ci_html_whitelist.txt - dymola-ci-tests\interact_CI\show_ref.txt - dymola-ci-tests\interact_CI\update_ref.txt - dymola-ci-tests\ci_whitelist\ci_reference_check_whitelist.txt expire_in: 7h \ No newline at end of file +include: 'utilities.yml' stages: - build_ci_structure create_ci_structure_job: stage: build_ci_structure before_script: - !reference [.clone_ci_templates, script] - !reference [.github_ssh_auth, script] script: - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../MoCITempGen/CITests/CleanUp/structure_check.py after_script: - cd $CI_PROJECT_NAME - message="CI message from ebc-aixlib-bot. Add files for ci structure" ; - git add /dymola-ci-tests ; - git commit -m "$message"; - git push git@github.com:$Github_Repository.git ; only: variables: - $CI_COMMIT_MESSAGE =~/ci_build_structure/ retry: max: 2 when: runner_system_failure artifacts: when: on_failure paths: - dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt - dymola-ci-tests\ci_whitelist\ci_html_whitelist.txt - dymola-ci-tests\interact_CI\show_ref.txt - dymola-ci-tests\interact_CI\update_ref.txt - dymola-ci-tests\ci_whitelist\ci_reference_check_whitelist.txt expire_in: 7h \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml b/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml index 25f50fdf..8a2db994 100644 --- a/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml +++ b/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml @@ -1 +1 @@ -stages: - HTML_Check - create_html_whitelist - open_PR variables: Praefix_Branch: correct_HTML_ Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME Correct_check_HTML: stage: HTML_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ Open_Pull_HTML_Request: stage: open_PR before_script: - source activate myenv - pip install --upgrade pip && apt-get update -y && apt-get install zip unzip -y - pip install requests toml - export PYTHONIOENCODING=utf-8 # just in case - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/api_script/api_github.py --github-repo $Github_Repository --working-branch $CI_COMMIT_REF_NAME --github-token $GITHUB_API_TOKEN --create-pr --correct-html except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ HTML_PR_Checks: stage: HTML_Check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 # just in case - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main HTML_Check: stage: HTML_Check before_script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/MoCITempGen ; python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; echo $message; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ CI_HTML_Check: stage: HTML_Check before_script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/MoCITempGen ; python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: variables: - $CI_COMMIT_MESSAGE =~ /ci_html/ html_whitelist_job: stage: create_html_whitelist before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - git clone https://github.com/RWTH-EBC/MoCITempGen ; - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - git add dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt - git commit -m "$message" - git push git@github.com:$Github_Repository.git artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'utilities.yml' stages: - HTML_Check - create_html_whitelist - open_PR variables: Praefix_Branch: correct_HTML_ Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME Correct_check_HTML: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ Open_Pull_HTML_Request: stage: open_PR before_script: - apt-get update -y && apt-get install zip unzip -y - !reference [.clone_ci_templates, script] - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - python MoCITempGen/CITests/api_script/api_github.py --github-repo $Github_Repository --working-branch $CI_COMMIT_REF_NAME --github-token $GITHUB_API_TOKEN --create-pr --correct-html except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ HTML_PR_Checks: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/MoCITempGen ; python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; echo $message; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ CI_HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/MoCITempGen ; python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: variables: - $CI_COMMIT_MESSAGE =~ /ci_html/ html_whitelist_job: stage: create_html_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - git add dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt - git commit -m "$message" - git push git@github.com:$Github_Repository.git artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml b/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml index 905ff8c8..c906fefb 100644 --- a/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml +++ b/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml @@ -1 +1 @@ -stages: - Style_check Style_Check_AixLib: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7 day allow_failure: true only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Development_Style_Check: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: refs: - main CI_Style_Check: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: variables: - $CI_COMMIT_MESSAGE =~ /ci_style_check/ except: refs: - external_pull_requests Style_Check_ChangedModel: stage: Style_check before_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - (git diff --raw --diff-filter=AMT HEAD^1) > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -CM -DS 2022 only: changes: - BESMod/**/* except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html - dymola-ci-tests/Configfiles/ci_changed_model_list.txt expire_in: 7h allow_failure: true \ No newline at end of file +include: 'utilities.yml' stages: - Style_check Style_Check_AixLib: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7 day allow_failure: true only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Development_Style_Check: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: refs: - main CI_Style_Check: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: variables: - $CI_COMMIT_MESSAGE =~ /ci_style_check/ except: refs: - external_pull_requests Style_Check_ChangedModel: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - (git diff --raw --diff-filter=AMT HEAD^1) > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -CM -DS 2022 --startup-mos startup.mos only: changes: - BESMod/**/* except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html - dymola-ci-tests/Configfiles/ci_changed_model_list.txt expire_in: 7h allow_failure: true \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/utilities.yml b/dymola-ci-tests/ci_templates/utilities.yml new file mode 100644 index 00000000..1fb3c093 --- /dev/null +++ b/dymola-ci-tests/ci_templates/utilities.yml @@ -0,0 +1 @@ +# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file From 0e04c05dea245aff287a89dd8c46fa5b9dd1783f Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Thu, 7 Dec 2023 17:37:20 +0100 Subject: [PATCH 014/125] Move file to top level --- .gitlab-ci.yml | 2 +- dymola-ci-tests/ci_templates/utilities.yml => utilities.yml | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename dymola-ci-tests/ci_templates/utilities.yml => utilities.yml (100%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 07ef9a28..d315fa24 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1 +1 @@ -image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist #- HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' #- 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' - 'dymola-ci-tests/ci_templates/utilities.yml' \ No newline at end of file +image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda stages: - Ref_Check - create_html_whitelist - create_model_whitelist - create_example_whitelist #- HTML_Check - Style_check - model_check - simulate - RegressionTest - plot_ref - prepare - open_PR - build_ci_structure - deploy - build_ci_whitelist variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - 'dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml' - 'dymola-ci-tests/ci_templates/deploy/create_CI_path.yml' - 'dymola-ci-tests/ci_templates/deploy/gitlab_pages.yml' #- 'dymola-ci-tests/ci_templates/syntaxtest/html_check.yml' - 'dymola-ci-tests/ci_templates/syntaxtest/style_check.yml' - 'dymola-ci-tests/ci_templates/UnitTests/check_model.yml' - 'dymola-ci-tests/ci_templates/UnitTests/regression_test.yml' - 'dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml' \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/utilities.yml b/utilities.yml similarity index 100% rename from dymola-ci-tests/ci_templates/utilities.yml rename to utilities.yml From 92f1aefff7135e6c69d961d6b5376ebd16cc049d Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Thu, 7 Dec 2023 17:46:16 +0100 Subject: [PATCH 015/125] fix path --- dymola-ci-tests/ci_templates/UnitTests/regression_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml index def07d91..debdd52c 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml @@ -1 +1 @@ -include: 'utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../MoCITempGen/CITests/CI_Configuration/configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen/CITests/Converter/google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file +include: 'utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../../MoCITempGen/CITests/CI_Configuration/configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen/CITests/Converter/google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file From a6479d50b7876b46d04dcb9c94756cb765c356ef Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Thu, 7 Dec 2023 17:49:35 +0100 Subject: [PATCH 016/125] fix p --- dymola-ci-tests/ci_templates/UnitTests/regression_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml index debdd52c..540a92cd 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml @@ -1 +1 @@ -include: 'utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../../MoCITempGen/CITests/CI_Configuration/configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen/CITests/Converter/google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file +include: 'utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../../MoCITempGen/CITests/CI_Configuration/configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python ../../MoCITempGen/CITests/UnitTests/reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen/CITests/Converter/google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file From 6a33de46977571ea4e0fbcffef33258347656a18 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Fri, 8 Dec 2023 07:42:07 +0100 Subject: [PATCH 017/125] install custom dependencies --- utilities.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities.yml b/utilities.yml index 1fb3c093..9caf7c59 100644 --- a/utilities.yml +++ b/utilities.yml @@ -1 +1 @@ -# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file +# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen .custom_install_additional_modelica_libraries: script: - python install_dependencies.py full \ No newline at end of file From 053afe10090f3ab6f1589b2e8efc3c35c043ad87 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Fri, 8 Dec 2023 08:18:53 +0100 Subject: [PATCH 018/125] fix path --- dymola-ci-tests/ci_templates/UnitTests/regression_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml index 540a92cd..58b99dcc 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml @@ -1 +1 @@ -include: 'utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../../MoCITempGen/CITests/CI_Configuration/configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python ../../MoCITempGen/CITests/UnitTests/reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen/CITests/Converter/google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file +include: 'utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../../MoCITempGen/CITests/CI_Configuration/configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python ../../../MoCITempGen/CITests/UnitTests/reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen/CITests/Converter/google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file From 64b730896cc848af85204f65249beb9d2bdf2c0b Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Fri, 8 Dec 2023 09:31:29 +0100 Subject: [PATCH 019/125] update ymls --- dymola-ci-tests/ci_templates/UnitTests/check_model.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/regression_test.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml | 2 +- .../ci_templates/cleanupscript/ci_build_whitelist.yml | 2 +- dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml | 1 + dymola-ci-tests/ci_templates/deploy/create_CI_path.yml | 2 +- dymola-ci-tests/ci_templates/syntaxtest/html_check.yml | 2 +- dymola-ci-tests/ci_templates/syntaxtest/style_check.yml | 2 +- dymola-ci-tests/ci_templates/utilities.yml | 1 + 9 files changed, 9 insertions(+), 7 deletions(-) create mode 100644 dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml create mode 100644 dymola-ci-tests/ci_templates/utilities.yml diff --git a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml index 67ba835f..3d963ffc 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml @@ -1 +1 @@ -include: 'utilities.yml' stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --startup-mos startup.mos after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --startup-mos startup.mos after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml index 58b99dcc..583600a8 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml @@ -1 +1 @@ -include: 'utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../../MoCITempGen/CITests/CI_Configuration/configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python ../../../MoCITempGen/CITests/UnitTests/reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen/CITests/Converter/google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../../MoCITempGen/CITests/CI_Configuration/configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python ../../../MoCITempGen/CITests/UnitTests/reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen/CITests/Converter/google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml index 164002f7..88b8901c 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml @@ -1 +1 @@ -include: 'utilities.yml' stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml b/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml index 6335884d..a481f05b 100644 --- a/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml +++ b/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml @@ -1 +1 @@ -include: 'utilities.yml' stages: - build_ci_whitelist CI_Whitelist_Setting: stage: build_ci_whitelist before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - mkdir build_whitelist - cd build_whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../MoCITempGen/CITests/CI_Configuration/configuration.py create-whitelist - python ../MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --simulate-examples - message="CI message from ebc-aixlib-bot. Push new created whitelists." - push_model=$(git ls-files --others --exclude-standard --directory dymola-ci-tests) - git add $push_model - git commit -m "$message" - git push --force git@github.com:$Github_Repository.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ except: refs: - external_pull_requests artifacts: paths: - dymola-ci-tests expire_in: 7h \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - build_ci_whitelist CI_Whitelist_Setting: stage: build_ci_whitelist before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - mkdir build_whitelist - cd build_whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../MoCITempGen/CITests/CI_Configuration/configuration.py create-whitelist - python ../MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --simulate-examples - message="CI message from ebc-aixlib-bot. Push new created whitelists." - push_model=$(git ls-files --others --exclude-standard --directory dymola-ci-tests) - git add $push_model - git commit -m "$message" - git push --force git@github.com:$Github_Repository.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ except: refs: - external_pull_requests artifacts: paths: - dymola-ci-tests expire_in: 7h \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml b/dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml new file mode 100644 index 00000000..c69e4f18 --- /dev/null +++ b/dymola-ci-tests/ci_templates/cleanupscript/ci_setting.yml @@ -0,0 +1 @@ +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - check_setting - build_templates Test_CI_Setting: stage: check_setting before_script: - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/CleanUp/setting_check.py --github-private-key $GITHUB_PRIVATE_KEY --github-token $GITHUB_API_TOKEN only: variables: - $CI_COMMIT_MESSAGE =~ /ci_setting/ except: refs: - external_pull_requests Create_templates: stage: build_templates before_script: - !reference [.clone_ci_templates, script] - !reference [.github_ssh_auth, script] script: - mkdir build_template && cd build_template - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python MoCITempGen/CITests/ci_templates/ci_templates.py --setting - message="CI message from ebc-aixlib-bot. Automatic push of CI with new created CI templates. Please pull the new files before push again." - git add . - git commit -m "$message" - git push git@github.com:$Github_Repository.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_setting/ except: refs: - external_pull_requests artifacts: when: always paths: - build_template/dymola-ci-tests\ci_templates/* \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/deploy/create_CI_path.yml b/dymola-ci-tests/ci_templates/deploy/create_CI_path.yml index 60f2e736..fb3331c1 100644 --- a/dymola-ci-tests/ci_templates/deploy/create_CI_path.yml +++ b/dymola-ci-tests/ci_templates/deploy/create_CI_path.yml @@ -1 +1 @@ -include: 'utilities.yml' stages: - build_ci_structure create_ci_structure_job: stage: build_ci_structure before_script: - !reference [.clone_ci_templates, script] - !reference [.github_ssh_auth, script] script: - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../MoCITempGen/CITests/CleanUp/structure_check.py after_script: - cd $CI_PROJECT_NAME - message="CI message from ebc-aixlib-bot. Add files for ci structure" ; - git add /dymola-ci-tests ; - git commit -m "$message"; - git push git@github.com:$Github_Repository.git ; only: variables: - $CI_COMMIT_MESSAGE =~/ci_build_structure/ retry: max: 2 when: runner_system_failure artifacts: when: on_failure paths: - dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt - dymola-ci-tests\ci_whitelist\ci_html_whitelist.txt - dymola-ci-tests\interact_CI\show_ref.txt - dymola-ci-tests\interact_CI\update_ref.txt - dymola-ci-tests\ci_whitelist\ci_reference_check_whitelist.txt expire_in: 7h \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - build_ci_structure create_ci_structure_job: stage: build_ci_structure before_script: - !reference [.clone_ci_templates, script] - !reference [.github_ssh_auth, script] script: - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../MoCITempGen/CITests/CleanUp/structure_check.py after_script: - cd $CI_PROJECT_NAME - message="CI message from ebc-aixlib-bot. Add files for ci structure" ; - git add /dymola-ci-tests ; - git commit -m "$message"; - git push git@github.com:$Github_Repository.git ; only: variables: - $CI_COMMIT_MESSAGE =~/ci_build_structure/ retry: max: 2 when: runner_system_failure artifacts: when: on_failure paths: - dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt - dymola-ci-tests\ci_whitelist\ci_html_whitelist.txt - dymola-ci-tests\interact_CI\show_ref.txt - dymola-ci-tests\interact_CI\update_ref.txt - dymola-ci-tests\ci_whitelist\ci_reference_check_whitelist.txt expire_in: 7h \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml b/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml index 8a2db994..0a63ac4c 100644 --- a/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml +++ b/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml @@ -1 +1 @@ -include: 'utilities.yml' stages: - HTML_Check - create_html_whitelist - open_PR variables: Praefix_Branch: correct_HTML_ Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME Correct_check_HTML: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ Open_Pull_HTML_Request: stage: open_PR before_script: - apt-get update -y && apt-get install zip unzip -y - !reference [.clone_ci_templates, script] - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - python MoCITempGen/CITests/api_script/api_github.py --github-repo $Github_Repository --working-branch $CI_COMMIT_REF_NAME --github-token $GITHUB_API_TOKEN --create-pr --correct-html except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ HTML_PR_Checks: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/MoCITempGen ; python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; echo $message; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ CI_HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/MoCITempGen ; python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: variables: - $CI_COMMIT_MESSAGE =~ /ci_html/ html_whitelist_job: stage: create_html_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - git add dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt - git commit -m "$message" - git push git@github.com:$Github_Repository.git artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - HTML_Check - create_html_whitelist - open_PR variables: Praefix_Branch: correct_HTML_ Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME Correct_check_HTML: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ Open_Pull_HTML_Request: stage: open_PR before_script: - apt-get update -y && apt-get install zip unzip -y - !reference [.clone_ci_templates, script] - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - python MoCITempGen/CITests/api_script/api_github.py --github-repo $Github_Repository --working-branch $CI_COMMIT_REF_NAME --github-token $GITHUB_API_TOKEN --create-pr --correct-html except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ HTML_PR_Checks: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/ModelicaPyCI ; python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; echo $message; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ CI_HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/ModelicaPyCI ; python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: variables: - $CI_COMMIT_MESSAGE =~ /ci_html/ html_whitelist_job: stage: create_html_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - git add dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt - git commit -m "$message" - git push git@github.com:$Github_Repository.git artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml b/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml index c906fefb..793618f0 100644 --- a/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml +++ b/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml @@ -1 +1 @@ -include: 'utilities.yml' stages: - Style_check Style_Check_AixLib: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7 day allow_failure: true only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Development_Style_Check: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: refs: - main CI_Style_Check: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: variables: - $CI_COMMIT_MESSAGE =~ /ci_style_check/ except: refs: - external_pull_requests Style_Check_ChangedModel: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - (git diff --raw --diff-filter=AMT HEAD^1) > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -CM -DS 2022 --startup-mos startup.mos only: changes: - BESMod/**/* except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html - dymola-ci-tests/Configfiles/ci_changed_model_list.txt expire_in: 7h allow_failure: true \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - Style_check Style_Check_AixLib: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7 day allow_failure: true only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Development_Style_Check: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: refs: - main CI_Style_Check: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: variables: - $CI_COMMIT_MESSAGE =~ /ci_style_check/ except: refs: - external_pull_requests Style_Check_ChangedModel: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - (git diff --raw --diff-filter=AMT HEAD^1) > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -CM -DS 2022 --startup-mos startup.mos only: changes: - BESMod/**/* except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html - dymola-ci-tests/Configfiles/ci_changed_model_list.txt expire_in: 7h allow_failure: true \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/utilities.yml b/dymola-ci-tests/ci_templates/utilities.yml new file mode 100644 index 00000000..20552b69 --- /dev/null +++ b/dymola-ci-tests/ci_templates/utilities.yml @@ -0,0 +1 @@ +# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/ModelicaPyCI - pip install -e MoCITempGen .custom_install_additional_modelica_libraries: script: - python install_dependencies.py full \ No newline at end of file From d69e7ec0bf53b0182b600e4c3b1c616efd8c2f55 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Fri, 8 Dec 2023 09:33:31 +0100 Subject: [PATCH 020/125] rm utilities.yml --- utilities.yml | 1 - 1 file changed, 1 deletion(-) delete mode 100644 utilities.yml diff --git a/utilities.yml b/utilities.yml deleted file mode 100644 index 9caf7c59..00000000 --- a/utilities.yml +++ /dev/null @@ -1 +0,0 @@ -# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/MoCITempGen .custom_install_additional_modelica_libraries: script: - python install_dependencies.py full \ No newline at end of file From cfda7249b185b34c6232526e3556022d4ef8a9f1 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Fri, 8 Dec 2023 10:24:17 +0100 Subject: [PATCH 021/125] use python -m --- dymola-ci-tests/ci_templates/UnitTests/check_model.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/regression_test.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml | 2 +- .../ci_templates/cleanupscript/ci_build_whitelist.yml | 2 +- dymola-ci-tests/ci_templates/syntaxtest/html_check.yml | 2 +- dymola-ci-tests/ci_templates/syntaxtest/style_check.yml | 2 +- dymola-ci-tests/ci_templates/utilities.yml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml index 3d963ffc..8b8d8455 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml @@ -1 +1 @@ -include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --startup-mos startup.mos after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 -CM --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --startup-mos startup.mos after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml index 583600a8..c31ebf2e 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml @@ -1 +1 @@ -include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/reference_check.py -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python MoCITempGen/CITests/Converter/google_charts.py --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../../MoCITempGen/CITests/CI_Configuration/configuration.py --create-ref - cd BESMod && xvfb-run -n 77 python ../../../MoCITempGen/CITests/UnitTests/reference_check.py --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python MoCITempGen/CITests/Converter/google_charts.py --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/Converter/google_charts.py --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python MoCITempGen/CITests/api_script/api_github.py --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python -m ModelicaPyCI.structure.config_structure --create-ref - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python -m ModelicaPyCI.converter.google_charts --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml index 88b8901c..ffd16606 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml @@ -1 +1 @@ -include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py --single-package $lib_package --library BESMod -DS 2022 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest -DS 2022 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml b/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml index a481f05b..88ee603a 100644 --- a/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml +++ b/dymola-ci-tests/ci_templates/cleanupscript/ci_build_whitelist.yml @@ -1 +1 @@ -include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - build_ci_whitelist CI_Whitelist_Setting: stage: build_ci_whitelist before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - mkdir build_whitelist - cd build_whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../MoCITempGen/CITests/CI_Configuration/configuration.py create-whitelist - python ../MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist - xvfb-run -n 77 python ../MoCITempGen/CITests/UnitTests/CheckPackages/validatetest.py -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --simulate-examples - message="CI message from ebc-aixlib-bot. Push new created whitelists." - push_model=$(git ls-files --others --exclude-standard --directory dymola-ci-tests) - git add $push_model - git commit -m "$message" - git push --force git@github.com:$Github_Repository.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ except: refs: - external_pull_requests artifacts: paths: - dymola-ci-tests expire_in: 7h \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - build_ci_whitelist CI_Whitelist_Setting: stage: build_ci_whitelist before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - mkdir build_whitelist - cd build_whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python -m ModelicaPyCI.structure.config_structure create-whitelist - python -m ModelicaPyCI.syntax.html_tidy --whitelist - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --simulate-examples - message="CI message from ebc-aixlib-bot. Push new created whitelists." - push_model=$(git ls-files --others --exclude-standard --directory dymola-ci-tests) - git add $push_model - git commit -m "$message" - git push --force git@github.com:$Github_Repository.git only: variables: - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ except: refs: - external_pull_requests artifacts: paths: - dymola-ci-tests expire_in: 7h \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml b/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml index 0a63ac4c..f65dd9be 100644 --- a/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml +++ b/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml @@ -1 +1 @@ -include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - HTML_Check - create_html_whitelist - open_PR variables: Praefix_Branch: correct_HTML_ Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME Correct_check_HTML: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ Open_Pull_HTML_Request: stage: open_PR before_script: - apt-get update -y && apt-get install zip unzip -y - !reference [.clone_ci_templates, script] - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - python MoCITempGen/CITests/api_script/api_github.py --github-repo $Github_Repository --working-branch $CI_COMMIT_REF_NAME --github-token $GITHUB_API_TOKEN --create-pr --correct-html except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ HTML_PR_Checks: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/ModelicaPyCI ; python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; echo $message; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ CI_HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/ModelicaPyCI ; python MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: variables: - $CI_COMMIT_MESSAGE =~ /ci_html/ html_whitelist_job: stage: create_html_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python ../MoCITempGen/CITests/SyntaxTests/html_tidy_errors.py --whitelist - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - git add dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt - git commit -m "$message" - git push git@github.com:$Github_Repository.git artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - HTML_Check - create_html_whitelist - open_PR variables: Praefix_Branch: correct_HTML_ Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME Correct_check_HTML: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist artifacts: paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ Open_Pull_HTML_Request: stage: open_PR before_script: - apt-get update -y && apt-get install zip unzip -y - !reference [.clone_ci_templates, script] - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - python -m ModelicaPyCI.api_script.api_github --github-repo $Github_Repository --working-branch $CI_COMMIT_REF_NAME --github-token $GITHUB_API_TOKEN --create-pr --correct-html except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ HTML_PR_Checks: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/ModelicaPyCI ; python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; echo $message; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ CI_HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/ModelicaPyCI ; python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: variables: - $CI_COMMIT_MESSAGE =~ /ci_html/ html_whitelist_job: stage: create_html_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python -m ModelicaPyCI.syntax.html_tidy --whitelist - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - git add dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt - git commit -m "$message" - git push git@github.com:$Github_Repository.git artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml b/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml index 793618f0..27f78c78 100644 --- a/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml +++ b/dymola-ci-tests/ci_templates/syntaxtest/style_check.yml @@ -1 +1 @@ -include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - Style_check Style_Check_AixLib: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7 day allow_failure: true only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Development_Style_Check: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: refs: - main CI_Style_Check: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: variables: - $CI_COMMIT_MESSAGE =~ /ci_style_check/ except: refs: - external_pull_requests Style_Check_ChangedModel: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - python MoCITempGen/CITests/CI_Configuration/configuration.py --changed-model - (git diff --raw --diff-filter=AMT HEAD^1) > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python MoCITempGen/CITests/SyntaxTests/StyleChecking.py -s BESMod -p BESMod/package.mo -CM -DS 2022 --startup-mos startup.mos only: changes: - BESMod/**/* except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html - dymola-ci-tests/Configfiles/ci_changed_model_list.txt expire_in: 7h allow_failure: true \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - Style_check Style_Check_AixLib: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7 day allow_failure: true only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Development_Style_Check: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: refs: - main CI_Style_Check: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking -s BESMod -p BESMod/package.mo -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html expire_in: 7h allow_failure: true only: variables: - $CI_COMMIT_MESSAGE =~ /ci_style_check/ except: refs: - external_pull_requests Style_Check_ChangedModel: stage: Style_check before_script: - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.structure.config_structure --changed-model - (git diff --raw --diff-filter=AMT HEAD^1) > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking -s BESMod -p BESMod/package.mo -CM -DS 2022 --startup-mos startup.mos only: changes: - BESMod/**/* except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ artifacts: when: on_failure paths: - BESMod/BESMod_StyleCheckLog.html - dymola-ci-tests/Configfiles/ci_changed_model_list.txt expire_in: 7h allow_failure: true \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/utilities.yml b/dymola-ci-tests/ci_templates/utilities.yml index 20552b69..3e72e2a9 100644 --- a/dymola-ci-tests/ci_templates/utilities.yml +++ b/dymola-ci-tests/ci_templates/utilities.yml @@ -1 +1 @@ -# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/ModelicaPyCI - pip install -e MoCITempGen .custom_install_additional_modelica_libraries: script: - python install_dependencies.py full \ No newline at end of file +# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/ModelicaPyCI - pip install -e MoCITempGen .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file From 036fa03c5ca393aa6f194ec1b2492558194edc33 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Fri, 8 Dec 2023 10:43:55 +0100 Subject: [PATCH 022/125] use private gh --- dymola-ci-tests/ci_templates/syntaxtest/html_check.yml | 2 +- dymola-ci-tests/ci_templates/utilities.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml b/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml index f65dd9be..257002ae 100644 --- a/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml +++ b/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml @@ -1 +1 @@ -include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - HTML_Check - create_html_whitelist - open_PR variables: Praefix_Branch: correct_HTML_ Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME Correct_check_HTML: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist artifacts: paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ Open_Pull_HTML_Request: stage: open_PR before_script: - apt-get update -y && apt-get install zip unzip -y - !reference [.clone_ci_templates, script] - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - python -m ModelicaPyCI.api_script.api_github --github-repo $Github_Repository --working-branch $CI_COMMIT_REF_NAME --github-token $GITHUB_API_TOKEN --create-pr --correct-html except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ HTML_PR_Checks: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/ModelicaPyCI ; python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; echo $message; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ CI_HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/ModelicaPyCI ; python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: variables: - $CI_COMMIT_MESSAGE =~ /ci_html/ html_whitelist_job: stage: create_html_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python -m ModelicaPyCI.syntax.html_tidy --whitelist - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - git add dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt - git commit -m "$message" - git push git@github.com:$Github_Repository.git artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - HTML_Check - create_html_whitelist - open_PR variables: Praefix_Branch: correct_HTML_ Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME Correct_check_HTML: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist artifacts: paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ Open_Pull_HTML_Request: stage: open_PR before_script: - apt-get update -y && apt-get install zip unzip -y - !reference [.clone_ci_templates, script] - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - python -m ModelicaPyCI.api_script.api_github --github-repo $Github_Repository --working-branch $CI_COMMIT_REF_NAME --github-token $GITHUB_API_TOKEN --create-pr --correct-html except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ HTML_PR_Checks: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone git@github.com:RWTH-EBC/ModelicaPyCI.git ; python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; echo $message; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ CI_HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone git@github.com:RWTH-EBC/ModelicaPyCI.git ; python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: variables: - $CI_COMMIT_MESSAGE =~ /ci_html/ html_whitelist_job: stage: create_html_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python -m ModelicaPyCI.syntax.html_tidy --whitelist - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - git add dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt - git commit -m "$message" - git push git@github.com:$Github_Repository.git artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/utilities.yml b/dymola-ci-tests/ci_templates/utilities.yml index 3e72e2a9..d3dbf3c4 100644 --- a/dymola-ci-tests/ci_templates/utilities.yml +++ b/dymola-ci-tests/ci_templates/utilities.yml @@ -1 +1 @@ -# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/ModelicaPyCI - pip install -e MoCITempGen .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file +# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - !reference[.github_ssh_auth, script] - git clone git@github.com:RWTH-EBC/ModelicaPyCI.git - pip install -e MoCITempGen .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file From b94ce54f8882e87339ce2cc5b61385f91f0db0ed Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Fri, 8 Dec 2023 10:53:57 +0100 Subject: [PATCH 023/125] use ssh auth --- dymola-ci-tests/ci_templates/utilities.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dymola-ci-tests/ci_templates/utilities.yml b/dymola-ci-tests/ci_templates/utilities.yml index d3dbf3c4..d79aeafc 100644 --- a/dymola-ci-tests/ci_templates/utilities.yml +++ b/dymola-ci-tests/ci_templates/utilities.yml @@ -1 +1 @@ -# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - !reference[.github_ssh_auth, script] - git clone git@github.com:RWTH-EBC/ModelicaPyCI.git - pip install -e MoCITempGen .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file +# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 # TODO Remove once https://github.com/RWTH-EBC/ModelicaPyCI is public - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$MODELICA_PY_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - git clone git@github.com:RWTH-EBC/ModelicaPyCI.git - pip install -e MoCITempGen .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file From 95f917cb053003b7c826765c10d08775a28cfbc0 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Fri, 8 Dec 2023 10:57:33 +0100 Subject: [PATCH 024/125] use correct name --- dymola-ci-tests/ci_templates/utilities.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dymola-ci-tests/ci_templates/utilities.yml b/dymola-ci-tests/ci_templates/utilities.yml index d79aeafc..05d344e8 100644 --- a/dymola-ci-tests/ci_templates/utilities.yml +++ b/dymola-ci-tests/ci_templates/utilities.yml @@ -1 +1 @@ -# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 # TODO Remove once https://github.com/RWTH-EBC/ModelicaPyCI is public - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$MODELICA_PY_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - git clone git@github.com:RWTH-EBC/ModelicaPyCI.git - pip install -e MoCITempGen .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file +# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 # TODO Remove once https://github.com/RWTH-EBC/ModelicaPyCI is public - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$MODELICA_PY_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - git clone git@github.com:RWTH-EBC/ModelicaPyCI.git - pip install -e ModelicaPyCI .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file From e6028c66189708dd856537d3b9a54ede2b73520c Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Fri, 8 Dec 2023 12:41:04 +0100 Subject: [PATCH 025/125] new paths --- dymola-ci-tests/ci_templates/UnitTests/check_model.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/regression_test.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml index 8b8d8455..0bb647a1 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml @@ -1 +1 @@ -include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 -CM --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --startup-mos startup.mos after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 -CM --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] #- !reference [.github_ssh_auth, script] # TODO: Revert script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --startup-mos startup.mos after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml index c31ebf2e..abf72f5c 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml @@ -1 +1 @@ -include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python -m ModelicaPyCI.structure.config_structure --create-ref - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python -m ModelicaPyCI.converter.google_charts --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] #- !reference [.github_ssh_auth, script] # TODO-Revert - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python -m ModelicaPyCI.structure.config_structure --create-ref - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python -m ModelicaPyCI.converter.google_charts --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml index ffd16606..825f05d7 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml @@ -1 +1 @@ -include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest -DS 2022 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] #- !reference [.github_ssh_auth, script] # TODO: Revert script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest -DS 2022 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file From 4f56332f429872fed8b2e943f66e4dbb253effc1 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Mon, 11 Dec 2023 12:33:06 +0100 Subject: [PATCH 026/125] update utilities.yml --- dymola-ci-tests/ci_templates/utilities.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dymola-ci-tests/ci_templates/utilities.yml b/dymola-ci-tests/ci_templates/utilities.yml index 05d344e8..e0b7b9e6 100644 --- a/dymola-ci-tests/ci_templates/utilities.yml +++ b/dymola-ci-tests/ci_templates/utilities.yml @@ -1 +1 @@ -# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 # TODO Remove once https://github.com/RWTH-EBC/ModelicaPyCI is public - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$MODELICA_PY_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" - git clone git@github.com:RWTH-EBC/ModelicaPyCI.git - pip install -e ModelicaPyCI .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file +# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone git@github.com:RWTH-EBC/ModelicaPyCI.git - pip install -e ModelicaPyCI .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file From 364f38f856ca468af71aa05e2a9b140653f0d1ef Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Mon, 11 Dec 2023 12:37:05 +0100 Subject: [PATCH 027/125] use https --- dymola-ci-tests/ci_templates/syntaxtest/html_check.yml | 2 +- dymola-ci-tests/ci_templates/utilities.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml b/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml index 257002ae..f65dd9be 100644 --- a/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml +++ b/dymola-ci-tests/ci_templates/syntaxtest/html_check.yml @@ -1 +1 @@ -include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - HTML_Check - create_html_whitelist - open_PR variables: Praefix_Branch: correct_HTML_ Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME Correct_check_HTML: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist artifacts: paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ Open_Pull_HTML_Request: stage: open_PR before_script: - apt-get update -y && apt-get install zip unzip -y - !reference [.clone_ci_templates, script] - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - python -m ModelicaPyCI.api_script.api_github --github-repo $Github_Repository --working-branch $CI_COMMIT_REF_NAME --github-token $GITHUB_API_TOKEN --create-pr --correct-html except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ HTML_PR_Checks: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone git@github.com:RWTH-EBC/ModelicaPyCI.git ; python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; echo $message; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ CI_HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone git@github.com:RWTH-EBC/ModelicaPyCI.git ; python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: variables: - $CI_COMMIT_MESSAGE =~ /ci_html/ html_whitelist_job: stage: create_html_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python -m ModelicaPyCI.syntax.html_tidy --whitelist - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - git add dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt - git commit -m "$message" - git push git@github.com:$Github_Repository.git artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - HTML_Check - create_html_whitelist - open_PR variables: Praefix_Branch: correct_HTML_ Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME Correct_check_HTML: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist artifacts: paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ Open_Pull_HTML_Request: stage: open_PR before_script: - apt-get update -y && apt-get install zip unzip -y - !reference [.clone_ci_templates, script] - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" script: - python -m ModelicaPyCI.api_script.api_github --github-repo $Github_Repository --working-branch $CI_COMMIT_REF_NAME --github-token $GITHUB_API_TOKEN --create-pr --correct-html except: refs: - external_pull_requests only: refs: - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ HTML_PR_Checks: stage: HTML_Check before_script: - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/ModelicaPyCI ; python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; echo $message; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ CI_HTML_Check: stage: HTML_Check before_script: - !reference [.github_ssh_auth, script] - !reference [.clone_ci_templates, script] script: - python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-view --log --filter-whitelist after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - if cat dymola-ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion ; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; git clone https://github.com/RWTH-EBC/ModelicaPyCI ; python -m ModelicaPyCI.syntax.html_tidy --s BESMod --correct-overwrite --filter-whitelist --log; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod ; git commit -m "$message" ; git push --force git@github.com:$Github_Repository.git; wait ; exit 1; else exit 0; fi artifacts: when: on_failure paths: - BESMod/HTML_correct_log.txt - BESMod/HTML_error_log.txt expire_in: 7h except: refs: - external_pull_requests only: variables: - $CI_COMMIT_MESSAGE =~ /ci_html/ html_whitelist_job: stage: create_html_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python -m ModelicaPyCI.syntax.html_tidy --whitelist - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - git add dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt - git commit -m "$message" - git push git@github.com:$Github_Repository.git artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_html_whitelist.txt expire_in: 7 day only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/utilities.yml b/dymola-ci-tests/ci_templates/utilities.yml index e0b7b9e6..09fe121b 100644 --- a/dymola-ci-tests/ci_templates/utilities.yml +++ b/dymola-ci-tests/ci_templates/utilities.yml @@ -1 +1 @@ -# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone git@github.com:RWTH-EBC/ModelicaPyCI.git - pip install -e ModelicaPyCI .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file +# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/ModelicaPyCI - pip install -e ModelicaPyCI .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file From 9787e6cc9ed527b8054b5a1eb26a8acb26d6975a Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Mon, 11 Dec 2023 12:43:53 +0100 Subject: [PATCH 028/125] use ssh again for main repo --- dymola-ci-tests/ci_templates/UnitTests/check_model.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/regression_test.yml | 2 +- dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml index 0bb647a1..8b8d8455 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/check_model.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/check_model.yml @@ -1 +1 @@ -include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 -CM --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] #- !reference [.github_ssh_auth, script] # TODO: Revert script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --startup-mos startup.mos after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - model_check - create_model_whitelist .check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: - external_pull_requests retry: max: 2 when: runner_system_failure except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main Check_BESMod_Examples: variables: lib_package: Examples extends: .check_model_job Check_BESMod_Systems: variables: lib_package: Systems extends: .check_model_job Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .check_model_job Check_BESMod_Utilities: variables: lib_package: Utilities extends: .check_model_job .dev_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Check_BESMod_Examples: variables: lib_package: Examples extends: .dev_check_model_job Development_Check_BESMod_Systems: variables: lib_package: Systems extends: .dev_check_model_job Development_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_check_model_job Development_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_check_model_job .check_changed_models_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 -CM --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Check_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .check_changed_models_job Check_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .check_changed_models_job Check_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .check_changed_models_job Check_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .check_changed_models_job .CI_check_model_job: stage: model_check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_check/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Check_BESMod_Examples: variables: lib_package: Examples extends: .CI_check_model_job CI_Check_BESMod_Systems: variables: lib_package: Systems extends: .CI_check_model_job CI_Check_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_check_model_job CI_Check_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_check_model_job whitelist_job: stage: create_model_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest -DS 2022 --repo-dir BESMod --library BESMod --wh-library BESMod --whitelist --startup-mos startup.mos after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_check_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_check_whitelist.txt - whitelist/$CI_PROJECT_NAME/BESMod/BESMod-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ except: refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml index abf72f5c..c31ebf2e 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/regression_test.yml @@ -1 +1 @@ -include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] #- !reference [.github_ssh_auth, script] # TODO-Revert - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python -m ModelicaPyCI.structure.config_structure --create-ref - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python -m ModelicaPyCI.converter.google_charts --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - RegressionTest - Ref_Check - plot_ref - prepare .CI_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .CI_Regressiontest CI_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .CI_Regressiontest CI_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .CI_Regressiontest CI_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .CI_Regressiontest .dev_Regressiontest: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - main retry: max: 2 when: runner_system_failure Development_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .dev_Regressiontest Development_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .dev_Regressiontest Development_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .dev_Regressiontest Development_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .dev_Regressiontest CI_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ except: refs: - external_pull_requests when: on_failure needs: - job: CI_Regressiontest_BESMod_Examples artifacts: true - job: CI_Regressiontest_BESMod_Systems artifacts: true - job: CI_Regressiontest_BESMod_Tutorial artifacts: true - job: CI_Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package "$lib_package" --library BESMod --batch -DS 2022 --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip" ; source activate myenv ; pip install pandas mako matplot ; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package ; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!" ; fi artifacts: when: on_failure paths: - data expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_job Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_job Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_job Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_job Regression_overall_coverage: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --startup-mos startup.mos artifacts: when: on_failure paths: - BESMod/simulator-dymola.log - BESMod/unitTests-dymola.log expire_in: 7h only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure prepare_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --prepare-plot artifacts: paths: - $CI_COMMIT_REF_NAME/plots only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main when: on_failure needs: - job: Regressiontest_BESMod_Examples artifacts: true - job: Regressiontest_BESMod_Systems artifacts: true - job: Regressiontest_BESMod_Tutorial artifacts: true - job: Regressiontest_BESMod_Utilities artifacts: true .Regressiontest_changed_Job: stage: RegressionTest before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check -n 4 --tool dymola --single-package $lib_package --library BESMod --batch -DS 2022 -n 2 --modified-models --startup-mos startup.mos after_script: - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then export PIP_CACHE_DIR="/opt/cache/pip"; source activate myenv; pip install pandas mako matplot; mkdir -p data ; mkdir -p data/plots ; cp -r BESMod/simulator-dymola.log data ; cp -r BESMod/unitTests-dymola.log data ; cp -r BESMod/funnel_comp data ; python -m ModelicaPyCI.converter.google_charts --line-html --error --funnel-comp --single-package $lib_package; cp -r dymola-ci-tests/charts/$lib_package data/plots/$lib_package ; else echo "Test was successful!"; fi artifacts: when: on_failure paths: - data expire_in: 7h except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure Changed_Regressiontest_BESMod_Examples: variables: lib_package: BESMod.Examples extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Systems: variables: lib_package: BESMod.Systems extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Tutorial: variables: lib_package: BESMod.Tutorial extends: .Regressiontest_changed_Job Changed_Regressiontest_BESMod_Utilities: variables: lib_package: BESMod.Utilities extends: .Regressiontest_changed_Job Changed_create_plots: stage: prepare before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot requests toml script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --create-layout --library BESMod --single-package BESMod - cp -r data/plots/* $CI_COMMIT_REF_NAME/plots artifacts: paths: - $CI_COMMIT_REF_NAME/plots except: refs: - external_pull_requests - None_Merge - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: changes: - BESMod/**/* retry: max: 2 when: runner_system_failure when: on_failure needs: - job: Changed_Regressiontest_BESMod_Examples artifacts: true - job: Changed_Regressiontest_BESMod_Systems artifacts: true - job: Changed_Regressiontest_BESMod_Tutorial artifacts: true - job: Changed_Regressiontest_BESMod_Utilities artifacts: true RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - python -m ModelicaPyCI.structure.config_structure --create-ref - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref -DS 2022 -n 4 < ../dymola-ci-tests/Configfiles/EOF.sh --startup-mos startup.mos after_script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - export PYTHONIOENCODING=utf-8 - cd CorrectedVersion && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; echo $push_model ; (git ls-files --others --exclude-standard --directory BESMod) > dymola-ci-tests/Configfiles/ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files.Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/plots/" ; pip install pandas mako matplot; python -m ModelicaPyCI.converter.google_charts --line-html --new-ref --single-package BESMod ; mkdir -p ../../$CI_COMMIT_REF_NAME/plots ; mkdir -p ../../data ; mkdir -p ../../data/reference_result ; cp -r $(git ls-files --others --exclude-standard --directory BESMod) ../../data/reference_result ; cp -r BESMod/simulator-dymola.log ../../data ; cp -r BESMod/unitTests-dymola.log ../../data ; cp -r BESMod/funnel_comp ../../data ; cp -r dymola-ci-tests/charts/* ../../$CI_COMMIT_REF_NAME/plots ; git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; exit 1 ; else exit 0 ; fi artifacts: when: on_failure paths: - data - $CI_COMMIT_REF_NAME/plots expire_in: 7h except: refs: - None_Merge - main variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ only: - external_pull_requests plot_reference_results: stage: plot_ref before_script: - !reference [.clone_ci_templates, script] - apt-get update -y && apt-get install zip unzip -y - pip install pandas mako matplot toml requests script: - mkdir -p $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.converter.google_charts --line-html --show-ref --single-package BESMod --library BESMod - cp -r dymola-ci-tests/charts/* $CI_COMMIT_REF_NAME/plots - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot artifacts: when: always paths: - $CI_COMMIT_REF_NAME/plots only: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ refs: - external_pull_requests \ No newline at end of file diff --git a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml index 825f05d7..ffd16606 100644 --- a/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml +++ b/dymola-ci-tests/ci_templates/UnitTests/simulate_model.yml @@ -1 +1 @@ -include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] #- !reference [.github_ssh_auth, script] # TODO: Revert script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest -DS 2022 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file +include: 'dymola-ci-tests/ci_templates/utilities.yml' stages: - simulate - create_example_whitelist .CI_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_simulate/ except: refs: - external_pull_requests retry: max: 2 when: runner_system_failure CI_simulate_BESMod_Examples: variables: lib_package: Examples extends: .CI_simulate_model_job CI_simulate_BESMod_Systems: variables: lib_package: Systems extends: .CI_simulate_model_job CI_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .CI_simulate_model_job CI_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .CI_simulate_model_job .dev_simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - main except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure Development_simulate_BESMod_Examples: variables: lib_package: Examples extends: .dev_simulate_model_job Development_simulate_BESMod_Systems: variables: lib_package: Systems extends: .dev_simulate_model_job Development_simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .dev_simulate_model_job Development_simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .dev_simulate_model_job .simulate_model_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day only: refs: - external_pull_requests except: variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ refs: - main retry: max: 2 when: runner_system_failure simulate_BESMod_Examples: variables: lib_package: Examples extends: .simulate_model_job simulate_BESMod_Systems: variables: lib_package: Systems extends: .simulate_model_job simulate_BESMod_Tutorial: variables: lib_package: Tutorial extends: .simulate_model_job simulate_BESMod_Utilities: variables: lib_package: Utilities extends: .simulate_model_job .simulate_changed_models_job: stage: simulate before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - python -m ModelicaPyCI.structure.config_structure --changed-model - git diff --raw --diff-filter=AMT HEAD^1 > dymola-ci-tests/Configfiles/ci_changed_model_list.txt - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --single-package $lib_package --library BESMod -DS 2022 -CM --simulate-examples artifacts: when: on_failure paths: - BESMod/BESMod.$lib_package-log.txt - BESMod/BESMod.$lib_package-errorlog.txt expire_in: 7 day except: refs: - external_pull_requests - main - /^correct_HTML_.*$/ variables: - $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - $CI_COMMIT_MESSAGE =~ /ci_create_model_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_html_wh/ - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ - $CI_COMMIT_MESSAGE =~ /ci_simulate/ - $CI_COMMIT_MESSAGE =~ /ci_check/ - $CI_COMMIT_MESSAGE =~ /ci_regression_test/ - $CI_COMMIT_MESSAGE =~ /ci_html/ - $CI_COMMIT_MESSAGE =~ /ci_setting/ - $CI_COMMIT_MESSAGE =~ /ci_style_check/ - $CI_COMMIT_MESSAGE =~ /ci_trigger_ibpsa/ - $CI_COMMIT_MESSAGE =~ /ci_merge_except/ - $CI_COMMIT_MESSAGE =~ /ci_correct_html/ - $CI_COMMIT_MESSAGE =~ /ci_build_structure/ - $CI_COMMIT_MESSAGE =~ /ci_build_whitelist/ retry: max: 2 when: runner_system_failure simulate_BESMod_Examples_changed_models: variables: lib_package: Examples only: changes: - BESMod/Examples/**/* extends: .simulate_changed_models_job simulate_BESMod_Systems_changed_models: variables: lib_package: Systems only: changes: - BESMod/Systems/**/* extends: .simulate_changed_models_job simulate_BESMod_Tutorial_changed_models: variables: lib_package: Tutorial only: changes: - BESMod/Tutorial/**/* extends: .simulate_changed_models_job simulate_BESMod_Utilities_changed_models: variables: lib_package: Utilities only: changes: - BESMod/Utilities/**/* extends: .simulate_changed_models_job whitelist_example_job: stage: create_example_whitelist before_script: - !reference [.clone_ci_templates, script] - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest -DS 2022 --repo-dir None --library BESMod --wh-library None --whitelist --simulate-examples after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat dymola-ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file dymola-ci-tests\ci_whitelist\ci_simulate_whitelist.txt. Please pull the new files before push again." ; git add dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt ; git commit -m "$message" ; git push git@github.com:$Github_Repository.git ; GREEN='\033[0;32m' ; NC='\033[0m' ; echo -e "$GREEN New html whitelist files were pushed to this branch.$NC" ; exit 0; else echo -e "$GREEN Whitelist is already up to date. Please delete the version number in file dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt, if you want to recreate the whitelist.$NC" ; exit 0 ; fi artifacts: paths: - whitelist/$CI_PROJECT_NAME/dymola-ci-tests/ci_whitelist/ci_simulate_whitelist.txt - whitelist/$CI_PROJECT_NAME/None/None-errorlog.txt expire_in: 7h only: variables: - $CI_COMMIT_MESSAGE =~ /ci_create_example_wh/ except: refs: - external_pull_requests \ No newline at end of file From f13bee9ef0387076ba79cbdb96e2db966a2f6031 Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Tue, 12 Dec 2023 17:08:47 +0100 Subject: [PATCH 029/125] use test branch --- dymola-ci-tests/ci_templates/utilities.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dymola-ci-tests/ci_templates/utilities.yml b/dymola-ci-tests/ci_templates/utilities.yml index 09fe121b..55ef8733 100644 --- a/dymola-ci-tests/ci_templates/utilities.yml +++ b/dymola-ci-tests/ci_templates/utilities.yml @@ -1 +1 @@ -# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/ModelicaPyCI - pip install -e ModelicaPyCI .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file +# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/ModelicaPyCI - cd ModelicaPyCI && git checkout 2_pydantic_config && cd.. - pip install -e ModelicaPyCI .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file From 4a69deab81db2103f3c1ac5789068a7c4b9be0ae Mon Sep 17 00:00:00 2001 From: FWuellhorst Date: Tue, 12 Dec 2023 17:15:12 +0100 Subject: [PATCH 030/125] bb --- dymola-ci-tests/ci_templates/utilities.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dymola-ci-tests/ci_templates/utilities.yml b/dymola-ci-tests/ci_templates/utilities.yml index 55ef8733..418bbc6c 100644 --- a/dymola-ci-tests/ci_templates/utilities.yml +++ b/dymola-ci-tests/ci_templates/utilities.yml @@ -1 +1 @@ -# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/ModelicaPyCI - cd ModelicaPyCI && git checkout 2_pydantic_config && cd.. - pip install -e ModelicaPyCI .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file +# This file contains small scripts, rules or other templates # which can be referenced by other templates in this repo (or other repos as well). # Include the scripts using the `!reference` tag. .github_ssh_auth: script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - mkdir -p ~/.ssh - ssh-keyscan github.com >> ~/.ssh/known_hosts - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.name "$GITLAB_USER_NAME" - git config --global user.email "$GITLAB_USER_EMAIL" .clone_ci_templates: script: - export PIP_CACHE_DIR="/opt/cache/pip" - source activate myenv - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - git clone https://github.com/RWTH-EBC/ModelicaPyCI - cd ModelicaPyCI && git checkout 2_pydantic_config && cd .. - pip install -e ModelicaPyCI .custom_install_additional_modelica_libraries: script: - echo "Skipping custom installation of other Modelica libraries" \ No newline at end of file From 81b32cb2dbec390c06ecfc05e45f5f057e463180 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Sat, 15 Jun 2024 16:50:44 +0200 Subject: [PATCH 031/125] add new ci tests --- .gitlab-ci.yml | 2 + ci-tests/config/modelica_py_ci_config.toml | 46 +++ .../config/templates_generator_config.toml | 197 +++++++++++++ ci-tests/scripts/.gitlab-ci.yml | 37 +++ .../deploy/prepare_pages.gitlab-ci.yml | 20 ++ ci-tests/scripts/local_windows_test.bat | 25 ++ .../syntax_tests/html_check.gitlab-ci.yml | 97 +++++++ .../naming_guideline.gitlab-ci.yml | 29 ++ .../syntax_tests/style_check.gitlab-ci.yml | 50 ++++ .../unit_tests/check_OM_model.gitlab-ci.yml | 85 ++++++ .../unit_tests/check_model.gitlab-ci.yml | 123 ++++++++ .../unit_tests/regression_test.gitlab-ci.yml | 270 ++++++++++++++++++ .../simulate_OM_model.gitlab-ci.yml | 86 ++++++ .../unit_tests/simulate_model.gitlab-ci.yml | 122 ++++++++ ci-tests/scripts/utilities.yml | 52 ++++ 15 files changed, 1241 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 ci-tests/config/modelica_py_ci_config.toml create mode 100644 ci-tests/config/templates_generator_config.toml create mode 100644 ci-tests/scripts/.gitlab-ci.yml create mode 100644 ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml create mode 100644 ci-tests/scripts/local_windows_test.bat create mode 100644 ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml create mode 100644 ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml create mode 100644 ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml create mode 100644 ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml create mode 100644 ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml create mode 100644 ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml create mode 100644 ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml create mode 100644 ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml create mode 100644 ci-tests/scripts/utilities.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..3dbaa17e --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,2 @@ +include: + - 'ci-tests/scripts/.gitlab-ci.yml' diff --git a/ci-tests/config/modelica_py_ci_config.toml b/ci-tests/config/modelica_py_ci_config.toml new file mode 100644 index 00000000..d5226f95 --- /dev/null +++ b/ci-tests/config/modelica_py_ci_config.toml @@ -0,0 +1,46 @@ +library_root = "" +dir = "ci-tests" +naming_guideline_file = "naming_guideline.toml" + +[result] +dir = "result" +whitelist_dir = "ci_whitelist" +plot_dir = "charts" +syntax_dir = "syntax" +regression_dir = "regression" +check_result_dir = "Dymola_check" +naming_violation_file = "naming_violations.txt" +OM_check_result_dir = "OM_check" + +[ci_files] +dir = "Configfiles" +exit_file = "exit.sh" +new_create_ref_file = "ci_new_created_reference.txt" +changed_file = "ci_changed_model_list.txt" +ref_file = "ci_reference_list.txt" + +[whitelist] +dir = "whitelist" +dymola_check_file = "dymola_check_whitelist.txt" +dymola_simulate_file = "dymola_simulate_whitelist.txt" +ibpsa_file = "ibpsa_whitelist.txt" +dymola_reference_file = "dymola_reference_whitelist.txt" +om_check_file = "om_check_whitelist.txt" +om_simulate_file = "om_simulate_whitelist.txt" + +[artifacts] +dir = "artifacts" +library_ref_results_dir = "Resources/ReferenceResults/Dymola" +library_resource_dir = "Resources/Scripts/Dymola" + +[interact] +dir = "interact_CI" +show_ref_file = "show_ref.txt" +update_ref_file = "update_ref.txt" + +[plots] +chart_dir = "charts" +templates_chart_dir = "MoCITempGen/templates/google_templates" +templates_chart_file = "MoCITempGen/templates/google_templates/google_chart.txt" +templates_index_file = "MoCITempGen/templates/google_templates/index.txt" +templates_layout_file = "MoCITempGen/templates/google_templates/layout_index.txt" diff --git a/ci-tests/config/templates_generator_config.toml b/ci-tests/config/templates_generator_config.toml new file mode 100644 index 00000000..e540843c --- /dev/null +++ b/ci-tests/config/templates_generator_config.toml @@ -0,0 +1,197 @@ +dymola_image = "registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda" +open_modelica_image = "registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main" +gitlab_page = "https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod" +github_repository = "RWTH-EBC/BESMod" +stage_list = [ "html", "style", "check", "simulate", "regression",] +library = "BESMod" +library_local_path = "D:\\04_git\\BESMod" +templates_store_local_path = "D:\\04_git\\BESMod" +templates_store_project = "" +templates_store_folder = "ci-tests" +templates_store_branch_name = "" +dymola_version = "2022" +conda_environment = "myenv" +main_branch = "main" +html_praefix = "correct_HTML_" +expire_in_time = "7h" +xvfb_flag = "xvfb-run -n 77" +bot_name = "ebc-aixlib-bot" +utilities_directory = "utilities.yml" +template_scripts_dir = "scripts" +om_badge_name = "om_readiness_badge.svg" +extended_examples = false +buildingspy_upgrade = "git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage" +commit_string = "$CI_COMMIT_MESSAGE !~ /ci_update_ref/ && $CI_COMMIT_MESSAGE !~ /ci_show_ref/ && $CI_COMMIT_MESSAGE !~ /ci_dif_ref/ && $CI_COMMIT_MESSAGE !~ /ci_create_model_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_html_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_example_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_om_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_check/ && $CI_COMMIT_MESSAGE !~ /ci_om_check/ && $CI_COMMIT_MESSAGE !~ /ci_regression_test/ && $CI_COMMIT_MESSAGE !~ /ci_html/ && $CI_COMMIT_MESSAGE !~ /ci_setting/ && $CI_COMMIT_MESSAGE !~ /ci_style_check/ && $CI_COMMIT_MESSAGE !~ /ci_trigger_ibpsa/ && $CI_COMMIT_MESSAGE !~ /ci_merge_except/ && $CI_COMMIT_MESSAGE !~ /ci_correct_html/ && $CI_COMMIT_MESSAGE !~ /ci_build_structure/ && $CI_COMMIT_MESSAGE !~ /ci_build_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_reference_check/ && $CI_COMMIT_MESSAGE !~ /ci_check_naming/" +pr_main_branch_rule = "$CI_COMMIT_BRANCH == \"main\" " + +[packages] +BESMod = [ "Examples", "Tutorial", "Utilities", "Systems"] + +[modelica_py_ci] +url = "https://github.com/RWTH-EBC/ModelicaPyCI.git" +OM_python_check_model_module = "ModelicaPyCI.unittest.om_check" +test_validate_module = "ModelicaPyCI.unittest.checkpackages.validatetest" +test_reference_module = "ModelicaPyCI.unittest.reference_check" +google_chart_module = "ModelicaPyCI.converter.google_charts" +api_github_module = "ModelicaPyCI.api_script.api_github" +html_tidy_module = "ModelicaPyCI.syntax.html_tidy" +syntax_test_module = "ModelicaPyCI.syntax.style_checking" +naming_guideline_module = "ModelicaPyCI.syntax.naming_guideline" +configuration_module = "ModelicaPyCI.config" +library_merge_module = "ModelicaPyCI.deploy.ibpsa_merge" +lock_model_module = "ModelicaPyCI.converter.lock_model" +config_structure_module = "ModelicaPyCI.structure.config_structure" +create_whitelist_module = "ModelicaPyCI.structure.create_whitelist" +om_badge_module = "ModelicaPyCI.deploy.create_om_badge" + +[template_files] +base = "D:\\04_git\\MoCITempGen\\templates\\ci_templates" +url = "https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica" +regression_file = "unit_tests/regression_test.txt" +check_file = "unit_tests/check_model.txt" +simulate_file = "unit_tests/simulate_model.txt" +page_file = "deploy/prepare_pages.txt" +ibpsa_merge_file = "deploy/IBPSA_Merge.txt" +om_badge_file = "deploy/om_badge.txt" +html_file = "syntax_tests/html_check.txt" +style_check_file = "syntax_tests/style_check.txt" +naming_guideline_file = "syntax_tests/naming_guideline.txt" +structure_file = "deploy/create_CI_path.txt" +main_yml_file = ".gitlab-ci.txt" +local_templates_yml_file = "local_templates.gitlab-ci.txt" +remote_templates_yml_file = "remote_templates.gitlab-ci.txt" +setting_file = "cleanupscript/ci_setting.txt" +deploy_test_file = "deploy/deploy_ci_tests.txt" +build_whitelist_file = "cleanupscript/ci_build_whitelist.txt" +OM_check_file = "unit_tests/check_OM_model.txt" +OM_simulate_file = "unit_tests/simulate_OM_model.txt" +utilities_file = "utilities.txt" +local_windows = "local_windows_test.txt" + +[commit_interaction] +update_ref = "ci_update_ref" +show_ref = "ci_show_ref" +dif_ref = "ci_dif_ref" +create_model_whitelist = "ci_create_model_whitelist" +create_html_whitelist = "ci_create_html_whitelist" +create_simulate_whitelist = "ci_create_example_whitelist" +simulate = "ci_simulate" +OM_simulate = "ci_om_simulate" +check = "ci_check" +OM_check = "ci_om_check" +regression_test = "ci_regression_test" +html = "ci_html" +setting = "ci_setting" +style = "ci_style_check" +trigger_ibpsa = "ci_trigger_ibpsa" +merge_except = "ci_merge_except" +correct_html = "ci_correct_html" +build_structure = "ci_build_structure" +build_whitelist_structure = "ci_build_whitelist" +reference_check = "ci_reference_check" +naming = "ci_check_naming" + +[bot_messages] +merge_commit = "CI message from ebc-aixlib-bot. Merge of 'None' library." +push_commit = "CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again." +create_ref_message = "CI message from ebc-aixlib-bot. New reference files were pushed to this branch. The job was successfully and the newly added files are tested in another commit." +update_whitelist_commit = "CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." +create_ref_commit = "CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/" +create_CI_template_commit = "CI message from ebc-aixlib-bot. Automatic push of CI with new created CI templates. Please pull the new files before push again." +update_model_whitelist_commit = "CI message from ebc-aixlib-bot. Update file whitelist-check_file. Please pull the new files before push again." +update_example_whitelist_commit = "CI message from ebc-aixlib-bot. Update file whitelist-simulate_file. Please pull the new files before push again." +create_structure_commit = "CI message from ebc-aixlib-bot. Add files for ci structure" +create_html_file_commit = "CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ." +build_whitelist_commit = "CI message from ebc-aixlib-bot. Push new created whitelists." + +[stage_names.check_setting] +name = "check_setting" +order = 0.0 + +[stage_names.build_templates] +name = "build_templates" +order = 0.1 + +[stage_names.whitelist_setting] +name = "build_ci_whitelist" +order = 0.2 + +[stage_names.OM_badge] +name = "OM_Badge" +order = 0.3 + +[stage_names.ref_check] +name = "Ref_Check" +order = 1.0 + +[stage_names.lib_merge] +name = "merge" +order = 1.1 + +[stage_names.open_PR] +name = "open_PR" +order = 1.2 + +[stage_names.update_whitelist] +name = "update_whiteList" +order = 1.3 + +[stage_names.html_whitelist] +name = "create_html_whitelist" +order = 2.0 + +[stage_names.create_whitelist] +name = "create_model_whitelist" +order = 2.1 + +[stage_names.create_example_whitelist] +name = "create_example_whitelist" +order = 2.2 + +[stage_names.html_check] +name = "HTML_Check" +order = 3.0 + +[stage_names.style_check] +name = "Style_check" +order = 3.1 + +[stage_names.dymola_model_check] +name = "model_check" +order = 4.0 + +[stage_names.OM_model_check] +name = "OM_model_check" +order = 4.1 + +[stage_names.simulate] +name = "simulate" +order = 5.0 + +[stage_names.OM_simulate] +name = "OM_simulate" +order = 5.1 + +[stage_names.regression_test] +name = "RegressionTest" +order = 6.0 + +[stage_names.update_ref] +name = "Update_Ref" +order = 6.1 + +[stage_names.plot_ref] +name = "plot_ref" +order = 6.2 + +[stage_names.prepare] +name = "prepare" +order = 6.3 + +[stage_names.prepare_pages] +name = "prepare_pages" +order = 999.0 + +[stage_names.deploy] +name = "deploy" +order = 1000.0 diff --git a/ci-tests/scripts/.gitlab-ci.yml b/ci-tests/scripts/.gitlab-ci.yml new file mode 100644 index 00000000..b8a897a5 --- /dev/null +++ b/ci-tests/scripts/.gitlab-ci.yml @@ -0,0 +1,37 @@ +# You can adjust the sequence of the stages to your needs +stages: + - Ref_Check + - open_PR + - create_html_whitelist + - create_model_whitelist + - create_example_whitelist + - HTML_Check + - Style_check + - model_check + - OM_model_check + - simulate + - OM_simulate + - RegressionTest + - plot_ref + - prepare + - prepare_pages + - deploy + +variables: + Github_Repository: RWTH-EBC/BESMod + GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod + +include: + - 'ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml' + - 'ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml' + - 'ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml' + - 'ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml' + - 'ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml' + - project: 'EBC/EBC_all/gitlab_ci/templates' + file: 'pages/gl-pages.gitlab-ci.yml' + - project: 'EBC/EBC_all/gitlab_ci/templates' + file: 'pages/gh-pages.gitlab-ci.yml' diff --git a/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml b/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml new file mode 100644 index 00000000..09805e48 --- /dev/null +++ b/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml @@ -0,0 +1,20 @@ +# ci_stage_prepare_page : prepare_pages +# result_dir : ci-tests/result +# expire_in_time : 7h + + + +stages: + - prepare_pages +prepare_pages: + stage: prepare_pages + script: + - mkdir -p $CI_COMMIT_REF_NAME + - if [ ! -d "ci-tests/result" ]; then echo "No results in this pipeline, no pages to publish" && exit 0; fi + - cp -r ci-tests/result/* $CI_COMMIT_REF_NAME + artifacts: + paths: + - $CI_COMMIT_REF_NAME + expire_in: 7h + when: always + allow_failure: true diff --git a/ci-tests/scripts/local_windows_test.bat b/ci-tests/scripts/local_windows_test.bat new file mode 100644 index 00000000..3ccbc7c6 --- /dev/null +++ b/ci-tests/scripts/local_windows_test.bat @@ -0,0 +1,25 @@ +:: Make sure you have everything installed as in the util scripts: +:: .activate_python_and_install_requirements +:: .custom_install_additional_modelica_libraries +:: .github_ssh_auth + +python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities +python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities + +python -m ModelicaPyCI.syntax.style_checking --dymola-version 2022 --library BESMod +python -m ModelicaPyCI.syntax.style_checking --changed-flag --dymola-version 2022 --library BESMod + +python -m ModelicaPyCI.syntax.naming_guideline --changed-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --working-branch $CI_COMMIT_BRANCH --github-repository RWTH-EBC/BESMod --main-branch main --config ci-tests/naming_guideline.toml --library BESMod + +:: Check & Simulate BESMod Examples on PR +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples +:: Check & Simulate BESMod Examples on push +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples +:: Check & Simulate BESMod Tutorial on PR +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial +:: Check & Simulate BESMod Tutorial on push +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial +:: Check & Simulate BESMod Utilities on PR +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities +:: Check & Simulate BESMod Utilities on push +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities diff --git a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml new file mode 100644 index 00000000..8a8a8850 --- /dev/null +++ b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml @@ -0,0 +1,97 @@ +# image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +# ci_stage_html_check : HTML_Check +# ci_stage_html_whitelist : create_html_whitelist +# ci_stage_open_PR : open_PR +# html_praefix : correct_HTML_ + +# ModelicaPyCI.syntax.html_tidy : modelicapyci_html_tidy_module +# arg_correct_html: --filter-whitelist-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities +# result_dir : ci-tests/result +# expire_in_time : 7h +# library : BESMod + +# ci_html_commit : ci_html +# ModelicaPyCI.api_script.api_github : modelicapyci_api_github_module +# arg_PR : --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities +# arg_wh : --filter-whitelist-flag --log-flag --whitelist-library IBPSA +# bot_create_html_file_commit : CI message from ebc-aixlib-bot. Push new files with corrected html Syntax . + +include: 'ci-tests/scripts/utilities.yml' + +image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +stages: + - HTML_Check + - create_html_whitelist + - open_PR + +variables: + Praefix_Branch: correct_HTML_ + Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME + + + +Check_HTML:PR: + stage: HTML_Check + before_script: + - !reference [.activate_python_and_install_requirements, script] + + script: + - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities + artifacts: + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_html/ && $CI_PIPELINE_SOURCE == "push" + when: always + - !reference [.rules:PR , rules] + +Check_HTML:push: + stage: HTML_Check + before_script: + - !reference [.github_ssh_auth, script] + - !reference [.activate_python_and_install_requirements, script] + script: + - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities + artifacts: + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:push , rules] + + + +Open_Pull_HTML_Request: + stage: open_PR + before_script: + - !reference [.github_ssh_auth, script] + - !reference [.activate_python_and_install_requirements, script] + script: + - python -m ModelicaPyCI.api_script.api_github --correct-html-flag --create-pr-flag --github-token $GITHUB_API_TOKEN --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod + rules: + - if: $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ && $CI_COMMIT_BRANCH =~ /^correct_HTML_.*$/ && $CI_PIPELINE_SOURCE == "push" + when: on_success + + +html_whitelist_job: + stage: create_html_whitelist + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.github_ssh_auth, script] + + script: + - mkdir whitelist && cd whitelist + - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git + - cd $CI_PROJECT_NAME + - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --log-flag --whitelist-library IBPSA - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." + - git add ibpsa_whitelist.txt + - git commit -m "$message" + - git push git@github.com:$Github_Repository.git + artifacts: + paths: + - ci-tests/result/ + expire_in: 7 day + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_create_html_whitelist/ && $CI_PIPELINE_SOURCE == "push" + when: always diff --git a/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml new file mode 100644 index 00000000..e72d0585 --- /dev/null +++ b/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml @@ -0,0 +1,29 @@ +# image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +# ci_stage_style_check : Style_check +# modelicapyci_syntax_naming_guideline : ModelicaPyCI.syntax.naming_guideline +# library : BESMod +# ci_naming_guideline : ci_check_naming +# result_dir : ci-tests/result +# arg : --changed-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --working-branch $CI_COMMIT_BRANCH --github-repository RWTH-EBC/BESMod --main-branch main --config ci-tests/naming_guideline.toml --library BESMod + +include: 'ci-tests/scripts/utilities.yml' +stages: + - Style_check + + +NamingGuideline:BESMod:PR: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: Style_check + before_script: + - !reference [.activate_python_and_install_requirements, script] + script: + - python -m ModelicaPyCI.syntax.naming_guideline --changed-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --working-branch $CI_COMMIT_BRANCH --github-repository RWTH-EBC/BESMod --main-branch main --config ci-tests/naming_guideline.toml --library BESMod + artifacts: + paths: + - ci-tests/result/ + expire_in: 7 day + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_check_naming/ && $CI_PIPELINE_SOURCE == "push" + when: always + - !reference [.rules:PR , rules] + diff --git a/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml new file mode 100644 index 00000000..5ff762eb --- /dev/null +++ b/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml @@ -0,0 +1,50 @@ +# image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +# ci_stage_style_check : Style_check +# modelicapyci_syntax_test_module : ModelicaPyCI.syntax.style_checking +# xvfb_flag : xvfb-run -n 77 +# library : BESMod + +# ci_style_commit : ci_style_check +# result_dir : ci-tests/result +# arg_PR : --dymola-version 2022 --library BESMod +# arg_Push : --changed-flag --dymola-version 2022 --library BESMod + +include: 'ci-tests/scripts/utilities.yml' +stages: + - Style_check + + +StyleCheck:BESMod:PR: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: Style_check + before_script: + - !reference [.activate_python_and_install_requirements, script] + script: + - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking --dymola-version 2022 --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7 day + allow_failure: true + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_style_check/ && $CI_PIPELINE_SOURCE == "push" + when: always + - !reference [.rules:PR , rules] + +StyleCheck:BESMod:Push: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: Style_check + before_script: + - !reference [.activate_python_and_install_requirements, script] + script: + - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking --changed-flag --dymola-version 2022 --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7 day + allow_failure: true + rules: + - !reference [.rules:push , rules] + diff --git a/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml new file mode 100644 index 00000000..496ed84b --- /dev/null +++ b/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml @@ -0,0 +1,85 @@ +# Variables: +# ci_stage_OM_model_check: OM_model_check +# library: BESMod +# ci_OM_check_commit: ci_om_check +# OM_Image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main +# OM_python_check_model_module: ModelicaPyCI.unittest.om_check +# result_dir: ci-tests/result +# expire_in_time: 7h +# arg_PR: --om-options OM_CHECK --whitelist-library IBPSA --packages $lib_package --library BESMod +# arg_push: --om-options OM_CHECK --changed-flag --whitelist-library IBPSA --packages $lib_package --library BESMod +# packages: ['Examples', 'Tutorial', 'Utilities'] + +include: 'ci-tests/scripts/utilities.yml' + +stages: + - OM_model_check + + +.OM_check_model_job:PR: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main + stage: OM_model_check + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.open_modelica_git_user_setting, script] + script: + - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --whitelist-library IBPSA --packages $lib_package --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + allow_failure: true + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_om_check/ && $CI_PIPELINE_SOURCE == "push" + when: always + - !reference [.rules:PR , rules] + +.OM_check_model_job:push: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main + stage: OM_model_check + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.open_modelica_git_user_setting, script] + script: + - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --changed-flag --whitelist-library IBPSA --packages $lib_package --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + allow_failure: true + rules: + - !reference [.rules:push, rules] + +OM_Check_BESMod_Examples:PR: + variables: + lib_package: Examples + extends: .OM_check_model_job:PR + +OM_Check_BESMod_Tutorial:PR: + variables: + lib_package: Tutorial + extends: .OM_check_model_job:PR + +OM_Check_BESMod_Utilities:PR: + variables: + lib_package: Utilities + extends: .OM_check_model_job:PR + + +OM_Check_BESMod_Examples:push: + variables: + lib_package: Examples + extends: .OM_check_model_job:push + +OM_Check_BESMod_Tutorial:push: + variables: + lib_package: Tutorial + extends: .OM_check_model_job:push + +OM_Check_BESMod_Utilities:push: + variables: + lib_package: Utilities + extends: .OM_check_model_job:push + diff --git a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml new file mode 100644 index 00000000..e9d4026c --- /dev/null +++ b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml @@ -0,0 +1,123 @@ +# dym_image_name: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +# ci_stage_model_check: model_check +# ci_stage_create_whitelist: create_model_whitelist +# library: BESMod +# ci_check_commit: ci_check +# xvfb_flag: xvfb-run -n 77 +# modelicapyci_test_validate_module: ModelicaPyCI.unittest.checkpackages.validatetest +# result_dir: ci-tests/result +# expire_in_time: 7h +# ci_create_model_whitelist_commit: ci_create_model_whitelist +# arg_push: --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# arg_PR: --dym-options DYM_CHECK --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# config_ci_exit_file: exit.sh +# bot_update_model_whitelist_commit: CI message from ebc-aixlib-bot. Update file whitelist-check_file. Please pull the new files before push again. +# whitelist_model_file: dymola_check_whitelist.txt +# arg_wh: --dym-options DYM_CHECK --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities --library BESMod +# package_list: ['Examples', 'Tutorial', 'Utilities'] +# modelicapyci_config_structure_module: ModelicaPyCI.structure.config_structure + +include: 'ci-tests/scripts/utilities.yml' + +stages: + - model_check + - create_model_whitelist + + +.check_model_job:PR: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: model_check + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + script: + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_check/ && $CI_PIPELINE_SOURCE == "push" + when: always + - !reference [.rules:PR , rules] + +.check_model_job:Push: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: model_check + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + script: + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:push , rules] + +Check_BESMod_Examples:PR: + variables: + lib_package: Examples + extends: .check_model_job:PR + +Check_BESMod_Tutorial:PR: + variables: + lib_package: Tutorial + extends: .check_model_job:PR + +Check_BESMod_Utilities:PR: + variables: + lib_package: Utilities + extends: .check_model_job:PR + + +Check_BESMod_Examples:Push: + variables: + lib_package: Examples + extends: .check_model_job:Push + +Check_BESMod_Tutorial:Push: + variables: + lib_package: Tutorial + extends: .check_model_job:Push + +Check_BESMod_Utilities:Push: + variables: + lib_package: Utilities + extends: .check_model_job:Push + + +check_whitelist_job: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: create_model_whitelist + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + - !reference [.github_ssh_auth, script] + + script: + - mkdir whitelist && cd whitelist + - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git + - cd $CI_PROJECT_NAME + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities --library BESMod + after_script: + - cd whitelist && cd $CI_PROJECT_NAME + - if cat exit.sh | grep "FAIL"; then + message="CI message from ebc-aixlib-bot. Update file whitelist-check_file. Please pull the new files before push again." ; + git add dymola_check_whitelist.txt ; + git commit -m "$message" ; + git push git@github.com:$Github_Repository.git; + exit 0; + else + exit 0 ; + fi + artifacts: + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_create_model_whitelist/ && $CI_PIPELINE_SOURCE == "push" + when: always diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml new file mode 100644 index 00000000..07ac490f --- /dev/null +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -0,0 +1,270 @@ +# dym_image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +# ci_stage_regression_test: RegressionTest +# ci_stage_ref_check :Ref_Check +# ci_stage_plot_ref : plot_ref +# ci_stage_prepare : prepare + +# buildingspy_upgrade : git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage +# modelicapyci_test_reference_module: ModelicaPyCI.unittest.reference_check +# modelicapyci_google_chart_module : ModelicaPyCI.converter.google_charts +# config_ci_exit_file : exit.sh +# result_dir : ci-tests/result +# ci_regression_test_commit : $ {ci_regression_test_commit} +# expire_in_time : 7h +# arg_PR: --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod +# arg_push: --changed-flag --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod +# arg_chart: --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities +# package_list: ['Examples', 'Tutorial', 'Utilities'] +# modelicapyci_api_github_module: ModelicaPyCI.api_script.api_github +# {arg_create_plots} : --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities +# api_github_arg: --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod +# PR_main_branch_rule : &{PR_main_branch_rule} +# library: BESMod +# ci_regression_test_commit : ci_regression_test +# xvfb_flag: xvfb-run -n 77 +# modelicapyci_structure_module: ModelicaPyCI.structure.config_structure +# arg_ref: --create-ref --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities --library BESMod +# config_ci_new_create_ref_file: ci_new_created_reference.txt +# bot_create_ref_commit: CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/ +# ci_show_ref_commit: ci_show_ref + +include: 'ci-tests/scripts/utilities.yml' + +stages: + - RegressionTest + - Ref_Check + - plot_ref + - prepare + + +.Regressiontest:PR: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: RegressionTest + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage + script: + - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod + after_script: + - if cat exit.sh | grep "FAIL"; then + source activate myenv ; + python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities ; + exit 1 ; + else + exit 0 ; + fi + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:PR , rules] + - if: $CI_COMMIT_MESSAGE =~ /ci_regression_test/ && $CI_PIPELINE_SOURCE == "push" + when: always + +.Regressiontest:Push: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: RegressionTest + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + + - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage + script: + - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --changed-flag --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod + after_script: + - if cat exit.sh | grep "FAIL"; then + source activate myenv ; + python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities ; + exit 1 ; + else + exit 0 ; + fi + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:push , rules] + +Regressiontest_BESMod_Examples:PR: + variables: + lib_package: BESMod.Examples + extends: .Regressiontest:PR + +Regressiontest_BESMod_Tutorial:PR: + variables: + lib_package: BESMod.Tutorial + extends: .Regressiontest:PR + +Regressiontest_BESMod_Utilities:PR: + variables: + lib_package: BESMod.Utilities + extends: .Regressiontest:PR + + +Regressiontest_BESMod_Examples:Push: + variables: + lib_package: BESMod.Examples + extends: .Regressiontest:Push + +Regressiontest_BESMod_Tutorial:Push: + variables: + lib_package: BESMod.Tutorial + extends: .Regressiontest:Push + +Regressiontest_BESMod_Utilities:Push: + variables: + lib_package: BESMod.Utilities + extends: .Regressiontest:Push + + +Regression_overall_coverage:PR: + stage: RegressionTest + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage + script: + - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:PR , rules] + - if: $CI_COMMIT_MESSAGE =~ /ci_regression_test/ && $CI_PIPELINE_SOURCE == "push" + when: always + +Regression_overall_coverage:Push: + stage: RegressionTest + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage + script: + - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:push , rules] + +prepare_create_plots:Push: + stage: prepare + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage + - apt-get update -y && apt-get install zip unzip -y + - pip install pandas mako matplot toml requests + script: + - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities + - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod + artifacts: + paths: + - ci-tests/result/ + rules: + - !reference [.rules:push , rules] + when: on_failure + needs: + - job: Regressiontest_BESMod_Examples:Push + artifacts: true + - job: Regressiontest_BESMod_Tutorial:Push + artifacts: true + - job: Regressiontest_BESMod_Utilities:Push + artifacts: true + +prepare_create_plots:PR: + stage: prepare + before_script: + - !reference [.activate_python_and_install_requirements, script] + script: + - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities + - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod + artifacts: + paths: + - ci-tests/result/ + rules: + - !reference [.rules:PR , rules] + - if: $CI_COMMIT_MESSAGE =~ /ci_regression_test/ && $CI_PIPELINE_SOURCE == "push" + when: always + when: on_failure + needs: + - job: Regressiontest_BESMod_Examples:PR + artifacts: true + - job: Regressiontest_BESMod_Tutorial:PR + artifacts: true + - job: Regressiontest_BESMod_Utilities:PR + artifacts: true + +RegressionTest_Check_References: + stage: Ref_Check + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + - !reference [.github_ssh_auth, script] + - apt-get update -y && apt-get install xdg-utils --fix-missing -y + - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage + + script: + - mkdir CorrectedVersion && cd CorrectedVersion + - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git + - cd $CI_PROJECT_NAME + - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities --library BESMod + after_script: + - source activate myenv + - cd CorrectedVersion/$CI_PROJECT_NAME + - if cat exit.sh | grep "FAIL"; then + push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; + (git ls-files --others --exclude-standard --directory BESMod) > ci_new_created_reference.txt ; + message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/" ; + pip install pandas mako matplot; + python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod ; + git add $push_model ; + git commit -m "$message"; + git push git@github.com:$Github_Repository.git ; + mkdir -p ../../ci-tests/result/ ; + cp -r ci-tests/result/* ../../ci-tests/result ; + exit 1 ; + else + exit 0 ; + fi + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:PR , rules] + - if: $CI_COMMIT_MESSAGE =~ /ci_reference_check/ && $CI_PIPELINE_SOURCE == "push" + when: always + +plot_reference_results: + stage: plot_ref + before_script: + - !reference [.activate_python_and_install_requirements, script] + - apt-get update -y && apt-get install zip unzip -y + - pip install pandas mako matplot toml requests + + script: + - python -m ModelicaPyCI.converter.google_charts --line-html --show-ref --single-package BESMod --library BESMod + - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot + artifacts: + when: always + paths: + - ci-tests/result/ + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_show_ref/ + when: always diff --git a/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml new file mode 100644 index 00000000..a3833766 --- /dev/null +++ b/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml @@ -0,0 +1,86 @@ +# ci_stage_OM_simulate: OM_simulate +# library: BESMod +# ci_OM_sim_commit: ci_om_simulate +# OM_python_check_model_module: ModelicaPyCI.unittest.om_check +# arg_PR : --om-options OM_SIM --whitelist-library IBPSA --packages Examples Tutorial Utilities --library BESMod +# arg_push: --om-options OM_SIM --changed-flag --whitelist-library IBPSA --packages Examples Tutorial Utilities --library BESMod +# result_dir: ci-tests/result +# OM_Image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main +# expire_in_time: 7h +# packages: ['Examples', 'Tutorial', 'Utilities'] + +include: 'ci-tests/scripts/utilities.yml' + +stages: + - OM_simulate + + +.OM_simulate_model_job:PR: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main + stage: OM_simulate + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.open_modelica_git_user_setting, script] + script: + - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --whitelist-library IBPSA --packages Examples Tutorial Utilities --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + allow_failure: true + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_om_simulate/ && $CI_PIPELINE_SOURCE == "push" + when: always + - !reference [.rules:PR , rules] + +.OM_simulate_model_job:push: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main + stage: OM_simulate + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.open_modelica_git_user_setting, script] + script: + - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --changed-flag --whitelist-library IBPSA --packages Examples Tutorial Utilities --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + allow_failure: true + rules: + - !reference [.rules:push, rules] + +OM_Simulate_BESMod_Examples:PR: + variables: + lib_package: Examples + extends: .OM_simulate_model_job:PR + +OM_Simulate_BESMod_Tutorial:PR: + variables: + lib_package: Tutorial + extends: .OM_simulate_model_job:PR + +OM_Simulate_BESMod_Utilities:PR: + variables: + lib_package: Utilities + extends: .OM_simulate_model_job:PR + + +OM_Simulate_BESMod_Examples:push: + variables: + lib_package: Examples + extends: .OM_simulate_model_job:push + +OM_Simulate_BESMod_Tutorial:push: + variables: + lib_package: Tutorial + extends: .OM_simulate_model_job:push + +OM_Simulate_BESMod_Utilities:push: + variables: + lib_package: Utilities + extends: .OM_simulate_model_job:push + + + diff --git a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml new file mode 100644 index 00000000..2561afab --- /dev/null +++ b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml @@ -0,0 +1,122 @@ +# dym_image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +# ci_stage_simulate: simulate +# ci_stage_create_exampel_whitelist: create_example_whitelist +# arg_push : --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# arg_PR: --dym-options DYM_SIM --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# library: BESMod +# ci_check_commit ci_simulate +# modelicapyci_test_validate_module: ModelicaPyCI.unittest.checkpackages.validatetest +# package_list: ['Examples', 'Tutorial', 'Utilities'] +# arg_wh: --dym-options DYM_SIM --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities --library BESMod +# bot_update_model_whitelist_commit: CI message from ebc-aixlib-bot. Update file whitelist-simulate_file. Please pull the new files before push again. +# whitelist_model_file: dymola_simulate_whitelist.txt +# ci_create_model_whitelist_commit: ci_create_example_whitelist +# result_dir : ci-tests/result +# expire_in_time: 7h +# xvfb_flag : xvfb-run -n 77 +# config_ci_exit_file : exit.sh + +include: 'ci-tests/scripts/utilities.yml' + +stages: + - simulate + - create_example_whitelist + + +.simulate_model_job:PR: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: simulate + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + script: + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_simulate/ && $CI_PIPELINE_SOURCE == "push" + when: always + - !reference [.rules:PR , rules] + +.simulate_model_job:Push: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: simulate + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + script: + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:push , rules] + +Simulate_BESMod_Examples:PR: + variables: + lib_package: Examples + extends: .simulate_model_job:PR + +Simulate_BESMod_Tutorial:PR: + variables: + lib_package: Tutorial + extends: .simulate_model_job:PR + +Simulate_BESMod_Utilities:PR: + variables: + lib_package: Utilities + extends: .simulate_model_job:PR + + + +Simulate_BESMod_Examples:Push: + variables: + lib_package: Examples + extends: .simulate_model_job:Push + +Simulate_BESMod_Tutorial:Push: + variables: + lib_package: Tutorial + extends: .simulate_model_job:Push + +Simulate_BESMod_Utilities:Push: + variables: + lib_package: Utilities + extends: .simulate_model_job:Push + + +simulate_whitelist_job: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: create_example_whitelist + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + - !reference [.github_ssh_auth, script] + script: + - mkdir whitelist && cd whitelist + - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git + - cd $CI_PROJECT_NAME + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities --library BESMod + after_script: + - cd whitelist && cd $CI_PROJECT_NAME + - if cat exit.sh | grep "FAIL"; then + message="CI message from ebc-aixlib-bot. Update file whitelist-simulate_file. Please pull the new files before push again." ; + git add dymola_simulate_whitelist.txt ; + git commit -m "$message" ; + git push git@github.com:$Github_Repository.git ; + exit 0; + else + exit 0 ; + fi + artifacts: + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_create_example_whitelist/ && $CI_PIPELINE_SOURCE == "push" + when: always diff --git a/ci-tests/scripts/utilities.yml b/ci-tests/scripts/utilities.yml new file mode 100644 index 00000000..a0733259 --- /dev/null +++ b/ci-tests/scripts/utilities.yml @@ -0,0 +1,52 @@ +# conda_environment: myenv +# modelica_py_ci_url: https://github.com/RWTH-EBC/ModelicaPyCI.git +# ci_toml_path: ci-tests/config/modelica_py_ci_config.toml +# commit_string: $CI_COMMIT_MESSAGE !~ /ci_update_ref/ && $CI_COMMIT_MESSAGE !~ /ci_show_ref/ && $CI_COMMIT_MESSAGE !~ /ci_dif_ref/ && $CI_COMMIT_MESSAGE !~ /ci_create_model_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_html_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_example_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_om_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_check/ && $CI_COMMIT_MESSAGE !~ /ci_om_check/ && $CI_COMMIT_MESSAGE !~ /ci_regression_test/ && $CI_COMMIT_MESSAGE !~ /ci_html/ && $CI_COMMIT_MESSAGE !~ /ci_setting/ && $CI_COMMIT_MESSAGE !~ /ci_style_check/ && $CI_COMMIT_MESSAGE !~ /ci_trigger_ibpsa/ && $CI_COMMIT_MESSAGE !~ /ci_merge_except/ && $CI_COMMIT_MESSAGE !~ /ci_correct_html/ && $CI_COMMIT_MESSAGE !~ /ci_build_structure/ && $CI_COMMIT_MESSAGE !~ /ci_build_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_reference_check/ && $CI_COMMIT_MESSAGE !~ /ci_check_naming/ +# PR_main_branch_rule: $CI_COMMIT_BRANCH == "main" +# This file contains small scripts, rules or other templates +# which can be referenced by other templates in this repo (or other repos as well). +# Include the scripts using the `!reference` tag. + +.github_ssh_auth: + script: + - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' + - eval $(ssh-agent -s) + - mkdir -p ~/.ssh + - ssh-keyscan github.com >> ~/.ssh/known_hosts + - ssh-agent -a /tmp/ssh_agent.sock > /dev/null + - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa + - chmod 600 ~/.ssh/id_rsa + - git config --global user.name "$GITLAB_USER_NAME" + - git config --global user.email "$GITLAB_USER_EMAIL" + +.activate_python_and_install_requirements: + script: + - export PIP_CACHE_DIR="/opt/cache/pip" + - source activate myenv || echo "myenv is not installed, can't activate it" + - pip install --upgrade pip && pip install natsort toml pandas mako requests + - export PYTHONIOENCODING=utf-8 + - pip install git+https://github.com/lbl-srg/BuildingsPy.git@master + - pip install git+https://github.com/RWTH-EBC/ModelicaPyCI.git + - export CI_PYTHON_CONFIG_FILE="ci-tests/config/modelica_py_ci_config.toml" + +.custom_install_additional_modelica_libraries: + script: + - python install_dependencies.py full + +.rules:PR: + rules: + - if: $CI_PIPELINE_SOURCE == "external_pull_request_event" && $CI_COMMIT_MESSAGE !~ /ci_update_ref/ && $CI_COMMIT_MESSAGE !~ /ci_show_ref/ && $CI_COMMIT_MESSAGE !~ /ci_dif_ref/ && $CI_COMMIT_MESSAGE !~ /ci_create_model_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_html_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_example_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_om_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_check/ && $CI_COMMIT_MESSAGE !~ /ci_om_check/ && $CI_COMMIT_MESSAGE !~ /ci_regression_test/ && $CI_COMMIT_MESSAGE !~ /ci_html/ && $CI_COMMIT_MESSAGE !~ /ci_setting/ && $CI_COMMIT_MESSAGE !~ /ci_style_check/ && $CI_COMMIT_MESSAGE !~ /ci_trigger_ibpsa/ && $CI_COMMIT_MESSAGE !~ /ci_merge_except/ && $CI_COMMIT_MESSAGE !~ /ci_correct_html/ && $CI_COMMIT_MESSAGE !~ /ci_build_structure/ && $CI_COMMIT_MESSAGE !~ /ci_build_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_reference_check/ && $CI_COMMIT_MESSAGE !~ /ci_check_naming/ + when: on_success + - if: $CI_PIPELINE_SOURCE == "push" && ($CI_COMMIT_BRANCH == "main" ) + when: on_success + +.rules:push: + rules: + - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_MESSAGE !~ /ci_update_ref/ && $CI_COMMIT_MESSAGE !~ /ci_show_ref/ && $CI_COMMIT_MESSAGE !~ /ci_dif_ref/ && $CI_COMMIT_MESSAGE !~ /ci_create_model_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_html_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_example_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_om_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_check/ && $CI_COMMIT_MESSAGE !~ /ci_om_check/ && $CI_COMMIT_MESSAGE !~ /ci_regression_test/ && $CI_COMMIT_MESSAGE !~ /ci_html/ && $CI_COMMIT_MESSAGE !~ /ci_setting/ && $CI_COMMIT_MESSAGE !~ /ci_style_check/ && $CI_COMMIT_MESSAGE !~ /ci_trigger_ibpsa/ && $CI_COMMIT_MESSAGE !~ /ci_merge_except/ && $CI_COMMIT_MESSAGE !~ /ci_correct_html/ && $CI_COMMIT_MESSAGE !~ /ci_build_structure/ && $CI_COMMIT_MESSAGE !~ /ci_build_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_reference_check/ && $CI_COMMIT_MESSAGE !~ /ci_check_naming/ + when: on_success + - if: ($CI_COMMIT_BRANCH == "main" ) + when: never + +.open_modelica_git_user_setting: + script: + - runuser -u openmodelicausers -- sh -c 'git config --global --add safe.directory "$(pwd)"' From 8db3c8f13e3d80bdad49895f93147698a6db96c1 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Sun, 16 Jun 2024 19:01:41 +0200 Subject: [PATCH 032/125] fix line-endings --- .gitlab-ci.yml | 4 +- .../config/templates_generator_config.toml | 1 - ci-tests/scripts/.gitlab-ci.yml | 74 +-- .../deploy/prepare_pages.gitlab-ci.yml | 40 +- ci-tests/scripts/local_windows_test.bat | 54 +- .../syntax_tests/html_check.gitlab-ci.yml | 194 +++---- .../naming_guideline.gitlab-ci.yml | 58 +- .../syntax_tests/style_check.gitlab-ci.yml | 100 ++-- .../unit_tests/check_OM_model.gitlab-ci.yml | 180 +++--- .../unit_tests/check_model.gitlab-ci.yml | 256 ++++---- .../unit_tests/regression_test.gitlab-ci.yml | 547 +++++++++--------- .../simulate_OM_model.gitlab-ci.yml | 182 +++--- .../unit_tests/simulate_model.gitlab-ci.yml | 254 ++++---- ci-tests/scripts/utilities.yml | 105 ++-- 14 files changed, 1050 insertions(+), 999 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3dbaa17e..aa37a05f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,2 +1,2 @@ -include: - - 'ci-tests/scripts/.gitlab-ci.yml' +include: + - 'ci-tests/scripts/.gitlab-ci.yml' diff --git a/ci-tests/config/templates_generator_config.toml b/ci-tests/config/templates_generator_config.toml index e540843c..6e15d624 100644 --- a/ci-tests/config/templates_generator_config.toml +++ b/ci-tests/config/templates_generator_config.toml @@ -20,7 +20,6 @@ utilities_directory = "utilities.yml" template_scripts_dir = "scripts" om_badge_name = "om_readiness_badge.svg" extended_examples = false -buildingspy_upgrade = "git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage" commit_string = "$CI_COMMIT_MESSAGE !~ /ci_update_ref/ && $CI_COMMIT_MESSAGE !~ /ci_show_ref/ && $CI_COMMIT_MESSAGE !~ /ci_dif_ref/ && $CI_COMMIT_MESSAGE !~ /ci_create_model_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_html_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_example_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_om_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_check/ && $CI_COMMIT_MESSAGE !~ /ci_om_check/ && $CI_COMMIT_MESSAGE !~ /ci_regression_test/ && $CI_COMMIT_MESSAGE !~ /ci_html/ && $CI_COMMIT_MESSAGE !~ /ci_setting/ && $CI_COMMIT_MESSAGE !~ /ci_style_check/ && $CI_COMMIT_MESSAGE !~ /ci_trigger_ibpsa/ && $CI_COMMIT_MESSAGE !~ /ci_merge_except/ && $CI_COMMIT_MESSAGE !~ /ci_correct_html/ && $CI_COMMIT_MESSAGE !~ /ci_build_structure/ && $CI_COMMIT_MESSAGE !~ /ci_build_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_reference_check/ && $CI_COMMIT_MESSAGE !~ /ci_check_naming/" pr_main_branch_rule = "$CI_COMMIT_BRANCH == \"main\" " diff --git a/ci-tests/scripts/.gitlab-ci.yml b/ci-tests/scripts/.gitlab-ci.yml index b8a897a5..666db8ea 100644 --- a/ci-tests/scripts/.gitlab-ci.yml +++ b/ci-tests/scripts/.gitlab-ci.yml @@ -1,37 +1,37 @@ -# You can adjust the sequence of the stages to your needs -stages: - - Ref_Check - - open_PR - - create_html_whitelist - - create_model_whitelist - - create_example_whitelist - - HTML_Check - - Style_check - - model_check - - OM_model_check - - simulate - - OM_simulate - - RegressionTest - - plot_ref - - prepare - - prepare_pages - - deploy - -variables: - Github_Repository: RWTH-EBC/BESMod - GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod - -include: - - 'ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml' - - 'ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml' - - 'ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml' - - 'ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml' - - 'ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml' - - project: 'EBC/EBC_all/gitlab_ci/templates' - file: 'pages/gl-pages.gitlab-ci.yml' - - project: 'EBC/EBC_all/gitlab_ci/templates' - file: 'pages/gh-pages.gitlab-ci.yml' +# You can adjust the sequence of the stages to your needs +stages: + - Ref_Check + - open_PR + - create_html_whitelist + - create_model_whitelist + - create_example_whitelist + - HTML_Check + - Style_check + - model_check + - OM_model_check + - simulate + - OM_simulate + - RegressionTest + - plot_ref + - prepare + - prepare_pages + - deploy + +variables: + Github_Repository: RWTH-EBC/BESMod + GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod + +include: + - 'ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml' + - 'ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml' + - 'ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml' + - 'ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml' + - project: 'EBC/EBC_all/gitlab_ci/templates' + file: 'pages/gl-pages.gitlab-ci.yml' + - project: 'EBC/EBC_all/gitlab_ci/templates' + file: 'pages/gh-pages.gitlab-ci.yml' diff --git a/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml b/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml index 09805e48..13987cbe 100644 --- a/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml +++ b/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml @@ -1,20 +1,20 @@ -# ci_stage_prepare_page : prepare_pages -# result_dir : ci-tests/result -# expire_in_time : 7h - - - -stages: - - prepare_pages -prepare_pages: - stage: prepare_pages - script: - - mkdir -p $CI_COMMIT_REF_NAME - - if [ ! -d "ci-tests/result" ]; then echo "No results in this pipeline, no pages to publish" && exit 0; fi - - cp -r ci-tests/result/* $CI_COMMIT_REF_NAME - artifacts: - paths: - - $CI_COMMIT_REF_NAME - expire_in: 7h - when: always - allow_failure: true +# ci_stage_prepare_page : prepare_pages +# result_dir : ci-tests/result +# expire_in_time : 7h + + + +stages: + - prepare_pages +prepare_pages: + stage: prepare_pages + script: + - mkdir -p $CI_COMMIT_REF_NAME + - if [ ! -d "ci-tests/result" ]; then echo "No results in this pipeline, no pages to publish" && exit 0; fi + - cp -r ci-tests/result/* $CI_COMMIT_REF_NAME + artifacts: + paths: + - $CI_COMMIT_REF_NAME + expire_in: 7h + when: always + allow_failure: true diff --git a/ci-tests/scripts/local_windows_test.bat b/ci-tests/scripts/local_windows_test.bat index 3ccbc7c6..173bd7cc 100644 --- a/ci-tests/scripts/local_windows_test.bat +++ b/ci-tests/scripts/local_windows_test.bat @@ -1,25 +1,29 @@ -:: Make sure you have everything installed as in the util scripts: -:: .activate_python_and_install_requirements -:: .custom_install_additional_modelica_libraries -:: .github_ssh_auth - -python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities -python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities - -python -m ModelicaPyCI.syntax.style_checking --dymola-version 2022 --library BESMod -python -m ModelicaPyCI.syntax.style_checking --changed-flag --dymola-version 2022 --library BESMod - -python -m ModelicaPyCI.syntax.naming_guideline --changed-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --working-branch $CI_COMMIT_BRANCH --github-repository RWTH-EBC/BESMod --main-branch main --config ci-tests/naming_guideline.toml --library BESMod - -:: Check & Simulate BESMod Examples on PR -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples -:: Check & Simulate BESMod Examples on push -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples -:: Check & Simulate BESMod Tutorial on PR -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial -:: Check & Simulate BESMod Tutorial on push -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial -:: Check & Simulate BESMod Utilities on PR -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities -:: Check & Simulate BESMod Utilities on push -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities +:: Make sure you have everything installed as in the util scripts: +:: .activate_python_and_install_requirements +:: .custom_install_additional_modelica_libraries +:: .github_ssh_auth + +python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems +python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems + +python -m ModelicaPyCI.syntax.style_checking --dymola-version 2022 --library BESMod +python -m ModelicaPyCI.syntax.style_checking --changed-flag --dymola-version 2022 --library BESMod + +python -m ModelicaPyCI.syntax.naming_guideline --changed-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --working-branch $CI_COMMIT_BRANCH --github-repository RWTH-EBC/BESMod --main-branch main --config ci-tests/naming_guideline.toml --library BESMod + +:: Check & Simulate BESMod Examples on PR +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples +:: Check & Simulate BESMod Examples on push +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples +:: Check & Simulate BESMod Tutorial on PR +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial +:: Check & Simulate BESMod Tutorial on push +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial +:: Check & Simulate BESMod Utilities on PR +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities +:: Check & Simulate BESMod Utilities on push +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities +:: Check & Simulate BESMod Systems on PR +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Systems +:: Check & Simulate BESMod Systems on push +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Systems diff --git a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml index 8a8a8850..bb98bf5e 100644 --- a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml +++ b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml @@ -1,97 +1,97 @@ -# image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda -# ci_stage_html_check : HTML_Check -# ci_stage_html_whitelist : create_html_whitelist -# ci_stage_open_PR : open_PR -# html_praefix : correct_HTML_ - -# ModelicaPyCI.syntax.html_tidy : modelicapyci_html_tidy_module -# arg_correct_html: --filter-whitelist-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities -# result_dir : ci-tests/result -# expire_in_time : 7h -# library : BESMod - -# ci_html_commit : ci_html -# ModelicaPyCI.api_script.api_github : modelicapyci_api_github_module -# arg_PR : --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities -# arg_wh : --filter-whitelist-flag --log-flag --whitelist-library IBPSA -# bot_create_html_file_commit : CI message from ebc-aixlib-bot. Push new files with corrected html Syntax . - -include: 'ci-tests/scripts/utilities.yml' - -image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda -stages: - - HTML_Check - - create_html_whitelist - - open_PR - -variables: - Praefix_Branch: correct_HTML_ - Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME - - - -Check_HTML:PR: - stage: HTML_Check - before_script: - - !reference [.activate_python_and_install_requirements, script] - - script: - - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities - artifacts: - paths: - - ci-tests/result/ - expire_in: 7h - rules: - - if: $CI_COMMIT_MESSAGE =~ /ci_html/ && $CI_PIPELINE_SOURCE == "push" - when: always - - !reference [.rules:PR , rules] - -Check_HTML:push: - stage: HTML_Check - before_script: - - !reference [.github_ssh_auth, script] - - !reference [.activate_python_and_install_requirements, script] - script: - - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities - artifacts: - paths: - - ci-tests/result/ - expire_in: 7h - rules: - - !reference [.rules:push , rules] - - - -Open_Pull_HTML_Request: - stage: open_PR - before_script: - - !reference [.github_ssh_auth, script] - - !reference [.activate_python_and_install_requirements, script] - script: - - python -m ModelicaPyCI.api_script.api_github --correct-html-flag --create-pr-flag --github-token $GITHUB_API_TOKEN --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod - rules: - - if: $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ && $CI_COMMIT_BRANCH =~ /^correct_HTML_.*$/ && $CI_PIPELINE_SOURCE == "push" - when: on_success - - -html_whitelist_job: - stage: create_html_whitelist - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.github_ssh_auth, script] - - script: - - mkdir whitelist && cd whitelist - - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - - cd $CI_PROJECT_NAME - - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --log-flag --whitelist-library IBPSA - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - - git add ibpsa_whitelist.txt - - git commit -m "$message" - - git push git@github.com:$Github_Repository.git - artifacts: - paths: - - ci-tests/result/ - expire_in: 7 day - rules: - - if: $CI_COMMIT_MESSAGE =~ /ci_create_html_whitelist/ && $CI_PIPELINE_SOURCE == "push" - when: always +# image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +# ci_stage_html_check : HTML_Check +# ci_stage_html_whitelist : create_html_whitelist +# ci_stage_open_PR : open_PR +# html_praefix : correct_HTML_ + +# ModelicaPyCI.syntax.html_tidy : modelicapyci_html_tidy_module +# arg_correct_html: --filter-whitelist-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems +# result_dir : ci-tests/result +# expire_in_time : 7h +# library : BESMod + +# ci_html_commit : ci_html +# ModelicaPyCI.api_script.api_github : modelicapyci_api_github_module +# arg_PR : --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems +# arg_wh : --filter-whitelist-flag --log-flag --whitelist-library IBPSA +# bot_create_html_file_commit : CI message from ebc-aixlib-bot. Push new files with corrected html Syntax . + +include: 'ci-tests/scripts/utilities.yml' + +image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +stages: + - HTML_Check + - create_html_whitelist + - open_PR + +variables: + Praefix_Branch: correct_HTML_ + Newbranch: $Praefix_Branch$CI_COMMIT_REF_NAME + + + +Check_HTML:PR: + stage: HTML_Check + before_script: + - !reference [.activate_python_and_install_requirements, script] + + script: + - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems + artifacts: + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_html/ && $CI_PIPELINE_SOURCE == "push" + when: always + - !reference [.rules:PR , rules] + +Check_HTML:push: + stage: HTML_Check + before_script: + - !reference [.github_ssh_auth, script] + - !reference [.activate_python_and_install_requirements, script] + script: + - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems + artifacts: + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:push , rules] + + + +Open_Pull_HTML_Request: + stage: open_PR + before_script: + - !reference [.github_ssh_auth, script] + - !reference [.activate_python_and_install_requirements, script] + script: + - python -m ModelicaPyCI.api_script.api_github --correct-html-flag --create-pr-flag --github-token $GITHUB_API_TOKEN --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod + rules: + - if: $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ && $CI_COMMIT_BRANCH =~ /^correct_HTML_.*$/ && $CI_PIPELINE_SOURCE == "push" + when: on_success + + +html_whitelist_job: + stage: create_html_whitelist + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.github_ssh_auth, script] + + script: + - mkdir whitelist && cd whitelist + - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git + - cd $CI_PROJECT_NAME + - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --log-flag --whitelist-library IBPSA - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." + - git add ibpsa_whitelist.txt + - git commit -m "$message" + - git push git@github.com:$Github_Repository.git + artifacts: + paths: + - ci-tests/result/ + expire_in: 7 day + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_create_html_whitelist/ && $CI_PIPELINE_SOURCE == "push" + when: always diff --git a/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml index e72d0585..6415d173 100644 --- a/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml +++ b/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml @@ -1,29 +1,29 @@ -# image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda -# ci_stage_style_check : Style_check -# modelicapyci_syntax_naming_guideline : ModelicaPyCI.syntax.naming_guideline -# library : BESMod -# ci_naming_guideline : ci_check_naming -# result_dir : ci-tests/result -# arg : --changed-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --working-branch $CI_COMMIT_BRANCH --github-repository RWTH-EBC/BESMod --main-branch main --config ci-tests/naming_guideline.toml --library BESMod - -include: 'ci-tests/scripts/utilities.yml' -stages: - - Style_check - - -NamingGuideline:BESMod:PR: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda - stage: Style_check - before_script: - - !reference [.activate_python_and_install_requirements, script] - script: - - python -m ModelicaPyCI.syntax.naming_guideline --changed-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --working-branch $CI_COMMIT_BRANCH --github-repository RWTH-EBC/BESMod --main-branch main --config ci-tests/naming_guideline.toml --library BESMod - artifacts: - paths: - - ci-tests/result/ - expire_in: 7 day - rules: - - if: $CI_COMMIT_MESSAGE =~ /ci_check_naming/ && $CI_PIPELINE_SOURCE == "push" - when: always - - !reference [.rules:PR , rules] - +# image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +# ci_stage_style_check : Style_check +# modelicapyci_syntax_naming_guideline : ModelicaPyCI.syntax.naming_guideline +# library : BESMod +# ci_naming_guideline : ci_check_naming +# result_dir : ci-tests/result +# arg : --changed-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --working-branch $CI_COMMIT_BRANCH --github-repository RWTH-EBC/BESMod --main-branch main --config ci-tests/naming_guideline.toml --library BESMod + +include: 'ci-tests/scripts/utilities.yml' +stages: + - Style_check + + +NamingGuideline:BESMod:PR: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: Style_check + before_script: + - !reference [.activate_python_and_install_requirements, script] + script: + - python -m ModelicaPyCI.syntax.naming_guideline --changed-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --working-branch $CI_COMMIT_BRANCH --github-repository RWTH-EBC/BESMod --main-branch main --config ci-tests/naming_guideline.toml --library BESMod + artifacts: + paths: + - ci-tests/result/ + expire_in: 7 day + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_check_naming/ && $CI_PIPELINE_SOURCE == "push" + when: always + - !reference [.rules:PR , rules] + diff --git a/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml index 5ff762eb..52b00253 100644 --- a/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml +++ b/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml @@ -1,50 +1,50 @@ -# image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda -# ci_stage_style_check : Style_check -# modelicapyci_syntax_test_module : ModelicaPyCI.syntax.style_checking -# xvfb_flag : xvfb-run -n 77 -# library : BESMod - -# ci_style_commit : ci_style_check -# result_dir : ci-tests/result -# arg_PR : --dymola-version 2022 --library BESMod -# arg_Push : --changed-flag --dymola-version 2022 --library BESMod - -include: 'ci-tests/scripts/utilities.yml' -stages: - - Style_check - - -StyleCheck:BESMod:PR: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda - stage: Style_check - before_script: - - !reference [.activate_python_and_install_requirements, script] - script: - - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking --dymola-version 2022 --library BESMod - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7 day - allow_failure: true - rules: - - if: $CI_COMMIT_MESSAGE =~ /ci_style_check/ && $CI_PIPELINE_SOURCE == "push" - when: always - - !reference [.rules:PR , rules] - -StyleCheck:BESMod:Push: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda - stage: Style_check - before_script: - - !reference [.activate_python_and_install_requirements, script] - script: - - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking --changed-flag --dymola-version 2022 --library BESMod - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7 day - allow_failure: true - rules: - - !reference [.rules:push , rules] - +# image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +# ci_stage_style_check : Style_check +# modelicapyci_syntax_test_module : ModelicaPyCI.syntax.style_checking +# xvfb_flag : xvfb-run -n 77 +# library : BESMod + +# ci_style_commit : ci_style_check +# result_dir : ci-tests/result +# arg_PR : --dymola-version 2022 --library BESMod +# arg_Push : --changed-flag --dymola-version 2022 --library BESMod + +include: 'ci-tests/scripts/utilities.yml' +stages: + - Style_check + + +StyleCheck:BESMod:PR: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: Style_check + before_script: + - !reference [.activate_python_and_install_requirements, script] + script: + - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking --dymola-version 2022 --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7 day + allow_failure: true + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_style_check/ && $CI_PIPELINE_SOURCE == "push" + when: always + - !reference [.rules:PR , rules] + +StyleCheck:BESMod:Push: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: Style_check + before_script: + - !reference [.activate_python_and_install_requirements, script] + script: + - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking --changed-flag --dymola-version 2022 --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7 day + allow_failure: true + rules: + - !reference [.rules:push , rules] + diff --git a/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml index 496ed84b..97a23cd3 100644 --- a/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml @@ -1,85 +1,95 @@ -# Variables: -# ci_stage_OM_model_check: OM_model_check -# library: BESMod -# ci_OM_check_commit: ci_om_check -# OM_Image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main -# OM_python_check_model_module: ModelicaPyCI.unittest.om_check -# result_dir: ci-tests/result -# expire_in_time: 7h -# arg_PR: --om-options OM_CHECK --whitelist-library IBPSA --packages $lib_package --library BESMod -# arg_push: --om-options OM_CHECK --changed-flag --whitelist-library IBPSA --packages $lib_package --library BESMod -# packages: ['Examples', 'Tutorial', 'Utilities'] - -include: 'ci-tests/scripts/utilities.yml' - -stages: - - OM_model_check - - -.OM_check_model_job:PR: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main - stage: OM_model_check - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.open_modelica_git_user_setting, script] - script: - - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --whitelist-library IBPSA --packages $lib_package --library BESMod - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7h - allow_failure: true - rules: - - if: $CI_COMMIT_MESSAGE =~ /ci_om_check/ && $CI_PIPELINE_SOURCE == "push" - when: always - - !reference [.rules:PR , rules] - -.OM_check_model_job:push: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main - stage: OM_model_check - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.open_modelica_git_user_setting, script] - script: - - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --changed-flag --whitelist-library IBPSA --packages $lib_package --library BESMod - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7h - allow_failure: true - rules: - - !reference [.rules:push, rules] - -OM_Check_BESMod_Examples:PR: - variables: - lib_package: Examples - extends: .OM_check_model_job:PR - -OM_Check_BESMod_Tutorial:PR: - variables: - lib_package: Tutorial - extends: .OM_check_model_job:PR - -OM_Check_BESMod_Utilities:PR: - variables: - lib_package: Utilities - extends: .OM_check_model_job:PR - - -OM_Check_BESMod_Examples:push: - variables: - lib_package: Examples - extends: .OM_check_model_job:push - -OM_Check_BESMod_Tutorial:push: - variables: - lib_package: Tutorial - extends: .OM_check_model_job:push - -OM_Check_BESMod_Utilities:push: - variables: - lib_package: Utilities - extends: .OM_check_model_job:push - +# Variables: +# ci_stage_OM_model_check: OM_model_check +# library: BESMod +# ci_OM_check_commit: ci_om_check +# OM_Image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main +# OM_python_check_model_module: ModelicaPyCI.unittest.om_check +# result_dir: ci-tests/result +# expire_in_time: 7h +# arg_PR: --om-options OM_CHECK --whitelist-library IBPSA --packages $lib_package --library BESMod +# arg_push: --om-options OM_CHECK --changed-flag --whitelist-library IBPSA --packages $lib_package --library BESMod +# packages: ['Examples', 'Tutorial', 'Utilities', 'Systems'] + +include: 'ci-tests/scripts/utilities.yml' + +stages: + - OM_model_check + + +.OM_check_model_job:PR: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main + stage: OM_model_check + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.open_modelica_git_user_setting, script] + script: + - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --whitelist-library IBPSA --packages $lib_package --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + allow_failure: true + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_om_check/ && $CI_PIPELINE_SOURCE == "push" + when: always + - !reference [.rules:PR , rules] + +.OM_check_model_job:push: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main + stage: OM_model_check + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.open_modelica_git_user_setting, script] + script: + - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --changed-flag --whitelist-library IBPSA --packages $lib_package --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + allow_failure: true + rules: + - !reference [.rules:push, rules] + +OM_Check_BESMod_Examples:PR: + variables: + lib_package: Examples + extends: .OM_check_model_job:PR + +OM_Check_BESMod_Tutorial:PR: + variables: + lib_package: Tutorial + extends: .OM_check_model_job:PR + +OM_Check_BESMod_Utilities:PR: + variables: + lib_package: Utilities + extends: .OM_check_model_job:PR + +OM_Check_BESMod_Systems:PR: + variables: + lib_package: Systems + extends: .OM_check_model_job:PR + + +OM_Check_BESMod_Examples:push: + variables: + lib_package: Examples + extends: .OM_check_model_job:push + +OM_Check_BESMod_Tutorial:push: + variables: + lib_package: Tutorial + extends: .OM_check_model_job:push + +OM_Check_BESMod_Utilities:push: + variables: + lib_package: Utilities + extends: .OM_check_model_job:push + +OM_Check_BESMod_Systems:push: + variables: + lib_package: Systems + extends: .OM_check_model_job:push + diff --git a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml index e9d4026c..64959922 100644 --- a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml @@ -1,123 +1,133 @@ -# dym_image_name: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda -# ci_stage_model_check: model_check -# ci_stage_create_whitelist: create_model_whitelist -# library: BESMod -# ci_check_commit: ci_check -# xvfb_flag: xvfb-run -n 77 -# modelicapyci_test_validate_module: ModelicaPyCI.unittest.checkpackages.validatetest -# result_dir: ci-tests/result -# expire_in_time: 7h -# ci_create_model_whitelist_commit: ci_create_model_whitelist -# arg_push: --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod -# arg_PR: --dym-options DYM_CHECK --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod -# config_ci_exit_file: exit.sh -# bot_update_model_whitelist_commit: CI message from ebc-aixlib-bot. Update file whitelist-check_file. Please pull the new files before push again. -# whitelist_model_file: dymola_check_whitelist.txt -# arg_wh: --dym-options DYM_CHECK --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities --library BESMod -# package_list: ['Examples', 'Tutorial', 'Utilities'] -# modelicapyci_config_structure_module: ModelicaPyCI.structure.config_structure - -include: 'ci-tests/scripts/utilities.yml' - -stages: - - model_check - - create_model_whitelist - - -.check_model_job:PR: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda - stage: model_check - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.custom_install_additional_modelica_libraries, script] - script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7h - rules: - - if: $CI_COMMIT_MESSAGE =~ /ci_check/ && $CI_PIPELINE_SOURCE == "push" - when: always - - !reference [.rules:PR , rules] - -.check_model_job:Push: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda - stage: model_check - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.custom_install_additional_modelica_libraries, script] - script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7h - rules: - - !reference [.rules:push , rules] - -Check_BESMod_Examples:PR: - variables: - lib_package: Examples - extends: .check_model_job:PR - -Check_BESMod_Tutorial:PR: - variables: - lib_package: Tutorial - extends: .check_model_job:PR - -Check_BESMod_Utilities:PR: - variables: - lib_package: Utilities - extends: .check_model_job:PR - - -Check_BESMod_Examples:Push: - variables: - lib_package: Examples - extends: .check_model_job:Push - -Check_BESMod_Tutorial:Push: - variables: - lib_package: Tutorial - extends: .check_model_job:Push - -Check_BESMod_Utilities:Push: - variables: - lib_package: Utilities - extends: .check_model_job:Push - - -check_whitelist_job: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda - stage: create_model_whitelist - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.custom_install_additional_modelica_libraries, script] - - !reference [.github_ssh_auth, script] - - script: - - mkdir whitelist && cd whitelist - - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - - cd $CI_PROJECT_NAME - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities --library BESMod - after_script: - - cd whitelist && cd $CI_PROJECT_NAME - - if cat exit.sh | grep "FAIL"; then - message="CI message from ebc-aixlib-bot. Update file whitelist-check_file. Please pull the new files before push again." ; - git add dymola_check_whitelist.txt ; - git commit -m "$message" ; - git push git@github.com:$Github_Repository.git; - exit 0; - else - exit 0 ; - fi - artifacts: - paths: - - ci-tests/result/ - expire_in: 7h - rules: - - if: $CI_COMMIT_MESSAGE =~ /ci_create_model_whitelist/ && $CI_PIPELINE_SOURCE == "push" - when: always +# dym_image_name: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +# ci_stage_model_check: model_check +# ci_stage_create_whitelist: create_model_whitelist +# library: BESMod +# ci_check_commit: ci_check +# xvfb_flag: xvfb-run -n 77 +# modelicapyci_test_validate_module: ModelicaPyCI.unittest.checkpackages.validatetest +# result_dir: ci-tests/result +# expire_in_time: 7h +# ci_create_model_whitelist_commit: ci_create_model_whitelist +# arg_push: --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# arg_PR: --dym-options DYM_CHECK --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# config_ci_exit_file: exit.sh +# bot_update_model_whitelist_commit: CI message from ebc-aixlib-bot. Update file whitelist-check_file. Please pull the new files before push again. +# whitelist_model_file: dymola_check_whitelist.txt +# arg_wh: --dym-options DYM_CHECK --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod +# package_list: ['Examples', 'Tutorial', 'Utilities', 'Systems'] +# modelicapyci_config_structure_module: ModelicaPyCI.structure.config_structure + +include: 'ci-tests/scripts/utilities.yml' + +stages: + - model_check + - create_model_whitelist + + +.check_model_job:PR: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: model_check + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + script: + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_check/ && $CI_PIPELINE_SOURCE == "push" + when: always + - !reference [.rules:PR , rules] + +.check_model_job:Push: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: model_check + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + script: + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:push , rules] + +Check_BESMod_Examples:PR: + variables: + lib_package: Examples + extends: .check_model_job:PR + +Check_BESMod_Tutorial:PR: + variables: + lib_package: Tutorial + extends: .check_model_job:PR + +Check_BESMod_Utilities:PR: + variables: + lib_package: Utilities + extends: .check_model_job:PR + +Check_BESMod_Systems:PR: + variables: + lib_package: Systems + extends: .check_model_job:PR + + +Check_BESMod_Examples:Push: + variables: + lib_package: Examples + extends: .check_model_job:Push + +Check_BESMod_Tutorial:Push: + variables: + lib_package: Tutorial + extends: .check_model_job:Push + +Check_BESMod_Utilities:Push: + variables: + lib_package: Utilities + extends: .check_model_job:Push + +Check_BESMod_Systems:Push: + variables: + lib_package: Systems + extends: .check_model_job:Push + + +check_whitelist_job: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: create_model_whitelist + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + - !reference [.github_ssh_auth, script] + + script: + - mkdir whitelist && cd whitelist + - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git + - cd $CI_PROJECT_NAME + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod + after_script: + - cd whitelist && cd $CI_PROJECT_NAME + - if cat exit.sh | grep "FAIL"; then + message="CI message from ebc-aixlib-bot. Update file whitelist-check_file. Please pull the new files before push again." ; + git add dymola_check_whitelist.txt ; + git commit -m "$message" ; + git push git@github.com:$Github_Repository.git; + exit 0; + else + exit 0 ; + fi + artifacts: + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_create_model_whitelist/ && $CI_PIPELINE_SOURCE == "push" + when: always diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 07ac490f..1a641f27 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -1,270 +1,277 @@ -# dym_image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda -# ci_stage_regression_test: RegressionTest -# ci_stage_ref_check :Ref_Check -# ci_stage_plot_ref : plot_ref -# ci_stage_prepare : prepare - -# buildingspy_upgrade : git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage -# modelicapyci_test_reference_module: ModelicaPyCI.unittest.reference_check -# modelicapyci_google_chart_module : ModelicaPyCI.converter.google_charts -# config_ci_exit_file : exit.sh -# result_dir : ci-tests/result -# ci_regression_test_commit : $ {ci_regression_test_commit} -# expire_in_time : 7h -# arg_PR: --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod -# arg_push: --changed-flag --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod -# arg_chart: --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities -# package_list: ['Examples', 'Tutorial', 'Utilities'] -# modelicapyci_api_github_module: ModelicaPyCI.api_script.api_github -# {arg_create_plots} : --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities -# api_github_arg: --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod -# PR_main_branch_rule : &{PR_main_branch_rule} -# library: BESMod -# ci_regression_test_commit : ci_regression_test -# xvfb_flag: xvfb-run -n 77 -# modelicapyci_structure_module: ModelicaPyCI.structure.config_structure -# arg_ref: --create-ref --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities --library BESMod -# config_ci_new_create_ref_file: ci_new_created_reference.txt -# bot_create_ref_commit: CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/ -# ci_show_ref_commit: ci_show_ref - -include: 'ci-tests/scripts/utilities.yml' - -stages: - - RegressionTest - - Ref_Check - - plot_ref - - prepare - - -.Regressiontest:PR: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda - stage: RegressionTest - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.custom_install_additional_modelica_libraries, script] - - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - script: - - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod - after_script: - - if cat exit.sh | grep "FAIL"; then - source activate myenv ; - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities ; - exit 1 ; - else - exit 0 ; - fi - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7h - rules: - - !reference [.rules:PR , rules] - - if: $CI_COMMIT_MESSAGE =~ /ci_regression_test/ && $CI_PIPELINE_SOURCE == "push" - when: always - -.Regressiontest:Push: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda - stage: RegressionTest - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.custom_install_additional_modelica_libraries, script] - - - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - script: - - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --changed-flag --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod - after_script: - - if cat exit.sh | grep "FAIL"; then - source activate myenv ; - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities ; - exit 1 ; - else - exit 0 ; - fi - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7h - rules: - - !reference [.rules:push , rules] - -Regressiontest_BESMod_Examples:PR: - variables: - lib_package: BESMod.Examples - extends: .Regressiontest:PR - -Regressiontest_BESMod_Tutorial:PR: - variables: - lib_package: BESMod.Tutorial - extends: .Regressiontest:PR - -Regressiontest_BESMod_Utilities:PR: - variables: - lib_package: BESMod.Utilities - extends: .Regressiontest:PR - - -Regressiontest_BESMod_Examples:Push: - variables: - lib_package: BESMod.Examples - extends: .Regressiontest:Push - -Regressiontest_BESMod_Tutorial:Push: - variables: - lib_package: BESMod.Tutorial - extends: .Regressiontest:Push - -Regressiontest_BESMod_Utilities:Push: - variables: - lib_package: BESMod.Utilities - extends: .Regressiontest:Push - - -Regression_overall_coverage:PR: - stage: RegressionTest - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.custom_install_additional_modelica_libraries, script] - - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - script: - - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities --library BESMod - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7h - rules: - - !reference [.rules:PR , rules] - - if: $CI_COMMIT_MESSAGE =~ /ci_regression_test/ && $CI_PIPELINE_SOURCE == "push" - when: always - -Regression_overall_coverage:Push: - stage: RegressionTest - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.custom_install_additional_modelica_libraries, script] - - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - script: - - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities --library BESMod - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7h - rules: - - !reference [.rules:push , rules] - -prepare_create_plots:Push: - stage: prepare - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.custom_install_additional_modelica_libraries, script] - - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - - apt-get update -y && apt-get install zip unzip -y - - pip install pandas mako matplot toml requests - script: - - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities - - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod - artifacts: - paths: - - ci-tests/result/ - rules: - - !reference [.rules:push , rules] - when: on_failure - needs: - - job: Regressiontest_BESMod_Examples:Push - artifacts: true - - job: Regressiontest_BESMod_Tutorial:Push - artifacts: true - - job: Regressiontest_BESMod_Utilities:Push - artifacts: true - -prepare_create_plots:PR: - stage: prepare - before_script: - - !reference [.activate_python_and_install_requirements, script] - script: - - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities - - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod - artifacts: - paths: - - ci-tests/result/ - rules: - - !reference [.rules:PR , rules] - - if: $CI_COMMIT_MESSAGE =~ /ci_regression_test/ && $CI_PIPELINE_SOURCE == "push" - when: always - when: on_failure - needs: - - job: Regressiontest_BESMod_Examples:PR - artifacts: true - - job: Regressiontest_BESMod_Tutorial:PR - artifacts: true - - job: Regressiontest_BESMod_Utilities:PR - artifacts: true - -RegressionTest_Check_References: - stage: Ref_Check - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.custom_install_additional_modelica_libraries, script] - - !reference [.github_ssh_auth, script] - - apt-get update -y && apt-get install xdg-utils --fix-missing -y - - pip install --upgrade git+https://github.com/MichaMans/BuildingsPy@testexamplescoverage - - script: - - mkdir CorrectedVersion && cd CorrectedVersion - - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - - cd $CI_PROJECT_NAME - - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities --library BESMod - after_script: - - source activate myenv - - cd CorrectedVersion/$CI_PROJECT_NAME - - if cat exit.sh | grep "FAIL"; then - push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; - (git ls-files --others --exclude-standard --directory BESMod) > ci_new_created_reference.txt ; - message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/" ; - pip install pandas mako matplot; - python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod ; - git add $push_model ; - git commit -m "$message"; - git push git@github.com:$Github_Repository.git ; - mkdir -p ../../ci-tests/result/ ; - cp -r ci-tests/result/* ../../ci-tests/result ; - exit 1 ; - else - exit 0 ; - fi - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7h - rules: - - !reference [.rules:PR , rules] - - if: $CI_COMMIT_MESSAGE =~ /ci_reference_check/ && $CI_PIPELINE_SOURCE == "push" - when: always - -plot_reference_results: - stage: plot_ref - before_script: - - !reference [.activate_python_and_install_requirements, script] - - apt-get update -y && apt-get install zip unzip -y - - pip install pandas mako matplot toml requests - - script: - - python -m ModelicaPyCI.converter.google_charts --line-html --show-ref --single-package BESMod --library BESMod - - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot - artifacts: - when: always - paths: - - ci-tests/result/ - rules: - - if: $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - when: always +# dym_image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +# ci_stage_regression_test: RegressionTest +# ci_stage_ref_check :Ref_Check +# ci_stage_plot_ref : plot_ref +# ci_stage_prepare : prepare + +# modelicapyci_test_reference_module: ModelicaPyCI.unittest.reference_check +# modelicapyci_google_chart_module : ModelicaPyCI.converter.google_charts +# config_ci_exit_file : exit.sh +# result_dir : ci-tests/result +# ci_regression_test_commit : $ {ci_regression_test_commit} +# expire_in_time : 7h +# arg_PR: --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod +# arg_push: --changed-flag --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod +# arg_chart: --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems +# package_list: ['Examples', 'Tutorial', 'Utilities', 'Systems'] +# modelicapyci_api_github_module: ModelicaPyCI.api_script.api_github +# {arg_create_plots} : --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems +# api_github_arg: --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod +# PR_main_branch_rule : &{PR_main_branch_rule} +# library: BESMod +# ci_regression_test_commit : ci_regression_test +# xvfb_flag: xvfb-run -n 77 +# modelicapyci_structure_module: ModelicaPyCI.structure.config_structure +# arg_ref: --create-ref --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod +# config_ci_new_create_ref_file: ci_new_created_reference.txt +# bot_create_ref_commit: CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/ +# ci_show_ref_commit: ci_show_ref + +include: 'ci-tests/scripts/utilities.yml' + +stages: + - RegressionTest + - Ref_Check + - plot_ref + - prepare + + +.Regressiontest:PR: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: RegressionTest + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + script: + - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod + after_script: + - if cat exit.sh | grep "FAIL"; then + source activate myenv ; + python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; + exit 1 ; + else + exit 0 ; + fi + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:PR , rules] + - if: $CI_COMMIT_MESSAGE =~ /ci_regression_test/ && $CI_PIPELINE_SOURCE == "push" + when: always + +.Regressiontest:Push: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: RegressionTest + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + + script: + - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --changed-flag --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod + after_script: + - if cat exit.sh | grep "FAIL"; then + source activate myenv ; + python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; + exit 1 ; + else + exit 0 ; + fi + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:push , rules] + +Regressiontest_BESMod_Examples:PR: + variables: + lib_package: BESMod.Examples + extends: .Regressiontest:PR + +Regressiontest_BESMod_Tutorial:PR: + variables: + lib_package: BESMod.Tutorial + extends: .Regressiontest:PR + +Regressiontest_BESMod_Utilities:PR: + variables: + lib_package: BESMod.Utilities + extends: .Regressiontest:PR + +Regressiontest_BESMod_Systems:PR: + variables: + lib_package: BESMod.Systems + extends: .Regressiontest:PR + + +Regressiontest_BESMod_Examples:Push: + variables: + lib_package: BESMod.Examples + extends: .Regressiontest:Push + +Regressiontest_BESMod_Tutorial:Push: + variables: + lib_package: BESMod.Tutorial + extends: .Regressiontest:Push + +Regressiontest_BESMod_Utilities:Push: + variables: + lib_package: BESMod.Utilities + extends: .Regressiontest:Push + +Regressiontest_BESMod_Systems:Push: + variables: + lib_package: BESMod.Systems + extends: .Regressiontest:Push + + +Regression_overall_coverage:PR: + stage: RegressionTest + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + script: + - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:PR , rules] + - if: $CI_COMMIT_MESSAGE =~ /ci_regression_test/ && $CI_PIPELINE_SOURCE == "push" + when: always + +Regression_overall_coverage:Push: + stage: RegressionTest + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + script: + - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:push , rules] + +prepare_create_plots:Push: + stage: prepare + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + - apt-get update -y && apt-get install zip unzip -y + - pip install pandas mako matplot toml requests + script: + - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems + - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod + artifacts: + paths: + - ci-tests/result/ + rules: + - !reference [.rules:push , rules] + when: on_failure + needs: + - job: Regressiontest_BESMod_Examples:Push + artifacts: true + - job: Regressiontest_BESMod_Tutorial:Push + artifacts: true + - job: Regressiontest_BESMod_Utilities:Push + artifacts: true + - job: Regressiontest_BESMod_Systems:Push + artifacts: true + +prepare_create_plots:PR: + stage: prepare + before_script: + - !reference [.activate_python_and_install_requirements, script] + script: + - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems + - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod + artifacts: + paths: + - ci-tests/result/ + rules: + - !reference [.rules:PR , rules] + - if: $CI_COMMIT_MESSAGE =~ /ci_regression_test/ && $CI_PIPELINE_SOURCE == "push" + when: always + when: on_failure + needs: + - job: Regressiontest_BESMod_Examples:PR + artifacts: true + - job: Regressiontest_BESMod_Tutorial:PR + artifacts: true + - job: Regressiontest_BESMod_Utilities:PR + artifacts: true + - job: Regressiontest_BESMod_Systems:PR + artifacts: true + +RegressionTest_Check_References: + stage: Ref_Check + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + - !reference [.github_ssh_auth, script] + - apt-get update -y && apt-get install xdg-utils --fix-missing -y + + script: + - mkdir CorrectedVersion && cd CorrectedVersion + - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git + - cd $CI_PROJECT_NAME + - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod + after_script: + - source activate myenv + - cd CorrectedVersion/$CI_PROJECT_NAME + - if cat exit.sh | grep "FAIL"; then + push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; + (git ls-files --others --exclude-standard --directory BESMod) > ci_new_created_reference.txt ; + message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/" ; + pip install pandas mako matplot; + python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod ; + git add $push_model ; + git commit -m "$message"; + git push git@github.com:$Github_Repository.git ; + mkdir -p ../../ci-tests/result/ ; + cp -r ci-tests/result/* ../../ci-tests/result ; + exit 1 ; + else + exit 0 ; + fi + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:PR , rules] + - if: $CI_COMMIT_MESSAGE =~ /ci_reference_check/ && $CI_PIPELINE_SOURCE == "push" + when: always + +plot_reference_results: + stage: plot_ref + before_script: + - !reference [.activate_python_and_install_requirements, script] + - apt-get update -y && apt-get install zip unzip -y + - pip install pandas mako matplot toml requests + + script: + - python -m ModelicaPyCI.converter.google_charts --line-html --show-ref --single-package BESMod --library BESMod + - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot + artifacts: + when: always + paths: + - ci-tests/result/ + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_show_ref/ + when: always diff --git a/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml index a3833766..b7be0c33 100644 --- a/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml @@ -1,86 +1,96 @@ -# ci_stage_OM_simulate: OM_simulate -# library: BESMod -# ci_OM_sim_commit: ci_om_simulate -# OM_python_check_model_module: ModelicaPyCI.unittest.om_check -# arg_PR : --om-options OM_SIM --whitelist-library IBPSA --packages Examples Tutorial Utilities --library BESMod -# arg_push: --om-options OM_SIM --changed-flag --whitelist-library IBPSA --packages Examples Tutorial Utilities --library BESMod -# result_dir: ci-tests/result -# OM_Image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main -# expire_in_time: 7h -# packages: ['Examples', 'Tutorial', 'Utilities'] - -include: 'ci-tests/scripts/utilities.yml' - -stages: - - OM_simulate - - -.OM_simulate_model_job:PR: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main - stage: OM_simulate - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.open_modelica_git_user_setting, script] - script: - - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --whitelist-library IBPSA --packages Examples Tutorial Utilities --library BESMod - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7h - allow_failure: true - rules: - - if: $CI_COMMIT_MESSAGE =~ /ci_om_simulate/ && $CI_PIPELINE_SOURCE == "push" - when: always - - !reference [.rules:PR , rules] - -.OM_simulate_model_job:push: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main - stage: OM_simulate - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.open_modelica_git_user_setting, script] - script: - - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --changed-flag --whitelist-library IBPSA --packages Examples Tutorial Utilities --library BESMod - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7h - allow_failure: true - rules: - - !reference [.rules:push, rules] - -OM_Simulate_BESMod_Examples:PR: - variables: - lib_package: Examples - extends: .OM_simulate_model_job:PR - -OM_Simulate_BESMod_Tutorial:PR: - variables: - lib_package: Tutorial - extends: .OM_simulate_model_job:PR - -OM_Simulate_BESMod_Utilities:PR: - variables: - lib_package: Utilities - extends: .OM_simulate_model_job:PR - - -OM_Simulate_BESMod_Examples:push: - variables: - lib_package: Examples - extends: .OM_simulate_model_job:push - -OM_Simulate_BESMod_Tutorial:push: - variables: - lib_package: Tutorial - extends: .OM_simulate_model_job:push - -OM_Simulate_BESMod_Utilities:push: - variables: - lib_package: Utilities - extends: .OM_simulate_model_job:push - - - +# ci_stage_OM_simulate: OM_simulate +# library: BESMod +# ci_OM_sim_commit: ci_om_simulate +# OM_python_check_model_module: ModelicaPyCI.unittest.om_check +# arg_PR : --om-options OM_SIM --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod +# arg_push: --om-options OM_SIM --changed-flag --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod +# result_dir: ci-tests/result +# OM_Image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main +# expire_in_time: 7h +# packages: ['Examples', 'Tutorial', 'Utilities', 'Systems'] + +include: 'ci-tests/scripts/utilities.yml' + +stages: + - OM_simulate + + +.OM_simulate_model_job:PR: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main + stage: OM_simulate + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.open_modelica_git_user_setting, script] + script: + - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + allow_failure: true + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_om_simulate/ && $CI_PIPELINE_SOURCE == "push" + when: always + - !reference [.rules:PR , rules] + +.OM_simulate_model_job:push: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main + stage: OM_simulate + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.open_modelica_git_user_setting, script] + script: + - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --changed-flag --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + allow_failure: true + rules: + - !reference [.rules:push, rules] + +OM_Simulate_BESMod_Examples:PR: + variables: + lib_package: Examples + extends: .OM_simulate_model_job:PR + +OM_Simulate_BESMod_Tutorial:PR: + variables: + lib_package: Tutorial + extends: .OM_simulate_model_job:PR + +OM_Simulate_BESMod_Utilities:PR: + variables: + lib_package: Utilities + extends: .OM_simulate_model_job:PR + +OM_Simulate_BESMod_Systems:PR: + variables: + lib_package: Systems + extends: .OM_simulate_model_job:PR + + +OM_Simulate_BESMod_Examples:push: + variables: + lib_package: Examples + extends: .OM_simulate_model_job:push + +OM_Simulate_BESMod_Tutorial:push: + variables: + lib_package: Tutorial + extends: .OM_simulate_model_job:push + +OM_Simulate_BESMod_Utilities:push: + variables: + lib_package: Utilities + extends: .OM_simulate_model_job:push + +OM_Simulate_BESMod_Systems:push: + variables: + lib_package: Systems + extends: .OM_simulate_model_job:push + + + diff --git a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml index 2561afab..3cc37928 100644 --- a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml @@ -1,122 +1,132 @@ -# dym_image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda -# ci_stage_simulate: simulate -# ci_stage_create_exampel_whitelist: create_example_whitelist -# arg_push : --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod -# arg_PR: --dym-options DYM_SIM --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod -# library: BESMod -# ci_check_commit ci_simulate -# modelicapyci_test_validate_module: ModelicaPyCI.unittest.checkpackages.validatetest -# package_list: ['Examples', 'Tutorial', 'Utilities'] -# arg_wh: --dym-options DYM_SIM --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities --library BESMod -# bot_update_model_whitelist_commit: CI message from ebc-aixlib-bot. Update file whitelist-simulate_file. Please pull the new files before push again. -# whitelist_model_file: dymola_simulate_whitelist.txt -# ci_create_model_whitelist_commit: ci_create_example_whitelist -# result_dir : ci-tests/result -# expire_in_time: 7h -# xvfb_flag : xvfb-run -n 77 -# config_ci_exit_file : exit.sh - -include: 'ci-tests/scripts/utilities.yml' - -stages: - - simulate - - create_example_whitelist - - -.simulate_model_job:PR: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda - stage: simulate - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.custom_install_additional_modelica_libraries, script] - script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7h - rules: - - if: $CI_COMMIT_MESSAGE =~ /ci_simulate/ && $CI_PIPELINE_SOURCE == "push" - when: always - - !reference [.rules:PR , rules] - -.simulate_model_job:Push: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda - stage: simulate - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.custom_install_additional_modelica_libraries, script] - script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod - artifacts: - when: on_failure - paths: - - ci-tests/result/ - expire_in: 7h - rules: - - !reference [.rules:push , rules] - -Simulate_BESMod_Examples:PR: - variables: - lib_package: Examples - extends: .simulate_model_job:PR - -Simulate_BESMod_Tutorial:PR: - variables: - lib_package: Tutorial - extends: .simulate_model_job:PR - -Simulate_BESMod_Utilities:PR: - variables: - lib_package: Utilities - extends: .simulate_model_job:PR - - - -Simulate_BESMod_Examples:Push: - variables: - lib_package: Examples - extends: .simulate_model_job:Push - -Simulate_BESMod_Tutorial:Push: - variables: - lib_package: Tutorial - extends: .simulate_model_job:Push - -Simulate_BESMod_Utilities:Push: - variables: - lib_package: Utilities - extends: .simulate_model_job:Push - - -simulate_whitelist_job: - image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda - stage: create_example_whitelist - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.custom_install_additional_modelica_libraries, script] - - !reference [.github_ssh_auth, script] - script: - - mkdir whitelist && cd whitelist - - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - - cd $CI_PROJECT_NAME - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities --library BESMod - after_script: - - cd whitelist && cd $CI_PROJECT_NAME - - if cat exit.sh | grep "FAIL"; then - message="CI message from ebc-aixlib-bot. Update file whitelist-simulate_file. Please pull the new files before push again." ; - git add dymola_simulate_whitelist.txt ; - git commit -m "$message" ; - git push git@github.com:$Github_Repository.git ; - exit 0; - else - exit 0 ; - fi - artifacts: - paths: - - ci-tests/result/ - expire_in: 7h - rules: - - if: $CI_COMMIT_MESSAGE =~ /ci_create_example_whitelist/ && $CI_PIPELINE_SOURCE == "push" - when: always +# dym_image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +# ci_stage_simulate: simulate +# ci_stage_create_exampel_whitelist: create_example_whitelist +# arg_push : --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# arg_PR: --dym-options DYM_SIM --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# library: BESMod +# ci_check_commit ci_simulate +# modelicapyci_test_validate_module: ModelicaPyCI.unittest.checkpackages.validatetest +# package_list: ['Examples', 'Tutorial', 'Utilities', 'Systems'] +# arg_wh: --dym-options DYM_SIM --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod +# bot_update_model_whitelist_commit: CI message from ebc-aixlib-bot. Update file whitelist-simulate_file. Please pull the new files before push again. +# whitelist_model_file: dymola_simulate_whitelist.txt +# ci_create_model_whitelist_commit: ci_create_example_whitelist +# result_dir : ci-tests/result +# expire_in_time: 7h +# xvfb_flag : xvfb-run -n 77 +# config_ci_exit_file : exit.sh + +include: 'ci-tests/scripts/utilities.yml' + +stages: + - simulate + - create_example_whitelist + + +.simulate_model_job:PR: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: simulate + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + script: + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_simulate/ && $CI_PIPELINE_SOURCE == "push" + when: always + - !reference [.rules:PR , rules] + +.simulate_model_job:Push: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: simulate + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + script: + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + artifacts: + when: on_failure + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - !reference [.rules:push , rules] + +Simulate_BESMod_Examples:PR: + variables: + lib_package: Examples + extends: .simulate_model_job:PR + +Simulate_BESMod_Tutorial:PR: + variables: + lib_package: Tutorial + extends: .simulate_model_job:PR + +Simulate_BESMod_Utilities:PR: + variables: + lib_package: Utilities + extends: .simulate_model_job:PR + +Simulate_BESMod_Systems:PR: + variables: + lib_package: Systems + extends: .simulate_model_job:PR + + + +Simulate_BESMod_Examples:Push: + variables: + lib_package: Examples + extends: .simulate_model_job:Push + +Simulate_BESMod_Tutorial:Push: + variables: + lib_package: Tutorial + extends: .simulate_model_job:Push + +Simulate_BESMod_Utilities:Push: + variables: + lib_package: Utilities + extends: .simulate_model_job:Push + +Simulate_BESMod_Systems:Push: + variables: + lib_package: Systems + extends: .simulate_model_job:Push + + +simulate_whitelist_job: + image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda + stage: create_example_whitelist + before_script: + - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] + - !reference [.github_ssh_auth, script] + script: + - mkdir whitelist && cd whitelist + - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git + - cd $CI_PROJECT_NAME + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod + after_script: + - cd whitelist && cd $CI_PROJECT_NAME + - if cat exit.sh | grep "FAIL"; then + message="CI message from ebc-aixlib-bot. Update file whitelist-simulate_file. Please pull the new files before push again." ; + git add dymola_simulate_whitelist.txt ; + git commit -m "$message" ; + git push git@github.com:$Github_Repository.git ; + exit 0; + else + exit 0 ; + fi + artifacts: + paths: + - ci-tests/result/ + expire_in: 7h + rules: + - if: $CI_COMMIT_MESSAGE =~ /ci_create_example_whitelist/ && $CI_PIPELINE_SOURCE == "push" + when: always diff --git a/ci-tests/scripts/utilities.yml b/ci-tests/scripts/utilities.yml index a0733259..87dcd978 100644 --- a/ci-tests/scripts/utilities.yml +++ b/ci-tests/scripts/utilities.yml @@ -1,52 +1,53 @@ -# conda_environment: myenv -# modelica_py_ci_url: https://github.com/RWTH-EBC/ModelicaPyCI.git -# ci_toml_path: ci-tests/config/modelica_py_ci_config.toml -# commit_string: $CI_COMMIT_MESSAGE !~ /ci_update_ref/ && $CI_COMMIT_MESSAGE !~ /ci_show_ref/ && $CI_COMMIT_MESSAGE !~ /ci_dif_ref/ && $CI_COMMIT_MESSAGE !~ /ci_create_model_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_html_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_example_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_om_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_check/ && $CI_COMMIT_MESSAGE !~ /ci_om_check/ && $CI_COMMIT_MESSAGE !~ /ci_regression_test/ && $CI_COMMIT_MESSAGE !~ /ci_html/ && $CI_COMMIT_MESSAGE !~ /ci_setting/ && $CI_COMMIT_MESSAGE !~ /ci_style_check/ && $CI_COMMIT_MESSAGE !~ /ci_trigger_ibpsa/ && $CI_COMMIT_MESSAGE !~ /ci_merge_except/ && $CI_COMMIT_MESSAGE !~ /ci_correct_html/ && $CI_COMMIT_MESSAGE !~ /ci_build_structure/ && $CI_COMMIT_MESSAGE !~ /ci_build_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_reference_check/ && $CI_COMMIT_MESSAGE !~ /ci_check_naming/ -# PR_main_branch_rule: $CI_COMMIT_BRANCH == "main" -# This file contains small scripts, rules or other templates -# which can be referenced by other templates in this repo (or other repos as well). -# Include the scripts using the `!reference` tag. - -.github_ssh_auth: - script: - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - eval $(ssh-agent -s) - - mkdir -p ~/.ssh - - ssh-keyscan github.com >> ~/.ssh/known_hosts - - ssh-agent -a /tmp/ssh_agent.sock > /dev/null - - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa - - chmod 600 ~/.ssh/id_rsa - - git config --global user.name "$GITLAB_USER_NAME" - - git config --global user.email "$GITLAB_USER_EMAIL" - -.activate_python_and_install_requirements: - script: - - export PIP_CACHE_DIR="/opt/cache/pip" - - source activate myenv || echo "myenv is not installed, can't activate it" - - pip install --upgrade pip && pip install natsort toml pandas mako requests - - export PYTHONIOENCODING=utf-8 - - pip install git+https://github.com/lbl-srg/BuildingsPy.git@master - - pip install git+https://github.com/RWTH-EBC/ModelicaPyCI.git - - export CI_PYTHON_CONFIG_FILE="ci-tests/config/modelica_py_ci_config.toml" - -.custom_install_additional_modelica_libraries: - script: - - python install_dependencies.py full - -.rules:PR: - rules: - - if: $CI_PIPELINE_SOURCE == "external_pull_request_event" && $CI_COMMIT_MESSAGE !~ /ci_update_ref/ && $CI_COMMIT_MESSAGE !~ /ci_show_ref/ && $CI_COMMIT_MESSAGE !~ /ci_dif_ref/ && $CI_COMMIT_MESSAGE !~ /ci_create_model_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_html_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_example_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_om_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_check/ && $CI_COMMIT_MESSAGE !~ /ci_om_check/ && $CI_COMMIT_MESSAGE !~ /ci_regression_test/ && $CI_COMMIT_MESSAGE !~ /ci_html/ && $CI_COMMIT_MESSAGE !~ /ci_setting/ && $CI_COMMIT_MESSAGE !~ /ci_style_check/ && $CI_COMMIT_MESSAGE !~ /ci_trigger_ibpsa/ && $CI_COMMIT_MESSAGE !~ /ci_merge_except/ && $CI_COMMIT_MESSAGE !~ /ci_correct_html/ && $CI_COMMIT_MESSAGE !~ /ci_build_structure/ && $CI_COMMIT_MESSAGE !~ /ci_build_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_reference_check/ && $CI_COMMIT_MESSAGE !~ /ci_check_naming/ - when: on_success - - if: $CI_PIPELINE_SOURCE == "push" && ($CI_COMMIT_BRANCH == "main" ) - when: on_success - -.rules:push: - rules: - - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_MESSAGE !~ /ci_update_ref/ && $CI_COMMIT_MESSAGE !~ /ci_show_ref/ && $CI_COMMIT_MESSAGE !~ /ci_dif_ref/ && $CI_COMMIT_MESSAGE !~ /ci_create_model_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_html_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_example_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_om_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_check/ && $CI_COMMIT_MESSAGE !~ /ci_om_check/ && $CI_COMMIT_MESSAGE !~ /ci_regression_test/ && $CI_COMMIT_MESSAGE !~ /ci_html/ && $CI_COMMIT_MESSAGE !~ /ci_setting/ && $CI_COMMIT_MESSAGE !~ /ci_style_check/ && $CI_COMMIT_MESSAGE !~ /ci_trigger_ibpsa/ && $CI_COMMIT_MESSAGE !~ /ci_merge_except/ && $CI_COMMIT_MESSAGE !~ /ci_correct_html/ && $CI_COMMIT_MESSAGE !~ /ci_build_structure/ && $CI_COMMIT_MESSAGE !~ /ci_build_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_reference_check/ && $CI_COMMIT_MESSAGE !~ /ci_check_naming/ - when: on_success - - if: ($CI_COMMIT_BRANCH == "main" ) - when: never - -.open_modelica_git_user_setting: - script: - - runuser -u openmodelicausers -- sh -c 'git config --global --add safe.directory "$(pwd)"' +# conda_environment: myenv +# modelica_py_ci_url: https://github.com/RWTH-EBC/ModelicaPyCI.git +# ci_toml_path: ci-tests/config/modelica_py_ci_config.toml +# commit_string: $CI_COMMIT_MESSAGE !~ /ci_update_ref/ && $CI_COMMIT_MESSAGE !~ /ci_show_ref/ && $CI_COMMIT_MESSAGE !~ /ci_dif_ref/ && $CI_COMMIT_MESSAGE !~ /ci_create_model_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_html_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_example_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_om_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_check/ && $CI_COMMIT_MESSAGE !~ /ci_om_check/ && $CI_COMMIT_MESSAGE !~ /ci_regression_test/ && $CI_COMMIT_MESSAGE !~ /ci_html/ && $CI_COMMIT_MESSAGE !~ /ci_setting/ && $CI_COMMIT_MESSAGE !~ /ci_style_check/ && $CI_COMMIT_MESSAGE !~ /ci_trigger_ibpsa/ && $CI_COMMIT_MESSAGE !~ /ci_merge_except/ && $CI_COMMIT_MESSAGE !~ /ci_correct_html/ && $CI_COMMIT_MESSAGE !~ /ci_build_structure/ && $CI_COMMIT_MESSAGE !~ /ci_build_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_reference_check/ && $CI_COMMIT_MESSAGE !~ /ci_check_naming/ +# PR_main_branch_rule: $CI_COMMIT_BRANCH == "main" +# This file contains small scripts, rules or other templates +# which can be referenced by other templates in this repo (or other repos as well). +# Include the scripts using the `!reference` tag. + +.github_ssh_auth: + script: + - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' + - eval $(ssh-agent -s) + - mkdir -p ~/.ssh + - ssh-keyscan github.com >> ~/.ssh/known_hosts + - ssh-agent -a /tmp/ssh_agent.sock > /dev/null + - echo "$GITHUB_PRIVATE_KEY" > ~/.ssh/id_rsa + - chmod 600 ~/.ssh/id_rsa + - git config --global user.name "$GITLAB_USER_NAME" + - git config --global user.email "$GITLAB_USER_EMAIL" + +.activate_python_and_install_requirements: + script: + - export PIP_CACHE_DIR="/opt/cache/pip" + - source activate myenv || echo "myenv is not installed, can't activate it" + - pip install --upgrade pip && pip install natsort toml pandas mako requests + - export PYTHONIOENCODING=utf-8 + - pip install git+https://github.com/lbl-srg/BuildingsPy.git@master + - pip install git+https://github.com/RWTH-EBC/ModelicaPyCI.git + - export CI_PYTHON_CONFIG_FILE="ci-tests/config/modelica_py_ci_config.toml" + +.custom_install_additional_modelica_libraries: + script: + - apt-get install git-lfs -y + - python install_dependencies.py full + +.rules:PR: + rules: + - if: $CI_PIPELINE_SOURCE == "external_pull_request_event" && $CI_COMMIT_MESSAGE !~ /ci_update_ref/ && $CI_COMMIT_MESSAGE !~ /ci_show_ref/ && $CI_COMMIT_MESSAGE !~ /ci_dif_ref/ && $CI_COMMIT_MESSAGE !~ /ci_create_model_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_html_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_example_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_om_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_check/ && $CI_COMMIT_MESSAGE !~ /ci_om_check/ && $CI_COMMIT_MESSAGE !~ /ci_regression_test/ && $CI_COMMIT_MESSAGE !~ /ci_html/ && $CI_COMMIT_MESSAGE !~ /ci_setting/ && $CI_COMMIT_MESSAGE !~ /ci_style_check/ && $CI_COMMIT_MESSAGE !~ /ci_trigger_ibpsa/ && $CI_COMMIT_MESSAGE !~ /ci_merge_except/ && $CI_COMMIT_MESSAGE !~ /ci_correct_html/ && $CI_COMMIT_MESSAGE !~ /ci_build_structure/ && $CI_COMMIT_MESSAGE !~ /ci_build_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_reference_check/ && $CI_COMMIT_MESSAGE !~ /ci_check_naming/ + when: on_success + - if: $CI_PIPELINE_SOURCE == "push" && ($CI_COMMIT_BRANCH == "main" ) + when: on_success + +.rules:push: + rules: + - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_MESSAGE !~ /ci_update_ref/ && $CI_COMMIT_MESSAGE !~ /ci_show_ref/ && $CI_COMMIT_MESSAGE !~ /ci_dif_ref/ && $CI_COMMIT_MESSAGE !~ /ci_create_model_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_html_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_example_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_om_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_check/ && $CI_COMMIT_MESSAGE !~ /ci_om_check/ && $CI_COMMIT_MESSAGE !~ /ci_regression_test/ && $CI_COMMIT_MESSAGE !~ /ci_html/ && $CI_COMMIT_MESSAGE !~ /ci_setting/ && $CI_COMMIT_MESSAGE !~ /ci_style_check/ && $CI_COMMIT_MESSAGE !~ /ci_trigger_ibpsa/ && $CI_COMMIT_MESSAGE !~ /ci_merge_except/ && $CI_COMMIT_MESSAGE !~ /ci_correct_html/ && $CI_COMMIT_MESSAGE !~ /ci_build_structure/ && $CI_COMMIT_MESSAGE !~ /ci_build_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_reference_check/ && $CI_COMMIT_MESSAGE !~ /ci_check_naming/ + when: on_success + - if: ($CI_COMMIT_BRANCH == "main" ) + when: never + +.open_modelica_git_user_setting: + script: + - runuser -u openmodelicausers -- sh -c 'git config --global --add safe.directory "$(pwd)"' From 453bd9cd2a167e2fa54ff22249c5cdf073c51efd Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Sun, 16 Jun 2024 19:29:19 +0200 Subject: [PATCH 033/125] try fix for after script and HTML PR --- .gitlab-ci.yml | 1 + ci-tests/scripts/.gitlab-ci.yml | 12 +++---- .../deploy/prepare_pages.gitlab-ci.yml | 3 +- ci-tests/scripts/local_windows_test.bat | 1 + .../syntax_tests/html_check.gitlab-ci.yml | 32 +++++++++++++------ .../naming_guideline.gitlab-ci.yml | 1 + .../syntax_tests/style_check.gitlab-ci.yml | 2 +- .../unit_tests/check_OM_model.gitlab-ci.yml | 1 - .../unit_tests/check_model.gitlab-ci.yml | 1 + .../unit_tests/regression_test.gitlab-ci.yml | 2 +- .../simulate_OM_model.gitlab-ci.yml | 1 + .../unit_tests/simulate_model.gitlab-ci.yml | 1 + ci-tests/scripts/utilities.yml | 1 + 13 files changed, 39 insertions(+), 20 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index aa37a05f..c0842960 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,2 +1,3 @@ + include: - 'ci-tests/scripts/.gitlab-ci.yml' diff --git a/ci-tests/scripts/.gitlab-ci.yml b/ci-tests/scripts/.gitlab-ci.yml index 666db8ea..07a4c8bc 100644 --- a/ci-tests/scripts/.gitlab-ci.yml +++ b/ci-tests/scripts/.gitlab-ci.yml @@ -1,4 +1,4 @@ -# You can adjust the sequence of the stages to your needs +# You can adjust the sequence of the stages to your needs: stages: - Ref_Check - open_PR @@ -22,15 +22,15 @@ variables: GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - - 'ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml' - 'ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml' - - 'ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml' - 'ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml' + - 'ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml' + - 'ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml' - 'ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml' - 'ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml' - - 'ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml' + - 'ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml' - project: 'EBC/EBC_all/gitlab_ci/templates' file: 'pages/gl-pages.gitlab-ci.yml' - project: 'EBC/EBC_all/gitlab_ci/templates' diff --git a/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml b/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml index 13987cbe..672c9154 100644 --- a/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml +++ b/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml @@ -1,9 +1,8 @@ +# Variables # ci_stage_prepare_page : prepare_pages # result_dir : ci-tests/result # expire_in_time : 7h - - stages: - prepare_pages prepare_pages: diff --git a/ci-tests/scripts/local_windows_test.bat b/ci-tests/scripts/local_windows_test.bat index 173bd7cc..44ad013e 100644 --- a/ci-tests/scripts/local_windows_test.bat +++ b/ci-tests/scripts/local_windows_test.bat @@ -3,6 +3,7 @@ :: .custom_install_additional_modelica_libraries :: .github_ssh_auth + python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems diff --git a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml index bb98bf5e..88436b3a 100644 --- a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml +++ b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml @@ -1,15 +1,14 @@ -# image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda -# ci_stage_html_check : HTML_Check +# Variables +# image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda +# ci_stage_html_check : HTML_Check # ci_stage_html_whitelist : create_html_whitelist -# ci_stage_open_PR : open_PR -# html_praefix : correct_HTML_ - +# ci_stage_open_PR : open_PR +# html_praefix : correct_HTML_ # ModelicaPyCI.syntax.html_tidy : modelicapyci_html_tidy_module # arg_correct_html: --filter-whitelist-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems # result_dir : ci-tests/result # expire_in_time : 7h # library : BESMod - # ci_html_commit : ci_html # ModelicaPyCI.api_script.api_github : modelicapyci_api_github_module # arg_PR : --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems @@ -34,9 +33,26 @@ Check_HTML:PR: stage: HTML_Check before_script: - !reference [.activate_python_and_install_requirements, script] - script: - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems + after_script: + - !reference [.activate_python_and_install_requirements, script] + - if cat exit.sh | grep "exit 1"; then + mkdir CorrectedVersion && cd CorrectedVersion; + git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; + cd $CI_PROJECT_NAME; + python -m ModelicaPyCI.syntax.html_tidy --library BESMod --correct-overwrite-flag --filter-whitelist-flag --log-flag; + git checkout -B $Newbranch; + message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; + git add BESMod; + echo $message; + git commit -m "$message"; + git push git@github.com:$Github_Repository.git; + wait; + exit 1; + else + exit 0; + fi artifacts: paths: - ci-tests/result/ @@ -60,8 +76,6 @@ Check_HTML:push: rules: - !reference [.rules:push , rules] - - Open_Pull_HTML_Request: stage: open_PR before_script: diff --git a/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml index 6415d173..a7084e58 100644 --- a/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml +++ b/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml @@ -1,3 +1,4 @@ +# Variables # image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda # ci_stage_style_check : Style_check # modelicapyci_syntax_naming_guideline : ModelicaPyCI.syntax.naming_guideline diff --git a/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml index 52b00253..7a21e6b7 100644 --- a/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml +++ b/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml @@ -1,9 +1,9 @@ +# Variables # image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda # ci_stage_style_check : Style_check # modelicapyci_syntax_test_module : ModelicaPyCI.syntax.style_checking # xvfb_flag : xvfb-run -n 77 # library : BESMod - # ci_style_commit : ci_style_check # result_dir : ci-tests/result # arg_PR : --dymola-version 2022 --library BESMod diff --git a/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml index 97a23cd3..adf52e88 100644 --- a/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml @@ -1,4 +1,3 @@ -# Variables: # ci_stage_OM_model_check: OM_model_check # library: BESMod # ci_OM_check_commit: ci_om_check diff --git a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml index 64959922..bd1ed5b7 100644 --- a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml @@ -1,3 +1,4 @@ +# Variables # dym_image_name: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda # ci_stage_model_check: model_check # ci_stage_create_whitelist: create_model_whitelist diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 1a641f27..89c2bac8 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -1,9 +1,9 @@ +# Variables # dym_image: registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda # ci_stage_regression_test: RegressionTest # ci_stage_ref_check :Ref_Check # ci_stage_plot_ref : plot_ref # ci_stage_prepare : prepare - # modelicapyci_test_reference_module: ModelicaPyCI.unittest.reference_check # modelicapyci_google_chart_module : ModelicaPyCI.converter.google_charts # config_ci_exit_file : exit.sh diff --git a/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml index b7be0c33..488dcf14 100644 --- a/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml @@ -1,3 +1,4 @@ +# Variables # ci_stage_OM_simulate: OM_simulate # library: BESMod # ci_OM_sim_commit: ci_om_simulate diff --git a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml index 3cc37928..67d71e7f 100644 --- a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml @@ -1,3 +1,4 @@ +# Variables # dym_image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda # ci_stage_simulate: simulate # ci_stage_create_exampel_whitelist: create_example_whitelist diff --git a/ci-tests/scripts/utilities.yml b/ci-tests/scripts/utilities.yml index 87dcd978..15f0546a 100644 --- a/ci-tests/scripts/utilities.yml +++ b/ci-tests/scripts/utilities.yml @@ -1,3 +1,4 @@ +# Variables # conda_environment: myenv # modelica_py_ci_url: https://github.com/RWTH-EBC/ModelicaPyCI.git # ci_toml_path: ci-tests/config/modelica_py_ci_config.toml From ff9eb5d28025ff66a6926a557b96b9fec3741b0c Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Sun, 16 Jun 2024 19:36:42 +0200 Subject: [PATCH 034/125] fix exit.sh --- ci-tests/scripts/.gitlab-ci.yml | 12 ++++++------ .../scripts/syntax_tests/html_check.gitlab-ci.yml | 2 +- .../scripts/unit_tests/check_model.gitlab-ci.yml | 4 ++-- .../scripts/unit_tests/regression_test.gitlab-ci.yml | 8 ++++---- .../scripts/unit_tests/simulate_model.gitlab-ci.yml | 4 ++-- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/ci-tests/scripts/.gitlab-ci.yml b/ci-tests/scripts/.gitlab-ci.yml index 07a4c8bc..f3d7541d 100644 --- a/ci-tests/scripts/.gitlab-ci.yml +++ b/ci-tests/scripts/.gitlab-ci.yml @@ -22,15 +22,15 @@ variables: GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - - 'ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml' - - 'ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml' - - 'ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml' - 'ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml' - 'ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml' - - 'ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml' - 'ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml' + - 'ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml' + - 'ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml' + - 'ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml' - project: 'EBC/EBC_all/gitlab_ci/templates' file: 'pages/gl-pages.gitlab-ci.yml' - project: 'EBC/EBC_all/gitlab_ci/templates' diff --git a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml index 88436b3a..83929567 100644 --- a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml +++ b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml @@ -37,7 +37,7 @@ Check_HTML:PR: - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems after_script: - !reference [.activate_python_and_install_requirements, script] - - if cat exit.sh | grep "exit 1"; then + - if cat ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; diff --git a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml index bd1ed5b7..7f9b270d 100644 --- a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml @@ -11,7 +11,7 @@ # ci_create_model_whitelist_commit: ci_create_model_whitelist # arg_push: --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod # arg_PR: --dym-options DYM_CHECK --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod -# config_ci_exit_file: exit.sh +# config_ci_exit_file: ci-tests/Configfiles/exit.sh # bot_update_model_whitelist_commit: CI message from ebc-aixlib-bot. Update file whitelist-check_file. Please pull the new files before push again. # whitelist_model_file: dymola_check_whitelist.txt # arg_wh: --dym-options DYM_CHECK --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod @@ -116,7 +116,7 @@ check_whitelist_job: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod after_script: - cd whitelist && cd $CI_PROJECT_NAME - - if cat exit.sh | grep "FAIL"; then + - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file whitelist-check_file. Please pull the new files before push again." ; git add dymola_check_whitelist.txt ; git commit -m "$message" ; diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 89c2bac8..39a6a237 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -6,7 +6,7 @@ # ci_stage_prepare : prepare # modelicapyci_test_reference_module: ModelicaPyCI.unittest.reference_check # modelicapyci_google_chart_module : ModelicaPyCI.converter.google_charts -# config_ci_exit_file : exit.sh +# config_ci_exit_file : ci-tests/Configfiles/exit.sh # result_dir : ci-tests/result # ci_regression_test_commit : $ {ci_regression_test_commit} # expire_in_time : 7h @@ -46,7 +46,7 @@ stages: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod after_script: - - if cat exit.sh | grep "FAIL"; then + - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then source activate myenv ; python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; exit 1 ; @@ -74,7 +74,7 @@ stages: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --changed-flag --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod after_script: - - if cat exit.sh | grep "FAIL"; then + - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then source activate myenv ; python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; exit 1 ; @@ -233,7 +233,7 @@ RegressionTest_Check_References: after_script: - source activate myenv - cd CorrectedVersion/$CI_PROJECT_NAME - - if cat exit.sh | grep "FAIL"; then + - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; (git ls-files --others --exclude-standard --directory BESMod) > ci_new_created_reference.txt ; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/" ; diff --git a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml index 67d71e7f..4ed05812 100644 --- a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml @@ -15,7 +15,7 @@ # result_dir : ci-tests/result # expire_in_time: 7h # xvfb_flag : xvfb-run -n 77 -# config_ci_exit_file : exit.sh +# config_ci_exit_file : ci-tests/Configfiles/exit.sh include: 'ci-tests/scripts/utilities.yml' @@ -115,7 +115,7 @@ simulate_whitelist_job: - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod after_script: - cd whitelist && cd $CI_PROJECT_NAME - - if cat exit.sh | grep "FAIL"; then + - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then message="CI message from ebc-aixlib-bot. Update file whitelist-simulate_file. Please pull the new files before push again." ; git add dymola_simulate_whitelist.txt ; git commit -m "$message" ; From 3b121fc272c16b1838482c21b5cba37685533d9a Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Sun, 16 Jun 2024 19:43:30 +0200 Subject: [PATCH 035/125] fix ssh and utils --- ci-tests/config/templates_generator_config.toml | 1 + ci-tests/scripts/.gitlab-ci.yml | 10 +++++----- ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml | 1 + 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ci-tests/config/templates_generator_config.toml b/ci-tests/config/templates_generator_config.toml index 6e15d624..e47c34a6 100644 --- a/ci-tests/config/templates_generator_config.toml +++ b/ci-tests/config/templates_generator_config.toml @@ -22,6 +22,7 @@ om_badge_name = "om_readiness_badge.svg" extended_examples = false commit_string = "$CI_COMMIT_MESSAGE !~ /ci_update_ref/ && $CI_COMMIT_MESSAGE !~ /ci_show_ref/ && $CI_COMMIT_MESSAGE !~ /ci_dif_ref/ && $CI_COMMIT_MESSAGE !~ /ci_create_model_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_html_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_example_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_om_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_check/ && $CI_COMMIT_MESSAGE !~ /ci_om_check/ && $CI_COMMIT_MESSAGE !~ /ci_regression_test/ && $CI_COMMIT_MESSAGE !~ /ci_html/ && $CI_COMMIT_MESSAGE !~ /ci_setting/ && $CI_COMMIT_MESSAGE !~ /ci_style_check/ && $CI_COMMIT_MESSAGE !~ /ci_trigger_ibpsa/ && $CI_COMMIT_MESSAGE !~ /ci_merge_except/ && $CI_COMMIT_MESSAGE !~ /ci_correct_html/ && $CI_COMMIT_MESSAGE !~ /ci_build_structure/ && $CI_COMMIT_MESSAGE !~ /ci_build_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_reference_check/ && $CI_COMMIT_MESSAGE !~ /ci_check_naming/" pr_main_branch_rule = "$CI_COMMIT_BRANCH == \"main\" " +extra_command_list = ["apt-get install git-lfs -y", "python install_dependencies.py full"] [packages] BESMod = [ "Examples", "Tutorial", "Utilities", "Systems"] diff --git a/ci-tests/scripts/.gitlab-ci.yml b/ci-tests/scripts/.gitlab-ci.yml index f3d7541d..ddc85d46 100644 --- a/ci-tests/scripts/.gitlab-ci.yml +++ b/ci-tests/scripts/.gitlab-ci.yml @@ -22,15 +22,15 @@ variables: GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: + - 'ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml' - 'ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml' - 'ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml' - 'ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml' - 'ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml' - - 'ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml' - project: 'EBC/EBC_all/gitlab_ci/templates' file: 'pages/gl-pages.gitlab-ci.yml' - project: 'EBC/EBC_all/gitlab_ci/templates' diff --git a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml index 83929567..84d7acc2 100644 --- a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml +++ b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml @@ -37,6 +37,7 @@ Check_HTML:PR: - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems after_script: - !reference [.activate_python_and_install_requirements, script] + - !reference [.github_ssh_auth, script] - if cat ci-tests/Configfiles/exit.sh | grep "exit 1"; then mkdir CorrectedVersion && cd CorrectedVersion; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; From db17e488d69a76f77b80d8acefc52cb241974bfd Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Sun, 16 Jun 2024 22:48:48 +0200 Subject: [PATCH 036/125] fix args --- ci-tests/scripts/.gitlab-ci.yml | 10 +++++----- ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ci-tests/scripts/.gitlab-ci.yml b/ci-tests/scripts/.gitlab-ci.yml index ddc85d46..085dd1de 100644 --- a/ci-tests/scripts/.gitlab-ci.yml +++ b/ci-tests/scripts/.gitlab-ci.yml @@ -22,14 +22,14 @@ variables: GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod include: - - 'ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml' - 'ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml' - - 'ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml' - 'ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml' - 'ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml' + - 'ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml' + - 'ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml' - 'ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml' - project: 'EBC/EBC_all/gitlab_ci/templates' file: 'pages/gl-pages.gitlab-ci.yml' diff --git a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml index 84d7acc2..56996b3b 100644 --- a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml +++ b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml @@ -5,7 +5,7 @@ # ci_stage_open_PR : open_PR # html_praefix : correct_HTML_ # ModelicaPyCI.syntax.html_tidy : modelicapyci_html_tidy_module -# arg_correct_html: --filter-whitelist-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems +# arg_correct_html: --filter-whitelist-flag --log-flag --correct-overwrite-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems # result_dir : ci-tests/result # expire_in_time : 7h # library : BESMod @@ -42,7 +42,7 @@ Check_HTML:PR: mkdir CorrectedVersion && cd CorrectedVersion; git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; cd $CI_PROJECT_NAME; - python -m ModelicaPyCI.syntax.html_tidy --library BESMod --correct-overwrite-flag --filter-whitelist-flag --log-flag; + python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --log-flag --correct-overwrite-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems ; git checkout -B $Newbranch; message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; git add BESMod; From b854f8a8f05a21f12938a6010f5274132d646461 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Sun, 16 Jun 2024 20:52:07 +0000 Subject: [PATCH 037/125] CI message from ebc-aixlib-bot. Push new files with corrected html Syntax . --- BESMod/Systems/Demand/DHW/DHWCalc.mo | 23 +- .../DHW/RecordsCollection/PartialDHWTap.mo | 7 +- BESMod/Systems/Demand/DHW/StandardProfiles.mo | 11 +- .../BaseClasses/LimPID.mo | 334 +++++++++++------- .../PartialStorageBaseDataDefinition.mo | 7 +- .../Functions/GetAverageVolumeOfWater.mo | 19 +- .../GettingStarted/SubmoduleDocumentation.mo | 60 +++- .../BaseClasses/RadiatorEN442_2.mo | 283 +++++++-------- 8 files changed, 430 insertions(+), 314 deletions(-) diff --git a/BESMod/Systems/Demand/DHW/DHWCalc.mo b/BESMod/Systems/Demand/DHW/DHWCalc.mo index 4eaa44cf..4b84533c 100644 --- a/BESMod/Systems/Demand/DHW/DHWCalc.mo +++ b/BESMod/Systems/Demand/DHW/DHWCalc.mo @@ -14,8 +14,25 @@ model DHWCalc "Use DHWCalc tables" "modelica://BESMod/Resources/DHWCalc.txt") "File where matrix is stored for DHWCalc"; - annotation (Documentation(info=" -

    The tool DHWCalc enables stochastic DHW profile models. It can be downloaded and used from here: https://www.uni-kassel.de/maschinenbau/institute/thermische-energietechnik/fachgebiete/solar-und-anlagentechnik/downloads

    -

    The columns of the file-name need to be the same as in the StandardProfiles module based on EU Regulation 812/2013.

    The default values for tCrit are based on the EU profiles. As the three profiles S, M, and L have a near ideal linear fit (R2 = 0.999) for QCrit depending on the daily volume, the default regression for QCrit was added.

    This should be re-considered for larger daily volumes.

    + annotation (Documentation(info="

    + The tool DHWCalc enables stochastic + DHW profile models. It can be downloaded and used from here: + https://www.uni-kassel.de/maschinenbau/institute/thermische-energietechnik/fachgebiete/solar-und-anlagentechnik/downloads +

    +

    + The columns of the file-name need to + be the same as in the StandardProfiles module based on EU Regulation + 812/2013. +

    +

    + The default values for tCrit are + based on the EU profiles. As the three profiles S, M, and L have a + near ideal linear fit (R2 = 0.999) for QCrit depending on the daily + volume, the default regression for QCrit was added. +

    +

    + This should be re-considered for + larger daily volumes. +

    ")); end DHWCalc; diff --git a/BESMod/Systems/Demand/DHW/RecordsCollection/PartialDHWTap.mo b/BESMod/Systems/Demand/DHW/RecordsCollection/PartialDHWTap.mo index fabc05db..ef58e3c5 100644 --- a/BESMod/Systems/Demand/DHW/RecordsCollection/PartialDHWTap.mo +++ b/BESMod/Systems/Demand/DHW/RecordsCollection/PartialDHWTap.mo @@ -11,7 +11,10 @@ record PartialDHWTap annotation (Icon(graphics, coordinateSystem(preserveAspectRatio=false)), Diagram(graphics, coordinateSystem(preserveAspectRatio=false)), - Documentation(info=" -

    These records are based on the EU Regulation 812/2013 profiles and the approach in the EN 15450 to size DHW tanks based on a critical time period.

    + Documentation(info="

    + These records are based on the EU + Regulation 812/2013 profiles and the approach in the EN 15450 to size + DHW tanks based on a critical time period. +

    ")); end PartialDHWTap; diff --git a/BESMod/Systems/Demand/DHW/StandardProfiles.mo b/BESMod/Systems/Demand/DHW/StandardProfiles.mo index 2b920afe..497a7ad8 100644 --- a/BESMod/Systems/Demand/DHW/StandardProfiles.mo +++ b/BESMod/Systems/Demand/DHW/StandardProfiles.mo @@ -13,8 +13,13 @@ model StandardProfiles "DHW profiles based on EU 812/2013" enable=not use_dhwCalc and use_dhw)); - annotation (Documentation(info=" -

    Source for EU Regulation 812/2013:

    -

    https://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2013:239:0083:0135:en:PDF

    + annotation (Documentation(info="

    + Source for EU Regulation + 812/2013: +

    +

    + https://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2013:239:0083:0135:en:PDF +

    ")); end StandardProfiles; diff --git a/BESMod/Systems/Hydraulical/Control/Components/RelativeSpeedController/BaseClasses/LimPID.mo b/BESMod/Systems/Hydraulical/Control/Components/RelativeSpeedController/BaseClasses/LimPID.mo index 0e0ac6b5..7e92b4e2 100644 --- a/BESMod/Systems/Hydraulical/Control/Components/RelativeSpeedController/BaseClasses/LimPID.mo +++ b/BESMod/Systems/Hydraulical/Control/Components/RelativeSpeedController/BaseClasses/LimPID.mo @@ -229,172 +229,234 @@ equation extent={{79,-112},{129,-102}}, lineColor={0,0,255}, textString=" (feed-forward)")}), - Documentation(info=" -

    -Via parameter controllerType either P, PI, PD, -or PID can be selected. If, e.g., PI is selected, all components belonging to the -D-part are removed from the block (via conditional declarations). -The example model -Modelica.Blocks.Examples.PID_Controller -demonstrates the usage of this controller. -Several practical aspects of PID controller design are incorporated -according to chapter 3 of the book: + Documentation(info="

    + Via parameter controllerType either + P, PI, PD, or + PID can be selected. If, e.g., PI is selected, all + components belonging to the D-part are removed from the block (via + conditional declarations). The example model Modelica.Blocks.Examples.PID_Controller + demonstrates the usage of this controller. Several practical aspects + of PID controller design are incorporated according to chapter 3 of + the book:

    -
    -
    Åström K.J., and Hägglund T.:
    -
    PID Controllers: Theory, Design, and Tuning. - Instrument Society of America, 2nd edition, 1995. -
    +
    + Åström K.J., and Hägglund T.: +
    +
    + PID Controllers: Theory, Design, and Tuning. + Instrument Society of America, 2nd edition, 1995. +
    -

    -Besides the additive proportional, integral and derivative -part of this controller, the following features are present: + Besides the additive proportional, integral and + derivative part of this controller, the following + features are present:

      -
    • The output of this controller is limited. If the controller is - in its limits, anti-windup compensation is activated to drive - the integrator state to zero.
    • -
    • The high-frequency gain of the derivative part is limited - to avoid excessive amplification of measurement noise.
    • -
    • Setpoint weighting is present, which allows to weight - the setpoint in the proportional and the derivative part - independently from the measurement. The controller will respond - to load disturbances and measurement noise independently of this setting - (parameters wp, wd). However, setpoint changes will depend on this - setting. For example, it is useful to set the setpoint weight wd - for the derivative part to zero, if steps may occur in the - setpoint signal.
    • -
    • Optional feed-forward. It is possible to add a feed-forward signal. - The feed-forward signal is added before limitation.
    • +
    • The output of this controller is limited. If the controller is in + its limits, anti-windup compensation is activated to drive the + integrator state to zero. +
    • +
    • The high-frequency gain of the derivative part is limited to + avoid excessive amplification of measurement noise. +
    • +
    • Setpoint weighting is present, which allows to weight the + setpoint in the proportional and the derivative part independently + from the measurement. The controller will respond to load + disturbances and measurement noise independently of this setting + (parameters wp, wd). However, setpoint changes will depend on this + setting. For example, it is useful to set the setpoint weight wd for + the derivative part to zero, if steps may occur in the setpoint + signal. +
    • +
    • Optional feed-forward. It is possible to add a feed-forward + signal. The feed-forward signal is added before limitation. +
    -

    -The parameters of the controller can be manually adjusted by performing -simulations of the closed loop system (= controller + plant connected -together) and using the following strategy: + The parameters of the controller can be manually adjusted by + performing simulations of the closed loop system (= controller + + plant connected together) and using the following strategy:

    -
      -
    1. Set very large limits, e.g., yMax = Modelica.Constants.inf
    2. -
    3. Select a P-controller and manually enlarge parameter k - (the total gain of the controller) until the closed-loop response - cannot be improved any more.
    4. -
    5. Select a PI-controller and manually adjust parameters - k and Ti (the time constant of the integrator). - The first value of Ti can be selected, such that it is in the - order of the time constant of the oscillations occurring with - the P-controller. If, e.g., vibrations in the order of T=10 ms - occur in the previous step, start with Ti=0.01 s.
    6. -
    7. If you want to make the reaction of the control loop faster - (but probably less robust against disturbances and measurement noise) - select a PID-Controller and manually adjust parameters - k, Ti, Td (time constant of derivative block).
    8. -
    9. Set the limits yMax and yMin according to your specification.
    10. -
    11. Perform simulations such that the output of the PID controller - goes in its limits. Tune Ni (Ni*Ti is the time constant of - the anti-windup compensation) such that the input to the limiter - block (= limiter.u) goes quickly enough back to its limits. - If Ni is decreased, this happens faster. If Ni=infinity, the - anti-windup compensation is switched off and the controller works bad.
    12. +
    13. Set very large limits, e.g., yMax = Modelica.Constants.inf +
    14. +
    15. Select a P-controller and manually enlarge + parameter k (the total gain of the controller) until + the closed-loop response cannot be improved any more. +
    16. +
    17. Select a PI-controller and manually adjust + parameters k and Ti (the time + constant of the integrator). The first value of Ti can be selected, + such that it is in the order of the time constant of the oscillations + occurring with the P-controller. If, e.g., vibrations in the order of + T=10 ms occur in the previous step, start with Ti=0.01 s. +
    18. +
    19. If you want to make the reaction of the control loop faster (but + probably less robust against disturbances and measurement noise) + select a PID-Controller and manually adjust + parameters k, Ti, + Td (time constant of derivative block). +
    20. +
    21. Set the limits yMax and yMin according to your specification. +
    22. +
    23. Perform simulations such that the output of the PID controller + goes in its limits. Tune Ni (Ni*Ti is the time + constant of the anti-windup compensation) such that the input to the + limiter block (= limiter.u) goes quickly enough back to its limits. + If Ni is decreased, this happens faster. If Ni=infinity, the + anti-windup compensation is switched off and the controller works + bad. +
    -

    -Initialization + Initialization

    -

    -This block can be initialized in different -ways controlled by parameter initType. The possible -values of initType are defined in -Modelica.Blocks.Types.InitPID. -This type is identical to -Types.Init, -with the only exception that the additional option -DoNotUse_InitialIntegratorState is added for -backward compatibility reasons (= integrator is initialized with -InitialState whereas differential part is initialized with -NoInit which was the initialization in version 2.2 of the Modelica -standard library). + This block can be initialized in different ways controlled by + parameter initType. The possible values of initType + are defined in Modelica.Blocks.Types.InitPID. + This type is identical to Types.Init, with the only + exception that the additional option + DoNotUse_InitialIntegratorState is added for + backward compatibility reasons (= integrator is initialized with + InitialState whereas differential part is initialized with NoInit + which was the initialization in version 2.2 of the Modelica standard + library).

    -

    -Based on the setting of initType, the integrator (I) and derivative (D) -blocks inside the PID controller are initialized according to the following table: + Based on the setting of initType, the integrator (I) and derivative + (D) blocks inside the PID controller are initialized according to the + following table:

    - - - - - - - - - - - - - - - - - - - - - - - - - +
    initTypeI.initTypeD.initType
    NoInitNoInitNoInit
    SteadyStateSteadyStateSteadyState
    InitialStateInitialStateInitialState
    InitialOutput
    - and initial equation: y = y_start
    NoInitSteadyState
    DoNotUse_InitialIntegratorStateInitialStateNoInit
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + initType + + I.initType + + D.initType +
    + NoInit + + NoInit + + NoInit +
    + SteadyState + + SteadyState + + SteadyState +
    + InitialState + + InitialState + + InitialState +
    + InitialOutput
    + and initial equation: y = y_start +
    + NoInit + + SteadyState +
    + DoNotUse_InitialIntegratorState + + InitialState + + NoInit +
    -

    -In many cases, the most useful initial condition is -SteadyState because initial transients are then no longer -present. If initType = InitPID.SteadyState, then in some -cases difficulties might occur. The reason is the -equation of the integrator: + In many cases, the most useful initial condition is + SteadyState because initial transients are then no + longer present. If initType = InitPID.SteadyState, then in some cases + difficulties might occur. The reason is the equation of the + integrator:

    -
        der(y) = k*u;
     
    -

    -The steady state equation \"der(x)=0\" leads to the condition that the input u to the -integrator is zero. If the input u is already (directly or indirectly) defined -by another initial condition, then the initialization problem is singular -(has none or infinitely many solutions). This situation occurs often -for mechanical systems, where, e.g., u = desiredSpeed - measuredSpeed and -since speed is both a state and a derivative, it is natural to -initialize it with zero. As sketched this is, however, not possible. -The solution is to not initialize u_m or the variable that is used -to compute u_m by an algebraic equation. + The steady state equation \"der(x)=0\" leads to the condition that the + input u to the integrator is zero. If the input u is already + (directly or indirectly) defined by another initial condition, then + the initialization problem is singular (has none or + infinitely many solutions). This situation occurs often for + mechanical systems, where, e.g., u = desiredSpeed - measuredSpeed and + since speed is both a state and a derivative, it is natural to + initialize it with zero. As sketched this is, however, not possible. + The solution is to not initialize u_m or the variable that is used to + compute u_m by an algebraic equation.

    -

    -When initializing in steady-state, homotopy-based initialization can help the convergence of the solver, -by using a simplified model a the beginning of the solution process. Different options are available. + When initializing in steady-state, homotopy-based initialization can + help the convergence of the solver, by using a simplified model a the + beginning of the solution process. Different options are available.

    -
      -
    • homotopyType=Linear (default): the limitations are removed from the simplified model, -making it linear. Use this if you know that the controller will not be saturated at steady state.
    • -
    • homotopyType=UpperLimit: if it is known a priori the controller will be stuck at the upper -limit yMax, this option assumes y = yMax as a simplified model.
    • -
    • homotopyType=LowerLimit: if it is known a priori the controller will be stuck at the lower -limit yMin, this option assumes y = yMin as a simplified model.
    • -
    • homotopyType=NoHomotopy: this option does not apply any simplification and keeps the -limiter active throughout the homotopy transformation. Use this if it is unknown whether the controller -is saturated or not at initialization and if the limitations on the output must be enforced throughout -the entire homotopy transformation.
    • +
    • + homotopyType=Linear (default): the limitations are + removed from the simplified model, making it linear. Use this if + you know that the controller will not be saturated at steady state. +
    • +
    • + homotopyType=UpperLimit: if it is known a priori + the controller will be stuck at the upper limit yMax, this option + assumes y = yMax as a simplified model. +
    • +
    • + homotopyType=LowerLimit: if it is known a priori + the controller will be stuck at the lower limit yMin, this option + assumes y = yMin as a simplified model. +
    • +
    • + homotopyType=NoHomotopy: this option does not + apply any simplification and keeps the limiter active throughout + the homotopy transformation. Use this if it is unknown whether the + controller is saturated or not at initialization and if the + limitations on the output must be enforced throughout the entire + homotopy transformation. +
    -

    -The parameter limitAtInit is obsolete since MSL 3.2.2 and only kept for backwards compatibility. + The parameter limitAtInit is obsolete since MSL + 3.2.2 and only kept for backwards compatibility.

    ")); end LimPID; diff --git a/BESMod/Systems/Hydraulical/Distribution/RecordsCollection/PartialStorageBaseDataDefinition.mo b/BESMod/Systems/Hydraulical/Distribution/RecordsCollection/PartialStorageBaseDataDefinition.mo index c7eca5f0..82cdf4e7 100644 --- a/BESMod/Systems/Hydraulical/Distribution/RecordsCollection/PartialStorageBaseDataDefinition.mo +++ b/BESMod/Systems/Hydraulical/Distribution/RecordsCollection/PartialStorageBaseDataDefinition.mo @@ -118,7 +118,10 @@ partial record PartialStorageBaseDataDefinition annotation (Icon(graphics, coordinateSystem(preserveAspectRatio=false)), Diagram(graphics, coordinateSystem(preserveAspectRatio=false)), - Documentation(info=" -

    + Documentation(info="

    + \"1\" +

    ")); end PartialStorageBaseDataDefinition; diff --git a/BESMod/Systems/Hydraulical/Transfer/Functions/GetAverageVolumeOfWater.mo b/BESMod/Systems/Hydraulical/Transfer/Functions/GetAverageVolumeOfWater.mo index 28a725dc..f7eab54e 100644 --- a/BESMod/Systems/Hydraulical/Transfer/Functions/GetAverageVolumeOfWater.mo +++ b/BESMod/Systems/Hydraulical/Transfer/Functions/GetAverageVolumeOfWater.mo @@ -23,9 +23,20 @@ algorithm end if; vol_internal := Modelica.Constants.e^(slope * Modelica.Math.log(QFlow_nominal_internal) + offset); vol := vol_internal/1000; - annotation (Documentation(info=" -

    Calculate the average volume of water in the heating system for a given type of heating system. Based on tables in [1, p. 3].

    -

    -

    [1] MHG HEIZTECHNIK GMBH: Auslegung von Druckausgleichsgefäßen: MHG-Information. 2006; Link to pdf

    + annotation (Documentation(info="

    + Calculate the average volume of water in the heating system for a + given type of heating system. Based on tables in [1, p. 3]. +

    +

    + \"1\" +

    +

    + [1] MHG HEIZTECHNIK GMBH: Auslegung von Druckausgleichsgefäßen: + MHG-Information. 2006; + Link to pdf +

    ")); end GetAverageVolumeOfWater; diff --git a/BESMod/UsersGuide/GettingStarted/SubmoduleDocumentation.mo b/BESMod/UsersGuide/GettingStarted/SubmoduleDocumentation.mo index 8ff8daa1..93406227 100644 --- a/BESMod/UsersGuide/GettingStarted/SubmoduleDocumentation.mo +++ b/BESMod/UsersGuide/GettingStarted/SubmoduleDocumentation.mo @@ -1,17 +1,53 @@ within BESMod.UsersGuide.GettingStarted; model SubmoduleDocumentation "Building a submodule" - annotation(Documentation(info=" -

    If you want to introduce your own new subsystem / module to the list of available modules, this short guide will help you.

    -

    1. Find the matching Partial model. For instance, if you want to introduce a new generation module in the hydraulic subsystem, use BESMod.Systems.Hydraulical.Generation.BaseClasses.PartialGeneration

    -

    2. Drag-and-drop the components for your module into the system

    -

    3. If no record for the component exists, create a new partial record under RecordsCollections.

    -

    4. Link the component records to the bottom-up and top-down parameters. For instance, if the record specifies a pressure drop, set dp_nominal to the records value.

    -

    5. Use the top-down parameters to link the design of the components to the systems design. This is not mandatory. However, skipping this step will increase the manual parameterization effort.

    -

    6. Move all created parameters to the fitting section (Top-Down, Bottom-Up, Component Choices, Component Recrods)

    -


    Creating replaceable component choices

    -

    1. Either in graphics or text view, declare the component as replaceable

    -

    2. Add a contraining clause. Inhere, set avaiable parameters (possibly final) according to the example

    -

    3. In the annotation, specify the Dialogs group to "Component choices"

    + annotation(Documentation(info="

    + If you want to introduce your own new subsystem / module to the list + of available modules, this short guide will help you. +

    +

    + 1. Find the matching Partial model. For instance, if you want to + introduce a new generation module in the hydraulic subsystem, use + BESMod.Systems.Hydraulical.Generation.BaseClasses.PartialGeneration +

    +

    + 2. Drag-and-drop the components for your module into the system +

    +

    + 3. If no record for the component exists, create a new partial record + under RecordsCollections. +

    +

    + 4. Link the component records to the bottom-up and top-down + parameters. For instance, if the record specifies a pressure drop, + set dp_nominal to the records value. +

    +

    + 5. Use the top-down parameters to link the design of the components + to the systems design. This is not mandatory. However, skipping this + step will increase the manual parameterization effort. +

    +

    + 6. Move all created parameters to the fitting section (Top-Down, + Bottom-Up, Component Choices, Component Recrods) +

    +

    +
    +

    +

    + Creating replaceable component choices +

    +

    + 1. Either in graphics or text view, declare the component as + replaceable +

    +

    + 2. Add a contraining clause. Inhere, set avaiable parameters + (possibly final) according to the example +

    +

    + 3. In the annotation, specify the Dialogs group to \"Component + choices\" +

    ")); end SubmoduleDocumentation; diff --git a/BESMod/Utilities/TimeConstantEstimation/BaseClasses/RadiatorEN442_2.mo b/BESMod/Utilities/TimeConstantEstimation/BaseClasses/RadiatorEN442_2.mo index 65ee1470..cf42b65c 100644 --- a/BESMod/Utilities/TimeConstantEstimation/BaseClasses/RadiatorEN442_2.mo +++ b/BESMod/Utilities/TimeConstantEstimation/BaseClasses/RadiatorEN442_2.mo @@ -322,173 +322,152 @@ equation Line( points={{66,60},{66,-60}})}), defaultComponentName="rad", - Documentation(info=" -

    -This is a model of a radiator that can be used as a dynamic or steady-state model. -The required parameters are data that are typically available from -manufacturers that follow the European Norm EN 442-2. + Documentation(info="

    + This is a model of a radiator that can be used as a dynamic or + steady-state model. The required parameters are data that are + typically available from manufacturers that follow the European Norm + EN 442-2.

    -However, to allow for varying mass flow rates, the transferred heat is computed -using a discretization along the water flow path, and heat is exchanged between -each compartment and a uniform room air and radiation temperature. -This discretization is different from the computation in EN 442-2, which -may yield water outlet temperatures that are below -the room temperature at low mass flow rates. -Furthermore, rather than using only one room temperature, this model uses -a room air and room radiation temperature. + However, to allow for varying mass flow rates, the transferred heat + is computed using a discretization along the water flow path, and + heat is exchanged between each compartment and a uniform room air and + radiation temperature. This discretization is different from the + computation in EN 442-2, which may yield water outlet temperatures + that are below the room temperature at low mass flow rates. + Furthermore, rather than using only one room temperature, this model + uses a room air and room radiation temperature.

    -The transferred heat is modeled as follows: -Let N denote the number of elements used to discretize the radiator model. -For each element i ∈ {1, … , N}, -the convective and radiative heat transfer -Qic and -Qir -from the radiator to the room is + The transferred heat is modeled as follows: Let N denote the + number of elements used to discretize the radiator model. For each + element i ∈ {1, … , N}, the convective and radiative heat + transfer Qic and + Qir from the radiator to the room is

    Qic = sign(Ti-Ta) - (1-fr) UA ⁄ N |Ti-Ta|n -

    + (1-fr) UA ⁄ N + |Ti-Ta|n
    +
    Qir = sign(Ti-Tr) - fr UA ⁄ N |Ti-Tr|n + fr UA ⁄ N |Ti-Tr|n

    -where -Ti is the water temperature of the element, -Ta is the temperature of the room air, -Tr is the radiative temperature, -0 < fr < 1 is the fraction of radiant to total heat transfer, -UA is the UA-value of the radiator, -and -n is an exponent for the heat transfer. -The model computes the UA-value by numerically solving the above equations -for given -nominal heating power, nominal temperatures, fraction radiant to total heat transfer -and exponent for heat transfer. + where Ti is the water temperature of the element, + Ta is the temperature of the room air, + Tr is the radiative temperature, 0 < + fr < 1 is the fraction of radiant to total heat + transfer, UA is the UA-value of the radiator, and n is + an exponent for the heat transfer. The model computes the UA-value by + numerically solving the above equations for given nominal heating + power, nominal temperatures, fraction radiant to total heat transfer + and exponent for heat transfer.

    -The parameter energyDynamics (in the Assumptions tab), -determines whether the model computes the dynamic or the steady-state response. -For the transient response, heat storage is computed using a -finite volume approach for the -water and the metal mass, which are both assumed to be at the same -temperature. + The parameter energyDynamics (in the Assumptions tab), + determines whether the model computes the dynamic or the steady-state + response. For the transient response, heat storage is computed using + a finite volume approach for the water and the metal mass, which are + both assumed to be at the same temperature.

    -The default parameters for the heat capacities are valid for a flat plate radiator without fins, -with one plate of water carying fluid, and a height of 0.42 meters. + The default parameters for the heat capacities are valid for a flat + plate radiator without fins, with one plate of water carying fluid, + and a height of 0.42 meters.

    -", revisions=" -
      -
    • -March 7, 2022, by Michael Wetter:
      -Set final massDynamics=energyDynamics.
      -This is for -#1542. -
    • -
    • -April 14, 2020, by Michael Wetter:
      -Changed homotopyInitialization to a constant.
      -This is for -IBPSA, #1341. -
    • -
    • -February 21, 2020, by Michael Wetter:
      -Changed icon to display its operating state.
      -This is for -#1294. -
    • -
    • -November 17, 2016, by Filip Jorissen:
      -Added pressure drop equations and parameters.
      -This is for -#586. -
    • -
    • -November 3, 2016, by Michael Wetter:
      -Set preHea(final alpha=0) as this allows to simplify the -system of equations.
      -This is for -#570. -
    • -
    • -March 17, 2016, by Michael Wetter:
      -Reformulated model to reduce the dimension of the nonlinear system of equations. -This is for -#435. -
    • -
    • -November 19, 2015, by Michael Wetter:
      -Removed assignment of parameter -showDesignFlowDirection in extends statement. -This is for -#349. -
    • -
    • -April 11, 2015, by Filip Jorissen:
      -Propagated vol.massDynamics to -top level parameter massDynamics instead of energyDynamics. -
    • -
    • -November 25, 2014, by Carles Ribas Tugores:
      -Interchange position of fraRad parameter and the complementary (1-fraRad) -in the equation used to calculate the nominal heating power of each element, QEle_flow_nominal[i]. -
    • -
    • -October 29, 2014, by Michael Wetter:
      -Made assignment of mFactor final, and changed computation of -density to use default medium states as are also used to compute the -specific heat capacity. -
    • -
    • -October 21, 2014, by Filip Jorissen:
      -Added parameter mFactor and removed thermal capacity -which can lead to an index reduction. -
    • -
    • -May 29, 2014, by Michael Wetter:
      -Removed undesirable annotation Evaluate=true. -
    • -
    • -October 8, 2013 by Michael Wetter:
      -Removed conditional statement in the declaration of the parameter -mDry, as this is incorrect syntax. -
    • -
    • -September 26, 2013 by Michael Wetter:
      -Reformulated implementation to avoid mixing textual and graphical -declarations in the equation section. -
    • -
    • -April 4, 2011 by Michael Wetter:
      -Changed the implementation to use - -IBPSA.Utilities.Math.Functions.regNonZeroPower. -This allows formulating the model without any non-differentiable function -inside the equation section. -
    • -
    • -April 2, 2011 by Michael Wetter:
      -Added homotopy operator. -
    • -
    • -February 11, 2011 by Michael Wetter:
      -Revised the initialization to ensure that at the nominal conditions, the -amount of transferred heat is excatly the same as the specified nominal power. -In the previous implementation, the UA-value was computed using a simplified -expression for the temperature difference, leading to a slightly different amount -of heat transfer. -
    • -
    • -February 4, 2011 by Michael Wetter:
      -Simplified implementation. -
    • -
    • -January 30, 2009 by Michael Wetter:
      -First implementation. -
    • +", revisions="
        +
      • March 7, 2022, by Michael Wetter:
        + Set final massDynamics=energyDynamics.
        + This is for #1542. +
      • +
      • April 14, 2020, by Michael Wetter:
        + Changed homotopyInitialization to a constant.
        + This is for IBPSA, + #1341. +
      • +
      • February 21, 2020, by Michael Wetter:
        + Changed icon to display its operating state.
        + This is for #1294. +
      • +
      • November 17, 2016, by Filip Jorissen:
        + Added pressure drop equations and parameters.
        + This is for #586. +
      • +
      • November 3, 2016, by Michael Wetter:
        + Set preHea(final alpha=0) as this allows to simplify + the system of equations.
        + This is for #570. +
      • +
      • March 17, 2016, by Michael Wetter:
        + Reformulated model to reduce the dimension of the nonlinear system + of equations. This is for #435. +
      • +
      • November 19, 2015, by Michael Wetter:
        + Removed assignment of parameter + showDesignFlowDirection in extends + statement. This is for #349. +
      • +
      • April 11, 2015, by Filip Jorissen:
        + Propagated vol.massDynamics to top level parameter + massDynamics instead of energyDynamics. +
      • +
      • November 25, 2014, by Carles Ribas Tugores:
        + Interchange position of fraRad parameter and the + complementary (1-fraRad) in the equation used to + calculate the nominal heating power of each element, + QEle_flow_nominal[i]. +
      • +
      • October 29, 2014, by Michael Wetter:
        + Made assignment of mFactor final, and changed + computation of density to use default medium states as are also + used to compute the specific heat capacity. +
      • +
      • October 21, 2014, by Filip Jorissen:
        + Added parameter mFactor and removed thermal capacity + which can lead to an index reduction. +
      • +
      • May 29, 2014, by Michael Wetter:
        + Removed undesirable annotation Evaluate=true. +
      • +
      • October 8, 2013 by Michael Wetter:
        + Removed conditional statement in the declaration of the parameter + mDry, as this is incorrect syntax. +
      • +
      • September 26, 2013 by Michael Wetter:
        + Reformulated implementation to avoid mixing textual and graphical + declarations in the equation section. +
      • +
      • April 4, 2011 by Michael Wetter:
        + Changed the implementation to use IBPSA.Utilities.Math.Functions.regNonZeroPower. + This allows formulating the model without any non-differentiable + function inside the equation section. +
      • +
      • April 2, 2011 by Michael Wetter:
        + Added homotopy operator. +
      • +
      • February 11, 2011 by Michael Wetter:
        + Revised the initialization to ensure that at the nominal + conditions, the amount of transferred heat is excatly the same as + the specified nominal power. In the previous implementation, the + UA-value was computed using a simplified expression for the + temperature difference, leading to a slightly different amount of + heat transfer. +
      • +
      • February 4, 2011 by Michael Wetter:
        + Simplified implementation. +
      • +
      • January 30, 2009 by Michael Wetter:
        + First implementation. +
      "), Diagram(graphics={Rectangle(extent={{-62,78},{-46,50}}, lineColor={28,108,200})})); From fec3921571d96835d1f9551bda62d9fdcfaee19e Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Sun, 16 Jun 2024 23:13:16 +0200 Subject: [PATCH 038/125] fix args --- .../config/templates_generator_config.toml | 1 + ci-tests/scripts/local_windows_test.bat | 20 +++++++++---------- .../syntax_tests/style_check.gitlab-ci.yml | 8 ++++---- .../unit_tests/check_model.gitlab-ci.yml | 12 +++++------ .../unit_tests/regression_test.gitlab-ci.yml | 16 +++++++-------- .../unit_tests/simulate_model.gitlab-ci.yml | 12 +++++------ 6 files changed, 35 insertions(+), 34 deletions(-) diff --git a/ci-tests/config/templates_generator_config.toml b/ci-tests/config/templates_generator_config.toml index e47c34a6..316d678e 100644 --- a/ci-tests/config/templates_generator_config.toml +++ b/ci-tests/config/templates_generator_config.toml @@ -23,6 +23,7 @@ extended_examples = false commit_string = "$CI_COMMIT_MESSAGE !~ /ci_update_ref/ && $CI_COMMIT_MESSAGE !~ /ci_show_ref/ && $CI_COMMIT_MESSAGE !~ /ci_dif_ref/ && $CI_COMMIT_MESSAGE !~ /ci_create_model_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_html_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_create_example_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_om_simulate/ && $CI_COMMIT_MESSAGE !~ /ci_check/ && $CI_COMMIT_MESSAGE !~ /ci_om_check/ && $CI_COMMIT_MESSAGE !~ /ci_regression_test/ && $CI_COMMIT_MESSAGE !~ /ci_html/ && $CI_COMMIT_MESSAGE !~ /ci_setting/ && $CI_COMMIT_MESSAGE !~ /ci_style_check/ && $CI_COMMIT_MESSAGE !~ /ci_trigger_ibpsa/ && $CI_COMMIT_MESSAGE !~ /ci_merge_except/ && $CI_COMMIT_MESSAGE !~ /ci_correct_html/ && $CI_COMMIT_MESSAGE !~ /ci_build_structure/ && $CI_COMMIT_MESSAGE !~ /ci_build_whitelist/ && $CI_COMMIT_MESSAGE !~ /ci_reference_check/ && $CI_COMMIT_MESSAGE !~ /ci_check_naming/" pr_main_branch_rule = "$CI_COMMIT_BRANCH == \"main\" " extra_command_list = ["apt-get install git-lfs -y", "python install_dependencies.py full"] +startup_mos = "startup.mos" [packages] BESMod = [ "Examples", "Tutorial", "Utilities", "Systems"] diff --git a/ci-tests/scripts/local_windows_test.bat b/ci-tests/scripts/local_windows_test.bat index 44ad013e..4461d053 100644 --- a/ci-tests/scripts/local_windows_test.bat +++ b/ci-tests/scripts/local_windows_test.bat @@ -7,24 +7,24 @@ python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems -python -m ModelicaPyCI.syntax.style_checking --dymola-version 2022 --library BESMod -python -m ModelicaPyCI.syntax.style_checking --changed-flag --dymola-version 2022 --library BESMod +python -m ModelicaPyCI.syntax.style_checking --startup-mos startup.mos --dymola-version 2022 --library BESMod +python -m ModelicaPyCI.syntax.style_checking --changed-flag --startup-mos startup.mos --dymola-version 2022 --library BESMod python -m ModelicaPyCI.syntax.naming_guideline --changed-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --working-branch $CI_COMMIT_BRANCH --github-repository RWTH-EBC/BESMod --main-branch main --config ci-tests/naming_guideline.toml --library BESMod :: Check & Simulate BESMod Examples on PR -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples :: Check & Simulate BESMod Examples on push -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples :: Check & Simulate BESMod Tutorial on PR -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial :: Check & Simulate BESMod Tutorial on push -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial :: Check & Simulate BESMod Utilities on PR -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities :: Check & Simulate BESMod Utilities on push -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities :: Check & Simulate BESMod Systems on PR -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Systems +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Systems :: Check & Simulate BESMod Systems on push -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Systems +python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Systems diff --git a/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml index 7a21e6b7..205165bd 100644 --- a/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml +++ b/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml @@ -6,8 +6,8 @@ # library : BESMod # ci_style_commit : ci_style_check # result_dir : ci-tests/result -# arg_PR : --dymola-version 2022 --library BESMod -# arg_Push : --changed-flag --dymola-version 2022 --library BESMod +# arg_PR : --startup-mos startup.mos --dymola-version 2022 --library BESMod +# arg_Push : --changed-flag --startup-mos startup.mos --dymola-version 2022 --library BESMod include: 'ci-tests/scripts/utilities.yml' stages: @@ -20,7 +20,7 @@ StyleCheck:BESMod:PR: before_script: - !reference [.activate_python_and_install_requirements, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking --dymola-version 2022 --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking --startup-mos startup.mos --dymola-version 2022 --library BESMod artifacts: when: on_failure paths: @@ -38,7 +38,7 @@ StyleCheck:BESMod:Push: before_script: - !reference [.activate_python_and_install_requirements, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking --changed-flag --dymola-version 2022 --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking --changed-flag --startup-mos startup.mos --dymola-version 2022 --library BESMod artifacts: when: on_failure paths: diff --git a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml index 7f9b270d..cbb0a1f2 100644 --- a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml @@ -9,12 +9,12 @@ # result_dir: ci-tests/result # expire_in_time: 7h # ci_create_model_whitelist_commit: ci_create_model_whitelist -# arg_push: --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod -# arg_PR: --dym-options DYM_CHECK --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# arg_push: --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# arg_PR: --dym-options DYM_CHECK --filter-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod # config_ci_exit_file: ci-tests/Configfiles/exit.sh # bot_update_model_whitelist_commit: CI message from ebc-aixlib-bot. Update file whitelist-check_file. Please pull the new files before push again. # whitelist_model_file: dymola_check_whitelist.txt -# arg_wh: --dym-options DYM_CHECK --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod +# arg_wh: --dym-options DYM_CHECK --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod # package_list: ['Examples', 'Tutorial', 'Utilities', 'Systems'] # modelicapyci_config_structure_module: ModelicaPyCI.structure.config_structure @@ -32,7 +32,7 @@ stages: - !reference [.activate_python_and_install_requirements, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod artifacts: when: on_failure paths: @@ -50,7 +50,7 @@ stages: - !reference [.activate_python_and_install_requirements, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod artifacts: when: on_failure paths: @@ -113,7 +113,7 @@ check_whitelist_job: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 39a6a237..95642257 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -10,8 +10,8 @@ # result_dir : ci-tests/result # ci_regression_test_commit : $ {ci_regression_test_commit} # expire_in_time : 7h -# arg_PR: --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod -# arg_push: --changed-flag --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod +# arg_PR: --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod +# arg_push: --changed-flag --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod # arg_chart: --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems # package_list: ['Examples', 'Tutorial', 'Utilities', 'Systems'] # modelicapyci_api_github_module: ModelicaPyCI.api_script.api_github @@ -22,7 +22,7 @@ # ci_regression_test_commit : ci_regression_test # xvfb_flag: xvfb-run -n 77 # modelicapyci_structure_module: ModelicaPyCI.structure.config_structure -# arg_ref: --create-ref --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod +# arg_ref: --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod # config_ci_new_create_ref_file: ci_new_created_reference.txt # bot_create_ref_commit: CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/ # ci_show_ref_commit: ci_show_ref @@ -44,7 +44,7 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] script: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod after_script: - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then source activate myenv ; @@ -72,7 +72,7 @@ stages: script: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --changed-flag --batch --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --changed-flag --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod after_script: - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then source activate myenv ; @@ -138,7 +138,7 @@ Regression_overall_coverage:PR: - !reference [.custom_install_additional_modelica_libraries, script] script: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod artifacts: when: on_failure paths: @@ -156,7 +156,7 @@ Regression_overall_coverage:Push: - !reference [.custom_install_additional_modelica_libraries, script] script: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod artifacts: when: on_failure paths: @@ -229,7 +229,7 @@ RegressionTest_Check_References: - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod after_script: - source activate myenv - cd CorrectedVersion/$CI_PROJECT_NAME diff --git a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml index 4ed05812..0bd3b41a 100644 --- a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml @@ -2,13 +2,13 @@ # dym_image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda # ci_stage_simulate: simulate # ci_stage_create_exampel_whitelist: create_example_whitelist -# arg_push : --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod -# arg_PR: --dym-options DYM_SIM --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# arg_push : --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# arg_PR: --dym-options DYM_SIM --filter-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod # library: BESMod # ci_check_commit ci_simulate # modelicapyci_test_validate_module: ModelicaPyCI.unittest.checkpackages.validatetest # package_list: ['Examples', 'Tutorial', 'Utilities', 'Systems'] -# arg_wh: --dym-options DYM_SIM --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod +# arg_wh: --dym-options DYM_SIM --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod # bot_update_model_whitelist_commit: CI message from ebc-aixlib-bot. Update file whitelist-simulate_file. Please pull the new files before push again. # whitelist_model_file: dymola_simulate_whitelist.txt # ci_create_model_whitelist_commit: ci_create_example_whitelist @@ -31,7 +31,7 @@ stages: - !reference [.activate_python_and_install_requirements, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --filter-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --filter-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod artifacts: when: on_failure paths: @@ -49,7 +49,7 @@ stages: - !reference [.activate_python_and_install_requirements, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod artifacts: when: on_failure paths: @@ -112,7 +112,7 @@ simulate_whitelist_job: - mkdir whitelist && cd whitelist - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --create-whitelist-flag --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod after_script: - cd whitelist && cd $CI_PROJECT_NAME - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then From 83e2a4d70effb842c6fd426766377ea9782c6dac Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 17 Jun 2024 08:12:28 +0200 Subject: [PATCH 039/125] trigger ci --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c0842960..aa37a05f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,2 @@ - include: - 'ci-tests/scripts/.gitlab-ci.yml' From a9dc73bf48d56706aca453861c50778ea43310be Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 17 Jun 2024 08:24:43 +0200 Subject: [PATCH 040/125] install depens at correct location --- .gitlab-ci.yml | 1 + ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index aa37a05f..c0842960 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,2 +1,3 @@ + include: - 'ci-tests/scripts/.gitlab-ci.yml' diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 95642257..e88d22d2 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -220,16 +220,15 @@ RegressionTest_Check_References: stage: Ref_Check before_script: - !reference [.activate_python_and_install_requirements, script] - - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y - script: - mkdir CorrectedVersion && cd CorrectedVersion - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod + - !reference [.custom_install_additional_modelica_libraries, script] + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod after_script: - source activate myenv - cd CorrectedVersion/$CI_PROJECT_NAME From 0a85961022c16406f34a3f8e1b99242a50660412 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 17 Jun 2024 08:30:24 +0200 Subject: [PATCH 041/125] add toml --- ci-tests/naming_guideline.toml | 56 ++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 ci-tests/naming_guideline.toml diff --git a/ci-tests/naming_guideline.toml b/ci-tests/naming_guideline.toml new file mode 100644 index 00000000..51861ca8 --- /dev/null +++ b/ci-tests/naming_guideline.toml @@ -0,0 +1,56 @@ +modelica_special_names = [ "parameter", "constant", "replaceable", "import", "extends", "in", "of", "input", "output", "final", "protected", "public", "function", "model", "package", "inner", "outer",] +modelica_types = [ "Real", "real", "Boolean", "boolean", "Integer", "String",] +libraries = [ "Modelica",] +special_names = [ "building", "hydraulic", "electrical", "ventilation", "system", "control", "energyDynamics", "massDynamics", "substanceDynamics", "traceDynamics", "linearizeFlowResistance", "computeFlowResistance", "homotopyInitialization", "linearized", "allowFlowReversal", "extrapolation", "smoothness", "initType",] +special_parts_with_upper = [ "COP", "PID", "deltaM",] +two_character_words = [ "is", "to", "no", "or", "on",] +four_character_words = [ "const", "flow", "gain", "year", "time",] +special_ends = [ "_flow", "_start", "_flow_nominal", "_nominal", "_flow_internal", "_internal", "_small", "_flow_small", "1", "2", "_a", "_b", "_p", "_n", "_x1", "_x2", "_in", "_out", ";", "_min", "_max", "_const",] +SPECIAL_STARTS = [ "use_", "port_", "have_", "terminal_", "heatport_from_",] + +[special_parts] +T = "temperature" +p = "pressure" +dp = "pressure" +P = "power" +E = "energy" +Q = "heat" +X = "mass" +u = "input" +y = "output" +port = "port" +terminal = "terminal" +absHum = "humidity" +A = "area" +hCon = "convective" +I = "current" +rho = "density" +d = "diameter" +eta = "efficiency" +R = "resistance" +C = "capacity" +lambda = "conductivity" +height = "height" +U = "energy" +nu = "viscosity" +lat = "latitude" +len = "length" +lon = "longitude" +eps = "emissivity" +m = "mass" +n = "number" +Pr = "prandtl" +relHum = "humidity" +Re = "reynolds" +solabs = "absorptance" +H = "solar" +cp = "capacity" +h = "enthalpy" +c = "capacity" +UA = "conductance" +s = "thickness" +time = "time" +tau = "transmittance" +vel = "velocity" +V = [ "volume", "voltage",] +width = "width" From 494859f6dedc86eb55359145bae36e052f4efe26 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 17 Jun 2024 09:48:41 +0200 Subject: [PATCH 042/125] trigger ci --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c0842960..aa37a05f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,2 @@ - include: - 'ci-tests/scripts/.gitlab-ci.yml' From 602b2f826ae08216592afb0645e9b6fb3bf261b2 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 17 Jun 2024 09:53:42 +0200 Subject: [PATCH 043/125] trigger ci --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index aa37a05f..c0842960 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,2 +1,3 @@ + include: - 'ci-tests/scripts/.gitlab-ci.yml' From 8d2ced7fef93050f551d679d058b0effd661129a Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 17 Jun 2024 10:04:19 +0200 Subject: [PATCH 044/125] try fix for tolerance --- .../UseCaseModelicaConferencePaper/BuildingsLibraryRoom.mos | 2 +- .../Examples/UseCaseModelicaConferencePaper/TEASERBuilding.mos | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BESMod/Resources/Scripts/Dymola/Examples/UseCaseModelicaConferencePaper/BuildingsLibraryRoom.mos b/BESMod/Resources/Scripts/Dymola/Examples/UseCaseModelicaConferencePaper/BuildingsLibraryRoom.mos index e4875d80..8ab1f661 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/UseCaseModelicaConferencePaper/BuildingsLibraryRoom.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/UseCaseModelicaConferencePaper/BuildingsLibraryRoom.mos @@ -1,4 +1,4 @@ -simulateModel("BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom", stopTime=864000, method="dassl", tolerance=1e-06, resultFile="BuildingsLibraryRoom"); +simulateModel("BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom", stopTime=864000, method="dassl", tolerance=1e-06, resultFile="BuildingsLibraryRoom"); createPlot(id=2, position={75, 70, 1210, 240}, y={"electrical.distribution.batterySimple.PLoad","electrical.distribution.batterySimple.PCharge"}, grid=true, subPlot=1, colors={{28,108,200},{238,46,47}}); createPlot(id=2, position={75, 70, 1210, 240}, y={"hydraulic.distribution.sigBusDistr.TStoDHWTopMea","hydraulic.distribution.sigBusDistr.TStoBufTopMea","hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{28,108,200},{238,46,47},{0,140,72}}); createPlot(id=2, position={75, 70, 1210, 240}, y={"ventilation.generation.TSup.T","ventilation.generation.weaBus.TDryBul","building.buiMeaBus.TZoneMea[1]"}, grid=true, subPlot=3, colors={{28,108,200},{238,46,47},{0,140,72}}); diff --git a/BESMod/Resources/Scripts/Dymola/Examples/UseCaseModelicaConferencePaper/TEASERBuilding.mos b/BESMod/Resources/Scripts/Dymola/Examples/UseCaseModelicaConferencePaper/TEASERBuilding.mos index eeb5aadc..91e5b80e 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/UseCaseModelicaConferencePaper/TEASERBuilding.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/UseCaseModelicaConferencePaper/TEASERBuilding.mos @@ -1,4 +1,4 @@ -simulateModel("BESMod.Examples.ModelicaConferencePaper.TEASERBuilding", stopTime=864000, method="dassl", tolerance=1e-06, resultFile="TEASERBuilding"); +simulateModel("BESMod.Examples.ModelicaConferencePaper.TEASERBuilding", stopTime=864000, method="dassl", tolerance=1e-06, resultFile="TEASERBuilding"); createPlot(id=2, position={75, 70, 1210, 240}, y={"electrical.distribution.batterySimple.PLoad","electrical.distribution.batterySimple.PCharge"}, grid=true, subPlot=1, colors={{28,108,200},{238,46,47}}); createPlot(id=2, position={75, 70, 1210, 240}, y={"hydraulic.distribution.sigBusDistr.TStoDHWTopMea","hydraulic.distribution.sigBusDistr.TStoBufTopMea","hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{28,108,200},{238,46,47},{0,140,72}}); createPlot(id=2, position={75, 70, 1210, 240}, y={"ventilation.generation.TSup.T","ventilation.generation.weaBus.TDryBul","building.buiMeaBus.TZoneMea[1]"}, grid=true, subPlot=3, colors={{28,108,200},{238,46,47},{0,140,72}}); From 4fbbb75dd237f980d5003ff0642f837c2cbc8886 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 17 Jun 2024 10:10:59 +0200 Subject: [PATCH 045/125] add Tolerance --- .../ModelicaConferencePaper/BuildingsLibraryRoom.mo | 6 +++++- .../PartialModelicaConferenceUseCase.mo | 5 ----- BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo | 6 +++++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo b/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo index f5526b93..21fa6c24 100644 --- a/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo +++ b/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo @@ -9,6 +9,10 @@ model BuildingsLibraryRoom "System using the buildings libraries room model" systemParameters(QBui_flow_nominal={2504})); extends Modelica.Icons.Example; -annotation(__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos" +annotation(experiment( + StopTime=31536000, + Interval=600, + Tolerance=1e-06), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos" "Simulate and plot")); end BuildingsLibraryRoom; diff --git a/BESMod/Examples/ModelicaConferencePaper/PartialModelicaConferenceUseCase.mo b/BESMod/Examples/ModelicaConferencePaper/PartialModelicaConferenceUseCase.mo index 42a53728..4f5ac664 100644 --- a/BESMod/Examples/ModelicaConferencePaper/PartialModelicaConferenceUseCase.mo +++ b/BESMod/Examples/ModelicaConferencePaper/PartialModelicaConferenceUseCase.mo @@ -125,9 +125,4 @@ partial model PartialModelicaConferenceUseCase parameter Real scalingFactorHP=hydraulic.generation.parHeaPum.QPri_flow_nominal /13000 "May be overwritten to avoid warnings and thus a fail in the CI"; - - annotation (experiment( - StopTime=31536000, - Interval=600, - __Dymola_Algorithm="Dassl")); end PartialModelicaConferenceUseCase; diff --git a/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo b/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo index 2d39717e..5785c1c2 100644 --- a/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo +++ b/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo @@ -22,6 +22,10 @@ initial equation building.thermalZone[1].ROM.roofRC.thermCapExt[1].T = 293.15; -annotation(__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos" +annotation(experiment( + StopTime=31536000, + Interval=600, + Tolerance=1e-06), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos" "Simulate and plot")); end TEASERBuilding; From eaf53140c2a236c468126b6cc1372963e5a6e84b Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 17 Jun 2024 11:14:06 +0200 Subject: [PATCH 046/125] mv mos scripts --- .../ModelicaConferencePaper/BuildingsLibraryRoom.mo | 6 +++--- BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo | 6 +++--- .../BuildingsLibraryRoom.mos | 0 .../TEASERBuilding.mos | 0 4 files changed, 6 insertions(+), 6 deletions(-) rename BESMod/Resources/Scripts/Dymola/Examples/{UseCaseModelicaConferencePaper => ModelicaConferencePaper}/BuildingsLibraryRoom.mos (100%) rename BESMod/Resources/Scripts/Dymola/Examples/{UseCaseModelicaConferencePaper => ModelicaConferencePaper}/TEASERBuilding.mos (100%) diff --git a/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo b/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo index 21fa6c24..78497883 100644 --- a/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo +++ b/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo @@ -10,9 +10,9 @@ model BuildingsLibraryRoom "System using the buildings libraries room model" extends Modelica.Icons.Example; annotation(experiment( - StopTime=31536000, + StopTime=864000, Interval=600, - Tolerance=1e-06), - __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos" + Tolerance=1e-06), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos" "Simulate and plot")); end BuildingsLibraryRoom; diff --git a/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo b/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo index 5785c1c2..e3c92fbc 100644 --- a/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo +++ b/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo @@ -23,9 +23,9 @@ initial equation annotation(experiment( - StopTime=31536000, + StopTime=864000, Interval=600, - Tolerance=1e-06), - __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos" + Tolerance=1e-06), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos" "Simulate and plot")); end TEASERBuilding; diff --git a/BESMod/Resources/Scripts/Dymola/Examples/UseCaseModelicaConferencePaper/BuildingsLibraryRoom.mos b/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos similarity index 100% rename from BESMod/Resources/Scripts/Dymola/Examples/UseCaseModelicaConferencePaper/BuildingsLibraryRoom.mos rename to BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos diff --git a/BESMod/Resources/Scripts/Dymola/Examples/UseCaseModelicaConferencePaper/TEASERBuilding.mos b/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos similarity index 100% rename from BESMod/Resources/Scripts/Dymola/Examples/UseCaseModelicaConferencePaper/TEASERBuilding.mos rename to BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos From b7d283ec8843e703e0e342a643fe9a50667d21e6 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 17 Jun 2024 11:37:22 +0200 Subject: [PATCH 047/125] try with direct repo --- .../scripts/unit_tests/regression_test.gitlab-ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index e88d22d2..ad5aee1c 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -223,15 +223,15 @@ RegressionTest_Check_References: - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y script: - - mkdir CorrectedVersion && cd CorrectedVersion - - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git + #- mkdir CorrectedVersion && cd CorrectedVersion + #- git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - cd $CI_PROJECT_NAME - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - !reference [.custom_install_additional_modelica_libraries, script] - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod after_script: - source activate myenv - - cd CorrectedVersion/$CI_PROJECT_NAME + #- cd CorrectedVersion/$CI_PROJECT_NAME - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; (git ls-files --others --exclude-standard --directory BESMod) > ci_new_created_reference.txt ; @@ -241,8 +241,8 @@ RegressionTest_Check_References: git add $push_model ; git commit -m "$message"; git push git@github.com:$Github_Repository.git ; - mkdir -p ../../ci-tests/result/ ; - cp -r ci-tests/result/* ../../ci-tests/result ; + mkdir -p ../ci-tests/result/ ; + cp -r ci-tests/result/* ../ci-tests/result ; exit 1 ; else exit 0 ; From d1a91baba1cefce3d73adf9df224164c407433bf Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 17 Jun 2024 11:41:59 +0200 Subject: [PATCH 048/125] order --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index ad5aee1c..0c588677 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -225,9 +225,9 @@ RegressionTest_Check_References: script: #- mkdir CorrectedVersion && cd CorrectedVersion #- git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git + - !reference [.custom_install_additional_modelica_libraries, script] - cd $CI_PROJECT_NAME - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - !reference [.custom_install_additional_modelica_libraries, script] - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod after_script: - source activate myenv From 7515f3975bcc59be418308a7daf6552cdcb42fc2 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 17 Jun 2024 11:49:44 +0200 Subject: [PATCH 049/125] no double cd --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 0c588677..94a1b0a6 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -225,8 +225,8 @@ RegressionTest_Check_References: script: #- mkdir CorrectedVersion && cd CorrectedVersion #- git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git + #- cd $CI_PROJECT_NAME - !reference [.custom_install_additional_modelica_libraries, script] - - cd $CI_PROJECT_NAME - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod after_script: From bfd8ee631b74d3f6cc9a2e9e26cd40e5eb372a77 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 17 Jun 2024 15:30:02 +0200 Subject: [PATCH 050/125] test regression fix --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 94a1b0a6..72c61ee6 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -226,6 +226,7 @@ RegressionTest_Check_References: #- mkdir CorrectedVersion && cd CorrectedVersion #- git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git #- cd $CI_PROJECT_NAME + - pip install git+https://github.com/FWuellhorst/BuildingsPy.git@issue558 - !reference [.custom_install_additional_modelica_libraries, script] - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod From eabbfe836e79f3e7152c367b094e16e118c4aa79 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 17 Jun 2024 15:48:54 +0200 Subject: [PATCH 051/125] fix example, uninstall buildingspy --- BESMod/Examples/DesignOptimization/BES.mo | 17 +++++++++-------- BESMod/Examples/DesignOptimization/BESNoDHW.mo | 6 +++--- .../unit_tests/regression_test.gitlab-ci.yml | 1 + 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/BESMod/Examples/DesignOptimization/BES.mo b/BESMod/Examples/DesignOptimization/BES.mo index fb4f784b..6293d402 100644 --- a/BESMod/Examples/DesignOptimization/BES.mo +++ b/BESMod/Examples/DesignOptimization/BES.mo @@ -16,10 +16,8 @@ model BES function PolyData = AixLib.DataBase.HeatPump.Functions.Characteristics.ConstantCoP ( powerCompressor=2000, CoP=2)), - redeclare - BESMod.Systems.Hydraulical.Components.Frosting.ZhuIceFacCalculation - frost(density=200, redeclare function frostMapFunc = - BESMod.Systems.Hydraulical.Components.Frosting.Functions.ZhuFrostingMapCico), + redeclare BESMod.Systems.Hydraulical.Components.Frosting.NoFrosting + frost, redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum, redeclare package Medium_eva = AixLib.Media.Air, redeclare @@ -43,11 +41,14 @@ model BES flowsheet="VIPhaseSeparatorFlowsheet"), redeclare BESMod.Systems.RecordsCollection.TemperatureSensors.DefaultSensor - parTemSen), + parTemSen(transferHeat=true)), redeclare Systems.Hydraulical.Control.MonoenergeticHeatPumpSystem control( redeclare BESMod.Systems.Hydraulical.Control.Components.ThermostaticValveController.ThermostaticValvePIControlled valCtrl, + redeclare model BuildingSupplySetTemperature = + BESMod.Systems.Hydraulical.Control.Components.BuildingSupplyTemperatureSetpoints.IdealHeatingCurve + (dTAddCon=5), redeclare model DHWHysteresis = BESMod.Systems.Hydraulical.Control.Components.BivalentOnOffControllers.PartParallelBivalent ( @@ -102,7 +103,7 @@ model BES calcmFlow), redeclare Systems.UserProfiles.TEASERProfiles userProfiles, redeclare AachenSystem systemParameters, - redeclare ParametersToChange parameterStudy, + redeclare ParametersToChange parameterStudy(VPerQFlow=1), redeclare final package MediumDHW = AixLib.Media.Water, redeclare final package MediumZone = AixLib.Media.Air, redeclare final package MediumHyd = AixLib.Media.Water, @@ -111,7 +112,7 @@ model BES extends Modelica.Icons.Example; annotation (experiment( - StopTime=86400, - Interval=600, + StopTime=31536000, + Interval=599.999616, __Dymola_Algorithm="Dassl")); end BES; diff --git a/BESMod/Examples/DesignOptimization/BESNoDHW.mo b/BESMod/Examples/DesignOptimization/BESNoDHW.mo index b0ed55d9..fd88da73 100644 --- a/BESMod/Examples/DesignOptimization/BESNoDHW.mo +++ b/BESMod/Examples/DesignOptimization/BESNoDHW.mo @@ -92,7 +92,7 @@ model BESNoDHW "Example to demonstrate usage without DHW" redeclare Systems.UserProfiles.TEASERProfiles userProfiles, redeclare AachenSystem systemParameters(use_ventilation=false, use_dhw= false), - redeclare ParametersToChange parameterStudy, + redeclare ParametersToChange parameterStudy(VPerQFlow=1), redeclare final package MediumDHW = AixLib.Media.Water, redeclare final package MediumZone = AixLib.Media.Air, redeclare final package MediumHyd = AixLib.Media.Water, @@ -101,7 +101,7 @@ model BESNoDHW "Example to demonstrate usage without DHW" extends Modelica.Icons.Example; annotation (experiment( - StopTime=86400, - Interval=600, + StopTime=31536000, + Interval=599.999616, __Dymola_Algorithm="Dassl")); end BESNoDHW; diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 72c61ee6..4fafff60 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -226,6 +226,7 @@ RegressionTest_Check_References: #- mkdir CorrectedVersion && cd CorrectedVersion #- git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git #- cd $CI_PROJECT_NAME + - pip uninstall buildingspy - pip install git+https://github.com/FWuellhorst/BuildingsPy.git@issue558 - !reference [.custom_install_additional_modelica_libraries, script] - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" From 196742229be97defccbba75cfeea8d0cab2a1062 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 17 Jun 2024 16:04:26 +0200 Subject: [PATCH 052/125] force uninstall --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 4fafff60..55b3c0d7 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -226,7 +226,7 @@ RegressionTest_Check_References: #- mkdir CorrectedVersion && cd CorrectedVersion #- git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git #- cd $CI_PROJECT_NAME - - pip uninstall buildingspy + - pip uninstall buildingspy -y - pip install git+https://github.com/FWuellhorst/BuildingsPy.git@issue558 - !reference [.custom_install_additional_modelica_libraries, script] - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" From e72727e741c2372192fa34b427e9efdfa4c2f191 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Tue, 18 Jun 2024 11:39:32 +0200 Subject: [PATCH 053/125] rm custom buildingspy --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 55b3c0d7..94a1b0a6 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -226,8 +226,6 @@ RegressionTest_Check_References: #- mkdir CorrectedVersion && cd CorrectedVersion #- git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git #- cd $CI_PROJECT_NAME - - pip uninstall buildingspy -y - - pip install git+https://github.com/FWuellhorst/BuildingsPy.git@issue558 - !reference [.custom_install_additional_modelica_libraries, script] - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod From 74d3e43ba88cea6398f284f1067167776029b57b Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Tue, 18 Jun 2024 12:42:08 +0200 Subject: [PATCH 054/125] try other setting --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 94a1b0a6..5b2e17c4 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -228,7 +228,8 @@ RegressionTest_Check_References: #- cd $CI_PROJECT_NAME - !reference [.custom_install_additional_modelica_libraries, script] - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod + - Xvfb :77 -extension RANDR -extension GLX + - cd BESMod && python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod after_script: - source activate myenv #- cd CorrectedVersion/$CI_PROJECT_NAME From 7617e84526fd3e4c896587eedc18d3a6dd515c64 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Tue, 18 Jun 2024 12:45:39 +0200 Subject: [PATCH 055/125] fix display --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 5b2e17c4..bafbe99d 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -228,7 +228,7 @@ RegressionTest_Check_References: #- cd $CI_PROJECT_NAME - !reference [.custom_install_additional_modelica_libraries, script] - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - Xvfb :77 -extension RANDR -extension GLX + - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 - cd BESMod && python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod after_script: - source activate myenv From 3450e2feda878c7f785b64e41806ae7bfa7259ac Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Tue, 18 Jun 2024 17:37:01 +0200 Subject: [PATCH 056/125] batch mode --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index bafbe99d..6d98fd65 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -22,7 +22,7 @@ # ci_regression_test_commit : ci_regression_test # xvfb_flag: xvfb-run -n 77 # modelicapyci_structure_module: ModelicaPyCI.structure.config_structure -# arg_ref: --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod +# arg_ref: --create-ref --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod # config_ci_new_create_ref_file: ci_new_created_reference.txt # bot_create_ref_commit: CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/ # ci_show_ref_commit: ci_show_ref @@ -228,8 +228,7 @@ RegressionTest_Check_References: #- cd $CI_PROJECT_NAME - !reference [.custom_install_additional_modelica_libraries, script] - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - Xvfb :77 -extension RANDR -extension GLX & export DISPLAY=:77.0 - - cd BESMod && python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod after_script: - source activate myenv #- cd CorrectedVersion/$CI_PROJECT_NAME From ad599f95da31b0b9a67343c13a69e8c538c0d9b9 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Tue, 18 Jun 2024 18:34:48 +0200 Subject: [PATCH 057/125] test createNewReferenceResultsInBatchMode --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 6d98fd65..e95cde36 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -226,6 +226,7 @@ RegressionTest_Check_References: #- mkdir CorrectedVersion && cd CorrectedVersion #- git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git #- cd $CI_PROJECT_NAME + - pip uninstall buildingspy -y && pip install git+https://github.com/FWuellhorst/BuildingsPy@issue558 - !reference [.custom_install_additional_modelica_libraries, script] - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod From 037e377790b76564955319c5a5af864a9184fb3b Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 19 Jun 2024 07:33:08 +0200 Subject: [PATCH 058/125] changes in yml --- .../unit_tests/regression_test.gitlab-ci.yml | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index e95cde36..40900014 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -233,17 +233,20 @@ RegressionTest_Check_References: after_script: - source activate myenv #- cd CorrectedVersion/$CI_PROJECT_NAME - - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then - push_model=$(git ls-files --others --exclude-standard --directory BESMod) ; - (git ls-files --others --exclude-standard --directory BESMod) > ci_new_created_reference.txt ; - message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/" ; + - cd .. # Go pack to library home + - if cat ci-tests/Configfiles/exit.sh | grep "GENERATED_NEW_RESULTS"; then + # Get newly created files + push_model=$(git ls-files --others --exclude-standard --directory BESMod); + # Save them for google_charts templates + echo $push_model > ci_new_created_reference.txt; + message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/"; pip install pandas mako matplot; - python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod ; - git add $push_model ; + python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod ; + git add $push_model; git commit -m "$message"; - git push git@github.com:$Github_Repository.git ; - mkdir -p ../ci-tests/result/ ; - cp -r ci-tests/result/* ../ci-tests/result ; + git push git@github.com:$Github_Repository.git; + mkdir -p ../ci-tests/result/; + cp -r ci-tests/result/* ../ci-tests/result; exit 1 ; else exit 0 ; From 585b9407dda2c6c197acfc077fa7f5d08bee4b05 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 19 Jun 2024 07:36:51 +0200 Subject: [PATCH 059/125] try syntax fix --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 40900014..cb3f55ab 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -233,7 +233,7 @@ RegressionTest_Check_References: after_script: - source activate myenv #- cd CorrectedVersion/$CI_PROJECT_NAME - - cd .. # Go pack to library home + - cd .. - if cat ci-tests/Configfiles/exit.sh | grep "GENERATED_NEW_RESULTS"; then # Get newly created files push_model=$(git ls-files --others --exclude-standard --directory BESMod); From fbbf3973cb3e008be8532c7d5878d1c0e62d0aa3 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 19 Jun 2024 08:23:38 +0200 Subject: [PATCH 060/125] fix indent --- .../unit_tests/regression_test.gitlab-ci.yml | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index cb3f55ab..176b5560 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -233,24 +233,25 @@ RegressionTest_Check_References: after_script: - source activate myenv #- cd CorrectedVersion/$CI_PROJECT_NAME - - cd .. - - if cat ci-tests/Configfiles/exit.sh | grep "GENERATED_NEW_RESULTS"; then - # Get newly created files - push_model=$(git ls-files --others --exclude-standard --directory BESMod); - # Save them for google_charts templates - echo $push_model > ci_new_created_reference.txt; - message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/"; - pip install pandas mako matplot; - python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod ; - git add $push_model; - git commit -m "$message"; - git push git@github.com:$Github_Repository.git; - mkdir -p ../ci-tests/result/; - cp -r ci-tests/result/* ../ci-tests/result; - exit 1 ; - else - exit 0 ; - fi + - cd .. # Go pack to library home + - | + if cat ci-tests/Configfiles/exit.sh | grep "GENERATED_NEW_RESULTS"; then + # Get newly created files + push_model=$(git ls-files --others --exclude-standard --directory BESMod); + # Save them for google_charts templates + echo $push_model > ci_new_created_reference.txt; + message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/"; + pip install pandas mako matplot; + python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod ; + git add $push_model; + git commit -m "$message"; + git push git@github.com:$Github_Repository.git; + #mkdir -p ../ci-tests/result/; + #cp -r ci-tests/result/* ../ci-tests/result; + exit 1 ; + else + exit 0 ; + fi artifacts: when: on_failure paths: From f5be43e75b7af0d4b27bf88517179630bc16db2a Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 19 Jun 2024 08:44:34 +0200 Subject: [PATCH 061/125] fix after scripts --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 176b5560..af9b8598 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -46,6 +46,7 @@ stages: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod after_script: + - cd .. - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then source activate myenv ; python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; @@ -74,6 +75,7 @@ stages: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --changed-flag --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod after_script: + - cd .. - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then source activate myenv ; python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; From 74d531b3d0b5ff5433a7e9b1485b9e7e007fe874 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 19 Jun 2024 11:50:49 +0200 Subject: [PATCH 062/125] more verbose --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index af9b8598..adbe9b12 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -236,6 +236,8 @@ RegressionTest_Check_References: - source activate myenv #- cd CorrectedVersion/$CI_PROJECT_NAME - cd .. # Go pack to library home + - ls + - echo "$PWD" - | if cat ci-tests/Configfiles/exit.sh | grep "GENERATED_NEW_RESULTS"; then # Get newly created files From 62e54798d87ce40b88e03df7ccdae0a5da314b09 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 19 Jun 2024 12:04:23 +0200 Subject: [PATCH 063/125] don't .. --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index adbe9b12..fd7d7f16 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -46,7 +46,6 @@ stages: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod after_script: - - cd .. - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then source activate myenv ; python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; @@ -75,7 +74,6 @@ stages: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --changed-flag --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod after_script: - - cd .. - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then source activate myenv ; python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; @@ -235,9 +233,6 @@ RegressionTest_Check_References: after_script: - source activate myenv #- cd CorrectedVersion/$CI_PROJECT_NAME - - cd .. # Go pack to library home - - ls - - echo "$PWD" - | if cat ci-tests/Configfiles/exit.sh | grep "GENERATED_NEW_RESULTS"; then # Get newly created files From 23f1e012d94a7d739268a7046a727b25e387b796 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 19 Jun 2024 12:42:56 +0200 Subject: [PATCH 064/125] cat file --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index fd7d7f16..f8cf9cea 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -233,6 +233,7 @@ RegressionTest_Check_References: after_script: - source activate myenv #- cd CorrectedVersion/$CI_PROJECT_NAME + - cat ci-tests/Configfiles/exit.sh - | if cat ci-tests/Configfiles/exit.sh | grep "GENERATED_NEW_RESULTS"; then # Get newly created files From 086db37643d016afc64031f2177f051bceed5a20 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 19 Jun 2024 16:22:17 +0200 Subject: [PATCH 065/125] add packages --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index f8cf9cea..009489bb 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -233,7 +233,6 @@ RegressionTest_Check_References: after_script: - source activate myenv #- cd CorrectedVersion/$CI_PROJECT_NAME - - cat ci-tests/Configfiles/exit.sh - | if cat ci-tests/Configfiles/exit.sh | grep "GENERATED_NEW_RESULTS"; then # Get newly created files @@ -242,7 +241,7 @@ RegressionTest_Check_References: echo $push_model > ci_new_created_reference.txt; message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/"; pip install pandas mako matplot; - python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod ; + python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; git add $push_model; git commit -m "$message"; git push git@github.com:$Github_Repository.git; From 97719f6cb5f7739599f59246ae43b67f67c110de Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 19 Jun 2024 16:31:58 +0200 Subject: [PATCH 066/125] switch to branch --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 009489bb..e399a04b 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -242,6 +242,7 @@ RegressionTest_Check_References: message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/"; pip install pandas mako matplot; python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; + git switch $CI_COMMIT_BRANCH; git add $push_model; git commit -m "$message"; git push git@github.com:$Github_Repository.git; From c7b5d3a2b00b98afa1f648788797f31bc472467c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Wed, 19 Jun 2024 14:37:11 +0000 Subject: [PATCH 067/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod/62-update-ci-templates/charts/ --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 + ...ModelicaConferencePaper_TEASERBuilding.txt | 23 + BESMod/comparison-dymola.log | 44 ++ BESMod/simulator-dymola.log | 444 ++++++++++++++++++ BESMod/unitTests-dymola.log | 12 + 5 files changed, 546 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt create mode 100644 BESMod/comparison-dymola.log create mode 100644 BESMod/simulator-dymola.log create mode 100644 BESMod/unitTests-dymola.log diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt new file mode 100644 index 00000000..ef9a13a5 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-19 +statistics-initialization= +{ + "linear": "19, 0", + "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", + "number of continuous time states": "131", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt new file mode 100644 index 00000000..d65447b7 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-19 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "84", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] diff --git a/BESMod/comparison-dymola.log b/BESMod/comparison-dymola.log new file mode 100644 index 00000000..2bb36875 --- /dev/null +++ b/BESMod/comparison-dymola.log @@ -0,0 +1,44 @@ +[ + { + "comparison": { + "file_name": "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat", + "funnel_dirs": [], + "success_rate": 0, + "t_err_max": [], + "test_passed": [], + "var_groups": [], + "variables": [], + "warnings": [] + }, + "model": "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding", + "simulation": { + "elapsed_time": 11.8, + "final_time": 864000, + "jacobians": 20602, + "start_time": 0, + "state_events": 1229, + "success": true + } + }, + { + "comparison": { + "file_name": "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat", + "funnel_dirs": [], + "success_rate": 0, + "t_err_max": [], + "test_passed": [], + "var_groups": [], + "variables": [], + "warnings": [] + }, + "model": "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom", + "simulation": { + "elapsed_time": 19.9, + "final_time": 864000, + "jacobians": 21139, + "start_time": 0, + "state_events": 1365, + "success": true + } + } +] diff --git a/BESMod/simulator-dymola.log b/BESMod/simulator-dymola.log new file mode 100644 index 00000000..7c88e644 --- /dev/null +++ b/BESMod/simulator-dymola.log @@ -0,0 +1,444 @@ + = true + + +rCheck = checkModel("BESMod.Examples.ModelicaConferencePaper.TEASERBuilding"); +Check of BESMod.Examples.ModelicaConferencePaper.TEASERBuilding: +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.nSet is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TConInMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TEvaOutMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowEvaMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowConMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +The model has the same number of unknowns and equations: 7089 +The model has the same number of unknowns and equations +for the given numerical settings of parameters: 7089 +Check of BESMod.Examples.ModelicaConferencePaper.TEASERBuilding successful. +Warning: WARNINGS have been issued. +Declaring variable: Boolean rCheck ; + +Modelica.Utilities.Streams.print(" { \"file\" : \"BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos\",", "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.statistics.log"); +Modelica.Utilities.Streams.print(" \"model\" : \"BESMod.Examples.ModelicaConferencePaper.TEASERBuilding\",", "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.statistics.log"); +Modelica.Utilities.Streams.print(" \"check\" : {", "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.statistics.log"); +Modelica.Utilities.Streams.print(" \"command\" : \"checkModel(\\\"BESMod.Examples.ModelicaConferencePaper.TEASERBuilding\\\");\",", "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.statistics.log"); +Modelica.Utilities.Streams.print(" \"result\" : " + String(rCheck), "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.statistics.log"); +Modelica.Utilities.Streams.print(" },", "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.statistics.log"); + + +rScript=RunScript("modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos"); +simulateModel("BESMod.Examples.ModelicaConferencePaper.TEASERBuilding", stopTime=864000, method="dassl", tolerance=1e-06, resultFile="BESMod.Examples.ModelicaConferencePaper.TEASERBuilding"); +Translation of BESMod.Examples.ModelicaConferencePaper.TEASERBuilding: +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.nSet is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TConInMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TEvaOutMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowEvaMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowConMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +The DAE has 7089 scalar unknowns and 7089 scalar equations. +Redundant consistent initial conditions. +Removed the following equations which are redundant and consistent: + electrical.distribution.batterySimple.E = electrical.distribution.batterySimple.EAva +electrical.distribution.batterySimple.EBou; + ventilation.generation.p_start = ventilation.p_start; + if (hydraulic.generation.heatPump.eva.vol.dynBal.massDynamics == Modelica.Fluid.Types.Dynamics.FixedInitial) then + if (hydraulic.generation.heatPump.eva.vol.dynBal.initialize_p) then + hydraulic.generation.heatPump.eva.vol.dynBal.medium.p = hydraulic.generation.heatPump.eva.vol.dynBal.p_start; + end if; + else + if (hydraulic.generation.heatPump.eva.vol.dynBal.massDynamics == Modelica.Fluid.Types.Dynamics.SteadyStateInitial) then + if (hydraulic.generation.heatPump.eva.vol.dynBal.initialize_p) then + der(hydraulic.generation.heatPump.eva.vol.dynBal.medium.p) = 0; + end if; + end if; + end if; + +This required evaluation of +the interactive parameters + hydraulic.generation.bou_sinkAir.p(start = 101325) + ventilation.generation.bouExh.p(start = 101325) + ventilation.p_start(start = 101325) + +The redundancies involve +initial equations: + hydraulic.generation.bou_sinkAir.p = 101325.0; + ventilation.generation.bouExh.p = ventilation.generation.threeWayValve_b.vol.dynBal.p_start; + electrical.distribution.batterySimple.EAva = electrical.distribution.batterySimple.c *electrical.distribution.batterySimple.SOC_start*electrical.distribution.batterySimple.E_nominal; + electrical.distribution.batterySimple.E = electrical.distribution.batterySimple.E_nominal *electrical.distribution.batterySimple.SOC_start; + electrical.distribution.batterySimple.EBou = (1.0-electrical.distribution.batterySimple.c) *electrical.distribution.batterySimple.SOC_start*electrical.distribution.batterySimple.E_nominal; + +Warning: The conditions of the following assert statements are always false: +Warning: assert(hydraulic.generation.heatPump.con.preDro.homotopyInitialization, "In TEASERBuilding.hydraulic.generation.heatPump.con.preDro: The constant homotopyInitialization has been modified from its default value. This constant will be removed in future releases.", AssertionLevel.warning); + The variable hydraulic.generation.heatPump.con.preDro.homotopyInitialization = false, was declared in class AixLib.Fluid.BaseClasses.PartialResistance, /builds/EBC/EBC_all/github_ci/BESMod/installed_dependencies/AixLib/AixLib/Fluid/BaseClasses/PartialResistance.mo at line 12, and used in component hydraulic.generation.heatPump.con.preDro.PartialResistance. +Warning: assert(hydraulic.generation.heatPump.eva.preDro.homotopyInitialization, "In TEASERBuilding.hydraulic.generation.heatPump.eva.preDro: The constant homotopyInitialization has been modified from its default value. This constant will be removed in future releases.", AssertionLevel.warning); + The variable hydraulic.generation.heatPump.eva.preDro.homotopyInitialization = false, was declared in class AixLib.Fluid.BaseClasses.PartialResistance, /builds/EBC/EBC_all/github_ci/BESMod/installed_dependencies/AixLib/AixLib/Fluid/BaseClasses/PartialResistance.mo at line 12, and used in component hydraulic.generation.heatPump.eva.preDro.PartialResistance. + +Statistics + +Original Model + Number of components: 1409 + Variables: 13591 + Constants: 289 (289 scalars) + Parameters: 6220 (8484 scalars) + Unknowns: 7082 (7316 scalars) + Differentiated variables: 113 scalars + Equations: 5946 + Nontrivial: 4922 +Translated Model + Constants: 5467 scalars + Free parameters: 1370 scalars + Parameter depending: 3084 scalars + Outputs: 41 scalars + Continuous time states: 84 scalars + Time-varying variables: 1782 scalars + Alias variables: 4386 scalars + Number of mixed real/discrete systems of equations: 0 + Sizes of linear systems of equations: {2, 2, 2, 2, 2, 2, 4, 4} + Sizes after manipulation of the linear systems: {0, 0, 0, 0, 0, 0, 0, 0} + Sizes of nonlinear systems of equations: {10, 5, 1, 59, 1, 1, 3, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1} + Sizes after manipulation of the nonlinear systems: {2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1} + Number of numerical Jacobians: 0 + Initialization problem + Sizes of linear systems of equations: {2} + Sizes after manipulation of the linear systems: {0} + Sizes of nonlinear systems of equations: {11, 10, 1, 1, 5, 1, 59, 3, 1, 4, 1, 1} + Sizes after manipulation of the nonlinear systems: {5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1} + Number of numerical Jacobians: 0 + +Selected continuous time states +Statically selected continuous time states + building.comCalCooOpe[1].intDisCom.y + building.comCalHeaOpe[1].intDisCom.y + building.comfortCalculatorCool[1].intDisCom.y + building.comfortCalculatorHea[1].intDisCom.y + building.thermalZone[1].ROM.extWallRC.thermCapExt[1].T + building.thermalZone[1].ROM.floorRC.thermCapExt[1].T + building.thermalZone[1].ROM.intWallRC.thermCapInt[1].T + building.thermalZone[1].ROM.roofRC.thermCapExt[1].T + building.thermalZone[1].ROM.volAir.dynBal.m + building.thermalZone[1].ROM.volAir.dynBal.mXi[1] + building.thermalZone[1].ROM.volAir.dynBal.U + building.thermalZone[1].ventCont.dEMA.ExpAVG.x[1] + building.thermalZone[1].ventCont.dEMA.ExpAVG1.x[1] + DHW.integralKPICalculator.integrator2.y + DHW.pump.vol.dynBal.U + electrical.distribution.batterySimple.E_charged + electrical.distribution.batterySimple.E_discharged + electrical.distribution.batterySimple.EAva + electrical.distribution.batterySimple.EBou + electrical.distribution.eneKPIGen.integrator2.y + electrical.distribution.eneKPILoa.integrator2.y + electrical.generation.intKPICalPElePV.integrator2.y + hydraulic.control.priGenPIDCtrl.intAbs.y + hydraulic.control.priGenPIDCtrl.intSqu.y + hydraulic.control.priGenPIDCtrl.PID.D.x + hydraulic.control.priGenPIDCtrl.PID.I.y + hydraulic.control.valCtrl.PI[1].I.y + hydraulic.distribution.eneKPICalBuf.integrator2.y + hydraulic.distribution.eneKPICalDHW.integrator2.y + hydraulic.distribution.stoBuf.layer[1].dynBal.U + hydraulic.distribution.stoBuf.layer[2].dynBal.U + hydraulic.distribution.stoBuf.layer[3].dynBal.U + hydraulic.distribution.stoBuf.layer[4].dynBal.U + hydraulic.distribution.stoBuf.layer_HE[1].dynBal.U + hydraulic.distribution.stoBuf.layer_HE[2].dynBal.U + hydraulic.distribution.stoBuf.layer_HE[3].dynBal.U + hydraulic.distribution.stoBuf.layer_HE[4].dynBal.U + hydraulic.distribution.stoDHW.layer[1].dynBal.U + hydraulic.distribution.stoDHW.layer[2].dynBal.U + hydraulic.distribution.stoDHW.layer[3].dynBal.U + hydraulic.distribution.stoDHW.layer[4].dynBal.U + hydraulic.distribution.stoDHW.layer_HE[1].dynBal.U + hydraulic.distribution.stoDHW.layer_HE[2].dynBal.U + hydraulic.distribution.stoDHW.layer_HE[3].dynBal.U + hydraulic.distribution.stoDHW.layer_HE[4].dynBal.U + hydraulic.distribution.threeWayValveWithFlowReturn.threWayValFlow.vol.dynBal.U + hydraulic.generation.eleHea.vol.dynBal.U + hydraulic.generation.heatPump.con.vol.dynBal.U + hydraulic.generation.heatPump.eva.vol.dynBal.mXi[1] + hydraulic.generation.heatPump.eva.vol.dynBal.U + hydraulic.generation.heatPump.senT_a1.T + hydraulic.generation.heatPump.senT_a2.T + hydraulic.generation.heatPump.senT_b1.T + hydraulic.generation.heatPump.senT_b2.T + hydraulic.generation.KPIEleHea.integrator1.y + hydraulic.generation.KPIEleHea.integrator3.y + hydraulic.generation.KPIHeaPum.integrator1.y + hydraulic.generation.KPIHeaPum.integrator3.y + hydraulic.generation.KPIPEleEleHea.integrator2.y + hydraulic.generation.KPIQEleHea_flow.integrator2.y + hydraulic.generation.KPIQHP.integrator2.y + hydraulic.generation.KPIWel.integrator2.y + hydraulic.generation.pump.vol.dynBal.U + hydraulic.generation.senTGenOut.T + hydraulic.transfer.intKPICalHeaFlo.integrator2.y + hydraulic.transfer.pumFixMFlo[1].vol.dynBal.U + hydraulic.transfer.rad[1].vol[1].dynBal.U + hydraulic.transfer.rad[1].vol[2].dynBal.U + hydraulic.transfer.rad[1].vol[3].dynBal.U + hydraulic.transfer.rad[1].vol[4].dynBal.U + hydraulic.transfer.rad[1].vol[5].dynBal.U + ventilation.generation.fanFlow.vol.dynBal.m + ventilation.generation.fanFlow.vol.dynBal.medium.Xi[1] + ventilation.generation.fanFlow.vol.dynBal.U + ventilation.generation.fanRet.vol.dynBal.m + ventilation.generation.fanRet.vol.dynBal.medium.Xi[1] + ventilation.generation.fanRet.vol.dynBal.U + ventilation.generation.TExhIn.T + ventilation.generation.threeWayValve_a.vol.dynBal.m + ventilation.generation.threeWayValve_a.vol.dynBal.medium.Xi[1] + ventilation.generation.threeWayValve_a.vol.dynBal.U + ventilation.generation.threeWayValve_b.vol.dynBal.medium.Xi[1] + ventilation.generation.threeWayValve_b.vol.dynBal.U + ventilation.generation.TSup.T + +Warning: WARNINGS have been issued. +Finished + = true + +Declaring variable: Boolean rScript ; + +savelog("BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.translation.log"); = true + + +rCheck = checkModel("BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom"); +Check of BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom: +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.nSet is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TConInMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TEvaOutMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowEvaMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowConMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +The model has the same number of unknowns and equations: 7634 +Check of BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom successful. +Warning: WARNINGS have been issued. +Declaring variable: Boolean rCheck ; + +Modelica.Utilities.Streams.print(" { \"file\" : \"BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos\",", "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.statistics.log"); +Modelica.Utilities.Streams.print(" \"model\" : \"BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom\",", "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.statistics.log"); +Modelica.Utilities.Streams.print(" \"check\" : {", "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.statistics.log"); +Modelica.Utilities.Streams.print(" \"command\" : \"checkModel(\\\"BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom\\\");\",", "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.statistics.log"); +Modelica.Utilities.Streams.print(" \"result\" : " + String(rCheck), "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.statistics.log"); +Modelica.Utilities.Streams.print(" },", "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.statistics.log"); + + +rScript=RunScript("modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos"); +simulateModel("BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom", stopTime=864000, method="dassl", tolerance=1e-06, resultFile="BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom"); +Translation of BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom: +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.nSet is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TConInMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TEvaOutMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowEvaMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowConMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. +The DAE has 7634 scalar unknowns and 7634 scalar equations. +Redundant consistent initial conditions. +Removed the following equations which are redundant and consistent: + electrical.distribution.batterySimple.E = electrical.distribution.batterySimple.EAva +electrical.distribution.batterySimple.EBou; + building.roo.air.p_start = building.roo.p_start; + ventilation.generation.p_start = ventilation.p_start; + if (hydraulic.generation.heatPump.eva.vol.dynBal.massDynamics == Modelica.Fluid.Types.Dynamics.FixedInitial) then + if (hydraulic.generation.heatPump.eva.vol.dynBal.initialize_p) then + hydraulic.generation.heatPump.eva.vol.dynBal.medium.p = hydraulic.generation.heatPump.eva.vol.dynBal.p_start; + end if; + else + if (hydraulic.generation.heatPump.eva.vol.dynBal.massDynamics == Modelica.Fluid.Types.Dynamics.SteadyStateInitial) then + if (hydraulic.generation.heatPump.eva.vol.dynBal.initialize_p) then + der(hydraulic.generation.heatPump.eva.vol.dynBal.medium.p) = 0; + end if; + end if; + end if; + +This required evaluation of +the interactive parameters + building.roo.p_start(start = 101325) + hydraulic.generation.bou_sinkAir.p(start = 101325) + ventilation.generation.bouExh.p(start = 101325) + ventilation.p_start(start = 101325) + weaDat.pAtm(start = 101325) + +The redundancies involve +initial equations: + weaDat.pAtmSel.p = building.roo.air.vol.dynBal.p_start; + hydraulic.generation.bou_sinkAir.p = 101325.0; + ventilation.generation.bouExh.p = ventilation.generation.threeWayValve_b.vol.dynBal.p_start; + electrical.distribution.batterySimple.EBou = (1.0-electrical.distribution.batterySimple.c) *electrical.distribution.batterySimple.SOC_start*electrical.distribution.batterySimple.E_nominal; + electrical.distribution.batterySimple.E = electrical.distribution.batterySimple.E_nominal *electrical.distribution.batterySimple.SOC_start; + electrical.distribution.batterySimple.EAva = electrical.distribution.batterySimple.c *electrical.distribution.batterySimple.SOC_start*electrical.distribution.batterySimple.E_nominal; + +Sparse solver handling possible: false. +Due to flag Advanced.SparseActivate=false. +Model sparse and large enough: true. +Sparse solvers are available for dassl, lsodar, cvode, radau, esdirk*, sdirk* (using OpenMP, set number of cores with Advanced.NumberOfCores). +Warning: The conditions of the following assert statements are always false: +Warning: assert(hydraulic.generation.heatPump.con.preDro.homotopyInitialization, "In BuildingsLibraryRoom.hydraulic.generation.heatPump.con.preDro: The constant homotopyInitialization has been modified from its default value. This constant will be removed in future releases.", AssertionLevel.warning); + The variable hydraulic.generation.heatPump.con.preDro.homotopyInitialization = false, was declared in class AixLib.Fluid.BaseClasses.PartialResistance, /builds/EBC/EBC_all/github_ci/BESMod/installed_dependencies/AixLib/AixLib/Fluid/BaseClasses/PartialResistance.mo at line 12, and used in component hydraulic.generation.heatPump.con.preDro.PartialResistance. +Warning: assert(hydraulic.generation.heatPump.eva.preDro.homotopyInitialization, "In BuildingsLibraryRoom.hydraulic.generation.heatPump.eva.preDro: The constant homotopyInitialization has been modified from its default value. This constant will be removed in future releases.", AssertionLevel.warning); + The variable hydraulic.generation.heatPump.eva.preDro.homotopyInitialization = false, was declared in class AixLib.Fluid.BaseClasses.PartialResistance, /builds/EBC/EBC_all/github_ci/BESMod/installed_dependencies/AixLib/AixLib/Fluid/BaseClasses/PartialResistance.mo at line 12, and used in component hydraulic.generation.heatPump.eva.preDro.PartialResistance. + +Statistics + +Original Model + Number of components: 1779 + Variables: 20095 + Constants: 708 (708 scalars) + Parameters: 11420 (15471 scalars) + Unknowns: 7967 (7879 scalars) + Differentiated variables: 161 scalars + Equations: 6142 + Nontrivial: 5139 +Translated Model + Constants: 9926 scalars + Free parameters: 1527 scalars + Parameter depending: 6067 scalars + Outputs: 37 scalars + Continuous time states: 131 scalars + Time-varying variables: 1851 scalars + Alias variables: 4687 scalars + Number of mixed real/discrete systems of equations: 0 + Sizes of linear systems of equations: {2, 2, 2, 2, 2, 2, 35, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 19} + Sizes after manipulation of the linear systems: {0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} + Sizes of nonlinear systems of equations: {10, 5, 1, 3, 4, 1, 1, 3, 1, 1} + Sizes after manipulation of the nonlinear systems: {2, 1, 1, 1, 1, 0, 0, 1, 1, 1} + Number of numerical Jacobians: 0 + Initialization problem + Sizes of linear systems of equations: {55, 2} + Sizes after manipulation of the linear systems: {19, 0} + Sizes of nonlinear systems of equations: {11, 65, 10, 1, 1, 5, 1, 3, 1, 4, 1, 1} + Sizes after manipulation of the nonlinear systems: {5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1} + Number of numerical Jacobians: 0 + +Selected continuous time states +Statically selected continuous time states + building.comfortCalculatorCool[1].intDisCom.y + building.comfortCalculatorHea[1].intDisCom.y + building.roo.air.vol.dynBal.medium.Xi[1] + building.roo.air.vol.dynBal.U + building.roo.conBou[1].opa.lay[2].T[1] + building.roo.conBou[1].opa.lay[2].T[2] + building.roo.conBou[1].opa.lay[2].T[3] + building.roo.conBou[1].opa.lay[2].T[4] + building.roo.conExt[1].opa.lay[1].T[1] + building.roo.conExt[1].opa.lay[1].T[2] + building.roo.conExt[1].opa.lay[2].T[1] + building.roo.conExt[1].opa.lay[2].T[2] + building.roo.conExt[1].opa.lay[2].T[3] + building.roo.conExt[1].opa.lay[2].T[4] + building.roo.conExt[1].opa.lay[3].T[1] + building.roo.conExt[1].opa.lay[3].T[2] + building.roo.conExt[2].opa.lay[1].T[1] + building.roo.conExt[2].opa.lay[1].T[2] + building.roo.conExt[2].opa.lay[2].T[1] + building.roo.conExt[2].opa.lay[2].T[2] + building.roo.conExt[2].opa.lay[3].T[1] + building.roo.conExt[2].opa.lay[3].T[2] + building.roo.conExt[3].opa.lay[1].T[1] + building.roo.conExt[3].opa.lay[1].T[2] + building.roo.conExt[3].opa.lay[2].T[1] + building.roo.conExt[3].opa.lay[2].T[2] + building.roo.conExt[3].opa.lay[3].T[1] + building.roo.conExt[3].opa.lay[3].T[2] + building.roo.conExt[4].opa.lay[1].T[1] + building.roo.conExt[4].opa.lay[1].T[2] + building.roo.conExt[4].opa.lay[2].T[1] + building.roo.conExt[4].opa.lay[2].T[2] + building.roo.conExt[4].opa.lay[3].T[1] + building.roo.conExt[4].opa.lay[3].T[2] + building.roo.conExtWin[1].opa.lay[1].T[1] + building.roo.conExtWin[1].opa.lay[1].T[2] + building.roo.conExtWin[1].opa.lay[2].T[1] + building.roo.conExtWin[1].opa.lay[2].T[2] + building.roo.conExtWin[1].opa.lay[3].T[1] + building.roo.conExtWin[1].opa.lay[3].T[2] + building.roo.conExtWin[1].win.capFra.T + building.roo.conExtWin[1].win.capGla.TUns + building.soi.T[1] + building.soi.T[2] + building.soi.T[3] + building.soi.T[4] + building.soi.T[5] + building.soi.T[6] + building.soi.T[7] + building.soi.T[8] + building.soi.T[9] + building.soi.T[10] + building.soi.T[11] + building.soi.T[12] + building.soi.T[13] + building.soi.T[14] + building.soi.T[15] + building.soi.T[16] + building.soi.T[17] + building.soi.T[18] + DHW.integralKPICalculator.integrator2.y + DHW.pump.vol.dynBal.U + electrical.distribution.batterySimple.E_charged + electrical.distribution.batterySimple.E_discharged + electrical.distribution.batterySimple.EAva + electrical.distribution.batterySimple.EBou + electrical.distribution.eneKPIGen.integrator2.y + electrical.distribution.eneKPILoa.integrator2.y + electrical.generation.intKPICalPElePV.integrator2.y + hydraulic.control.priGenPIDCtrl.intAbs.y + hydraulic.control.priGenPIDCtrl.intSqu.y + hydraulic.control.priGenPIDCtrl.PID.D.x + hydraulic.control.priGenPIDCtrl.PID.I.y + hydraulic.control.valCtrl.PI[1].I.y + hydraulic.distribution.eneKPICalBuf.integrator2.y + hydraulic.distribution.eneKPICalDHW.integrator2.y + hydraulic.distribution.stoBuf.layer[1].dynBal.U + hydraulic.distribution.stoBuf.layer[2].dynBal.U + hydraulic.distribution.stoBuf.layer[3].dynBal.U + hydraulic.distribution.stoBuf.layer[4].dynBal.U + hydraulic.distribution.stoBuf.layer_HE[1].dynBal.U + hydraulic.distribution.stoBuf.layer_HE[2].dynBal.U + hydraulic.distribution.stoBuf.layer_HE[3].dynBal.U + hydraulic.distribution.stoBuf.layer_HE[4].dynBal.U + hydraulic.distribution.stoDHW.layer[1].dynBal.U + hydraulic.distribution.stoDHW.layer[2].dynBal.U + hydraulic.distribution.stoDHW.layer[3].dynBal.U + hydraulic.distribution.stoDHW.layer[4].dynBal.U + hydraulic.distribution.stoDHW.layer_HE[1].dynBal.U + hydraulic.distribution.stoDHW.layer_HE[2].dynBal.U + hydraulic.distribution.stoDHW.layer_HE[3].dynBal.U + hydraulic.distribution.stoDHW.layer_HE[4].dynBal.U + hydraulic.distribution.threeWayValveWithFlowReturn.threWayValFlow.vol.dynBal.U + hydraulic.generation.eleHea.vol.dynBal.U + hydraulic.generation.heatPump.con.vol.dynBal.U + hydraulic.generation.heatPump.eva.vol.dynBal.mXi[1] + hydraulic.generation.heatPump.eva.vol.dynBal.U + hydraulic.generation.heatPump.senT_a1.T + hydraulic.generation.heatPump.senT_a2.T + hydraulic.generation.heatPump.senT_b1.T + hydraulic.generation.heatPump.senT_b2.T + hydraulic.generation.KPIEleHea.integrator1.y + hydraulic.generation.KPIEleHea.integrator3.y + hydraulic.generation.KPIHeaPum.integrator1.y + hydraulic.generation.KPIHeaPum.integrator3.y + hydraulic.generation.KPIPEleEleHea.integrator2.y + hydraulic.generation.KPIQEleHea_flow.integrator2.y + hydraulic.generation.KPIQHP.integrator2.y + hydraulic.generation.KPIWel.integrator2.y + hydraulic.generation.pump.vol.dynBal.U + hydraulic.generation.senTGenOut.T + hydraulic.transfer.intKPICalHeaFlo.integrator2.y + hydraulic.transfer.pumFixMFlo[1].vol.dynBal.U + hydraulic.transfer.rad[1].vol[1].dynBal.U + hydraulic.transfer.rad[1].vol[2].dynBal.U + hydraulic.transfer.rad[1].vol[3].dynBal.U + hydraulic.transfer.rad[1].vol[4].dynBal.U + hydraulic.transfer.rad[1].vol[5].dynBal.U + ventilation.generation.fanFlow.vol.dynBal.m + ventilation.generation.fanFlow.vol.dynBal.medium.Xi[1] + ventilation.generation.fanFlow.vol.dynBal.U + ventilation.generation.fanRet.vol.dynBal.m + ventilation.generation.fanRet.vol.dynBal.medium.Xi[1] + ventilation.generation.fanRet.vol.dynBal.U + ventilation.generation.TExhIn.T + ventilation.generation.threeWayValve_a.vol.dynBal.m + ventilation.generation.threeWayValve_a.vol.dynBal.medium.Xi[1] + ventilation.generation.threeWayValve_a.vol.dynBal.U + ventilation.generation.threeWayValve_b.vol.dynBal.medium.Xi[1] + ventilation.generation.threeWayValve_b.vol.dynBal.U + ventilation.generation.TSup.T + +Warning: WARNINGS have been issued. +Finished + = true + +Declaring variable: Boolean rScript ; + +savelog("BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.translation.log"); \ No newline at end of file diff --git a/BESMod/unitTests-dymola.log b/BESMod/unitTests-dymola.log new file mode 100644 index 00000000..981c7b1d --- /dev/null +++ b/BESMod/unitTests-dymola.log @@ -0,0 +1,12 @@ +Regression tests are only run for the following package: + BESMod.Examples.ModelicaConferencePaper +Wrote new reference file /builds/EBC/EBC_all/github_ci/BESMod/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt. +Wrote new reference file /builds/EBC/EBC_all/github_ci/BESMod/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt. +Comparison files output by funnel are stored in the directory 'funnel_comp' of size 0.0 MB. +Run 'python -c "import buildingspy.development.regressiontest as t; t.Tester(tool=\"dymola\").report()"' +to access a summary of the comparison results. + +Script that runs unit tests had 0 warnings and 0 errors. + +Unit tests completed successfully. + From 0b0ddc08e441f7bbcc3e2225a0ab50d49a0d9b0c Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 19 Jun 2024 17:06:13 +0200 Subject: [PATCH 068/125] rm files again to check if it works --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 - ...ModelicaConferencePaper_TEASERBuilding.txt | 23 - BESMod/comparison-dymola.log | 44 -- BESMod/simulator-dymola.log | 444 ------------------ BESMod/unitTests-dymola.log | 12 - 5 files changed, 546 deletions(-) delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt delete mode 100644 BESMod/comparison-dymola.log delete mode 100644 BESMod/simulator-dymola.log delete mode 100644 BESMod/unitTests-dymola.log diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt deleted file mode 100644 index ef9a13a5..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-19 -statistics-initialization= -{ - "linear": "19, 0", - "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", - "number of continuous time states": "131", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt deleted file mode 100644 index d65447b7..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-19 -statistics-initialization= -{ - "linear": "0", - "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", - "number of continuous time states": "84", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] diff --git a/BESMod/comparison-dymola.log b/BESMod/comparison-dymola.log deleted file mode 100644 index 2bb36875..00000000 --- a/BESMod/comparison-dymola.log +++ /dev/null @@ -1,44 +0,0 @@ -[ - { - "comparison": { - "file_name": "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat", - "funnel_dirs": [], - "success_rate": 0, - "t_err_max": [], - "test_passed": [], - "var_groups": [], - "variables": [], - "warnings": [] - }, - "model": "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding", - "simulation": { - "elapsed_time": 11.8, - "final_time": 864000, - "jacobians": 20602, - "start_time": 0, - "state_events": 1229, - "success": true - } - }, - { - "comparison": { - "file_name": "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat", - "funnel_dirs": [], - "success_rate": 0, - "t_err_max": [], - "test_passed": [], - "var_groups": [], - "variables": [], - "warnings": [] - }, - "model": "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom", - "simulation": { - "elapsed_time": 19.9, - "final_time": 864000, - "jacobians": 21139, - "start_time": 0, - "state_events": 1365, - "success": true - } - } -] diff --git a/BESMod/simulator-dymola.log b/BESMod/simulator-dymola.log deleted file mode 100644 index 7c88e644..00000000 --- a/BESMod/simulator-dymola.log +++ /dev/null @@ -1,444 +0,0 @@ - = true - - -rCheck = checkModel("BESMod.Examples.ModelicaConferencePaper.TEASERBuilding"); -Check of BESMod.Examples.ModelicaConferencePaper.TEASERBuilding: -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.nSet is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TConInMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TEvaOutMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowEvaMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowConMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -The model has the same number of unknowns and equations: 7089 -The model has the same number of unknowns and equations -for the given numerical settings of parameters: 7089 -Check of BESMod.Examples.ModelicaConferencePaper.TEASERBuilding successful. -Warning: WARNINGS have been issued. -Declaring variable: Boolean rCheck ; - -Modelica.Utilities.Streams.print(" { \"file\" : \"BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos\",", "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.statistics.log"); -Modelica.Utilities.Streams.print(" \"model\" : \"BESMod.Examples.ModelicaConferencePaper.TEASERBuilding\",", "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.statistics.log"); -Modelica.Utilities.Streams.print(" \"check\" : {", "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.statistics.log"); -Modelica.Utilities.Streams.print(" \"command\" : \"checkModel(\\\"BESMod.Examples.ModelicaConferencePaper.TEASERBuilding\\\");\",", "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.statistics.log"); -Modelica.Utilities.Streams.print(" \"result\" : " + String(rCheck), "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.statistics.log"); -Modelica.Utilities.Streams.print(" },", "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.statistics.log"); - - -rScript=RunScript("modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos"); -simulateModel("BESMod.Examples.ModelicaConferencePaper.TEASERBuilding", stopTime=864000, method="dassl", tolerance=1e-06, resultFile="BESMod.Examples.ModelicaConferencePaper.TEASERBuilding"); -Translation of BESMod.Examples.ModelicaConferencePaper.TEASERBuilding: -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.nSet is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TConInMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TEvaOutMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowEvaMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowConMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -The DAE has 7089 scalar unknowns and 7089 scalar equations. -Redundant consistent initial conditions. -Removed the following equations which are redundant and consistent: - electrical.distribution.batterySimple.E = electrical.distribution.batterySimple.EAva +electrical.distribution.batterySimple.EBou; - ventilation.generation.p_start = ventilation.p_start; - if (hydraulic.generation.heatPump.eva.vol.dynBal.massDynamics == Modelica.Fluid.Types.Dynamics.FixedInitial) then - if (hydraulic.generation.heatPump.eva.vol.dynBal.initialize_p) then - hydraulic.generation.heatPump.eva.vol.dynBal.medium.p = hydraulic.generation.heatPump.eva.vol.dynBal.p_start; - end if; - else - if (hydraulic.generation.heatPump.eva.vol.dynBal.massDynamics == Modelica.Fluid.Types.Dynamics.SteadyStateInitial) then - if (hydraulic.generation.heatPump.eva.vol.dynBal.initialize_p) then - der(hydraulic.generation.heatPump.eva.vol.dynBal.medium.p) = 0; - end if; - end if; - end if; - -This required evaluation of -the interactive parameters - hydraulic.generation.bou_sinkAir.p(start = 101325) - ventilation.generation.bouExh.p(start = 101325) - ventilation.p_start(start = 101325) - -The redundancies involve -initial equations: - hydraulic.generation.bou_sinkAir.p = 101325.0; - ventilation.generation.bouExh.p = ventilation.generation.threeWayValve_b.vol.dynBal.p_start; - electrical.distribution.batterySimple.EAva = electrical.distribution.batterySimple.c *electrical.distribution.batterySimple.SOC_start*electrical.distribution.batterySimple.E_nominal; - electrical.distribution.batterySimple.E = electrical.distribution.batterySimple.E_nominal *electrical.distribution.batterySimple.SOC_start; - electrical.distribution.batterySimple.EBou = (1.0-electrical.distribution.batterySimple.c) *electrical.distribution.batterySimple.SOC_start*electrical.distribution.batterySimple.E_nominal; - -Warning: The conditions of the following assert statements are always false: -Warning: assert(hydraulic.generation.heatPump.con.preDro.homotopyInitialization, "In TEASERBuilding.hydraulic.generation.heatPump.con.preDro: The constant homotopyInitialization has been modified from its default value. This constant will be removed in future releases.", AssertionLevel.warning); - The variable hydraulic.generation.heatPump.con.preDro.homotopyInitialization = false, was declared in class AixLib.Fluid.BaseClasses.PartialResistance, /builds/EBC/EBC_all/github_ci/BESMod/installed_dependencies/AixLib/AixLib/Fluid/BaseClasses/PartialResistance.mo at line 12, and used in component hydraulic.generation.heatPump.con.preDro.PartialResistance. -Warning: assert(hydraulic.generation.heatPump.eva.preDro.homotopyInitialization, "In TEASERBuilding.hydraulic.generation.heatPump.eva.preDro: The constant homotopyInitialization has been modified from its default value. This constant will be removed in future releases.", AssertionLevel.warning); - The variable hydraulic.generation.heatPump.eva.preDro.homotopyInitialization = false, was declared in class AixLib.Fluid.BaseClasses.PartialResistance, /builds/EBC/EBC_all/github_ci/BESMod/installed_dependencies/AixLib/AixLib/Fluid/BaseClasses/PartialResistance.mo at line 12, and used in component hydraulic.generation.heatPump.eva.preDro.PartialResistance. - -Statistics - -Original Model - Number of components: 1409 - Variables: 13591 - Constants: 289 (289 scalars) - Parameters: 6220 (8484 scalars) - Unknowns: 7082 (7316 scalars) - Differentiated variables: 113 scalars - Equations: 5946 - Nontrivial: 4922 -Translated Model - Constants: 5467 scalars - Free parameters: 1370 scalars - Parameter depending: 3084 scalars - Outputs: 41 scalars - Continuous time states: 84 scalars - Time-varying variables: 1782 scalars - Alias variables: 4386 scalars - Number of mixed real/discrete systems of equations: 0 - Sizes of linear systems of equations: {2, 2, 2, 2, 2, 2, 4, 4} - Sizes after manipulation of the linear systems: {0, 0, 0, 0, 0, 0, 0, 0} - Sizes of nonlinear systems of equations: {10, 5, 1, 59, 1, 1, 3, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1} - Sizes after manipulation of the nonlinear systems: {2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1} - Number of numerical Jacobians: 0 - Initialization problem - Sizes of linear systems of equations: {2} - Sizes after manipulation of the linear systems: {0} - Sizes of nonlinear systems of equations: {11, 10, 1, 1, 5, 1, 59, 3, 1, 4, 1, 1} - Sizes after manipulation of the nonlinear systems: {5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1} - Number of numerical Jacobians: 0 - -Selected continuous time states -Statically selected continuous time states - building.comCalCooOpe[1].intDisCom.y - building.comCalHeaOpe[1].intDisCom.y - building.comfortCalculatorCool[1].intDisCom.y - building.comfortCalculatorHea[1].intDisCom.y - building.thermalZone[1].ROM.extWallRC.thermCapExt[1].T - building.thermalZone[1].ROM.floorRC.thermCapExt[1].T - building.thermalZone[1].ROM.intWallRC.thermCapInt[1].T - building.thermalZone[1].ROM.roofRC.thermCapExt[1].T - building.thermalZone[1].ROM.volAir.dynBal.m - building.thermalZone[1].ROM.volAir.dynBal.mXi[1] - building.thermalZone[1].ROM.volAir.dynBal.U - building.thermalZone[1].ventCont.dEMA.ExpAVG.x[1] - building.thermalZone[1].ventCont.dEMA.ExpAVG1.x[1] - DHW.integralKPICalculator.integrator2.y - DHW.pump.vol.dynBal.U - electrical.distribution.batterySimple.E_charged - electrical.distribution.batterySimple.E_discharged - electrical.distribution.batterySimple.EAva - electrical.distribution.batterySimple.EBou - electrical.distribution.eneKPIGen.integrator2.y - electrical.distribution.eneKPILoa.integrator2.y - electrical.generation.intKPICalPElePV.integrator2.y - hydraulic.control.priGenPIDCtrl.intAbs.y - hydraulic.control.priGenPIDCtrl.intSqu.y - hydraulic.control.priGenPIDCtrl.PID.D.x - hydraulic.control.priGenPIDCtrl.PID.I.y - hydraulic.control.valCtrl.PI[1].I.y - hydraulic.distribution.eneKPICalBuf.integrator2.y - hydraulic.distribution.eneKPICalDHW.integrator2.y - hydraulic.distribution.stoBuf.layer[1].dynBal.U - hydraulic.distribution.stoBuf.layer[2].dynBal.U - hydraulic.distribution.stoBuf.layer[3].dynBal.U - hydraulic.distribution.stoBuf.layer[4].dynBal.U - hydraulic.distribution.stoBuf.layer_HE[1].dynBal.U - hydraulic.distribution.stoBuf.layer_HE[2].dynBal.U - hydraulic.distribution.stoBuf.layer_HE[3].dynBal.U - hydraulic.distribution.stoBuf.layer_HE[4].dynBal.U - hydraulic.distribution.stoDHW.layer[1].dynBal.U - hydraulic.distribution.stoDHW.layer[2].dynBal.U - hydraulic.distribution.stoDHW.layer[3].dynBal.U - hydraulic.distribution.stoDHW.layer[4].dynBal.U - hydraulic.distribution.stoDHW.layer_HE[1].dynBal.U - hydraulic.distribution.stoDHW.layer_HE[2].dynBal.U - hydraulic.distribution.stoDHW.layer_HE[3].dynBal.U - hydraulic.distribution.stoDHW.layer_HE[4].dynBal.U - hydraulic.distribution.threeWayValveWithFlowReturn.threWayValFlow.vol.dynBal.U - hydraulic.generation.eleHea.vol.dynBal.U - hydraulic.generation.heatPump.con.vol.dynBal.U - hydraulic.generation.heatPump.eva.vol.dynBal.mXi[1] - hydraulic.generation.heatPump.eva.vol.dynBal.U - hydraulic.generation.heatPump.senT_a1.T - hydraulic.generation.heatPump.senT_a2.T - hydraulic.generation.heatPump.senT_b1.T - hydraulic.generation.heatPump.senT_b2.T - hydraulic.generation.KPIEleHea.integrator1.y - hydraulic.generation.KPIEleHea.integrator3.y - hydraulic.generation.KPIHeaPum.integrator1.y - hydraulic.generation.KPIHeaPum.integrator3.y - hydraulic.generation.KPIPEleEleHea.integrator2.y - hydraulic.generation.KPIQEleHea_flow.integrator2.y - hydraulic.generation.KPIQHP.integrator2.y - hydraulic.generation.KPIWel.integrator2.y - hydraulic.generation.pump.vol.dynBal.U - hydraulic.generation.senTGenOut.T - hydraulic.transfer.intKPICalHeaFlo.integrator2.y - hydraulic.transfer.pumFixMFlo[1].vol.dynBal.U - hydraulic.transfer.rad[1].vol[1].dynBal.U - hydraulic.transfer.rad[1].vol[2].dynBal.U - hydraulic.transfer.rad[1].vol[3].dynBal.U - hydraulic.transfer.rad[1].vol[4].dynBal.U - hydraulic.transfer.rad[1].vol[5].dynBal.U - ventilation.generation.fanFlow.vol.dynBal.m - ventilation.generation.fanFlow.vol.dynBal.medium.Xi[1] - ventilation.generation.fanFlow.vol.dynBal.U - ventilation.generation.fanRet.vol.dynBal.m - ventilation.generation.fanRet.vol.dynBal.medium.Xi[1] - ventilation.generation.fanRet.vol.dynBal.U - ventilation.generation.TExhIn.T - ventilation.generation.threeWayValve_a.vol.dynBal.m - ventilation.generation.threeWayValve_a.vol.dynBal.medium.Xi[1] - ventilation.generation.threeWayValve_a.vol.dynBal.U - ventilation.generation.threeWayValve_b.vol.dynBal.medium.Xi[1] - ventilation.generation.threeWayValve_b.vol.dynBal.U - ventilation.generation.TSup.T - -Warning: WARNINGS have been issued. -Finished - = true - -Declaring variable: Boolean rScript ; - -savelog("BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.translation.log"); = true - - -rCheck = checkModel("BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom"); -Check of BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom: -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.nSet is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TConInMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TEvaOutMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowEvaMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowConMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -The model has the same number of unknowns and equations: 7634 -Check of BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom successful. -Warning: WARNINGS have been issued. -Declaring variable: Boolean rCheck ; - -Modelica.Utilities.Streams.print(" { \"file\" : \"BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos\",", "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.statistics.log"); -Modelica.Utilities.Streams.print(" \"model\" : \"BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom\",", "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.statistics.log"); -Modelica.Utilities.Streams.print(" \"check\" : {", "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.statistics.log"); -Modelica.Utilities.Streams.print(" \"command\" : \"checkModel(\\\"BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom\\\");\",", "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.statistics.log"); -Modelica.Utilities.Streams.print(" \"result\" : " + String(rCheck), "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.statistics.log"); -Modelica.Utilities.Streams.print(" },", "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.statistics.log"); - - -rScript=RunScript("modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos"); -simulateModel("BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom", stopTime=864000, method="dassl", tolerance=1e-06, resultFile="BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom"); -Translation of BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom: -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.nSet is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TConInMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.TEvaOutMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowEvaMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -Warning: The variable hydraulic.generation.heatPump.innerCycle.PerformanceDataHPCooling.sigBus.m_flowConMea is part of an expandable connector, and was only used outside of connect. That is not legal since we cannot determine its causality. -The DAE has 7634 scalar unknowns and 7634 scalar equations. -Redundant consistent initial conditions. -Removed the following equations which are redundant and consistent: - electrical.distribution.batterySimple.E = electrical.distribution.batterySimple.EAva +electrical.distribution.batterySimple.EBou; - building.roo.air.p_start = building.roo.p_start; - ventilation.generation.p_start = ventilation.p_start; - if (hydraulic.generation.heatPump.eva.vol.dynBal.massDynamics == Modelica.Fluid.Types.Dynamics.FixedInitial) then - if (hydraulic.generation.heatPump.eva.vol.dynBal.initialize_p) then - hydraulic.generation.heatPump.eva.vol.dynBal.medium.p = hydraulic.generation.heatPump.eva.vol.dynBal.p_start; - end if; - else - if (hydraulic.generation.heatPump.eva.vol.dynBal.massDynamics == Modelica.Fluid.Types.Dynamics.SteadyStateInitial) then - if (hydraulic.generation.heatPump.eva.vol.dynBal.initialize_p) then - der(hydraulic.generation.heatPump.eva.vol.dynBal.medium.p) = 0; - end if; - end if; - end if; - -This required evaluation of -the interactive parameters - building.roo.p_start(start = 101325) - hydraulic.generation.bou_sinkAir.p(start = 101325) - ventilation.generation.bouExh.p(start = 101325) - ventilation.p_start(start = 101325) - weaDat.pAtm(start = 101325) - -The redundancies involve -initial equations: - weaDat.pAtmSel.p = building.roo.air.vol.dynBal.p_start; - hydraulic.generation.bou_sinkAir.p = 101325.0; - ventilation.generation.bouExh.p = ventilation.generation.threeWayValve_b.vol.dynBal.p_start; - electrical.distribution.batterySimple.EBou = (1.0-electrical.distribution.batterySimple.c) *electrical.distribution.batterySimple.SOC_start*electrical.distribution.batterySimple.E_nominal; - electrical.distribution.batterySimple.E = electrical.distribution.batterySimple.E_nominal *electrical.distribution.batterySimple.SOC_start; - electrical.distribution.batterySimple.EAva = electrical.distribution.batterySimple.c *electrical.distribution.batterySimple.SOC_start*electrical.distribution.batterySimple.E_nominal; - -Sparse solver handling possible: false. -Due to flag Advanced.SparseActivate=false. -Model sparse and large enough: true. -Sparse solvers are available for dassl, lsodar, cvode, radau, esdirk*, sdirk* (using OpenMP, set number of cores with Advanced.NumberOfCores). -Warning: The conditions of the following assert statements are always false: -Warning: assert(hydraulic.generation.heatPump.con.preDro.homotopyInitialization, "In BuildingsLibraryRoom.hydraulic.generation.heatPump.con.preDro: The constant homotopyInitialization has been modified from its default value. This constant will be removed in future releases.", AssertionLevel.warning); - The variable hydraulic.generation.heatPump.con.preDro.homotopyInitialization = false, was declared in class AixLib.Fluid.BaseClasses.PartialResistance, /builds/EBC/EBC_all/github_ci/BESMod/installed_dependencies/AixLib/AixLib/Fluid/BaseClasses/PartialResistance.mo at line 12, and used in component hydraulic.generation.heatPump.con.preDro.PartialResistance. -Warning: assert(hydraulic.generation.heatPump.eva.preDro.homotopyInitialization, "In BuildingsLibraryRoom.hydraulic.generation.heatPump.eva.preDro: The constant homotopyInitialization has been modified from its default value. This constant will be removed in future releases.", AssertionLevel.warning); - The variable hydraulic.generation.heatPump.eva.preDro.homotopyInitialization = false, was declared in class AixLib.Fluid.BaseClasses.PartialResistance, /builds/EBC/EBC_all/github_ci/BESMod/installed_dependencies/AixLib/AixLib/Fluid/BaseClasses/PartialResistance.mo at line 12, and used in component hydraulic.generation.heatPump.eva.preDro.PartialResistance. - -Statistics - -Original Model - Number of components: 1779 - Variables: 20095 - Constants: 708 (708 scalars) - Parameters: 11420 (15471 scalars) - Unknowns: 7967 (7879 scalars) - Differentiated variables: 161 scalars - Equations: 6142 - Nontrivial: 5139 -Translated Model - Constants: 9926 scalars - Free parameters: 1527 scalars - Parameter depending: 6067 scalars - Outputs: 37 scalars - Continuous time states: 131 scalars - Time-varying variables: 1851 scalars - Alias variables: 4687 scalars - Number of mixed real/discrete systems of equations: 0 - Sizes of linear systems of equations: {2, 2, 2, 2, 2, 2, 35, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 19} - Sizes after manipulation of the linear systems: {0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} - Sizes of nonlinear systems of equations: {10, 5, 1, 3, 4, 1, 1, 3, 1, 1} - Sizes after manipulation of the nonlinear systems: {2, 1, 1, 1, 1, 0, 0, 1, 1, 1} - Number of numerical Jacobians: 0 - Initialization problem - Sizes of linear systems of equations: {55, 2} - Sizes after manipulation of the linear systems: {19, 0} - Sizes of nonlinear systems of equations: {11, 65, 10, 1, 1, 5, 1, 3, 1, 4, 1, 1} - Sizes after manipulation of the nonlinear systems: {5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1} - Number of numerical Jacobians: 0 - -Selected continuous time states -Statically selected continuous time states - building.comfortCalculatorCool[1].intDisCom.y - building.comfortCalculatorHea[1].intDisCom.y - building.roo.air.vol.dynBal.medium.Xi[1] - building.roo.air.vol.dynBal.U - building.roo.conBou[1].opa.lay[2].T[1] - building.roo.conBou[1].opa.lay[2].T[2] - building.roo.conBou[1].opa.lay[2].T[3] - building.roo.conBou[1].opa.lay[2].T[4] - building.roo.conExt[1].opa.lay[1].T[1] - building.roo.conExt[1].opa.lay[1].T[2] - building.roo.conExt[1].opa.lay[2].T[1] - building.roo.conExt[1].opa.lay[2].T[2] - building.roo.conExt[1].opa.lay[2].T[3] - building.roo.conExt[1].opa.lay[2].T[4] - building.roo.conExt[1].opa.lay[3].T[1] - building.roo.conExt[1].opa.lay[3].T[2] - building.roo.conExt[2].opa.lay[1].T[1] - building.roo.conExt[2].opa.lay[1].T[2] - building.roo.conExt[2].opa.lay[2].T[1] - building.roo.conExt[2].opa.lay[2].T[2] - building.roo.conExt[2].opa.lay[3].T[1] - building.roo.conExt[2].opa.lay[3].T[2] - building.roo.conExt[3].opa.lay[1].T[1] - building.roo.conExt[3].opa.lay[1].T[2] - building.roo.conExt[3].opa.lay[2].T[1] - building.roo.conExt[3].opa.lay[2].T[2] - building.roo.conExt[3].opa.lay[3].T[1] - building.roo.conExt[3].opa.lay[3].T[2] - building.roo.conExt[4].opa.lay[1].T[1] - building.roo.conExt[4].opa.lay[1].T[2] - building.roo.conExt[4].opa.lay[2].T[1] - building.roo.conExt[4].opa.lay[2].T[2] - building.roo.conExt[4].opa.lay[3].T[1] - building.roo.conExt[4].opa.lay[3].T[2] - building.roo.conExtWin[1].opa.lay[1].T[1] - building.roo.conExtWin[1].opa.lay[1].T[2] - building.roo.conExtWin[1].opa.lay[2].T[1] - building.roo.conExtWin[1].opa.lay[2].T[2] - building.roo.conExtWin[1].opa.lay[3].T[1] - building.roo.conExtWin[1].opa.lay[3].T[2] - building.roo.conExtWin[1].win.capFra.T - building.roo.conExtWin[1].win.capGla.TUns - building.soi.T[1] - building.soi.T[2] - building.soi.T[3] - building.soi.T[4] - building.soi.T[5] - building.soi.T[6] - building.soi.T[7] - building.soi.T[8] - building.soi.T[9] - building.soi.T[10] - building.soi.T[11] - building.soi.T[12] - building.soi.T[13] - building.soi.T[14] - building.soi.T[15] - building.soi.T[16] - building.soi.T[17] - building.soi.T[18] - DHW.integralKPICalculator.integrator2.y - DHW.pump.vol.dynBal.U - electrical.distribution.batterySimple.E_charged - electrical.distribution.batterySimple.E_discharged - electrical.distribution.batterySimple.EAva - electrical.distribution.batterySimple.EBou - electrical.distribution.eneKPIGen.integrator2.y - electrical.distribution.eneKPILoa.integrator2.y - electrical.generation.intKPICalPElePV.integrator2.y - hydraulic.control.priGenPIDCtrl.intAbs.y - hydraulic.control.priGenPIDCtrl.intSqu.y - hydraulic.control.priGenPIDCtrl.PID.D.x - hydraulic.control.priGenPIDCtrl.PID.I.y - hydraulic.control.valCtrl.PI[1].I.y - hydraulic.distribution.eneKPICalBuf.integrator2.y - hydraulic.distribution.eneKPICalDHW.integrator2.y - hydraulic.distribution.stoBuf.layer[1].dynBal.U - hydraulic.distribution.stoBuf.layer[2].dynBal.U - hydraulic.distribution.stoBuf.layer[3].dynBal.U - hydraulic.distribution.stoBuf.layer[4].dynBal.U - hydraulic.distribution.stoBuf.layer_HE[1].dynBal.U - hydraulic.distribution.stoBuf.layer_HE[2].dynBal.U - hydraulic.distribution.stoBuf.layer_HE[3].dynBal.U - hydraulic.distribution.stoBuf.layer_HE[4].dynBal.U - hydraulic.distribution.stoDHW.layer[1].dynBal.U - hydraulic.distribution.stoDHW.layer[2].dynBal.U - hydraulic.distribution.stoDHW.layer[3].dynBal.U - hydraulic.distribution.stoDHW.layer[4].dynBal.U - hydraulic.distribution.stoDHW.layer_HE[1].dynBal.U - hydraulic.distribution.stoDHW.layer_HE[2].dynBal.U - hydraulic.distribution.stoDHW.layer_HE[3].dynBal.U - hydraulic.distribution.stoDHW.layer_HE[4].dynBal.U - hydraulic.distribution.threeWayValveWithFlowReturn.threWayValFlow.vol.dynBal.U - hydraulic.generation.eleHea.vol.dynBal.U - hydraulic.generation.heatPump.con.vol.dynBal.U - hydraulic.generation.heatPump.eva.vol.dynBal.mXi[1] - hydraulic.generation.heatPump.eva.vol.dynBal.U - hydraulic.generation.heatPump.senT_a1.T - hydraulic.generation.heatPump.senT_a2.T - hydraulic.generation.heatPump.senT_b1.T - hydraulic.generation.heatPump.senT_b2.T - hydraulic.generation.KPIEleHea.integrator1.y - hydraulic.generation.KPIEleHea.integrator3.y - hydraulic.generation.KPIHeaPum.integrator1.y - hydraulic.generation.KPIHeaPum.integrator3.y - hydraulic.generation.KPIPEleEleHea.integrator2.y - hydraulic.generation.KPIQEleHea_flow.integrator2.y - hydraulic.generation.KPIQHP.integrator2.y - hydraulic.generation.KPIWel.integrator2.y - hydraulic.generation.pump.vol.dynBal.U - hydraulic.generation.senTGenOut.T - hydraulic.transfer.intKPICalHeaFlo.integrator2.y - hydraulic.transfer.pumFixMFlo[1].vol.dynBal.U - hydraulic.transfer.rad[1].vol[1].dynBal.U - hydraulic.transfer.rad[1].vol[2].dynBal.U - hydraulic.transfer.rad[1].vol[3].dynBal.U - hydraulic.transfer.rad[1].vol[4].dynBal.U - hydraulic.transfer.rad[1].vol[5].dynBal.U - ventilation.generation.fanFlow.vol.dynBal.m - ventilation.generation.fanFlow.vol.dynBal.medium.Xi[1] - ventilation.generation.fanFlow.vol.dynBal.U - ventilation.generation.fanRet.vol.dynBal.m - ventilation.generation.fanRet.vol.dynBal.medium.Xi[1] - ventilation.generation.fanRet.vol.dynBal.U - ventilation.generation.TExhIn.T - ventilation.generation.threeWayValve_a.vol.dynBal.m - ventilation.generation.threeWayValve_a.vol.dynBal.medium.Xi[1] - ventilation.generation.threeWayValve_a.vol.dynBal.U - ventilation.generation.threeWayValve_b.vol.dynBal.medium.Xi[1] - ventilation.generation.threeWayValve_b.vol.dynBal.U - ventilation.generation.TSup.T - -Warning: WARNINGS have been issued. -Finished - = true - -Declaring variable: Boolean rScript ; - -savelog("BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.translation.log"); \ No newline at end of file diff --git a/BESMod/unitTests-dymola.log b/BESMod/unitTests-dymola.log deleted file mode 100644 index 981c7b1d..00000000 --- a/BESMod/unitTests-dymola.log +++ /dev/null @@ -1,12 +0,0 @@ -Regression tests are only run for the following package: - BESMod.Examples.ModelicaConferencePaper -Wrote new reference file /builds/EBC/EBC_all/github_ci/BESMod/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt. -Wrote new reference file /builds/EBC/EBC_all/github_ci/BESMod/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt. -Comparison files output by funnel are stored in the directory 'funnel_comp' of size 0.0 MB. -Run 'python -c "import buildingspy.development.regressiontest as t; t.Tester(tool=\"dymola\").report()"' -to access a summary of the comparison results. - -Script that runs unit tests had 0 warnings and 0 errors. - -Unit tests completed successfully. - From 1003b8b135a58f4caabf9669eb5722ba8add31de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Wed, 19 Jun 2024 15:10:16 +0000 Subject: [PATCH 069/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod/62-update-ci-templates/charts/ --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 +++ ...ModelicaConferencePaper_TEASERBuilding.txt | 23 +++ BESMod/comparison-dymola.log | 152 ++++++++++++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 125 ++++++++++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 125 ++++++++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 53 ++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 63 ++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 124 ++++++++++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 126 +++++++++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 126 +++++++++++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 125 ++++++++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 123 ++++++++++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 123 ++++++++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 132 +++++++++++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 129 +++++++++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 123 ++++++++++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 124 ++++++++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 120 ++++++++++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 121 ++++++++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 119 ++++++++++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 120 ++++++++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 53 ++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 63 ++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 128 +++++++++++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 127 +++++++++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 130 +++++++++++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 129 +++++++++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 123 ++++++++++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 123 ++++++++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 128 +++++++++++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 127 +++++++++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 122 ++++++++++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 123 ++++++++++++++ .../errors.csv | 102 ++++++++++++ .../lowerBound.csv | 120 ++++++++++++++ .../reference.csv | 102 ++++++++++++ .../test.csv | 102 ++++++++++++ .../upperBound.csv | 121 ++++++++++++++ 83 files changed, 8812 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt create mode 100644 BESMod/comparison-dymola.log create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/upperBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/errors.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/reference.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/test.csv create mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt new file mode 100644 index 00000000..ef9a13a5 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-19 +statistics-initialization= +{ + "linear": "19, 0", + "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", + "number of continuous time states": "131", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt new file mode 100644 index 00000000..d65447b7 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-19 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "84", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] diff --git a/BESMod/comparison-dymola.log b/BESMod/comparison-dymola.log new file mode 100644 index 00000000..e82ac0ea --- /dev/null +++ b/BESMod/comparison-dymola.log @@ -0,0 +1,152 @@ +[ + { + "comparison": { + "file_name": "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat", + "funnel_dirs": [ + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad", + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge", + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea", + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea", + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea", + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T", + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul", + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]" + ], + "success_rate": 1.0, + "t_err_max": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "test_passed": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + "var_groups": [ + 0, + 0, + 1, + 1, + 1, + 2, + 2, + 2 + ], + "variables": [ + "electrical.distribution.batterySimple.PLoad", + "electrical.distribution.batterySimple.PCharge", + "hydraulic.distribution.sigBusDistr.TStoDHWTopMea", + "hydraulic.distribution.sigBusDistr.TStoBufTopMea", + "hydraulic.generation.sigBusGen.TGenOutMea", + "ventilation.generation.TSup.T", + "ventilation.generation.weaBus.TDryBul", + "building.buiMeaBus.TZoneMea[1]" + ], + "warnings": [ + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + "model": "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding", + "simulation": { + "elapsed_time": 11.8, + "final_time": 864000, + "jacobians": 20602, + "start_time": 0, + "state_events": 1229, + "success": true + } + }, + { + "comparison": { + "file_name": "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat", + "funnel_dirs": [ + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad", + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge", + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea", + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea", + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea", + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T", + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul", + "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]" + ], + "success_rate": 1.0, + "t_err_max": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "test_passed": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + "var_groups": [ + 0, + 0, + 1, + 1, + 1, + 2, + 2, + 2 + ], + "variables": [ + "electrical.distribution.batterySimple.PLoad", + "electrical.distribution.batterySimple.PCharge", + "hydraulic.distribution.sigBusDistr.TStoDHWTopMea", + "hydraulic.distribution.sigBusDistr.TStoBufTopMea", + "hydraulic.generation.sigBusGen.TGenOutMea", + "ventilation.generation.TSup.T", + "ventilation.generation.weaBus.TDryBul", + "building.buiMeaBus.TZoneMea[1]" + ], + "warnings": [ + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + "model": "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom", + "simulation": { + "elapsed_time": 20.2, + "final_time": 864000, + "jacobians": 21139, + "start_time": 0, + "state_events": 1365, + "success": true + } + } +] diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv new file mode 100644 index 00000000..da1bb14e --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv @@ -0,0 +1,125 @@ +x,y +-0.001000,292.856844 +0.001000,292.856844 +8639.999888,292.966994 +17279.999000,292.829009 +17280.001000,292.829009 +25920.001000,292.843460 +34559.999066,292.883185 +43199.999000,291.726780 +43200.001000,291.726780 +51840.000573,293.066016 +60479.999000,292.702122 +60480.001000,292.702122 +69120.001000,292.820961 +77760.000640,292.844436 +86399.999000,292.839283 +86400.001000,292.839283 +95040.000341,293.102600 +103679.999000,292.973213 +112319.999000,292.841082 +112320.001000,292.841082 +120960.001000,292.998090 +129599.999992,297.082655 +138239.999000,292.931568 +146879.999000,292.582430 +146880.001000,292.582430 +155520.001000,292.715933 +164160.001000,292.820900 +172800.000467,293.077418 +181439.999000,292.984127 +190079.999000,292.853246 +198719.999000,292.838613 +198720.001000,292.838613 +207360.001000,293.131471 +215999.999816,293.661824 +224639.999000,292.891630 +233279.999000,292.457921 +233280.001000,292.457921 +241920.001000,292.696391 +250560.001000,292.829375 +259200.000962,293.002542 +267839.999000,292.999188 +276479.999000,292.868368 +285119.999000,292.852881 +285120.001000,292.852881 +293760.001000,293.092265 +302399.999224,293.119429 +311039.999000,292.903763 +319679.999000,292.746603 +319680.001000,292.746603 +328320.001000,292.812485 +336960.001000,292.870594 +345600.000291,293.115313 +354239.999000,292.980926 +362879.999000,292.860685 +371519.999000,292.853551 +371520.001000,292.853551 +380160.000816,293.099856 +388799.999000,293.074918 +397439.999000,292.858368 +406079.999000,292.752426 +406080.001000,292.752426 +414720.001000,292.791419 +423360.001000,292.848277 +432000.000267,293.126349 +440639.999000,292.965317 +449279.999000,292.862149 +457919.999000,292.860289 +457920.001000,292.860289 +466560.000396,293.056107 +475199.999000,292.971323 +483839.999000,292.929647 +492479.999000,292.721024 +492480.001000,292.721024 +501120.001000,292.815260 +509760.001000,292.867819 +518400.000133,293.066351 +527039.999000,292.914342 +535679.999000,292.849618 +544319.999000,292.844405 +544320.001000,292.844405 +552960.001000,293.012511 +561599.999586,293.150861 +570239.999000,292.816875 +578879.999000,292.717061 +578880.001000,292.717061 +587520.001000,292.742548 +596160.001000,292.802211 +604800.000259,293.111106 +613439.999000,292.929159 +622079.999000,292.841570 +622080.001000,292.841570 +630720.001000,292.850228 +639360.001000,293.439330 +647999.999648,294.258913 +656639.999000,292.550144 +656640.001000,292.550144 +665280.001000,292.689531 +673920.001000,292.759712 +682560.001000,292.834253 +691200.000301,293.094917 +699839.999000,292.954860 +708479.999000,292.860563 +717119.999000,292.856356 +717120.001000,292.856356 +725760.001000,293.000773 +734399.999392,293.050894 +743039.999000,292.845320 +751679.999000,292.734530 +760319.999000,292.670598 +760320.001000,292.670598 +768960.001000,292.849527 +777600.000269,293.108819 +786239.999000,292.959494 +794879.999000,292.845533 +794880.001000,292.845533 +803520.001000,292.848094 +812160.001000,293.366862 +820800.000357,294.929080 +829439.999000,294.189067 +838079.999000,292.596362 +838080.001000,292.596362 +846720.001000,292.726756 +855360.001000,292.841174 +864000.001000,293.049583 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/reference.csv new file mode 100644 index 00000000..d2fed655 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,293.260254 +17280.000000,293.122131 +25920.000000,293.136597 +34560.000000,293.176361 +43200.000000,292.018799 +51840.000000,293.359375 +60480.000000,292.995117 +69120.000000,293.114075 +77760.000000,293.137573 +86400.000000,293.132416 +95040.000000,293.395996 +103680.000000,293.266479 +112320.000000,293.134216 +120960.000000,293.291382 +129600.000000,297.380035 +138240.000000,293.224792 +146880.000000,292.875305 +155520.000000,293.008942 +164160.000000,293.114014 +172800.000000,293.370789 +181440.000000,293.277405 +190080.000000,293.146393 +198720.000000,293.131744 +207360.000000,293.424896 +216000.000000,293.955780 +224640.000000,293.184814 +233280.000000,292.750671 +241920.000000,292.989380 +250560.000000,293.122498 +259200.000000,293.295837 +267840.000000,293.292480 +276480.000000,293.161530 +285120.000000,293.146027 +293760.000000,293.385651 +302400.000000,293.412842 +311040.000000,293.196960 +319680.000000,293.039642 +328320.000000,293.105591 +336960.000000,293.163757 +345600.000000,293.408722 +354240.000000,293.274200 +362880.000000,293.153839 +371520.000000,293.146698 +380160.000000,293.393250 +388800.000000,293.368286 +397440.000000,293.151520 +406080.000000,293.045471 +414720.000000,293.084503 +423360.000000,293.141418 +432000.000000,293.419769 +440640.000000,293.258575 +449280.000000,293.155304 +457920.000000,293.153442 +466560.000000,293.349457 +475200.000000,293.264587 +483840.000000,293.222870 +492480.000000,293.014038 +501120.000000,293.108368 +509760.000000,293.160980 +518400.000000,293.359711 +527040.000000,293.207550 +535680.000000,293.142761 +544320.000000,293.137543 +552960.000000,293.305817 +561600.000000,293.444305 +570240.000000,293.109985 +578880.000000,293.010071 +587520.000000,293.035583 +596160.000000,293.095306 +604800.000000,293.404510 +613440.000000,293.222382 +622080.000000,293.134705 +630720.000000,293.143372 +639360.000000,293.733063 +648000.000000,294.553467 +656640.000000,292.842987 +665280.000000,292.982513 +673920.000000,293.052765 +682560.000000,293.127380 +691200.000000,293.388306 +699840.000000,293.248108 +708480.000000,293.153717 +717120.000000,293.149506 +725760.000000,293.294067 +734400.000000,293.344238 +743040.000000,293.138458 +751680.000000,293.027557 +760320.000000,292.963562 +768960.000000,293.142670 +777600.000000,293.402222 +786240.000000,293.252747 +794880.000000,293.138672 +803520.000000,293.141235 +812160.000000,293.660522 +820800.000000,295.224304 +829440.000000,294.483551 +838080.000000,292.889252 +846720.000000,293.019775 +855360.000000,293.134308 +864000.000000,293.342926 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/test.csv new file mode 100644 index 00000000..d2fed655 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,293.260254 +17280.000000,293.122131 +25920.000000,293.136597 +34560.000000,293.176361 +43200.000000,292.018799 +51840.000000,293.359375 +60480.000000,292.995117 +69120.000000,293.114075 +77760.000000,293.137573 +86400.000000,293.132416 +95040.000000,293.395996 +103680.000000,293.266479 +112320.000000,293.134216 +120960.000000,293.291382 +129600.000000,297.380035 +138240.000000,293.224792 +146880.000000,292.875305 +155520.000000,293.008942 +164160.000000,293.114014 +172800.000000,293.370789 +181440.000000,293.277405 +190080.000000,293.146393 +198720.000000,293.131744 +207360.000000,293.424896 +216000.000000,293.955780 +224640.000000,293.184814 +233280.000000,292.750671 +241920.000000,292.989380 +250560.000000,293.122498 +259200.000000,293.295837 +267840.000000,293.292480 +276480.000000,293.161530 +285120.000000,293.146027 +293760.000000,293.385651 +302400.000000,293.412842 +311040.000000,293.196960 +319680.000000,293.039642 +328320.000000,293.105591 +336960.000000,293.163757 +345600.000000,293.408722 +354240.000000,293.274200 +362880.000000,293.153839 +371520.000000,293.146698 +380160.000000,293.393250 +388800.000000,293.368286 +397440.000000,293.151520 +406080.000000,293.045471 +414720.000000,293.084503 +423360.000000,293.141418 +432000.000000,293.419769 +440640.000000,293.258575 +449280.000000,293.155304 +457920.000000,293.153442 +466560.000000,293.349457 +475200.000000,293.264587 +483840.000000,293.222870 +492480.000000,293.014038 +501120.000000,293.108368 +509760.000000,293.160980 +518400.000000,293.359711 +527040.000000,293.207550 +535680.000000,293.142761 +544320.000000,293.137543 +552960.000000,293.305817 +561600.000000,293.444305 +570240.000000,293.109985 +578880.000000,293.010071 +587520.000000,293.035583 +596160.000000,293.095306 +604800.000000,293.404510 +613440.000000,293.222382 +622080.000000,293.134705 +630720.000000,293.143372 +639360.000000,293.733063 +648000.000000,294.553467 +656640.000000,292.842987 +665280.000000,292.982513 +673920.000000,293.052765 +682560.000000,293.127380 +691200.000000,293.388306 +699840.000000,293.248108 +708480.000000,293.153717 +717120.000000,293.149506 +725760.000000,293.294067 +734400.000000,293.344238 +743040.000000,293.138458 +751680.000000,293.027557 +760320.000000,292.963562 +768960.000000,293.142670 +777600.000000,293.402222 +786240.000000,293.252747 +794880.000000,293.138672 +803520.000000,293.141235 +812160.000000,293.660522 +820800.000000,295.224304 +829440.000000,294.483551 +838080.000000,292.889252 +846720.000000,293.019775 +855360.000000,293.134308 +864000.000000,293.342926 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv new file mode 100644 index 00000000..c3801dfa --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv @@ -0,0 +1,125 @@ +x,y +-0.001000,293.443144 +8639.999000,293.553514 +8640.001000,293.553514 +17280.000810,293.415253 +25919.999000,293.429733 +34559.999000,293.469537 +34560.001000,293.469537 +43199.999927,292.310818 +51839.999000,293.652734 +51840.001000,293.652734 +60480.000508,293.288112 +69119.999000,293.407189 +77759.999000,293.430711 +77760.001000,293.430711 +86399.999038,293.425548 +95039.999000,293.689392 +95040.001000,293.689392 +103680.001000,293.559746 +112319.999914,293.427351 +120959.999000,293.584673 +129599.999000,297.677415 +129600.001000,297.677415 +138240.001000,293.518017 +146880.000447,293.168181 +155519.999000,293.301951 +164159.999000,293.407128 +172799.999000,293.664159 +172800.001000,293.664159 +181440.001000,293.570682 +190080.001000,293.439539 +198719.999095,293.424876 +207359.999000,293.718321 +215999.999000,294.249736 +216000.001000,294.249736 +224640.001000,293.477999 +233280.000290,293.043422 +241919.999000,293.282369 +250559.999000,293.415620 +259199.999000,293.589133 +259200.001000,293.589133 +267840.001000,293.585773 +276480.001000,293.454691 +285119.999122,293.439173 +293759.999000,293.679036 +302399.999000,293.706255 +302400.001000,293.706255 +311040.001000,293.490157 +319680.000409,293.332682 +328319.999000,293.398696 +336959.999000,293.456921 +345599.999000,293.702131 +345600.001000,293.702131 +354240.001000,293.567475 +362880.001000,293.446993 +371519.999056,293.439845 +380159.999000,293.686643 +380160.001000,293.686643 +388800.001000,293.661654 +397440.001000,293.444671 +406080.000462,293.338517 +414719.999000,293.377588 +423359.999000,293.434560 +431999.999000,293.713189 +432000.001000,293.713189 +440640.001000,293.551834 +449280.001000,293.448459 +457919.999019,293.446596 +466559.999000,293.642806 +466560.001000,293.642806 +475200.001000,293.557852 +483840.001000,293.516093 +492480.000378,293.307052 +501119.999000,293.401476 +509759.999000,293.454141 +518399.999000,293.653070 +518400.001000,293.653070 +527040.001000,293.500758 +535680.001000,293.435904 +544319.999060,293.430680 +552959.999000,293.599122 +561599.999000,293.737750 +561600.001000,293.737750 +570240.001000,293.403095 +578880.000593,293.303081 +587519.999000,293.328619 +596159.999000,293.388402 +604799.999000,293.697915 +604800.001000,293.697915 +613440.001000,293.515604 +622080.000820,293.427839 +630719.999000,293.436515 +639359.999000,294.026796 +647999.999000,294.848020 +648000.001000,294.848020 +656640.000849,293.135830 +665279.999000,293.275496 +673919.999000,293.345818 +682559.999000,293.420508 +691199.999000,293.681694 +691200.001000,293.681694 +699840.001000,293.541356 +708480.001000,293.446871 +717119.999057,293.442655 +725759.999000,293.587361 +734399.999000,293.637583 +734400.001000,293.637583 +743040.001000,293.431597 +751680.001000,293.320585 +760319.999526,293.256526 +768959.999000,293.435812 +777599.999000,293.695624 +777600.001000,293.695624 +786240.001000,293.545999 +794880.000956,293.431811 +803519.999000,293.434377 +812159.999000,293.954183 +820799.999000,295.519529 +820800.001000,295.519529 +829440.001000,294.778035 +838080.000849,293.182141 +846719.999000,293.312795 +855359.999000,293.427442 +863999.999000,293.636269 +864000.001000,293.636269 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv new file mode 100644 index 00000000..0656881b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv @@ -0,0 +1,53 @@ +x,y +-0.001000,-0.001000 +25920.001000,-0.001000 +34560.001000,61.006045 +43200.000581,196.453657 +51839.999000,160.507606 +60479.999000,-0.001000 +112320.001000,-0.001000 +120960.001000,138.442382 +129600.000062,601.748368 +138239.999000,192.711972 +146879.999000,-0.001000 +198720.001000,-0.001000 +207360.001000,87.157781 +216000.000538,523.239275 +224639.999000,392.154145 +233279.999000,-0.001000 +285120.001000,-0.001000 +293760.001000,50.298292 +302400.001000,145.753210 +311039.999096,153.460459 +319679.999000,-0.001000 +371520.001000,-0.001000 +380160.001000,34.847937 +388800.000541,181.771256 +397439.999000,138.030914 +406079.999000,-0.001000 +457920.001000,-0.001000 +466560.001000,55.552257 +475200.001000,103.707300 +483839.999514,158.505770 +492479.999000,-0.001000 +544320.001000,-0.001000 +552960.001000,100.775474 +561600.000324,290.321129 +570239.999000,193.561280 +578879.999000,-0.001000 +630720.001000,-0.001000 +639360.001000,200.761303 +647999.999894,577.658226 +656639.999000,111.711792 +665279.999000,-0.001000 +717120.001000,-0.001000 +725760.001000,64.424304 +734400.000830,234.303499 +743039.999000,218.547179 +751679.999000,-0.001000 +803520.001000,-0.001000 +812160.001000,219.007321 +820800.000133,617.947190 +829439.999000,312.725414 +838079.999000,-0.001000 +864000.001000,-0.001000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/reference.csv new file mode 100644 index 00000000..714f107e --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,61.067112 +43200.000000,196.650314 +51840.000000,160.668274 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,138.580963 +129600.000000,602.350769 +138240.000000,192.904877 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,87.245026 +216000.000000,523.763062 +224640.000000,392.546692 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,50.348640 +302400.000000,145.899109 +311040.000000,153.614075 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,34.882820 +388800.000000,181.953217 +397440.000000,138.169083 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,55.607864 +475200.000000,103.811111 +483840.000000,158.664444 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,100.876350 +561600.000000,290.611755 +570240.000000,193.755035 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,200.962265 +648000.000000,578.236511 +656640.000000,111.823616 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,64.488792 +734400.000000,234.538040 +743040.000000,218.765945 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,219.226547 +820800.000000,618.565796 +829440.000000,313.038452 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/test.csv new file mode 100644 index 00000000..714f107e --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,61.067112 +43200.000000,196.650314 +51840.000000,160.668274 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,138.580963 +129600.000000,602.350769 +138240.000000,192.904877 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,87.245026 +216000.000000,523.763062 +224640.000000,392.546692 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,50.348640 +302400.000000,145.899109 +311040.000000,153.614075 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,34.882820 +388800.000000,181.953217 +397440.000000,138.169083 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,55.607864 +475200.000000,103.811111 +483840.000000,158.664444 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,100.876350 +561600.000000,290.611755 +570240.000000,193.755035 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,200.962265 +648000.000000,578.236511 +656640.000000,111.823616 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,64.488792 +734400.000000,234.538040 +743040.000000,218.765945 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,219.226547 +820800.000000,618.565796 +829440.000000,313.038452 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv new file mode 100644 index 00000000..4d2eefe9 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv @@ -0,0 +1,63 @@ +x,y +-0.001000,0.001000 +25919.999000,0.001000 +34559.999000,61.128179 +43199.999000,196.846965 +43200.001000,196.846965 +51840.001000,160.828942 +60480.001000,0.001000 +112319.999000,0.001000 +120959.999000,138.719544 +129599.999000,602.953120 +129600.001000,602.953120 +138240.001000,193.097782 +146880.001000,0.001000 +198719.999000,0.001000 +207359.999000,87.332271 +215999.999000,524.286825 +216000.001000,524.286825 +224640.001000,392.939239 +233280.001000,0.001000 +285119.999000,0.001000 +293759.999000,50.398989 +302399.999000,146.045008 +311039.999000,153.767689 +311040.001000,153.767689 +319680.001000,0.001000 +371519.999000,0.001000 +380159.999000,34.917703 +388799.999000,182.135170 +388800.001000,182.135170 +397440.001000,138.307252 +406080.001000,0.001000 +457919.999000,0.001000 +466559.999000,55.663472 +475199.999000,103.914923 +483839.999000,158.823108 +483840.001000,158.823108 +492480.001000,0.001000 +544319.999000,0.001000 +552959.999000,100.977227 +561599.999000,290.902367 +561600.001000,290.902367 +570240.001000,193.948790 +578880.001000,0.001000 +630719.999000,0.001000 +639359.999000,201.163227 +647999.999000,578.814748 +648000.001000,578.814748 +656640.001000,111.935440 +665280.001000,0.001000 +717119.999000,0.001000 +725759.999000,64.553281 +734399.999000,234.772578 +734400.001000,234.772578 +743040.001000,218.984711 +751680.001000,0.001000 +803519.999000,0.001000 +812159.999000,219.445774 +820799.999000,619.184362 +820800.001000,619.184362 +829440.001000,313.351491 +838080.001000,0.001000 +864000.001000,0.001000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv new file mode 100644 index 00000000..d4fd1ae4 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv @@ -0,0 +1,124 @@ +x,y +-0.001000,603.875805 +0.001000,603.875805 +8640.001000,888.386481 +17279.999339,895.749349 +25919.999000,859.617122 +34559.999000,854.029942 +34560.001000,854.029942 +43199.999586,1028.385352 +51839.999000,607.969974 +51840.001000,607.969974 +60480.001000,690.986727 +69120.001000,763.315449 +77760.000849,789.577003 +86399.999000,787.427056 +86400.001000,787.427056 +95040.000447,888.043373 +103679.999000,849.608464 +112319.999000,845.166012 +120959.999000,809.150367 +129599.999000,30.018785 +138240.001000,30.018785 +146880.001000,800.740816 +155520.001000,1000.889100 +164160.001000,1093.721712 +172800.000287,1280.973344 +181439.999000,1177.131749 +181440.001000,1177.131749 +190079.999445,1232.538679 +198719.999000,1038.709762 +198720.001000,1038.709762 +207359.999383,1216.117959 +215999.999000,468.030281 +224639.999000,30.018785 +224640.001000,30.018785 +233280.001000,982.684057 +241919.999230,1001.045800 +250559.999000,859.963151 +250560.001000,859.963151 +259200.000394,1118.737059 +267839.999000,1006.267140 +276479.999000,954.646754 +276480.001000,954.646754 +285120.000016,1083.361584 +293759.999000,958.679460 +302399.999000,732.988690 +311039.999000,652.952839 +311040.001000,652.952839 +319679.999996,660.508873 +328319.999000,652.897413 +328320.001000,652.897413 +336960.000019,889.273872 +345599.999000,661.786465 +354239.999000,602.037192 +362879.999000,591.188127 +362880.001000,591.188127 +371520.000028,1130.202834 +380159.999000,620.574727 +388799.999000,518.592766 +397439.999000,486.089657 +397440.001000,486.089657 +406080.001000,516.783480 +414720.001000,552.592179 +423360.000045,897.062817 +431999.999000,582.200603 +440639.999000,515.485159 +449279.999000,494.981177 +449280.001000,494.981177 +457919.999963,1139.772949 +466559.999000,445.331231 +475199.999000,386.494436 +483839.999000,357.937481 +483840.001000,357.937481 +492480.001000,392.110457 +501120.001000,415.672169 +509759.999988,923.395201 +518399.999000,403.502008 +527039.999000,372.896201 +527040.001000,372.896201 +535680.001000,389.864902 +544320.000006,1160.295486 +552959.999000,399.061416 +561599.999000,30.018785 +561600.001000,30.018785 +570240.000000,353.375603 +578879.999000,30.018785 +578880.001000,30.018785 +587520.001000,475.604913 +596160.000139,902.447681 +604799.999000,579.613349 +613439.999000,530.504731 +613440.001000,530.504731 +622080.001000,541.326235 +630719.999964,1133.143605 +639359.999000,496.755860 +647999.999000,30.018785 +656640.001000,30.018785 +665280.001000,361.012070 +673920.001000,474.567895 +682560.000010,910.810396 +691199.999000,482.872723 +699839.999000,416.488704 +699840.001000,416.488704 +708480.001000,420.799056 +717120.000003,1158.568214 +725759.999000,425.279647 +734399.999000,363.413475 +734400.001000,363.413475 +743040.001000,382.049057 +751680.001000,382.111128 +760320.001000,486.059200 +768960.000119,900.798148 +777599.999000,574.158726 +786239.999000,499.964135 +786240.001000,499.964135 +794880.001000,528.528499 +803520.000029,1136.175851 +812159.999000,562.487974 +820799.999000,30.018785 +838080.001000,30.018785 +846720.001000,408.655267 +855359.999949,927.002914 +863999.999000,352.666695 +864000.001000,352.666695 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/reference.csv new file mode 100644 index 00000000..a40e47aa --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,604.480286 +8640.000000,889.275757 +17280.000000,896.645996 +25920.000000,860.477600 +34560.000000,854.884827 +43200.000000,1029.414795 +51840.000000,608.578552 +60480.000000,691.678406 +69120.000000,764.079529 +77760.000000,790.367371 +86400.000000,788.215271 +95040.000000,888.932312 +103680.000000,850.458923 +112320.000000,846.012024 +120960.000000,809.960327 +129600.000000,30.048834 +138240.000000,30.048834 +146880.000000,801.542358 +155520.000000,1001.890991 +164160.000000,1094.816528 +172800.000000,1282.255615 +181440.000000,1178.310059 +190080.000000,1233.772461 +198720.000000,1039.749512 +207360.000000,1217.335327 +216000.000000,468.498779 +224640.000000,30.048834 +233280.000000,983.667725 +241920.000000,1002.047852 +250560.000000,860.823975 +259200.000000,1119.856934 +267840.000000,1007.274414 +276480.000000,955.602356 +285120.000000,1084.446045 +293760.000000,959.639099 +302400.000000,733.722412 +311040.000000,653.606445 +319680.000000,661.170044 +328320.000000,653.550964 +336960.000000,890.164062 +345600.000000,662.448914 +354240.000000,602.639832 +362880.000000,591.779907 +371520.000000,1131.334229 +380160.000000,621.195923 +388800.000000,519.111877 +397440.000000,486.576233 +406080.000000,517.300781 +414720.000000,553.145325 +423360.000000,897.960815 +432000.000000,582.783386 +440640.000000,516.001160 +449280.000000,495.476654 +457920.000000,1140.913940 +466560.000000,445.777008 +475200.000000,386.881317 +483840.000000,358.295776 +492480.000000,392.502960 +501120.000000,416.088257 +509760.000000,924.319580 +518400.000000,403.905914 +527040.000000,373.269470 +535680.000000,390.255157 +544320.000000,1161.457031 +552960.000000,399.460876 +561600.000000,30.048834 +570240.000000,353.729370 +578880.000000,30.048834 +587520.000000,476.080994 +596160.000000,903.351074 +604800.000000,580.193542 +613440.000000,531.035767 +622080.000000,541.868103 +630720.000000,1134.277954 +639360.000000,497.253113 +648000.000000,30.048834 +656640.000000,30.048834 +665280.000000,361.373444 +673920.000000,475.042938 +682560.000000,911.722168 +691200.000000,483.356079 +699840.000000,416.905609 +708480.000000,421.220276 +717120.000000,1159.728027 +725760.000000,425.705353 +734400.000000,363.777252 +743040.000000,382.431488 +751680.000000,382.493622 +760320.000000,486.545746 +768960.000000,901.699890 +777600.000000,574.733459 +786240.000000,500.464600 +794880.000000,529.057556 +803520.000000,1137.313232 +812160.000000,563.051025 +820800.000000,30.048834 +829440.000000,30.048834 +838080.000000,30.048834 +846720.000000,409.064331 +855360.000000,927.930908 +864000.000000,353.019714 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/test.csv new file mode 100644 index 00000000..a40e47aa --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,604.480286 +8640.000000,889.275757 +17280.000000,896.645996 +25920.000000,860.477600 +34560.000000,854.884827 +43200.000000,1029.414795 +51840.000000,608.578552 +60480.000000,691.678406 +69120.000000,764.079529 +77760.000000,790.367371 +86400.000000,788.215271 +95040.000000,888.932312 +103680.000000,850.458923 +112320.000000,846.012024 +120960.000000,809.960327 +129600.000000,30.048834 +138240.000000,30.048834 +146880.000000,801.542358 +155520.000000,1001.890991 +164160.000000,1094.816528 +172800.000000,1282.255615 +181440.000000,1178.310059 +190080.000000,1233.772461 +198720.000000,1039.749512 +207360.000000,1217.335327 +216000.000000,468.498779 +224640.000000,30.048834 +233280.000000,983.667725 +241920.000000,1002.047852 +250560.000000,860.823975 +259200.000000,1119.856934 +267840.000000,1007.274414 +276480.000000,955.602356 +285120.000000,1084.446045 +293760.000000,959.639099 +302400.000000,733.722412 +311040.000000,653.606445 +319680.000000,661.170044 +328320.000000,653.550964 +336960.000000,890.164062 +345600.000000,662.448914 +354240.000000,602.639832 +362880.000000,591.779907 +371520.000000,1131.334229 +380160.000000,621.195923 +388800.000000,519.111877 +397440.000000,486.576233 +406080.000000,517.300781 +414720.000000,553.145325 +423360.000000,897.960815 +432000.000000,582.783386 +440640.000000,516.001160 +449280.000000,495.476654 +457920.000000,1140.913940 +466560.000000,445.777008 +475200.000000,386.881317 +483840.000000,358.295776 +492480.000000,392.502960 +501120.000000,416.088257 +509760.000000,924.319580 +518400.000000,403.905914 +527040.000000,373.269470 +535680.000000,390.255157 +544320.000000,1161.457031 +552960.000000,399.460876 +561600.000000,30.048834 +570240.000000,353.729370 +578880.000000,30.048834 +587520.000000,476.080994 +596160.000000,903.351074 +604800.000000,580.193542 +613440.000000,531.035767 +622080.000000,541.868103 +630720.000000,1134.277954 +639360.000000,497.253113 +648000.000000,30.048834 +656640.000000,30.048834 +665280.000000,361.373444 +673920.000000,475.042938 +682560.000000,911.722168 +691200.000000,483.356079 +699840.000000,416.905609 +708480.000000,421.220276 +717120.000000,1159.728027 +725760.000000,425.705353 +734400.000000,363.777252 +743040.000000,382.431488 +751680.000000,382.493622 +760320.000000,486.545746 +768960.000000,901.699890 +777600.000000,574.733459 +786240.000000,500.464600 +794880.000000,529.057556 +803520.000000,1137.313232 +812160.000000,563.051025 +820800.000000,30.048834 +829440.000000,30.048834 +838080.000000,30.048834 +846720.000000,409.064331 +855360.000000,927.930908 +864000.000000,353.019714 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv new file mode 100644 index 00000000..2db9f4e3 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv @@ -0,0 +1,126 @@ +x,y +-0.001000,605.084766 +8639.999000,890.165033 +17279.999000,897.542642 +17280.001000,897.542642 +25920.001000,861.338078 +34559.999062,855.739713 +43199.999000,1030.444210 +43200.001000,1030.444210 +51840.000670,609.187147 +60479.999000,692.370084 +69119.999000,764.843608 +77759.999000,791.157738 +77760.001000,791.157738 +86399.999042,789.003487 +95039.999000,889.821244 +95040.001000,889.821244 +103680.001000,851.309382 +112320.001000,846.858036 +120960.001000,810.770287 +129600.001000,30.078883 +138239.999000,30.078883 +146879.999000,802.343901 +155519.999000,1002.892882 +164159.999000,1095.911345 +172799.999000,1283.537871 +172800.001000,1283.537871 +181440.000304,1179.488377 +190079.999000,1235.006233 +190080.001000,1235.006233 +198720.000044,1040.789283 +207359.999000,1218.552662 +207360.001000,1218.552662 +216000.001000,468.967278 +224639.999630,30.078952 +233279.999000,984.651392 +241919.999000,1003.049899 +241920.001000,1003.049899 +250559.999706,861.684820 +259199.999000,1120.976791 +259200.001000,1120.976791 +267840.001000,1008.281688 +276479.999572,956.557967 +285119.999000,1085.530491 +285120.001000,1085.530491 +293760.001000,960.598738 +302400.001000,734.456135 +311040.000827,654.260053 +319679.999000,661.831214 +319680.001000,661.831214 +328319.999062,654.204517 +336959.999000,891.054227 +336960.001000,891.054227 +345600.001000,663.111362 +354240.001000,603.242471 +362879.999039,592.371690 +371519.999000,1132.465563 +371520.001000,1132.465563 +380160.001000,621.817119 +388800.001000,519.630989 +397440.000029,487.062813 +406079.999000,517.818082 +414719.999000,553.698470 +423359.999000,898.858776 +423360.001000,898.858776 +432000.001000,583.366170 +440640.001000,516.517161 +449279.999062,495.972135 +457919.999000,1142.054854 +457920.001000,1142.054854 +466560.001000,446.222785 +475200.001000,387.268198 +483839.999910,358.654076 +492479.999000,392.895463 +501119.999000,416.504345 +509759.999000,925.243900 +509760.001000,925.243900 +518400.001000,404.309820 +527040.000287,373.642742 +535679.999000,390.645413 +544319.999000,1162.618488 +544320.001000,1162.618488 +552960.001000,399.860337 +561600.000066,30.078923 +570239.999000,354.083099 +570240.001000,354.083099 +578879.999841,30.078926 +587519.999000,476.557075 +596159.999000,904.254425 +596160.001000,904.254425 +604800.001000,580.773736 +613440.000639,531.566804 +622079.999000,542.409971 +630719.999000,1135.412232 +630720.001000,1135.412232 +639360.001000,497.750366 +648000.001000,30.078883 +656639.999000,30.078883 +665279.999000,361.734817 +673919.999000,475.517981 +682559.999000,912.633890 +682560.001000,912.633890 +691200.001000,483.839435 +699840.000878,417.322516 +708479.999000,421.641496 +717119.999000,1160.887755 +717120.001000,1160.887755 +725760.001000,426.131058 +734400.000537,364.141033 +743039.999000,382.813920 +751679.999000,382.876115 +760319.999000,487.032292 +768959.999000,902.601590 +768960.001000,902.601590 +777600.001000,575.308193 +786240.000444,500.965069 +794879.999000,529.586614 +803519.999000,1138.450546 +803520.001000,1138.450546 +812160.001000,563.614076 +820800.001000,30.078883 +838079.999000,30.078883 +846719.999000,409.473395 +855359.999000,928.858839 +855360.001000,928.858839 +864000.001000,353.372734 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv new file mode 100644 index 00000000..a084a5f2 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv @@ -0,0 +1,126 @@ +x,y +-0.001000,292.856844 +0.001000,292.856844 +8640.001000,322.082960 +17279.999535,322.319265 +25919.999000,321.671384 +34559.999000,321.270723 +43199.999000,309.589454 +43200.001000,309.589454 +51840.000854,319.877525 +60479.999000,319.067576 +60480.001000,319.067576 +69120.001000,319.658720 +77760.000823,320.303948 +86399.999000,320.241236 +86400.001000,320.241236 +95040.001000,320.471109 +103680.000713,321.407336 +112319.999000,321.250175 +120959.999000,321.020394 +120960.001000,321.020394 +129600.000544,325.019046 +138239.999000,323.837612 +146879.999000,321.334411 +146880.001000,321.334411 +155520.001000,323.609416 +164160.001000,324.863806 +172800.001000,325.585679 +181440.001000,326.031125 +190080.001000,327.178933 +198719.999223,327.307131 +207359.999000,326.283010 +215999.999000,322.484535 +216000.001000,322.484535 +224639.999901,325.634702 +233279.999000,321.792357 +233280.001000,321.792357 +241920.001000,323.716426 +250560.000253,324.249004 +259199.999000,323.931786 +267839.999000,323.527894 +276479.999000,322.891355 +285119.999000,322.782577 +293759.999000,321.705896 +302399.999000,320.349526 +311039.999000,319.315100 +319679.999000,318.424695 +328319.999000,317.813948 +336959.999000,316.955463 +336960.001000,316.955463 +345600.001000,316.981926 +354239.999064,316.990005 +362879.999000,316.745011 +371519.999000,316.636721 +371520.001000,316.636721 +380159.999754,316.845831 +388799.999000,316.500261 +397439.999000,315.991584 +406079.999000,315.751254 +406080.001000,315.751254 +414719.999297,315.782595 +423359.999000,315.602813 +423360.001000,315.602813 +431999.999314,315.674884 +440639.999000,315.288156 +449279.999000,314.797863 +457919.999000,314.366928 +466559.999000,313.578350 +475199.999000,313.001779 +475200.001000,313.001779 +483840.000107,313.091197 +492479.999000,313.019065 +501119.999000,312.952512 +509759.999000,312.308899 +509760.001000,312.308899 +518399.999412,312.410086 +527039.999000,312.020553 +527040.001000,312.020553 +535680.001000,312.290577 +544320.001000,312.643251 +552960.001000,313.012571 +561599.999871,316.763851 +570239.999000,311.897111 +570240.001000,311.897111 +578880.001000,312.307253 +587520.001000,313.929500 +596160.001000,314.752102 +604800.000610,315.907805 +613439.999000,315.627934 +613440.001000,315.627934 +622080.000459,315.941981 +630719.999000,315.825399 +639359.999000,315.742871 +639360.001000,315.742871 +648000.000553,319.206353 +656639.999000,318.209883 +665279.999000,313.696122 +665280.001000,313.696122 +673919.999904,313.957091 +682559.999000,313.640452 +682560.001000,313.640452 +691199.999300,313.718286 +699839.999000,313.276528 +708479.999000,313.097844 +717119.999000,312.733279 +717120.001000,312.733279 +725760.001000,313.064765 +734400.001000,313.656671 +743040.001000,316.682329 +751679.999051,316.740986 +760319.999000,314.501285 +760320.001000,314.501285 +768960.001000,315.048009 +777599.999796,315.339496 +786239.999000,314.898379 +786240.001000,314.898379 +794880.001000,315.198798 +803520.001000,315.219621 +812160.001000,316.089905 +820800.000611,320.252547 +829439.999000,319.248090 +838079.999000,315.286937 +846719.999000,313.282839 +855359.999000,312.077838 +863999.999000,311.393465 +864000.001000,311.393465 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv new file mode 100644 index 00000000..12695a90 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,322.405365 +17280.000000,322.641907 +25920.000000,321.993378 +34560.000000,321.592316 +43200.000000,309.899353 +51840.000000,320.197723 +60480.000000,319.386963 +69120.000000,319.978699 +77760.000000,320.624573 +86400.000000,320.561798 +95040.000000,320.791901 +103680.000000,321.729065 +112320.000000,321.571747 +120960.000000,321.341736 +129600.000000,325.344391 +138240.000000,324.161774 +146880.000000,321.656067 +155520.000000,323.933350 +164160.000000,325.188995 +172800.000000,325.911591 +181440.000000,326.357483 +190080.000000,327.506439 +198720.000000,327.634766 +207360.000000,326.609619 +216000.000000,322.807343 +224640.000000,325.960663 +233280.000000,322.114471 +241920.000000,324.040466 +250560.000000,324.573578 +259200.000000,324.256042 +267840.000000,323.851746 +276480.000000,323.214569 +285120.000000,323.105682 +293760.000000,322.027924 +302400.000000,320.670197 +311040.000000,319.634735 +319680.000000,318.743439 +328320.000000,318.132080 +336960.000000,317.272736 +345600.000000,317.299225 +354240.000000,317.307312 +362880.000000,317.062073 +371520.000000,316.953674 +380160.000000,317.162994 +388800.000000,316.817078 +397440.000000,316.307892 +406080.000000,316.067322 +414720.000000,316.098694 +423360.000000,315.918732 +432000.000000,315.990875 +440640.000000,315.603760 +449280.000000,315.112976 +457920.000000,314.681610 +466560.000000,313.892242 +475200.000000,313.315094 +483840.000000,313.404602 +492480.000000,313.332397 +501120.000000,313.265778 +509760.000000,312.621521 +518400.000000,312.722809 +527040.000000,312.332886 +535680.000000,312.603180 +544320.000000,312.956207 +552960.000000,313.325897 +561600.000000,317.080933 +570240.000000,312.209320 +578880.000000,312.619873 +587520.000000,314.243744 +596160.000000,315.067169 +604800.000000,316.224030 +613440.000000,315.943878 +622080.000000,316.258240 +630720.000000,316.141541 +639360.000000,316.058929 +648000.000000,319.525879 +656640.000000,318.528412 +665280.000000,314.010132 +673920.000000,314.271362 +682560.000000,313.954407 +691200.000000,314.032318 +699840.000000,313.590118 +708480.000000,313.411255 +717120.000000,313.046326 +725760.000000,313.378143 +734400.000000,313.970642 +743040.000000,316.999329 +751680.000000,317.058044 +760320.000000,314.816101 +768960.000000,315.363373 +777600.000000,315.655151 +786240.000000,315.213593 +794880.000000,315.514313 +803520.000000,315.535156 +812160.000000,316.406311 +820800.000000,320.573120 +829440.000000,319.567657 +838080.000000,315.602539 +846720.000000,313.596436 +855360.000000,312.390228 +864000.000000,311.705170 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv new file mode 100644 index 00000000..12695a90 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,322.405365 +17280.000000,322.641907 +25920.000000,321.993378 +34560.000000,321.592316 +43200.000000,309.899353 +51840.000000,320.197723 +60480.000000,319.386963 +69120.000000,319.978699 +77760.000000,320.624573 +86400.000000,320.561798 +95040.000000,320.791901 +103680.000000,321.729065 +112320.000000,321.571747 +120960.000000,321.341736 +129600.000000,325.344391 +138240.000000,324.161774 +146880.000000,321.656067 +155520.000000,323.933350 +164160.000000,325.188995 +172800.000000,325.911591 +181440.000000,326.357483 +190080.000000,327.506439 +198720.000000,327.634766 +207360.000000,326.609619 +216000.000000,322.807343 +224640.000000,325.960663 +233280.000000,322.114471 +241920.000000,324.040466 +250560.000000,324.573578 +259200.000000,324.256042 +267840.000000,323.851746 +276480.000000,323.214569 +285120.000000,323.105682 +293760.000000,322.027924 +302400.000000,320.670197 +311040.000000,319.634735 +319680.000000,318.743439 +328320.000000,318.132080 +336960.000000,317.272736 +345600.000000,317.299225 +354240.000000,317.307312 +362880.000000,317.062073 +371520.000000,316.953674 +380160.000000,317.162994 +388800.000000,316.817078 +397440.000000,316.307892 +406080.000000,316.067322 +414720.000000,316.098694 +423360.000000,315.918732 +432000.000000,315.990875 +440640.000000,315.603760 +449280.000000,315.112976 +457920.000000,314.681610 +466560.000000,313.892242 +475200.000000,313.315094 +483840.000000,313.404602 +492480.000000,313.332397 +501120.000000,313.265778 +509760.000000,312.621521 +518400.000000,312.722809 +527040.000000,312.332886 +535680.000000,312.603180 +544320.000000,312.956207 +552960.000000,313.325897 +561600.000000,317.080933 +570240.000000,312.209320 +578880.000000,312.619873 +587520.000000,314.243744 +596160.000000,315.067169 +604800.000000,316.224030 +613440.000000,315.943878 +622080.000000,316.258240 +630720.000000,316.141541 +639360.000000,316.058929 +648000.000000,319.525879 +656640.000000,318.528412 +665280.000000,314.010132 +673920.000000,314.271362 +682560.000000,313.954407 +691200.000000,314.032318 +699840.000000,313.590118 +708480.000000,313.411255 +717120.000000,313.046326 +725760.000000,313.378143 +734400.000000,313.970642 +743040.000000,316.999329 +751680.000000,317.058044 +760320.000000,314.816101 +768960.000000,315.363373 +777600.000000,315.655151 +786240.000000,315.213593 +794880.000000,315.514313 +803520.000000,315.535156 +812160.000000,316.406311 +820800.000000,320.573120 +829440.000000,319.567657 +838080.000000,315.602539 +846720.000000,313.596436 +855360.000000,312.390228 +864000.000000,311.705170 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv new file mode 100644 index 00000000..02b77447 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv @@ -0,0 +1,125 @@ +x,y +-0.001000,293.443144 +8639.999000,322.727770 +17279.999000,322.964549 +17280.001000,322.964549 +25920.001000,322.315371 +34560.001000,321.913908 +43200.000063,310.209254 +51839.999000,320.517921 +51840.001000,320.517921 +60480.000156,319.706350 +69119.999000,320.298677 +77759.999000,320.945197 +77760.001000,320.945197 +86399.999429,320.882360 +95039.999000,321.112693 +103679.999000,322.050794 +103680.001000,322.050794 +112320.001000,321.893319 +120959.999109,321.663078 +129599.999000,325.669735 +129600.001000,325.669735 +138240.001000,324.485935 +146880.000048,321.977723 +155519.999000,324.257283 +164159.999000,325.514184 +172799.999000,326.237502 +181439.999000,326.683840 +190079.999000,327.833946 +198719.999000,327.962400 +198720.001000,327.962400 +207360.001000,326.936229 +216000.000093,323.130150 +224639.999000,326.286624 +224640.001000,326.286624 +233280.000333,322.436586 +241919.999000,324.364507 +250559.999000,324.898151 +250560.001000,324.898151 +259200.001000,324.580299 +267840.001000,324.175597 +276480.001000,323.537784 +285120.001000,323.428788 +293760.001000,322.349952 +302400.001000,320.990867 +311040.001000,319.954370 +319680.001000,319.062182 +328320.001000,318.450212 +336960.000940,317.590008 +345599.999000,317.616524 +354239.999000,317.624619 +354240.001000,317.624619 +362880.001000,317.379135 +371519.999682,317.270628 +380159.999000,317.480157 +380160.001000,317.480157 +388800.001000,317.133895 +397440.001000,316.624200 +406080.000769,316.383389 +414719.999000,316.414793 +414720.001000,316.414793 +423360.000428,316.234650 +431999.999000,316.306866 +432000.001000,316.306866 +440640.001000,315.919364 +449280.001000,315.428089 +457920.001000,314.996292 +466560.001000,314.206135 +475200.000731,313.628409 +483839.999000,313.718007 +483840.001000,313.718007 +492480.001000,313.645730 +501120.001000,313.579043 +509760.000728,312.934143 +518399.999000,313.035532 +518400.001000,313.035532 +527040.000181,312.645219 +535679.999000,312.915783 +544319.999000,313.269163 +552959.999000,313.639223 +561599.999000,317.398014 +561600.001000,317.398014 +570240.000845,312.521529 +578879.999000,312.932493 +587519.999000,314.557988 +596159.999000,315.382236 +604799.999000,316.540254 +604800.001000,316.540254 +613439.999942,316.259822 +622079.999000,316.574498 +622080.001000,316.574498 +630720.001000,316.457682 +639359.999047,316.374988 +647999.999000,319.845405 +648000.001000,319.845405 +656640.001000,318.846940 +665280.000891,314.324142 +673919.999000,314.585634 +673920.001000,314.585634 +682560.000605,314.268361 +691199.999000,314.346350 +691200.001000,314.346350 +699840.001000,313.903709 +708480.001000,313.724666 +717120.000048,313.359372 +725759.999000,313.691521 +734399.999000,314.284613 +743039.999000,317.316328 +751679.999000,317.375102 +751680.001000,317.375102 +760320.000608,315.130917 +768959.999000,315.678736 +777599.999000,315.970807 +777600.001000,315.970807 +786240.000190,315.528806 +794879.999000,315.829827 +803519.999000,315.850691 +812159.999000,316.722717 +820799.999000,320.893693 +820800.001000,320.893693 +829440.001000,319.887225 +838080.001000,315.918142 +846720.001000,313.910032 +855360.001000,312.702618 +864000.001000,312.016875 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv new file mode 100644 index 00000000..3d066051 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv @@ -0,0 +1,123 @@ +x,y +-0.001000,322.826844 +0.001000,322.826844 +8640.000771,331.848422 +17279.999000,330.681256 +25919.999000,327.608434 +34559.999000,323.936390 +34560.001000,323.936390 +43200.000714,332.870958 +51839.999000,331.378464 +60479.999000,329.937768 +69119.999000,328.340337 +77759.999000,319.784418 +86399.999000,317.947878 +86400.001000,317.947878 +95040.000845,332.186920 +103679.999000,330.988321 +112319.999000,327.129879 +120959.999000,323.217871 +120960.001000,323.217871 +129600.000714,332.281216 +138239.999000,330.769180 +146879.999000,329.262144 +155519.999000,327.516760 +164159.999000,318.231468 +164160.001000,318.231468 +172800.000791,327.263351 +181439.999000,326.207798 +190079.999000,325.193554 +198719.999000,320.627263 +198720.001000,320.627263 +207360.000726,331.191060 +215999.999000,329.515095 +224639.999000,327.834100 +233279.999000,325.997803 +241919.999000,323.697707 +250559.999000,309.921702 +250560.001000,309.921702 +259200.000884,327.229419 +267839.999000,326.162982 +276479.999000,325.138647 +285119.999000,319.873197 +285120.001000,319.873197 +293760.000750,331.308008 +302399.999000,329.676707 +311039.999000,328.025467 +319679.999000,326.213621 +328319.999000,323.934225 +336959.999000,310.365715 +336960.001000,310.365715 +345600.000883,327.275150 +354239.999000,326.227767 +362879.999000,325.220901 +371519.999000,320.986066 +371520.001000,320.986066 +380160.000725,331.200145 +388799.999000,329.569911 +397439.999000,327.918823 +406079.999000,326.106459 +414719.999000,323.826118 +423359.999000,310.280108 +423360.001000,310.280108 +432000.000885,327.278534 +440639.999000,326.236913 +449279.999000,325.235291 +457919.999000,321.295052 +457920.001000,321.295052 +466560.000714,331.162860 +475199.999000,329.519546 +483839.999000,327.858825 +492479.999000,326.037711 +501119.999000,323.749047 +509759.999000,310.288552 +509760.001000,310.288552 +518400.000884,327.181493 +527039.999000,326.142129 +535679.999000,325.142672 +544319.999000,321.028595 +544320.001000,321.028595 +552960.000719,331.137128 +561599.999000,329.485462 +570239.999000,327.818734 +578879.999000,325.991706 +587519.999000,323.696762 +596159.999000,310.151391 +596160.001000,310.151391 +604800.000885,327.197865 +613439.999000,326.161427 +622079.999000,325.164683 +630719.999000,321.333344 +630720.001000,321.333344 +639360.000715,331.186213 +647999.999000,329.551741 +656639.999000,327.897940 +665279.999000,326.082649 +673919.999000,323.799137 +682559.999000,310.293400 +682560.001000,310.293400 +691200.000884,327.189969 +699839.999000,326.151915 +708479.999000,325.153647 +717119.999000,321.143135 +717120.001000,321.143135 +725760.000717,331.140238 +734399.999000,329.489730 +743039.999000,327.823582 +751679.999000,325.997468 +760319.999000,323.703560 +768959.999000,310.155294 +768960.001000,310.155294 +777600.000885,327.198292 +786239.999000,326.161641 +794879.999000,325.164683 +803519.999000,321.309991 +803520.001000,321.309991 +812160.000716,331.182005 +820799.999000,329.546284 +829439.999000,327.891507 +838079.999000,326.075545 +846719.999000,323.791089 +855359.999000,310.346935 +855360.001000,310.346935 +864000.001000,327.177591 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv new file mode 100644 index 00000000..d4bd0683 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,323.149994 +8640.000000,332.180603 +17280.000000,331.012268 +25920.000000,327.936371 +34560.000000,324.260651 +43200.000000,333.204163 +51840.000000,331.710175 +60480.000000,330.268036 +69120.000000,328.669006 +77760.000000,320.104523 +86400.000000,318.266144 +95040.000000,332.519440 +103680.000000,331.319641 +112320.000000,327.457336 +120960.000000,323.541412 +129600.000000,332.613831 +138240.000000,331.100281 +146880.000000,329.591736 +155520.000000,327.844604 +164160.000000,318.550018 +172800.000000,327.590942 +181440.000000,326.534332 +190080.000000,325.519073 +198720.000000,320.948212 +207360.000000,331.522583 +216000.000000,329.844940 +224640.000000,328.162262 +233280.000000,326.324127 +241920.000000,324.021729 +250560.000000,310.231934 +259200.000000,327.556976 +267840.000000,326.489471 +276480.000000,325.464111 +285120.000000,320.193390 +293760.000000,331.639648 +302400.000000,330.006714 +311040.000000,328.353821 +319680.000000,326.540161 +328320.000000,324.258484 +336960.000000,310.676392 +345600.000000,327.602753 +354240.000000,326.554321 +362880.000000,325.546448 +371520.000000,321.307373 +380160.000000,331.531677 +388800.000000,329.899811 +397440.000000,328.247070 +406080.000000,326.432892 +414720.000000,324.150269 +423360.000000,310.590698 +432000.000000,327.606140 +440640.000000,326.563477 +449280.000000,325.560852 +457920.000000,321.616669 +466560.000000,331.494354 +475200.000000,329.849396 +483840.000000,328.187012 +492480.000000,326.364075 +501120.000000,324.073120 +509760.000000,310.599152 +518400.000000,327.509003 +527040.000000,326.468597 +535680.000000,325.468140 +544320.000000,321.349945 +552960.000000,331.468597 +561600.000000,329.815277 +570240.000000,328.146881 +578880.000000,326.318024 +587520.000000,324.020782 +596160.000000,310.461853 +604800.000000,327.525391 +613440.000000,326.487915 +622080.000000,325.490173 +630720.000000,321.654999 +639360.000000,331.517731 +648000.000000,329.881622 +656640.000000,328.226166 +665280.000000,326.409058 +673920.000000,324.123260 +682560.000000,310.604004 +691200.000000,327.517487 +699840.000000,326.478394 +708480.000000,325.479126 +717120.000000,321.464600 +725760.000000,331.471710 +734400.000000,329.819550 +743040.000000,328.151733 +751680.000000,326.323792 +760320.000000,324.027588 +768960.000000,310.465759 +777600.000000,327.525818 +786240.000000,326.488129 +794880.000000,325.490173 +803520.000000,321.631622 +812160.000000,331.513519 +820800.000000,329.876160 +829440.000000,328.219727 +838080.000000,326.401947 +846720.000000,324.115204 +855360.000000,310.657593 +864000.000000,327.505096 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv new file mode 100644 index 00000000..d4bd0683 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,323.149994 +8640.000000,332.180603 +17280.000000,331.012268 +25920.000000,327.936371 +34560.000000,324.260651 +43200.000000,333.204163 +51840.000000,331.710175 +60480.000000,330.268036 +69120.000000,328.669006 +77760.000000,320.104523 +86400.000000,318.266144 +95040.000000,332.519440 +103680.000000,331.319641 +112320.000000,327.457336 +120960.000000,323.541412 +129600.000000,332.613831 +138240.000000,331.100281 +146880.000000,329.591736 +155520.000000,327.844604 +164160.000000,318.550018 +172800.000000,327.590942 +181440.000000,326.534332 +190080.000000,325.519073 +198720.000000,320.948212 +207360.000000,331.522583 +216000.000000,329.844940 +224640.000000,328.162262 +233280.000000,326.324127 +241920.000000,324.021729 +250560.000000,310.231934 +259200.000000,327.556976 +267840.000000,326.489471 +276480.000000,325.464111 +285120.000000,320.193390 +293760.000000,331.639648 +302400.000000,330.006714 +311040.000000,328.353821 +319680.000000,326.540161 +328320.000000,324.258484 +336960.000000,310.676392 +345600.000000,327.602753 +354240.000000,326.554321 +362880.000000,325.546448 +371520.000000,321.307373 +380160.000000,331.531677 +388800.000000,329.899811 +397440.000000,328.247070 +406080.000000,326.432892 +414720.000000,324.150269 +423360.000000,310.590698 +432000.000000,327.606140 +440640.000000,326.563477 +449280.000000,325.560852 +457920.000000,321.616669 +466560.000000,331.494354 +475200.000000,329.849396 +483840.000000,328.187012 +492480.000000,326.364075 +501120.000000,324.073120 +509760.000000,310.599152 +518400.000000,327.509003 +527040.000000,326.468597 +535680.000000,325.468140 +544320.000000,321.349945 +552960.000000,331.468597 +561600.000000,329.815277 +570240.000000,328.146881 +578880.000000,326.318024 +587520.000000,324.020782 +596160.000000,310.461853 +604800.000000,327.525391 +613440.000000,326.487915 +622080.000000,325.490173 +630720.000000,321.654999 +639360.000000,331.517731 +648000.000000,329.881622 +656640.000000,328.226166 +665280.000000,326.409058 +673920.000000,324.123260 +682560.000000,310.604004 +691200.000000,327.517487 +699840.000000,326.478394 +708480.000000,325.479126 +717120.000000,321.464600 +725760.000000,331.471710 +734400.000000,329.819550 +743040.000000,328.151733 +751680.000000,326.323792 +760320.000000,324.027588 +768960.000000,310.465759 +777600.000000,327.525818 +786240.000000,326.488129 +794880.000000,325.490173 +803520.000000,321.631622 +812160.000000,331.513519 +820800.000000,329.876160 +829440.000000,328.219727 +838080.000000,326.401947 +846720.000000,324.115204 +855360.000000,310.657593 +864000.000000,327.505096 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv new file mode 100644 index 00000000..fd96d40c --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv @@ -0,0 +1,123 @@ +x,y +-0.001000,323.473144 +8639.999000,332.512784 +8640.001000,332.512784 +17280.001000,331.343280 +25920.001000,328.264307 +34559.999583,324.584912 +43199.999000,333.537367 +43200.001000,333.537367 +51840.001000,332.041885 +60480.001000,330.598304 +69120.001000,328.997675 +77760.001000,320.424627 +86399.999228,318.584410 +95039.999000,332.851959 +95040.001000,332.851959 +103680.001000,331.650961 +112320.001000,327.784794 +120959.999603,323.864954 +129599.999000,332.946444 +129600.001000,332.946444 +138240.001000,331.431381 +146880.001000,329.921328 +155520.001000,328.172449 +164160.000014,318.868569 +172799.999000,327.918533 +172800.001000,327.918533 +181440.001000,326.860867 +190080.001000,325.844593 +198719.999604,321.269161 +207359.999000,331.854106 +207360.001000,331.854106 +216000.001000,330.174785 +224640.001000,328.490424 +233280.001000,326.650451 +241920.001000,324.345750 +250559.999886,310.542167 +259199.999000,327.884533 +259200.001000,327.884533 +267840.001000,326.815961 +276480.001000,325.789575 +285119.999631,320.513584 +293759.999000,331.971288 +293760.001000,331.971288 +302400.001000,330.336721 +311040.001000,328.682175 +319680.001000,326.866701 +328320.001000,324.582742 +336959.999890,310.987070 +345599.999000,327.930355 +345600.001000,327.930355 +354240.001000,326.880876 +362880.001000,325.871994 +371519.999586,321.628681 +380159.999000,331.863209 +380160.001000,331.863209 +388800.001000,330.229711 +397440.001000,328.575317 +406080.001000,326.759325 +414720.001000,324.474419 +423359.999887,310.901291 +431999.999000,327.933746 +432000.001000,327.933746 +440640.001000,326.890040 +449280.001000,325.886413 +457919.999571,321.938286 +466559.999000,331.825849 +466560.001000,331.825849 +475200.001000,330.179245 +483840.001000,328.515199 +492480.001000,326.690439 +501120.001000,324.397193 +509759.999887,310.909753 +518399.999000,327.836512 +518400.001000,327.836512 +527040.001000,326.795066 +535680.001000,325.793608 +544319.999579,321.671296 +552959.999000,331.800066 +552960.001000,331.800066 +561600.001000,330.145092 +570240.001000,328.475028 +578880.001000,326.644342 +587520.001000,324.344803 +596159.999886,310.772317 +604799.999000,327.852916 +604800.001000,327.852916 +613440.001000,326.814403 +622080.001000,325.815664 +630719.999560,321.976654 +639359.999000,331.849248 +639360.001000,331.849248 +648000.001000,330.211504 +656640.001000,328.554392 +665280.001000,326.735467 +673920.001000,324.447384 +682559.999888,310.914610 +691199.999000,327.845004 +691200.001000,327.845004 +699840.001000,326.804872 +708480.001000,325.804605 +717119.999573,321.786065 +725759.999000,331.803182 +725760.001000,331.803182 +734400.001000,330.149369 +743040.001000,328.479885 +751680.001000,326.650115 +760320.001000,324.351615 +768959.999886,310.776227 +777599.999000,327.853344 +777600.001000,327.853344 +786240.001000,326.814617 +794880.001000,325.815664 +803519.999562,321.953255 +812159.999000,331.845033 +812160.001000,331.845033 +820800.001000,330.206036 +829440.001000,328.547946 +838080.001000,326.728349 +846720.001000,324.439319 +855359.999888,310.968252 +863999.999000,327.832602 +864000.001000,327.832602 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv new file mode 100644 index 00000000..8ee77a4f --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv @@ -0,0 +1,132 @@ +x,y +-0.001000,292.856844 +0.001000,292.856844 +8640.001000,322.253382 +17279.999488,322.464871 +25919.999000,321.809216 +34559.999000,321.442609 +43199.999000,310.488487 +43200.001000,310.488487 +51840.000861,319.859843 +60479.999000,319.160043 +60480.001000,319.160043 +69120.001000,319.808747 +77760.000809,320.442512 +86399.999000,320.375562 +86400.001000,320.375562 +95040.001000,320.785979 +103680.000648,321.557911 +112319.999000,321.392915 +120959.999000,321.147739 +120960.001000,321.147739 +129600.001000,325.746285 +138239.999000,325.746285 +146879.999000,321.479346 +146880.001000,321.479346 +155520.001000,323.796454 +164160.001000,325.059167 +172800.001000,326.051460 +181440.001000,326.258864 +190079.999143,327.373288 +198719.999000,312.910226 +198720.001000,312.910226 +207360.000535,326.543033 +215999.999000,322.418561 +216000.001000,322.418561 +224639.999966,326.681444 +233279.999000,322.118294 +233280.001000,322.118294 +241919.999154,323.896360 +250559.999000,302.584442 +250560.001000,302.584442 +259200.000948,324.315375 +267839.999000,323.731608 +276479.999000,323.067448 +285119.999000,313.385702 +285120.001000,313.385702 +293760.000686,322.039363 +302399.999000,320.426415 +311039.999000,319.357142 +319679.999000,318.504907 +328319.999000,317.913610 +336959.999000,303.825570 +336960.001000,303.825570 +345600.000985,317.180152 +354239.999000,317.078417 +362879.999000,316.831594 +371519.999000,314.145013 +371520.001000,314.145013 +380160.000735,316.970981 +388799.999000,316.539254 +397439.999000,316.028992 +406079.999000,315.815521 +406080.001000,315.815521 +414719.999010,315.872136 +423359.999000,304.015017 +423360.001000,304.015017 +432000.000923,315.823051 +440639.999000,315.349679 +449279.999000,314.857465 +457919.999000,314.281412 +466559.999000,313.631001 +475199.999000,313.040802 +475200.001000,313.040802 +483840.000014,313.130526 +492479.999000,313.043241 +501119.999000,312.998181 +509759.999000,304.611862 +509760.001000,304.611862 +518400.000903,312.464780 +527039.999000,312.064332 +527040.001000,312.064332 +535680.001000,312.349600 +544320.000167,314.728566 +552959.999000,313.031199 +552960.001000,313.031199 +561599.999892,317.015065 +570239.999000,312.064332 +570240.001000,312.064332 +578880.000286,316.510443 +587519.999000,314.042516 +596159.999000,304.148946 +596160.001000,304.148946 +604800.000945,316.036278 +613439.999000,315.699792 +613440.001000,315.699792 +622079.999284,316.003596 +630719.999000,314.166293 +630720.001000,314.166293 +639360.001000,315.784394 +648000.001000,320.244255 +656639.999000,320.244255 +665279.999000,313.656489 +665280.001000,313.656489 +673919.999078,314.049070 +682559.999000,304.330954 +682560.001000,304.330954 +691200.000896,313.824015 +699839.999000,313.305186 +708479.999000,313.151562 +708480.001000,313.151562 +717119.999993,314.671464 +725759.999000,313.129398 +725760.001000,313.129398 +734400.001000,313.744901 +743040.000977,316.725743 +751679.999000,316.691689 +760319.999000,314.561436 +768959.999000,304.110228 +768960.001000,304.110228 +777600.000911,315.497358 +786239.999000,314.964993 +786240.001000,314.964993 +794879.999474,315.295107 +803519.999000,314.231535 +803520.001000,314.231535 +812160.001000,316.230542 +820800.001000,321.290570 +838079.999000,321.290570 +846719.999000,313.310430 +855359.999000,304.686921 +855360.001000,304.686921 +864000.001000,311.418190 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv new file mode 100644 index 00000000..b9a2c2d2 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,322.575958 +17280.000000,322.787659 +25920.000000,322.131348 +34560.000000,321.764374 +43200.000000,310.799286 +51840.000000,320.180023 +60480.000000,319.479523 +69120.000000,320.128876 +77760.000000,320.763275 +86400.000000,320.696259 +95040.000000,321.107086 +103680.000000,321.879791 +112320.000000,321.714630 +120960.000000,321.469208 +129600.000000,326.072357 +138240.000000,326.072357 +146880.000000,321.801147 +155520.000000,324.120575 +164160.000000,325.384552 +172800.000000,326.377838 +181440.000000,326.585449 +190080.000000,327.700989 +198720.000000,313.223450 +207360.000000,326.869904 +216000.000000,322.741302 +224640.000000,327.008453 +233280.000000,322.440735 +241920.000000,324.220581 +250560.000000,302.887329 +259200.000000,324.640015 +267840.000000,324.055664 +276480.000000,323.390839 +285120.000000,313.699402 +293760.000000,322.361725 +302400.000000,320.747162 +311040.000000,319.676819 +319680.000000,318.823730 +328320.000000,318.231842 +336960.000000,304.129700 +345600.000000,317.497650 +354240.000000,317.395813 +362880.000000,317.148743 +371520.000000,314.459473 +380160.000000,317.288269 +388800.000000,316.856110 +397440.000000,316.345337 +406080.000000,316.131653 +414720.000000,316.188324 +423360.000000,304.319336 +432000.000000,316.139191 +440640.000000,315.665344 +449280.000000,315.172638 +457920.000000,314.596008 +466560.000000,313.944946 +475200.000000,313.354156 +483840.000000,313.443970 +492480.000000,313.356598 +501120.000000,313.311493 +509760.000000,304.916779 +518400.000000,312.777557 +527040.000000,312.376709 +535680.000000,312.662262 +544320.000000,315.043610 +552960.000000,313.344543 +561600.000000,317.332397 +570240.000000,312.376709 +578880.000000,316.827271 +587520.000000,314.356873 +596160.000000,304.453400 +604800.000000,316.352631 +613440.000000,316.015808 +622080.000000,316.319916 +630720.000000,314.480774 +639360.000000,316.100494 +648000.000000,320.564819 +656640.000000,320.564819 +665280.000000,313.970459 +673920.000000,314.363434 +682560.000000,304.635590 +691200.000000,314.138153 +699840.000000,313.618805 +708480.000000,313.465027 +717120.000000,314.986450 +725760.000000,313.442841 +734400.000000,314.058960 +743040.000000,317.042786 +751680.000000,317.008698 +760320.000000,314.876312 +768960.000000,304.414642 +777600.000000,315.813171 +786240.000000,315.280273 +794880.000000,315.610718 +803520.000000,314.546082 +812160.000000,316.547089 +820800.000000,321.612183 +829440.000000,321.612183 +838080.000000,321.612183 +846720.000000,313.624054 +855360.000000,304.991913 +864000.000000,311.729919 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv new file mode 100644 index 00000000..b9a2c2d2 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,322.575958 +17280.000000,322.787659 +25920.000000,322.131348 +34560.000000,321.764374 +43200.000000,310.799286 +51840.000000,320.180023 +60480.000000,319.479523 +69120.000000,320.128876 +77760.000000,320.763275 +86400.000000,320.696259 +95040.000000,321.107086 +103680.000000,321.879791 +112320.000000,321.714630 +120960.000000,321.469208 +129600.000000,326.072357 +138240.000000,326.072357 +146880.000000,321.801147 +155520.000000,324.120575 +164160.000000,325.384552 +172800.000000,326.377838 +181440.000000,326.585449 +190080.000000,327.700989 +198720.000000,313.223450 +207360.000000,326.869904 +216000.000000,322.741302 +224640.000000,327.008453 +233280.000000,322.440735 +241920.000000,324.220581 +250560.000000,302.887329 +259200.000000,324.640015 +267840.000000,324.055664 +276480.000000,323.390839 +285120.000000,313.699402 +293760.000000,322.361725 +302400.000000,320.747162 +311040.000000,319.676819 +319680.000000,318.823730 +328320.000000,318.231842 +336960.000000,304.129700 +345600.000000,317.497650 +354240.000000,317.395813 +362880.000000,317.148743 +371520.000000,314.459473 +380160.000000,317.288269 +388800.000000,316.856110 +397440.000000,316.345337 +406080.000000,316.131653 +414720.000000,316.188324 +423360.000000,304.319336 +432000.000000,316.139191 +440640.000000,315.665344 +449280.000000,315.172638 +457920.000000,314.596008 +466560.000000,313.944946 +475200.000000,313.354156 +483840.000000,313.443970 +492480.000000,313.356598 +501120.000000,313.311493 +509760.000000,304.916779 +518400.000000,312.777557 +527040.000000,312.376709 +535680.000000,312.662262 +544320.000000,315.043610 +552960.000000,313.344543 +561600.000000,317.332397 +570240.000000,312.376709 +578880.000000,316.827271 +587520.000000,314.356873 +596160.000000,304.453400 +604800.000000,316.352631 +613440.000000,316.015808 +622080.000000,316.319916 +630720.000000,314.480774 +639360.000000,316.100494 +648000.000000,320.564819 +656640.000000,320.564819 +665280.000000,313.970459 +673920.000000,314.363434 +682560.000000,304.635590 +691200.000000,314.138153 +699840.000000,313.618805 +708480.000000,313.465027 +717120.000000,314.986450 +725760.000000,313.442841 +734400.000000,314.058960 +743040.000000,317.042786 +751680.000000,317.008698 +760320.000000,314.876312 +768960.000000,304.414642 +777600.000000,315.813171 +786240.000000,315.280273 +794880.000000,315.610718 +803520.000000,314.546082 +812160.000000,316.547089 +820800.000000,321.612183 +829440.000000,321.612183 +838080.000000,321.612183 +846720.000000,313.624054 +855360.000000,304.991913 +864000.000000,311.729919 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv new file mode 100644 index 00000000..80c84771 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv @@ -0,0 +1,129 @@ +x,y +-0.001000,293.443144 +8639.999000,322.898534 +17279.999000,323.110446 +17280.001000,323.110446 +25920.001000,322.453479 +34560.001000,322.086138 +43200.000078,311.110086 +51839.999000,320.500203 +51840.001000,320.500203 +60480.000038,319.799002 +69119.999000,320.449005 +77759.999000,321.084038 +77760.001000,321.084038 +86399.999280,321.016955 +95039.999000,321.428193 +103679.999000,322.201671 +103680.001000,322.201671 +112320.001000,322.036345 +120959.999101,321.790677 +129599.999000,326.398430 +138240.001000,326.398430 +146880.000296,322.122949 +155519.999000,324.444696 +164159.999000,325.709937 +172799.999000,326.704216 +181439.999000,326.912035 +190079.999000,328.028690 +190080.001000,328.028690 +198720.000030,313.536675 +207359.999000,327.196773 +207360.001000,327.196773 +215999.999983,323.064044 +224639.999000,327.335462 +224640.001000,327.335462 +233280.000439,322.763176 +241919.999000,324.544802 +241920.001000,324.544802 +250559.999990,303.190219 +259199.999000,324.964655 +259200.001000,324.964655 +267840.001000,324.379720 +276480.001000,323.714229 +285120.000056,314.013102 +293759.999000,322.684087 +293760.001000,322.684087 +302400.001000,321.067909 +311040.001000,319.996496 +319680.001000,319.142554 +328320.001000,318.550074 +336960.000027,304.433831 +345599.999000,317.815148 +345600.001000,317.815148 +354240.001000,317.713209 +362880.001000,317.465891 +371519.999975,314.773932 +380159.999000,317.605557 +380160.001000,317.605557 +388800.001000,317.172966 +397440.001000,316.661682 +406080.000581,316.447784 +414719.999000,316.504512 +414720.001000,316.504512 +423360.000002,304.623657 +431999.999000,316.455330 +432000.001000,316.455330 +440640.001000,315.981010 +449280.001000,315.487811 +457920.001000,314.910604 +466560.001000,314.258891 +475200.000736,313.667511 +483839.999000,313.757414 +483840.001000,313.757414 +492480.001000,313.669954 +501120.001000,313.624804 +509760.000033,305.221696 +518399.999000,313.090335 +518400.001000,313.090335 +527040.000168,312.689086 +535679.999000,312.974924 +544319.999000,315.358653 +544320.001000,315.358653 +552959.999598,313.657888 +561599.999000,317.649730 +561600.001000,317.649730 +570240.000054,312.689086 +578879.999000,317.144098 +578880.001000,317.144098 +587520.001000,314.671229 +596159.999908,304.757854 +604799.999000,316.668983 +604800.001000,316.668983 +613440.000051,316.331824 +622079.999000,316.636236 +622080.001000,316.636236 +630720.000063,314.795255 +639359.999000,316.416595 +647999.999000,320.885384 +656640.001000,320.885384 +665280.000888,314.284430 +673919.999000,314.677797 +673920.001000,314.677797 +682560.000012,304.940226 +691199.999000,314.452291 +691200.001000,314.452291 +699840.001000,313.932424 +708479.999184,313.778492 +717119.999000,315.301437 +717120.001000,315.301437 +725760.000429,313.756284 +734399.999000,314.373019 +743039.999000,317.359828 +743040.001000,317.359828 +751680.001000,317.325706 +760320.001000,315.191189 +768959.999957,304.719058 +777599.999000,316.128985 +777600.001000,316.128985 +786240.000235,315.595554 +794879.999000,315.926328 +794880.001000,315.926328 +803519.999695,314.860628 +812159.999000,316.863636 +820799.999000,321.933795 +838080.001000,321.933795 +846720.001000,313.937678 +855360.000123,305.296906 +863999.999000,312.041649 +864000.001000,312.041649 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/lowerBound.csv new file mode 100644 index 00000000..bbafda7f --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/lowerBound.csv @@ -0,0 +1,123 @@ +x,y +-0.001000,292.856844 +8639.999000,288.403294 +17279.999000,288.244609 +17280.001000,288.244609 +25920.001000,288.383630 +34559.999217,288.478719 +43199.999000,287.696238 +43200.001000,287.696238 +51840.000747,288.958921 +60479.999000,288.775785 +69119.999000,288.749292 +77759.999000,288.650148 +77760.001000,288.650148 +86400.001000,288.660513 +95039.999697,288.797004 +103679.999000,288.542010 +112319.999000,288.465152 +112320.001000,288.465152 +120960.001000,288.643959 +129600.000005,292.116892 +138239.999000,288.680848 +146879.999000,288.264517 +155519.999000,287.886813 +164159.999000,287.737518 +164160.001000,287.737518 +172799.999161,287.747944 +181439.999000,287.629136 +190079.999000,287.311004 +198719.999000,287.229237 +198720.001000,287.229237 +207360.001000,287.725323 +216000.000463,288.986664 +224639.999000,288.523352 +233279.999000,287.989981 +241919.999000,287.848673 +250559.999000,287.773675 +250560.001000,287.773675 +259200.001000,288.032480 +267840.001000,288.137752 +276480.000041,288.158818 +285119.999000,288.139398 +285120.001000,288.139398 +293760.001000,288.548352 +302400.001000,288.883404 +311040.001000,288.914318 +319680.001000,288.945903 +328320.001000,289.116569 +336960.001000,289.284614 +345600.000416,289.511743 +354239.999000,289.418025 +362879.999000,289.365496 +371519.999000,289.362569 +371520.001000,289.362569 +380160.001000,289.542504 +388799.999820,289.600308 +397439.999000,289.517047 +406079.999000,289.467719 +406080.001000,289.467719 +414720.001000,289.492597 +423360.001000,289.526590 +432000.000707,289.785120 +440639.999000,289.740670 +440640.001000,289.740670 +449280.001000,289.750182 +457920.001000,289.827467 +466560.001000,290.151879 +475200.000063,290.189379 +483839.999000,290.156300 +492479.999000,289.985481 +492480.001000,289.985481 +501120.001000,290.072156 +509760.001000,290.208707 +518400.000516,290.387910 +527039.999000,290.330686 +535679.999000,290.222823 +544319.999000,290.141514 +544320.001000,290.141514 +552960.001000,290.236542 +561600.000270,290.576320 +570239.999000,290.380990 +578879.999000,290.308248 +587519.999000,289.804693 +596159.999000,289.665855 +596160.001000,289.665855 +604799.999823,289.732682 +613439.999000,289.637197 +622079.999000,289.513115 +622080.001000,289.513115 +630720.001000,289.526681 +639360.001000,290.057583 +647999.999849,291.049937 +656639.999000,289.703933 +656640.001000,289.703933 +665280.000409,289.898532 +673919.999000,289.816888 +673920.001000,289.816888 +682560.001000,289.921550 +691200.000863,290.144715 +699839.999000,290.128313 +708479.999000,290.078009 +708480.001000,290.078009 +717120.001000,290.134288 +725760.001000,290.198830 +734399.999615,290.372850 +743039.999000,289.980786 +751679.999000,289.927129 +760319.999000,289.648264 +768959.999000,289.645093 +768960.001000,289.645093 +777600.000769,289.832101 +786239.999000,289.807681 +794879.999000,289.647959 +803519.999000,289.638843 +803520.001000,289.638843 +812160.001000,289.897465 +820800.000716,291.544772 +829439.999000,291.272187 +838079.999000,289.940208 +846719.999000,289.939354 +846720.001000,289.939354 +855360.001000,290.262730 +864000.001000,290.575650 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/reference.csv new file mode 100644 index 00000000..d3f629fd --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,288.691986 +17280.000000,288.533142 +25920.000000,288.672302 +34560.000000,288.767487 +43200.000000,287.984222 +51840.000000,289.248169 +60480.000000,289.064850 +69120.000000,289.038330 +77760.000000,288.939087 +86400.000000,288.949463 +95040.000000,289.086090 +103680.000000,288.830841 +112320.000000,288.753906 +120960.000000,288.932892 +129600.000000,292.409302 +138240.000000,288.969818 +146880.000000,288.553070 +155520.000000,288.174988 +164160.000000,288.025543 +172800.000000,288.035980 +181440.000000,287.917053 +190080.000000,287.598602 +198720.000000,287.516754 +207360.000000,288.013336 +216000.000000,289.275940 +224640.000000,288.812164 +233280.000000,288.278259 +241920.000000,288.136810 +250560.000000,288.061737 +259200.000000,288.320801 +267840.000000,288.426178 +276480.000000,288.447266 +285120.000000,288.427826 +293760.000000,288.837189 +302400.000000,289.172577 +311040.000000,289.203522 +319680.000000,289.235138 +328320.000000,289.405975 +336960.000000,289.574188 +345600.000000,289.801544 +354240.000000,289.707733 +362880.000000,289.655151 +371520.000000,289.652222 +380160.000000,289.832336 +388800.000000,289.890198 +397440.000000,289.806854 +406080.000000,289.757477 +414720.000000,289.782379 +423360.000000,289.816406 +432000.000000,290.075195 +440640.000000,290.030701 +449280.000000,290.040222 +457920.000000,290.117584 +466560.000000,290.442322 +475200.000000,290.479858 +483840.000000,290.446747 +492480.000000,290.275757 +501120.000000,290.362518 +509760.000000,290.499207 +518400.000000,290.678589 +527040.000000,290.621307 +535680.000000,290.513336 +544320.000000,290.431946 +552960.000000,290.527069 +561600.000000,290.867188 +570240.000000,290.671661 +578880.000000,290.598846 +587520.000000,290.094788 +596160.000000,289.955811 +604800.000000,290.022705 +613440.000000,289.927124 +622080.000000,289.802917 +630720.000000,289.816498 +639360.000000,290.347931 +648000.000000,291.341278 +656640.000000,289.993927 +665280.000000,290.188721 +673920.000000,290.106995 +682560.000000,290.211761 +691200.000000,290.435150 +699840.000000,290.418732 +708480.000000,290.368378 +717120.000000,290.424713 +725760.000000,290.489319 +734400.000000,290.663513 +743040.000000,290.271057 +751680.000000,290.217346 +760320.000000,289.938202 +768960.000000,289.935028 +777600.000000,290.122223 +786240.000000,290.097778 +794880.000000,289.937897 +803520.000000,289.928772 +812160.000000,290.187653 +820800.000000,291.836609 +829440.000000,291.563751 +838080.000000,290.230438 +846720.000000,290.229584 +855360.000000,290.553284 +864000.000000,290.866516 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/test.csv new file mode 100644 index 00000000..d3f629fd --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,288.691986 +17280.000000,288.533142 +25920.000000,288.672302 +34560.000000,288.767487 +43200.000000,287.984222 +51840.000000,289.248169 +60480.000000,289.064850 +69120.000000,289.038330 +77760.000000,288.939087 +86400.000000,288.949463 +95040.000000,289.086090 +103680.000000,288.830841 +112320.000000,288.753906 +120960.000000,288.932892 +129600.000000,292.409302 +138240.000000,288.969818 +146880.000000,288.553070 +155520.000000,288.174988 +164160.000000,288.025543 +172800.000000,288.035980 +181440.000000,287.917053 +190080.000000,287.598602 +198720.000000,287.516754 +207360.000000,288.013336 +216000.000000,289.275940 +224640.000000,288.812164 +233280.000000,288.278259 +241920.000000,288.136810 +250560.000000,288.061737 +259200.000000,288.320801 +267840.000000,288.426178 +276480.000000,288.447266 +285120.000000,288.427826 +293760.000000,288.837189 +302400.000000,289.172577 +311040.000000,289.203522 +319680.000000,289.235138 +328320.000000,289.405975 +336960.000000,289.574188 +345600.000000,289.801544 +354240.000000,289.707733 +362880.000000,289.655151 +371520.000000,289.652222 +380160.000000,289.832336 +388800.000000,289.890198 +397440.000000,289.806854 +406080.000000,289.757477 +414720.000000,289.782379 +423360.000000,289.816406 +432000.000000,290.075195 +440640.000000,290.030701 +449280.000000,290.040222 +457920.000000,290.117584 +466560.000000,290.442322 +475200.000000,290.479858 +483840.000000,290.446747 +492480.000000,290.275757 +501120.000000,290.362518 +509760.000000,290.499207 +518400.000000,290.678589 +527040.000000,290.621307 +535680.000000,290.513336 +544320.000000,290.431946 +552960.000000,290.527069 +561600.000000,290.867188 +570240.000000,290.671661 +578880.000000,290.598846 +587520.000000,290.094788 +596160.000000,289.955811 +604800.000000,290.022705 +613440.000000,289.927124 +622080.000000,289.802917 +630720.000000,289.816498 +639360.000000,290.347931 +648000.000000,291.341278 +656640.000000,289.993927 +665280.000000,290.188721 +673920.000000,290.106995 +682560.000000,290.211761 +691200.000000,290.435150 +699840.000000,290.418732 +708480.000000,290.368378 +717120.000000,290.424713 +725760.000000,290.489319 +734400.000000,290.663513 +743040.000000,290.271057 +751680.000000,290.217346 +760320.000000,289.938202 +768960.000000,289.935028 +777600.000000,290.122223 +786240.000000,290.097778 +794880.000000,289.937897 +803520.000000,289.928772 +812160.000000,290.187653 +820800.000000,291.836609 +829440.000000,291.563751 +838080.000000,290.230438 +846720.000000,290.229584 +855360.000000,290.553284 +864000.000000,290.866516 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/upperBound.csv new file mode 100644 index 00000000..7cdd442a --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/upperBound.csv @@ -0,0 +1,124 @@ +x,y +-0.001000,293.443144 +0.001000,293.443144 +8640.001000,288.980678 +17280.000066,288.821675 +25919.999000,288.960975 +34559.999000,289.056254 +34560.001000,289.056254 +43199.999765,288.272207 +51839.999000,289.537417 +51840.001000,289.537417 +60480.001000,289.353915 +69120.001000,289.327368 +77760.000811,289.228026 +86399.999000,289.238412 +95039.999000,289.375176 +95040.001000,289.375176 +103680.001000,289.119672 +112319.999601,289.042660 +120959.999000,289.221825 +129599.999000,292.701711 +129600.001000,292.701711 +138240.001000,289.258788 +146880.001000,288.841623 +155520.001000,288.463163 +164160.000869,288.313569 +172799.999000,288.324016 +172800.001000,288.324016 +181440.001000,288.204970 +190080.001000,287.886201 +198719.999283,287.804271 +207359.999000,288.301350 +215999.999000,289.565216 +216000.001000,289.565216 +224640.001000,289.100976 +233280.001000,288.566538 +241920.001000,288.424947 +250559.999449,288.349799 +259199.999000,288.609122 +267839.999000,288.714604 +276479.999000,288.735713 +276480.001000,288.735713 +285119.999091,288.716254 +293759.999000,289.126026 +302399.999000,289.461749 +311039.999000,289.492725 +319679.999000,289.524373 +328319.999000,289.695381 +336959.999000,289.863762 +345599.999000,290.091346 +345600.001000,290.091346 +354240.001000,289.997441 +362880.001000,289.944807 +371519.999032,289.941874 +380159.999000,290.122169 +388799.999000,290.180088 +388800.001000,290.180088 +397440.001000,290.096661 +406080.000330,290.047234 +414719.999000,290.072162 +423359.999000,290.106223 +431999.999000,290.365271 +432000.001000,290.365271 +440640.000647,290.320731 +449279.999000,290.330262 +457919.999000,290.407702 +466559.999000,290.732764 +475199.999000,290.770338 +475200.001000,290.770338 +483840.001000,290.737194 +492480.000327,290.566033 +501119.999000,290.652881 +509759.999000,290.789706 +518399.999000,290.969267 +518400.001000,290.969267 +527040.001000,290.911929 +535680.001000,290.803850 +544319.999922,290.722378 +552959.999000,290.817596 +561599.999000,291.158055 +561600.001000,291.158055 +570240.001000,290.962333 +578880.001000,290.889445 +587520.001000,290.384882 +596160.000350,290.245766 +604799.999000,290.312728 +604800.001000,290.312728 +613440.001000,290.217051 +622080.000803,290.092720 +630719.999000,290.106314 +639359.999000,290.638279 +647999.999000,291.632619 +648000.001000,291.632619 +656640.000747,290.283921 +665279.999000,290.478909 +665280.001000,290.478909 +673919.999876,290.397102 +682559.999000,290.501973 +691199.999000,290.725585 +691200.001000,290.725585 +699840.001000,290.709150 +708479.999944,290.658746 +717119.999000,290.715138 +725759.999000,290.779808 +734399.999000,290.954177 +734400.001000,290.954177 +743040.001000,290.561328 +751680.001000,290.507564 +760320.001000,290.228140 +768959.999033,290.224963 +777599.999000,290.412345 +777600.001000,290.412345 +786240.001000,290.387876 +794880.001000,290.227835 +803519.999068,290.218701 +812159.999000,290.477840 +820799.999000,292.128445 +820800.001000,292.128445 +829440.001000,291.855315 +838080.001000,290.520669 +846719.999005,290.519813 +855359.999000,290.843837 +863999.999000,291.157383 +864000.001000,291.157383 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv new file mode 100644 index 00000000..7504ecf1 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv @@ -0,0 +1,120 @@ +x,y +-0.001000,270.878844 +8639.999000,270.389161 +17279.999000,270.179562 +17280.001000,270.179562 +25920.001000,270.812504 +34560.001000,271.127252 +43200.001000,271.777938 +51840.001000,272.766298 +60479.999939,273.296437 +69119.999000,272.697031 +77759.999000,272.107229 +77760.001000,272.107229 +86399.999327,272.177562 +95039.999000,271.817906 +103679.999000,271.069845 +103680.001000,271.069845 +112320.001000,271.214202 +120960.001000,271.486299 +129600.000235,272.577156 +138239.999000,271.901106 +146879.999000,271.264627 +155519.999000,268.879198 +164159.999000,267.732976 +172799.999000,266.782938 +181439.999000,266.559376 +190079.999000,265.509707 +198719.999000,265.166819 +198720.001000,265.166819 +207360.001000,266.466147 +216000.001000,270.579156 +224639.999903,271.324412 +233279.999000,270.419312 +241919.999000,268.774414 +250559.999000,267.881844 +250560.001000,267.881844 +259200.001000,268.481250 +267840.001000,269.008402 +276480.000870,269.628752 +285119.999000,269.585735 +285120.001000,269.585735 +293760.001000,270.649490 +302400.001000,272.177562 +311040.001000,273.171745 +319680.001000,273.940050 +328320.001000,274.519487 +336960.001000,275.115417 +345600.001000,275.274438 +354240.001000,275.338400 +362880.001000,275.554157 +371519.999322,275.569034 +380159.999000,275.491475 +380160.001000,275.491475 +388800.001000,275.873844 +397440.001000,276.313406 +406080.000693,276.484286 +414719.999000,276.453281 +423359.999000,276.394136 +423360.001000,276.394136 +432000.001000,276.573156 +440640.001000,276.986347 +449280.001000,277.437617 +457920.001000,277.823888 +466560.001000,278.652983 +475200.000987,279.170562 +483839.999000,279.167178 +492479.999000,279.148490 +492480.001000,279.148490 +501120.001000,279.205439 +509760.001000,279.670062 +518400.001000,279.769938 +527040.000067,280.087643 +535679.999000,279.809906 +544319.999000,279.430281 +552959.999000,279.240530 +552960.001000,279.240530 +561600.001000,280.369344 +570240.001000,280.731866 +578879.999015,280.750981 +587519.999000,278.169672 +596159.999000,277.255517 +604799.999000,276.373344 +604800.001000,276.373344 +613439.999959,276.618978 +622079.999000,276.352582 +622080.001000,276.352582 +630720.001000,276.390295 +639360.001000,276.703275 +648000.001000,278.371344 +656640.001000,278.452958 +665279.999747,278.861362 +673919.999000,278.176196 +673920.001000,278.176196 +682560.001000,278.397502 +691200.001000,278.471250 +699840.001000,278.938769 +708480.001000,279.056937 +717120.000087,279.351168 +725759.999000,279.103887 +725760.001000,279.103887 +734399.999746,279.769938 +743039.999000,278.649630 +743040.001000,278.649630 +751679.999252,278.810906 +760319.999000,277.692031 +768959.999000,276.973482 +777599.999000,276.872844 +777600.001000,276.872844 +786240.000156,277.336400 +794879.999000,276.998176 +803519.999000,276.945586 +812159.999000,276.189537 +812160.001000,276.189537 +820800.001000,278.171562 +829440.000683,279.722317 +838079.999000,279.430281 +846719.999000,278.913892 +846720.001000,278.913892 +855360.001000,280.052858 +864000.001000,280.768938 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/reference.csv new file mode 100644 index 00000000..a297b82c --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,271.149994 +8640.000000,270.659821 +17280.000000,270.450012 +25920.000000,271.083588 +34560.000000,271.398651 +43200.000000,272.049988 +51840.000000,273.039337 +60480.000000,273.570007 +69120.000000,272.970001 +77760.000000,272.379608 +86400.000000,272.450012 +95040.000000,272.089996 +103680.000000,271.341187 +112320.000000,271.485687 +120960.000000,271.758057 +129600.000000,272.850006 +138240.000000,272.173279 +146880.000000,271.536163 +155520.000000,269.148346 +164160.000000,268.000977 +172800.000000,267.049988 +181440.000000,266.826202 +190080.000000,265.775482 +198720.000000,265.432251 +207360.000000,266.732880 +216000.000000,270.850006 +224640.000000,271.596008 +233280.000000,270.690002 +241920.000000,269.043457 +250560.000000,268.149994 +259200.000000,268.750000 +267840.000000,269.277679 +276480.000000,269.898651 +285120.000000,269.855591 +293760.000000,270.920410 +302400.000000,272.450012 +311040.000000,273.445190 +319680.000000,274.214264 +328320.000000,274.794281 +336960.000000,275.390808 +345600.000000,275.549988 +354240.000000,275.614014 +362880.000000,275.829987 +371520.000000,275.844879 +380160.000000,275.767242 +388800.000000,276.149994 +397440.000000,276.589996 +406080.000000,276.761047 +414720.000000,276.730011 +423360.000000,276.670807 +432000.000000,276.850006 +440640.000000,277.263611 +449280.000000,277.715332 +457920.000000,278.101990 +466560.000000,278.931915 +475200.000000,279.450012 +483840.000000,279.446625 +492480.000000,279.427917 +501120.000000,279.484924 +509760.000000,279.950012 +518400.000000,280.049988 +527040.000000,280.368011 +535680.000000,280.089996 +544320.000000,279.709991 +552960.000000,279.520050 +561600.000000,280.649994 +570240.000000,281.012878 +578880.000000,281.032013 +587520.000000,278.448120 +596160.000000,277.533051 +604800.000000,276.649994 +613440.000000,276.895874 +622080.000000,276.629211 +630720.000000,276.666962 +639360.000000,276.980255 +648000.000000,278.649994 +656640.000000,278.731689 +665280.000000,279.140503 +673920.000000,278.454651 +682560.000000,278.676178 +691200.000000,278.750000 +699840.000000,279.217987 +708480.000000,279.336273 +717120.000000,279.630798 +725760.000000,279.383270 +734400.000000,280.049988 +743040.000000,278.928558 +751680.000000,279.089996 +760320.000000,277.970001 +768960.000000,277.250732 +777600.000000,277.149994 +786240.000000,277.614014 +794880.000000,277.275452 +803520.000000,277.222809 +812160.000000,276.466003 +820800.000000,278.450012 +829440.000000,280.002319 +838080.000000,279.709991 +846720.000000,279.193085 +855360.000000,280.333191 +864000.000000,281.049988 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/test.csv new file mode 100644 index 00000000..a297b82c --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,271.149994 +8640.000000,270.659821 +17280.000000,270.450012 +25920.000000,271.083588 +34560.000000,271.398651 +43200.000000,272.049988 +51840.000000,273.039337 +60480.000000,273.570007 +69120.000000,272.970001 +77760.000000,272.379608 +86400.000000,272.450012 +95040.000000,272.089996 +103680.000000,271.341187 +112320.000000,271.485687 +120960.000000,271.758057 +129600.000000,272.850006 +138240.000000,272.173279 +146880.000000,271.536163 +155520.000000,269.148346 +164160.000000,268.000977 +172800.000000,267.049988 +181440.000000,266.826202 +190080.000000,265.775482 +198720.000000,265.432251 +207360.000000,266.732880 +216000.000000,270.850006 +224640.000000,271.596008 +233280.000000,270.690002 +241920.000000,269.043457 +250560.000000,268.149994 +259200.000000,268.750000 +267840.000000,269.277679 +276480.000000,269.898651 +285120.000000,269.855591 +293760.000000,270.920410 +302400.000000,272.450012 +311040.000000,273.445190 +319680.000000,274.214264 +328320.000000,274.794281 +336960.000000,275.390808 +345600.000000,275.549988 +354240.000000,275.614014 +362880.000000,275.829987 +371520.000000,275.844879 +380160.000000,275.767242 +388800.000000,276.149994 +397440.000000,276.589996 +406080.000000,276.761047 +414720.000000,276.730011 +423360.000000,276.670807 +432000.000000,276.850006 +440640.000000,277.263611 +449280.000000,277.715332 +457920.000000,278.101990 +466560.000000,278.931915 +475200.000000,279.450012 +483840.000000,279.446625 +492480.000000,279.427917 +501120.000000,279.484924 +509760.000000,279.950012 +518400.000000,280.049988 +527040.000000,280.368011 +535680.000000,280.089996 +544320.000000,279.709991 +552960.000000,279.520050 +561600.000000,280.649994 +570240.000000,281.012878 +578880.000000,281.032013 +587520.000000,278.448120 +596160.000000,277.533051 +604800.000000,276.649994 +613440.000000,276.895874 +622080.000000,276.629211 +630720.000000,276.666962 +639360.000000,276.980255 +648000.000000,278.649994 +656640.000000,278.731689 +665280.000000,279.140503 +673920.000000,278.454651 +682560.000000,278.676178 +691200.000000,278.750000 +699840.000000,279.217987 +708480.000000,279.336273 +717120.000000,279.630798 +725760.000000,279.383270 +734400.000000,280.049988 +743040.000000,278.928558 +751680.000000,279.089996 +760320.000000,277.970001 +768960.000000,277.250732 +777600.000000,277.149994 +786240.000000,277.614014 +794880.000000,277.275452 +803520.000000,277.222809 +812160.000000,276.466003 +820800.000000,278.450012 +829440.000000,280.002319 +838080.000000,279.709991 +846720.000000,279.193085 +855360.000000,280.333191 +864000.000000,281.049988 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv new file mode 100644 index 00000000..36d32d7f --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv @@ -0,0 +1,121 @@ +x,y +-0.001000,271.421144 +0.001000,271.421144 +8640.001000,270.930480 +17279.999498,270.720462 +25919.999000,271.354671 +34559.999000,271.670050 +43199.999000,272.322038 +51839.999000,273.312376 +60479.999000,273.843577 +60480.001000,273.843577 +69120.001000,273.242971 +77760.000787,272.651988 +86399.999000,272.722462 +86400.001000,272.722462 +95040.001000,272.362086 +103680.000676,271.612528 +112319.999000,271.757173 +120959.999000,272.029815 +129599.999000,273.122856 +129600.001000,273.122856 +138240.001000,272.445452 +146880.001000,271.807699 +155520.001000,269.417494 +164160.001000,268.268978 +172800.001000,267.317038 +181440.001000,267.093029 +190080.001000,266.041258 +198719.999418,265.697683 +207359.999000,266.999613 +215999.999000,271.120856 +224639.999000,271.867604 +224640.001000,271.867604 +233280.001000,270.960692 +241920.001000,269.312500 +250560.000196,268.418144 +259199.999000,269.018750 +267839.999000,269.546957 +276479.999000,270.168550 +276480.001000,270.168550 +285119.999078,270.125446 +293759.999000,271.191331 +302399.999000,272.722462 +311039.999000,273.718636 +319679.999000,274.488478 +328319.999000,275.069075 +336959.999000,275.666199 +345599.999000,275.825538 +354239.999000,275.889628 +362879.999000,276.105817 +371519.999000,276.120724 +371520.001000,276.120724 +380159.999337,276.043010 +388799.999000,276.426144 +397439.999000,276.866586 +406079.999000,277.037808 +406080.001000,277.037808 +414720.001000,277.006741 +423359.999497,276.947478 +431999.999000,277.126856 +440639.999000,277.540874 +449279.999000,277.993047 +457919.999000,278.380092 +466559.999000,279.210847 +475199.999000,279.729462 +475200.001000,279.729462 +483840.001000,279.726071 +492479.999494,279.707345 +501119.999000,279.764409 +509759.999000,280.229962 +518399.999000,280.330038 +527039.999000,280.648379 +527040.001000,280.648379 +535680.001000,280.370086 +544320.001000,279.989701 +552959.999288,279.799570 +561599.999000,280.930644 +570239.999000,281.293891 +578879.999000,281.313045 +578880.001000,281.313045 +587520.001000,278.726568 +596160.001000,277.810584 +604800.000564,276.926644 +613439.999000,277.172770 +613440.001000,277.172770 +622080.000752,276.905841 +630719.999000,276.943629 +639359.999000,277.257235 +647999.999000,278.928644 +656639.999000,279.010421 +665279.999000,279.419643 +665280.001000,279.419643 +673920.000512,278.733106 +682559.999000,278.954854 +691199.999000,279.028750 +699839.999000,279.497205 +708479.999000,279.615609 +717119.999000,279.910429 +717120.001000,279.910429 +725759.999541,279.662654 +734399.999000,280.330038 +734400.001000,280.330038 +743040.000748,279.207487 +751679.999000,279.369086 +751680.001000,279.369086 +760320.001000,278.247971 +768960.001000,277.527983 +777599.999357,277.427144 +786239.999000,277.891628 +786240.001000,277.891628 +794880.001000,277.552727 +803520.001000,277.500032 +812159.999552,276.742470 +820799.999000,278.728462 +829439.999000,280.282322 +829440.001000,280.282322 +838080.001000,279.989701 +846719.999624,279.472278 +855359.999000,280.613524 +863999.999000,281.331038 +864000.001000,281.331038 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv new file mode 100644 index 00000000..cf92dbd6 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv @@ -0,0 +1,119 @@ +x,y +-0.001000,292.856844 +8639.999000,291.310845 +17279.999000,291.150849 +17280.001000,291.150849 +25920.001000,291.887691 +34560.001000,292.672428 +43200.001000,292.705506 +51840.000516,293.108088 +60479.999000,292.979432 +69119.999000,292.609289 +69120.001000,292.609289 +77759.999740,292.638892 +86399.999000,292.588466 +86400.001000,292.588466 +95040.001000,292.614075 +103680.001000,292.732213 +112320.000723,293.241286 +120959.999000,293.159306 +129599.999000,292.964707 +138239.999000,292.821723 +146879.999000,292.819711 +155519.999000,292.694470 +155520.001000,292.694470 +164160.001000,292.768431 +172800.001000,292.786358 +181440.000095,292.889617 +190079.999000,292.804193 +190080.001000,292.804193 +198720.000628,293.065497 +207359.999000,293.005743 +215999.999000,292.951232 +224639.999000,292.922970 +233279.999000,292.820656 +241919.999000,292.687915 +241920.001000,292.687915 +250560.001000,292.769742 +259200.001000,292.770444 +267840.000656,292.876935 +276479.999000,292.854801 +276480.001000,292.854801 +285120.000195,293.160708 +293759.999000,292.954494 +302399.999000,292.859588 +302400.001000,292.859588 +311040.000068,292.872270 +319679.999000,292.861204 +328319.999000,292.666727 +328320.001000,292.666727 +336960.001000,292.737426 +345600.001000,292.774712 +354240.001000,292.849192 +362880.001000,292.864008 +371520.000255,293.186988 +380159.999000,292.995133 +388799.999000,292.902422 +397439.999000,292.858246 +406079.999000,292.854131 +414719.999000,292.671483 +414720.001000,292.671483 +423360.001000,292.747090 +432000.001000,292.758980 +440640.001000,292.824253 +449280.001000,292.839375 +457920.000283,293.153361 +466559.999000,292.977969 +475199.999000,292.906355 +483839.999000,292.872850 +492479.999000,292.849832 +501119.999000,292.640965 +501120.001000,292.640965 +509760.001000,292.685964 +518400.001000,292.725140 +527040.001000,292.741146 +535680.001000,292.772456 +544320.000910,293.211043 +552959.999000,293.190281 +561599.999000,292.987085 +570239.999000,292.925867 +578879.999000,292.810504 +587519.999000,292.595112 +587520.001000,292.595112 +596160.001000,292.648008 +604800.001000,292.687092 +613440.001000,292.721939 +622080.001000,292.748706 +630720.001000,293.194580 +639359.999499,293.285461 +647999.999000,293.011810 +656639.999000,292.826723 +665279.999000,292.803735 +673919.999000,292.597490 +673920.001000,292.597490 +682560.001000,292.647520 +691200.001000,292.662123 +699840.000482,292.708341 +708479.999000,292.692183 +708480.001000,292.692183 +717120.001000,293.139276 +725759.999461,293.207933 +734399.999000,292.979036 +743039.999000,292.933793 +751679.999000,292.815778 +760319.999000,292.601332 +760320.001000,292.601332 +768960.001000,292.638099 +777600.001000,292.654654 +786240.000212,292.681330 +794879.999000,292.663983 +794880.001000,292.663983 +803520.001000,293.142325 +812159.999747,293.295949 +820799.999000,293.038211 +829439.999000,292.929312 +838079.999000,292.742426 +846719.999000,292.605905 +846720.001000,292.605905 +855360.001000,292.651148 +864000.001000,292.651696 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/reference.csv new file mode 100644 index 00000000..ca87a84d --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,291.602448 +17280.000000,291.442291 +25920.000000,292.179871 +34560.000000,292.965393 +43200.000000,292.998505 +51840.000000,293.401489 +60480.000000,293.272705 +69120.000000,292.902191 +77760.000000,292.931824 +86400.000000,292.881348 +95040.000000,292.906982 +103680.000000,293.025238 +112320.000000,293.534821 +120960.000000,293.452759 +129600.000000,293.257965 +138240.000000,293.114838 +146880.000000,293.112823 +155520.000000,292.987457 +164160.000000,293.061493 +172800.000000,293.079437 +181440.000000,293.182800 +190080.000000,293.097290 +198720.000000,293.358856 +207360.000000,293.299042 +216000.000000,293.244476 +224640.000000,293.216187 +233280.000000,293.113770 +241920.000000,292.980896 +250560.000000,293.062805 +259200.000000,293.063507 +267840.000000,293.170105 +276480.000000,293.147949 +285120.000000,293.454163 +293760.000000,293.247742 +302400.000000,293.152740 +311040.000000,293.165436 +319680.000000,293.154358 +328320.000000,292.959686 +336960.000000,293.030457 +345600.000000,293.067780 +354240.000000,293.142334 +362880.000000,293.157166 +371520.000000,293.480469 +380160.000000,293.288422 +388800.000000,293.195618 +397440.000000,293.151398 +406080.000000,293.147278 +414720.000000,292.964447 +423360.000000,293.040131 +432000.000000,293.052032 +440640.000000,293.117371 +449280.000000,293.132507 +457920.000000,293.446808 +466560.000000,293.271240 +475200.000000,293.199554 +483840.000000,293.166016 +492480.000000,293.142975 +501120.000000,292.933899 +509760.000000,292.978943 +518400.000000,293.018158 +527040.000000,293.034180 +535680.000000,293.065521 +544320.000000,293.504547 +552960.000000,293.483765 +561600.000000,293.280365 +570240.000000,293.219086 +578880.000000,293.103607 +587520.000000,292.888000 +596160.000000,292.940948 +604800.000000,292.980072 +613440.000000,293.014954 +622080.000000,293.041748 +630720.000000,293.488068 +639360.000000,293.579041 +648000.000000,293.305115 +656640.000000,293.119843 +665280.000000,293.096832 +673920.000000,292.890381 +682560.000000,292.940460 +691200.000000,292.955078 +699840.000000,293.001343 +708480.000000,292.985168 +717120.000000,293.432709 +725760.000000,293.501434 +734400.000000,293.272308 +743040.000000,293.227020 +751680.000000,293.108887 +760320.000000,292.894226 +768960.000000,292.931030 +777600.000000,292.947601 +786240.000000,292.974304 +794880.000000,292.956940 +803520.000000,293.435760 +812160.000000,293.589539 +820800.000000,293.331543 +829440.000000,293.222534 +838080.000000,293.035461 +846720.000000,292.898804 +855360.000000,292.944092 +864000.000000,292.944641 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/test.csv new file mode 100644 index 00000000..ca87a84d --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,291.602448 +17280.000000,291.442291 +25920.000000,292.179871 +34560.000000,292.965393 +43200.000000,292.998505 +51840.000000,293.401489 +60480.000000,293.272705 +69120.000000,292.902191 +77760.000000,292.931824 +86400.000000,292.881348 +95040.000000,292.906982 +103680.000000,293.025238 +112320.000000,293.534821 +120960.000000,293.452759 +129600.000000,293.257965 +138240.000000,293.114838 +146880.000000,293.112823 +155520.000000,292.987457 +164160.000000,293.061493 +172800.000000,293.079437 +181440.000000,293.182800 +190080.000000,293.097290 +198720.000000,293.358856 +207360.000000,293.299042 +216000.000000,293.244476 +224640.000000,293.216187 +233280.000000,293.113770 +241920.000000,292.980896 +250560.000000,293.062805 +259200.000000,293.063507 +267840.000000,293.170105 +276480.000000,293.147949 +285120.000000,293.454163 +293760.000000,293.247742 +302400.000000,293.152740 +311040.000000,293.165436 +319680.000000,293.154358 +328320.000000,292.959686 +336960.000000,293.030457 +345600.000000,293.067780 +354240.000000,293.142334 +362880.000000,293.157166 +371520.000000,293.480469 +380160.000000,293.288422 +388800.000000,293.195618 +397440.000000,293.151398 +406080.000000,293.147278 +414720.000000,292.964447 +423360.000000,293.040131 +432000.000000,293.052032 +440640.000000,293.117371 +449280.000000,293.132507 +457920.000000,293.446808 +466560.000000,293.271240 +475200.000000,293.199554 +483840.000000,293.166016 +492480.000000,293.142975 +501120.000000,292.933899 +509760.000000,292.978943 +518400.000000,293.018158 +527040.000000,293.034180 +535680.000000,293.065521 +544320.000000,293.504547 +552960.000000,293.483765 +561600.000000,293.280365 +570240.000000,293.219086 +578880.000000,293.103607 +587520.000000,292.888000 +596160.000000,292.940948 +604800.000000,292.980072 +613440.000000,293.014954 +622080.000000,293.041748 +630720.000000,293.488068 +639360.000000,293.579041 +648000.000000,293.305115 +656640.000000,293.119843 +665280.000000,293.096832 +673920.000000,292.890381 +682560.000000,292.940460 +691200.000000,292.955078 +699840.000000,293.001343 +708480.000000,292.985168 +717120.000000,293.432709 +725760.000000,293.501434 +734400.000000,293.272308 +743040.000000,293.227020 +751680.000000,293.108887 +760320.000000,292.894226 +768960.000000,292.931030 +777600.000000,292.947601 +786240.000000,292.974304 +794880.000000,292.956940 +803520.000000,293.435760 +812160.000000,293.589539 +820800.000000,293.331543 +829440.000000,293.222534 +838080.000000,293.035461 +846720.000000,292.898804 +855360.000000,292.944092 +864000.000000,292.944641 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv new file mode 100644 index 00000000..1975b2b4 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv @@ -0,0 +1,120 @@ +x,y +-0.001000,293.443144 +0.001000,293.443144 +8640.001000,291.894050 +17279.999357,291.733734 +25919.999000,292.472050 +34559.999000,293.258358 +43199.999000,293.291503 +51839.999000,293.694891 +51840.001000,293.694891 +60480.001000,293.565978 +69120.000852,293.195093 +77759.999000,293.224756 +77760.001000,293.224756 +86400.000326,293.174229 +95039.999000,293.199889 +103679.999000,293.318263 +112319.999000,293.828355 +112320.001000,293.828355 +120960.001000,293.746212 +129600.001000,293.551223 +138240.001000,293.407952 +146880.001000,293.405936 +155520.000257,293.280445 +164159.999000,293.354554 +172799.999000,293.372517 +181439.999000,293.475983 +181440.001000,293.475983 +190079.999493,293.390387 +198719.999000,293.652215 +198720.001000,293.652215 +207360.001000,293.592341 +216000.001000,293.537721 +224640.001000,293.509403 +233280.001000,293.406883 +241920.000237,293.273877 +250559.999000,293.355868 +259199.999000,293.356571 +267839.999000,293.463275 +267840.001000,293.463275 +276479.999135,293.441097 +285119.999000,293.747617 +285120.001000,293.747617 +293760.001000,293.540989 +302400.000764,293.445893 +311039.999000,293.458601 +311040.001000,293.458601 +319680.001000,293.447512 +328320.000467,293.252646 +336959.999000,293.323487 +345599.999000,293.360847 +354239.999000,293.435476 +362879.999000,293.450323 +371519.999000,293.773949 +371520.001000,293.773949 +380160.001000,293.581710 +388800.001000,293.488813 +397440.001000,293.444549 +406080.001000,293.440425 +414720.000414,293.257411 +423359.999000,293.333171 +431999.999000,293.345085 +440639.999000,293.410488 +449279.999000,293.425640 +457919.999000,293.740255 +457920.001000,293.740255 +466560.001000,293.564511 +475200.001000,293.492754 +483840.001000,293.459182 +492480.001000,293.436118 +501120.000645,293.226833 +509759.999000,293.271922 +518399.999000,293.311176 +527039.999000,293.327214 +535679.999000,293.358587 +544319.999000,293.798052 +544320.001000,293.798052 +552960.001000,293.777248 +561600.001000,293.573645 +570240.001000,293.512305 +578880.001000,293.396711 +587520.000606,293.180888 +596159.999000,293.233889 +604799.999000,293.273052 +613439.999000,293.307969 +622079.999000,293.334790 +630719.999000,293.781556 +639359.999000,293.872620 +639360.001000,293.872620 +648000.001000,293.598420 +656640.001000,293.412962 +665280.001000,293.389929 +673920.000610,293.183271 +682559.999000,293.233401 +691199.999000,293.248033 +699839.999000,293.294344 +699840.001000,293.294344 +708479.999070,293.278154 +717119.999000,293.726141 +725759.999000,293.794936 +725760.001000,293.794936 +734400.001000,293.565581 +743040.001000,293.520247 +751680.001000,293.401996 +760320.000707,293.187120 +768959.999000,293.223961 +777599.999000,293.240549 +786239.999000,293.267279 +786240.001000,293.267279 +794879.999070,293.249897 +803519.999000,293.729196 +812159.999000,293.883128 +812160.001000,293.883128 +820800.001000,293.624875 +829440.001000,293.515757 +838080.001000,293.328497 +846720.000502,293.191703 +855359.999000,293.237036 +863999.999000,293.237586 +864000.001000,293.237586 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv new file mode 100644 index 00000000..67b784ab --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv @@ -0,0 +1,53 @@ +x,y +-0.001000,-0.001000 +25920.001000,-0.001000 +34560.001000,137.254271 +43200.000581,441.990688 +51839.999000,361.117555 +60479.999000,-0.001000 +112320.001000,-0.001000 +120960.001000,311.474164 +129600.000062,1353.841711 +138239.999000,433.572433 +146879.999000,-0.001000 +198720.001000,-0.001000 +207360.001000,196.091661 +216000.000538,1177.208280 +224639.999000,882.286813 +233279.999000,-0.001000 +285120.001000,-0.001000 +293760.001000,113.163457 +302400.001000,327.922421 +311039.999096,345.262542 +319679.999000,-0.001000 +371520.001000,-0.001000 +380160.001000,78.402529 +388800.000541,408.957528 +397439.999000,310.548424 +406079.999000,-0.001000 +457920.001000,-0.001000 +466560.001000,124.984083 +475200.001000,233.325553 +483839.999514,356.613711 +492479.999000,-0.001000 +544320.001000,-0.001000 +552960.001000,226.729388 +561600.000324,653.178105 +570239.999000,435.483240 +578879.999000,-0.001000 +630720.001000,-0.001000 +639360.001000,451.682204 +647999.999894,1299.642673 +656639.999000,251.334443 +665279.999000,-0.001000 +717120.001000,-0.001000 +725760.001000,144.944815 +734400.000830,527.147000 +743039.999000,491.697690 +751679.999000,-0.001000 +803520.001000,-0.001000 +812160.001000,492.732940 +820800.000133,1390.286698 +829439.999000,703.584286 +838079.999000,-0.001000 +864000.001000,-0.001000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/reference.csv new file mode 100644 index 00000000..03b770d0 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,137.391663 +43200.000000,442.433136 +51840.000000,361.479034 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,311.785950 +129600.000000,1355.197021 +138240.000000,434.006439 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,196.287949 +216000.000000,1178.386719 +224640.000000,883.169983 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,113.276733 +302400.000000,328.250671 +311040.000000,345.608154 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,78.481010 +388800.000000,409.366913 +397440.000000,310.859283 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,125.109192 +475200.000000,233.559113 +483840.000000,356.970703 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,226.956345 +561600.000000,653.831970 +570240.000000,435.919159 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,452.134338 +648000.000000,1300.943726 +656640.000000,251.586029 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,145.089905 +734400.000000,527.674683 +743040.000000,492.189880 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,493.226166 +820800.000000,1391.678467 +829440.000000,704.288574 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/test.csv new file mode 100644 index 00000000..03b770d0 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,137.391663 +43200.000000,442.433136 +51840.000000,361.479034 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,311.785950 +129600.000000,1355.197021 +138240.000000,434.006439 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,196.287949 +216000.000000,1178.386719 +224640.000000,883.169983 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,113.276733 +302400.000000,328.250671 +311040.000000,345.608154 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,78.481010 +388800.000000,409.366913 +397440.000000,310.859283 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,125.109192 +475200.000000,233.559113 +483840.000000,356.970703 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,226.956345 +561600.000000,653.831970 +570240.000000,435.919159 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,452.134338 +648000.000000,1300.943726 +656640.000000,251.586029 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,145.089905 +734400.000000,527.674683 +743040.000000,492.189880 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,493.226166 +820800.000000,1391.678467 +829440.000000,704.288574 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv new file mode 100644 index 00000000..ae656e5d --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv @@ -0,0 +1,63 @@ +x,y +-0.001000,0.001000 +25919.999000,0.001000 +34559.999000,137.529054 +43199.999000,442.875569 +43200.001000,442.875569 +51840.001000,361.840513 +60480.001000,0.001000 +112319.999000,0.001000 +120959.999000,312.097736 +129599.999000,1356.552219 +129600.001000,1356.552219 +138240.001000,434.440446 +146880.001000,0.001000 +198719.999000,0.001000 +207359.999000,196.484237 +215999.999000,1179.565105 +216000.001000,1179.565105 +224640.001000,884.053153 +233280.001000,0.001000 +285119.999000,0.001000 +293759.999000,113.390010 +302399.999000,328.578922 +311039.999000,345.953762 +311040.001000,345.953762 +319680.001000,0.001000 +371519.999000,0.001000 +380159.999000,78.559491 +388799.999000,409.776280 +388800.001000,409.776280 +397440.001000,311.170143 +406080.001000,0.001000 +457919.999000,0.001000 +466559.999000,125.234301 +475199.999000,233.792672 +483839.999000,357.327674 +483840.001000,357.327674 +492480.001000,0.001000 +544319.999000,0.001000 +552959.999000,227.183301 +561599.999000,654.485802 +561600.001000,654.485802 +570240.001000,436.355078 +578880.001000,0.001000 +630719.999000,0.001000 +639359.999000,452.586473 +647999.999000,1302.244669 +648000.001000,1302.244669 +656640.001000,251.837615 +665280.001000,0.001000 +717119.999000,0.001000 +725759.999000,145.234995 +734399.999000,528.202357 +734400.001000,528.202357 +743040.001000,492.682070 +751680.001000,0.001000 +803519.999000,0.001000 +812159.999000,493.719392 +820799.999000,1393.070145 +820800.001000,1393.070145 +829440.001000,704.992863 +838080.001000,0.001000 +864000.001000,0.001000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv new file mode 100644 index 00000000..1bdb99e7 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv @@ -0,0 +1,128 @@ +x,y +-0.001000,2133.291575 +0.001000,2133.291575 +8640.001000,4330.572807 +17279.999119,4346.938745 +25919.999000,4088.088483 +34559.999000,3966.226337 +34560.001000,3966.226337 +43199.999876,6295.798670 +51839.999000,3308.818972 +60479.999000,3031.329650 +60480.001000,3031.329650 +69120.001000,3409.008965 +77760.000917,3670.054297 +86399.999000,3658.751405 +86400.001000,3658.751405 +95040.001000,3814.701500 +103679.999787,3959.864276 +112319.999000,3735.972934 +120959.999000,3017.120484 +129599.999000,2578.966060 +138239.999000,2266.830754 +138240.001000,2266.830754 +146880.001000,2689.402388 +155520.001000,3452.509611 +164160.001000,3993.337382 +172800.001000,4515.618045 +181440.000720,4804.389035 +190079.999000,4757.399459 +198719.999000,4708.137248 +207359.999000,3808.750425 +207360.001000,3808.750425 +215999.999799,6418.146843 +224639.999000,2492.544023 +224640.001000,2492.544023 +233280.001000,2955.506135 +241920.001000,3705.868059 +250560.000683,4124.375875 +259199.999000,4045.610740 +259200.001000,4045.610740 +267839.999852,4194.333187 +276479.999000,3994.058828 +285119.999000,3664.742478 +293759.999000,3133.963485 +293760.001000,3133.963485 +302399.999758,4160.796805 +311039.999000,2478.502659 +319679.999000,2370.438712 +319680.001000,2370.438712 +328320.001000,2491.471367 +336960.001000,2574.273979 +345600.001000,2653.751795 +354239.999910,2683.831057 +362879.999000,2647.795355 +371519.999000,2472.977916 +380159.999000,2075.006656 +380160.001000,2075.006656 +388799.999760,2529.469886 +397439.999000,1788.513529 +406079.999000,1788.363777 +406080.001000,1788.363777 +414720.001000,2048.277553 +423360.001000,2244.993238 +432000.000002,5221.534125 +440639.999000,2253.975702 +449279.999000,2200.941875 +457919.999000,1969.666180 +466559.999000,1556.603338 +466560.001000,1556.603338 +475199.999742,1822.433150 +483839.999000,1371.866750 +492479.999000,1347.871482 +492480.001000,1347.871482 +501120.001000,1610.599214 +509760.001000,1738.873400 +518400.000489,1889.734342 +527039.999000,1837.996102 +527040.001000,1837.996102 +535680.001000,1955.473477 +544319.999931,4509.906649 +552959.999000,1574.363880 +561599.999000,1263.245500 +561600.001000,1263.245500 +570239.999066,1304.169735 +578879.999000,111.987319 +578880.001000,111.987319 +587520.001000,1893.175242 +596160.000161,4122.398649 +604799.999000,2511.082839 +604800.001000,2511.082839 +613440.001000,2536.283443 +622080.001000,2631.209175 +630719.999856,4607.078965 +639359.999000,1967.763909 +647999.999000,1302.606978 +648000.001000,1302.606978 +656639.999611,1315.361420 +665279.999000,1286.393105 +665280.001000,1286.393105 +673920.001000,1874.077660 +682560.000063,4158.266034 +691199.999000,2143.119628 +699839.999000,2078.894366 +699840.001000,2078.894366 +708480.001000,2110.056532 +717119.999936,4718.303507 +725759.999000,1751.059078 +734399.999000,1367.374543 +734400.001000,1367.374543 +743040.001000,1406.930162 +751680.001000,1446.881748 +760320.001000,1931.451625 +768960.000157,4113.191072 +777599.999000,2521.973305 +786239.999000,2437.252690 +786240.001000,2437.252690 +794880.001000,2568.804113 +803519.999930,4609.353553 +812159.999000,2261.542102 +820799.999000,1322.723194 +820800.001000,1322.723194 +829440.001000,1372.045892 +838080.000386,1914.608217 +846719.999000,1674.229124 +846720.001000,1674.229124 +855360.000000,4252.949038 +863999.999000,1673.918400 +864000.001000,1673.918400 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/reference.csv new file mode 100644 index 00000000..163512a6 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,2135.427002 +8640.000000,4334.907715 +17280.000000,4351.290039 +25920.000000,4092.180664 +34560.000000,3970.196533 +43200.000000,6302.101074 +51840.000000,3312.131104 +60480.000000,3034.364014 +69120.000000,3412.421387 +77760.000000,3673.728027 +86400.000000,3662.413818 +95040.000000,3818.520020 +103680.000000,3963.828125 +112320.000000,3739.712646 +120960.000000,3020.140625 +129600.000000,2581.547607 +138240.000000,2269.099854 +146880.000000,2692.094482 +155520.000000,3455.965576 +164160.000000,3997.334717 +172800.000000,4520.138184 +181440.000000,4809.198242 +190080.000000,4762.161621 +198720.000000,4712.850098 +207360.000000,3812.562988 +216000.000000,6424.571777 +224640.000000,2495.039062 +233280.000000,2958.464600 +241920.000000,3709.577637 +250560.000000,4128.504395 +259200.000000,4049.660400 +267840.000000,4198.531738 +276480.000000,3998.056885 +285120.000000,3668.410889 +293760.000000,3137.100586 +302400.000000,4164.961914 +311040.000000,2480.983643 +319680.000000,2372.811523 +328320.000000,2493.965332 +336960.000000,2576.850830 +345600.000000,2656.408203 +354240.000000,2686.517578 +362880.000000,2650.445801 +371520.000000,2475.453369 +380160.000000,2077.083740 +388800.000000,2532.001953 +397440.000000,1790.303833 +406080.000000,1790.153931 +414720.000000,2050.327881 +423360.000000,2247.240479 +432000.000000,5226.761230 +440640.000000,2256.231934 +449280.000000,2203.145020 +457920.000000,1971.637817 +466560.000000,1558.161499 +475200.000000,1824.257446 +483840.000000,1373.239990 +492480.000000,1349.220703 +501120.000000,1612.211426 +509760.000000,1740.614014 +518400.000000,1891.625977 +527040.000000,1839.835938 +535680.000000,1957.430908 +544320.000000,4514.421387 +552960.000000,1575.939819 +561600.000000,1264.510010 +570240.000000,1305.475220 +578880.000000,112.099419 +587520.000000,1895.070312 +596160.000000,4126.525391 +604800.000000,2513.596436 +613440.000000,2538.822266 +622080.000000,2633.843018 +630720.000000,4611.690918 +639360.000000,1969.733643 +648000.000000,1303.910889 +656640.000000,1316.678101 +665280.000000,1287.680786 +673920.000000,1875.953613 +682560.000000,4162.428711 +691200.000000,2145.264893 +699840.000000,2080.975342 +708480.000000,2112.168701 +717120.000000,4723.026855 +725760.000000,1752.811890 +734400.000000,1368.743286 +743040.000000,1408.338501 +751680.000000,1448.330078 +760320.000000,1933.385010 +768960.000000,4117.308594 +777600.000000,2524.497803 +786240.000000,2439.692383 +794880.000000,2571.375488 +803520.000000,4613.967773 +812160.000000,2263.805908 +820800.000000,1324.047241 +829440.000000,1373.419312 +838080.000000,1916.524780 +846720.000000,1675.905029 +855360.000000,4257.206543 +864000.000000,1675.593994 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/test.csv new file mode 100644 index 00000000..163512a6 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,2135.427002 +8640.000000,4334.907715 +17280.000000,4351.290039 +25920.000000,4092.180664 +34560.000000,3970.196533 +43200.000000,6302.101074 +51840.000000,3312.131104 +60480.000000,3034.364014 +69120.000000,3412.421387 +77760.000000,3673.728027 +86400.000000,3662.413818 +95040.000000,3818.520020 +103680.000000,3963.828125 +112320.000000,3739.712646 +120960.000000,3020.140625 +129600.000000,2581.547607 +138240.000000,2269.099854 +146880.000000,2692.094482 +155520.000000,3455.965576 +164160.000000,3997.334717 +172800.000000,4520.138184 +181440.000000,4809.198242 +190080.000000,4762.161621 +198720.000000,4712.850098 +207360.000000,3812.562988 +216000.000000,6424.571777 +224640.000000,2495.039062 +233280.000000,2958.464600 +241920.000000,3709.577637 +250560.000000,4128.504395 +259200.000000,4049.660400 +267840.000000,4198.531738 +276480.000000,3998.056885 +285120.000000,3668.410889 +293760.000000,3137.100586 +302400.000000,4164.961914 +311040.000000,2480.983643 +319680.000000,2372.811523 +328320.000000,2493.965332 +336960.000000,2576.850830 +345600.000000,2656.408203 +354240.000000,2686.517578 +362880.000000,2650.445801 +371520.000000,2475.453369 +380160.000000,2077.083740 +388800.000000,2532.001953 +397440.000000,1790.303833 +406080.000000,1790.153931 +414720.000000,2050.327881 +423360.000000,2247.240479 +432000.000000,5226.761230 +440640.000000,2256.231934 +449280.000000,2203.145020 +457920.000000,1971.637817 +466560.000000,1558.161499 +475200.000000,1824.257446 +483840.000000,1373.239990 +492480.000000,1349.220703 +501120.000000,1612.211426 +509760.000000,1740.614014 +518400.000000,1891.625977 +527040.000000,1839.835938 +535680.000000,1957.430908 +544320.000000,4514.421387 +552960.000000,1575.939819 +561600.000000,1264.510010 +570240.000000,1305.475220 +578880.000000,112.099419 +587520.000000,1895.070312 +596160.000000,4126.525391 +604800.000000,2513.596436 +613440.000000,2538.822266 +622080.000000,2633.843018 +630720.000000,4611.690918 +639360.000000,1969.733643 +648000.000000,1303.910889 +656640.000000,1316.678101 +665280.000000,1287.680786 +673920.000000,1875.953613 +682560.000000,4162.428711 +691200.000000,2145.264893 +699840.000000,2080.975342 +708480.000000,2112.168701 +717120.000000,4723.026855 +725760.000000,1752.811890 +734400.000000,1368.743286 +743040.000000,1408.338501 +751680.000000,1448.330078 +760320.000000,1933.385010 +768960.000000,4117.308594 +777600.000000,2524.497803 +786240.000000,2439.692383 +794880.000000,2571.375488 +803520.000000,4613.967773 +812160.000000,2263.805908 +820800.000000,1324.047241 +829440.000000,1373.419312 +838080.000000,1916.524780 +846720.000000,1675.905029 +855360.000000,4257.206543 +864000.000000,1675.593994 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv new file mode 100644 index 00000000..a99d33da --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv @@ -0,0 +1,127 @@ +x,y +-0.001000,2137.562429 +8639.999000,4339.242623 +17279.999000,4355.641329 +17280.001000,4355.641329 +25920.001000,4096.272845 +34559.999099,3974.166757 +43199.999000,6308.403175 +43200.001000,6308.403175 +51840.001000,3315.443235 +60479.999847,3037.398415 +69119.999000,3415.833808 +77759.999000,3677.401755 +77760.001000,3677.401755 +86399.999135,3666.076235 +95039.999000,3822.338540 +103679.999000,3967.791953 +103680.001000,3967.791953 +112320.001000,3743.452359 +120960.001000,3023.160766 +129600.001000,2584.129155 +138239.999850,2271.368995 +146879.999000,2694.786577 +155519.999000,3459.421542 +164159.999000,4001.332052 +172799.999000,4524.658322 +181439.999000,4814.007440 +181440.001000,4814.007440 +190080.001000,4766.923783 +198720.001000,4717.562948 +207359.999513,3816.375706 +215999.999000,6430.996349 +216000.001000,6430.996349 +224640.000789,2497.534198 +233279.999000,2961.423064 +241919.999000,3713.287214 +250559.999000,4132.632899 +250560.001000,4132.632899 +259199.999692,4053.710073 +267839.999000,4202.730270 +267840.001000,4202.730270 +276480.001000,4002.054942 +285120.001000,3672.079300 +293759.999682,3140.237768 +302399.999000,4169.126876 +302400.001000,4169.126876 +311040.001000,2483.464626 +319679.999943,2375.184348 +328319.999000,2496.459297 +336959.999000,2579.427681 +345599.999000,2659.064611 +354239.999000,2689.204096 +354240.001000,2689.204096 +362880.001000,2653.096247 +371520.001000,2477.928823 +380159.999934,2079.160873 +388799.999000,2534.533955 +388800.001000,2534.533955 +397440.001000,1792.094137 +406079.999001,1791.944085 +414719.999000,2052.378209 +423359.999000,2249.487719 +431999.999000,5231.987992 +432000.001000,5231.987992 +440640.001000,2258.488166 +449280.001000,2205.348165 +457920.001000,1973.609455 +466560.000217,1559.719698 +475199.999000,1826.081704 +475200.001000,1826.081704 +483840.001000,1374.613230 +492479.999167,1350.569929 +501119.999000,1613.823637 +509759.999000,1742.354628 +518399.999000,1893.517603 +518400.001000,1893.517603 +527039.999612,1841.675782 +535679.999000,1959.388339 +544319.999000,4518.935808 +544320.001000,4518.935808 +552960.001000,1577.515759 +561600.000768,1265.774528 +570239.999000,1306.780695 +570240.001000,1306.780695 +578879.999802,112.211684 +587519.999000,1896.965383 +596159.999000,4130.651916 +596160.001000,4130.651916 +604800.000969,2516.110038 +613439.999000,2541.361088 +622079.999000,2636.476861 +630719.999000,4616.302609 +630720.001000,4616.302609 +639360.001000,1971.703376 +648000.000962,1305.214802 +656639.999000,1317.994779 +656640.001000,1317.994779 +665279.999094,1288.968473 +673919.999000,1877.829567 +682559.999000,4166.591140 +682560.001000,4166.591140 +691200.001000,2147.410157 +699840.000347,2083.056322 +708479.999000,2114.280870 +717119.999000,4727.749882 +717120.001000,4727.749882 +725760.001000,1754.564702 +734400.000813,1370.112038 +743039.999000,1409.746839 +751679.999000,1449.778408 +760319.999000,1935.318395 +768959.999000,4121.425902 +768960.001000,4121.425902 +777600.001000,2527.022301 +786239.999783,2442.132087 +794879.999000,2573.946864 +803519.999000,4618.581741 +803520.001000,4618.581741 +812160.001000,2266.069714 +820800.000900,1325.371299 +829439.999000,1374.792731 +838079.999000,1918.441305 +838080.001000,1918.441305 +846719.999171,1677.580985 +855359.999000,4261.463750 +855360.001000,4261.463750 +864000.001000,1677.269588 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv new file mode 100644 index 00000000..87c914a4 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv @@ -0,0 +1,130 @@ +x,y +-0.001000,292.856844 +0.001000,292.856844 +8640.001000,321.385050 +17279.999717,321.713761 +25919.999000,321.125453 +34559.999000,320.709457 +43199.999000,316.000578 +43200.001000,316.000578 +51840.000755,319.438725 +60479.999000,318.958676 +60480.001000,318.958676 +69120.001000,319.347020 +77760.000741,319.784601 +86399.999000,319.719481 +86400.001000,319.719481 +95040.001000,320.007705 +103680.001000,320.839027 +112320.001000,320.960944 +120959.999200,321.088685 +129599.999000,319.936427 +129600.001000,319.936427 +138240.001000,320.660921 +146880.001000,321.075027 +155520.001000,323.633471 +164160.001000,324.912006 +172800.000731,325.777930 +181439.999000,325.643300 +190079.999000,325.524827 +198719.999000,325.140294 +198720.001000,325.140294 +207359.999468,326.671018 +215999.999000,321.664799 +224639.999000,321.277857 +224640.001000,321.277857 +233280.001000,322.071862 +241920.001000,323.706396 +250560.000233,324.709176 +259199.999000,324.085014 +267839.999000,323.370245 +276479.999000,322.733127 +276480.001000,322.733127 +285119.999481,323.106563 +293759.999000,321.927049 +302399.999000,317.988883 +302400.001000,317.988883 +311040.000226,319.329155 +319679.999000,318.483108 +328319.999000,317.787089 +336959.999000,317.120215 +345599.999000,316.879154 +354239.999000,316.795680 +362879.999000,316.549375 +362880.001000,316.549375 +371520.001000,316.685317 +380159.999619,316.911897 +388799.999000,316.406147 +397439.999000,316.007773 +406079.999000,315.794455 +414719.999000,315.755858 +414720.001000,315.755858 +423359.999061,315.791071 +431999.999000,314.663049 +432000.001000,314.663049 +440640.000007,315.171543 +449279.999000,314.670580 +457919.999000,314.402507 +466559.999000,313.583624 +475199.999000,313.195311 +483839.999000,313.017602 +483840.001000,313.017602 +492479.999484,313.067265 +501119.999000,312.911690 +509759.999000,312.362526 +509760.001000,312.362526 +518399.999136,312.409476 +527039.999000,311.765041 +527040.001000,311.765041 +535680.001000,311.939305 +544320.001000,312.407708 +552960.000083,313.012205 +561599.999000,312.500846 +561600.001000,312.500846 +570240.000608,314.018278 +578879.999000,313.648653 +578880.001000,313.648653 +587520.001000,313.885660 +596160.001000,314.514486 +604800.000477,315.658330 +613439.999000,315.253126 +613440.001000,315.253126 +622080.000774,315.495438 +630719.999000,315.464585 +630720.001000,315.464585 +639359.999368,315.702810 +647999.999000,314.646129 +648000.001000,314.646129 +656639.999604,315.195018 +665279.999000,313.925049 +673919.999000,313.895050 +682559.999000,313.427958 +682560.001000,313.427958 +691199.999035,313.437561 +699839.999000,312.894952 +708479.999000,312.682884 +717119.999000,312.357679 +717120.001000,312.357679 +725760.000015,313.018059 +734399.999000,312.377495 +734400.001000,312.377495 +743040.000553,313.741212 +751679.999000,313.348905 +751680.001000,313.348905 +760320.001000,314.468755 +768960.001000,314.697073 +777599.999710,314.989627 +786239.999000,314.458146 +786240.001000,314.458146 +794880.001000,314.727651 +803520.001000,314.825180 +812160.000422,316.012468 +820799.999000,315.529431 +820800.001000,315.529431 +829439.999530,316.997535 +838079.999000,312.921354 +838080.001000,312.921354 +846719.999362,313.215493 +855359.999000,311.885160 +863999.999000,311.139904 +864000.001000,311.139904 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv new file mode 100644 index 00000000..d24c07e4 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,321.706757 +17280.000000,322.035797 +25920.000000,321.446899 +34560.000000,321.030487 +43200.000000,316.316895 +51840.000000,319.758484 +60480.000000,319.277954 +69120.000000,319.666687 +77760.000000,320.104706 +86400.000000,320.039520 +95040.000000,320.328033 +103680.000000,321.160187 +112320.000000,321.282227 +120960.000000,321.410095 +129600.000000,320.256683 +138240.000000,320.981903 +146880.000000,321.396423 +155520.000000,323.957428 +164160.000000,325.237244 +172800.000000,326.104034 +181440.000000,325.969269 +190080.000000,325.850677 +198720.000000,325.465759 +207360.000000,326.998016 +216000.000000,321.986786 +224640.000000,321.599457 +233280.000000,322.394257 +241920.000000,324.030426 +250560.000000,325.034210 +259200.000000,324.409424 +267840.000000,323.693939 +276480.000000,323.056183 +285120.000000,323.429993 +293760.000000,322.249298 +302400.000000,318.307190 +311040.000000,319.648804 +319680.000000,318.801910 +328320.000000,318.105194 +336960.000000,317.437653 +345600.000000,317.196350 +354240.000000,317.112793 +362880.000000,316.866241 +371520.000000,317.002319 +380160.000000,317.229126 +388800.000000,316.722870 +397440.000000,316.324097 +406080.000000,316.110565 +414720.000000,316.071930 +423360.000000,316.107178 +432000.000000,314.978027 +440640.000000,315.487030 +449280.000000,314.985565 +457920.000000,314.717224 +466560.000000,313.897522 +475200.000000,313.508820 +483840.000000,313.330933 +492480.000000,313.380646 +501120.000000,313.224915 +509760.000000,312.675201 +518400.000000,312.722198 +527040.000000,312.077118 +535680.000000,312.251556 +544320.000000,312.720428 +552960.000000,313.325531 +561600.000000,312.813660 +570240.000000,314.332611 +578880.000000,313.962616 +587520.000000,314.199860 +596160.000000,314.829315 +604800.000000,315.974304 +613440.000000,315.568695 +622080.000000,315.811249 +630720.000000,315.780365 +639360.000000,316.018829 +648000.000000,314.961090 +656640.000000,315.510529 +665280.000000,314.239288 +673920.000000,314.209259 +682560.000000,313.741699 +691200.000000,313.751312 +699840.000000,313.208160 +708480.000000,312.995880 +717120.000000,312.670349 +725760.000000,313.331390 +734400.000000,312.690186 +743040.000000,314.055267 +751680.000000,313.662567 +760320.000000,314.783539 +768960.000000,315.012085 +777600.000000,315.304932 +786240.000000,314.772919 +794880.000000,315.042694 +803520.000000,315.140320 +812160.000000,316.328796 +820800.000000,315.845276 +829440.000000,317.314850 +838080.000000,313.234589 +846720.000000,313.529022 +855360.000000,312.197357 +864000.000000,311.451355 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv new file mode 100644 index 00000000..d24c07e4 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,321.706757 +17280.000000,322.035797 +25920.000000,321.446899 +34560.000000,321.030487 +43200.000000,316.316895 +51840.000000,319.758484 +60480.000000,319.277954 +69120.000000,319.666687 +77760.000000,320.104706 +86400.000000,320.039520 +95040.000000,320.328033 +103680.000000,321.160187 +112320.000000,321.282227 +120960.000000,321.410095 +129600.000000,320.256683 +138240.000000,320.981903 +146880.000000,321.396423 +155520.000000,323.957428 +164160.000000,325.237244 +172800.000000,326.104034 +181440.000000,325.969269 +190080.000000,325.850677 +198720.000000,325.465759 +207360.000000,326.998016 +216000.000000,321.986786 +224640.000000,321.599457 +233280.000000,322.394257 +241920.000000,324.030426 +250560.000000,325.034210 +259200.000000,324.409424 +267840.000000,323.693939 +276480.000000,323.056183 +285120.000000,323.429993 +293760.000000,322.249298 +302400.000000,318.307190 +311040.000000,319.648804 +319680.000000,318.801910 +328320.000000,318.105194 +336960.000000,317.437653 +345600.000000,317.196350 +354240.000000,317.112793 +362880.000000,316.866241 +371520.000000,317.002319 +380160.000000,317.229126 +388800.000000,316.722870 +397440.000000,316.324097 +406080.000000,316.110565 +414720.000000,316.071930 +423360.000000,316.107178 +432000.000000,314.978027 +440640.000000,315.487030 +449280.000000,314.985565 +457920.000000,314.717224 +466560.000000,313.897522 +475200.000000,313.508820 +483840.000000,313.330933 +492480.000000,313.380646 +501120.000000,313.224915 +509760.000000,312.675201 +518400.000000,312.722198 +527040.000000,312.077118 +535680.000000,312.251556 +544320.000000,312.720428 +552960.000000,313.325531 +561600.000000,312.813660 +570240.000000,314.332611 +578880.000000,313.962616 +587520.000000,314.199860 +596160.000000,314.829315 +604800.000000,315.974304 +613440.000000,315.568695 +622080.000000,315.811249 +630720.000000,315.780365 +639360.000000,316.018829 +648000.000000,314.961090 +656640.000000,315.510529 +665280.000000,314.239288 +673920.000000,314.209259 +682560.000000,313.741699 +691200.000000,313.751312 +699840.000000,313.208160 +708480.000000,312.995880 +717120.000000,312.670349 +725760.000000,313.331390 +734400.000000,312.690186 +743040.000000,314.055267 +751680.000000,313.662567 +760320.000000,314.783539 +768960.000000,315.012085 +777600.000000,315.304932 +786240.000000,314.772919 +794880.000000,315.042694 +803520.000000,315.140320 +812160.000000,316.328796 +820800.000000,315.845276 +829440.000000,317.314850 +838080.000000,313.234589 +846720.000000,313.529022 +855360.000000,312.197357 +864000.000000,311.451355 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv new file mode 100644 index 00000000..cd5e735e --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv @@ -0,0 +1,129 @@ +x,y +-0.001000,293.443144 +8639.999000,322.028463 +17279.999000,322.357833 +17280.001000,322.357833 +25920.001000,321.768346 +34560.001000,321.351518 +43200.000156,316.633212 +51839.999000,320.078242 +51840.001000,320.078242 +60480.000106,319.597232 +69119.999000,319.986354 +77759.999000,320.424811 +77760.001000,320.424811 +86399.999369,320.359560 +95039.999000,320.648361 +103679.999000,321.481347 +112319.999000,321.603509 +120959.999000,321.731505 +120960.001000,321.731505 +129600.000228,320.576940 +138239.999000,321.302885 +146879.999000,321.717820 +155519.999000,324.281385 +164159.999000,325.562481 +172799.999000,326.430138 +172800.001000,326.430138 +181440.001000,326.295238 +190080.001000,326.176528 +198719.999402,325.791225 +207359.999000,327.325014 +207360.001000,327.325014 +216000.001000,322.308773 +224639.999655,321.921056 +233279.999000,322.716651 +241919.999000,324.354456 +250559.999000,325.359244 +250560.001000,325.359244 +259200.001000,324.733833 +267840.001000,324.017633 +276480.000261,323.379239 +285119.999000,323.753423 +285120.001000,323.753423 +293760.001000,322.571547 +302400.000492,318.625497 +311039.999000,319.968453 +311040.001000,319.968453 +319680.001000,319.120712 +328320.001000,318.423299 +336960.001000,317.755090 +345600.001000,317.513546 +354240.001000,317.429906 +362880.000289,317.183108 +371519.999000,317.319322 +380159.999000,317.546355 +380160.001000,317.546355 +388800.001000,317.039593 +397440.001000,316.640421 +406080.001000,316.426676 +414720.000046,316.388002 +423359.999000,316.423285 +423360.001000,316.423285 +432000.000379,315.293005 +440639.999000,315.802517 +440640.001000,315.802517 +449280.001000,315.300551 +457920.001000,315.031941 +466560.001000,314.211419 +475200.001000,313.822328 +483840.000563,313.644264 +492479.999000,313.694026 +492480.001000,313.694026 +501120.001000,313.538139 +509760.000842,312.987877 +518399.999000,313.034921 +518400.001000,313.034921 +527040.000574,312.389195 +535679.999000,312.563808 +544319.999000,313.033149 +552959.999000,313.638857 +552960.001000,313.638857 +561599.999504,313.126473 +570239.999000,314.646944 +570240.001000,314.646944 +578880.000219,314.276579 +587519.999000,314.514059 +596159.999000,315.144145 +604799.999000,316.290279 +604800.001000,316.290279 +613440.000252,315.884264 +622079.999000,316.127060 +622080.001000,316.127060 +630719.999229,316.096145 +639359.999000,316.334848 +639360.001000,316.334848 +648000.000316,315.276051 +656639.999000,315.826039 +656640.001000,315.826039 +665280.001000,314.553528 +673920.001000,314.523468 +682560.000960,314.055441 +691199.999000,314.065064 +691200.001000,314.065064 +699840.001000,313.521369 +708480.001000,313.308876 +717119.999660,312.983020 +725759.999000,313.644722 +725760.001000,313.644722 +734399.999639,313.002876 +743039.999000,314.369323 +743040.001000,314.369323 +751679.999519,313.976230 +760319.999000,315.098322 +768959.999000,315.327097 +777599.999000,315.620237 +777600.001000,315.620237 +786240.000327,315.087692 +794879.999000,315.357737 +803519.999000,315.455460 +812159.999000,316.645125 +812160.001000,316.645125 +820799.999495,316.161121 +829439.999000,317.632165 +829440.001000,317.632165 +838080.000865,313.547823 +846719.999000,313.842551 +846720.001000,313.842551 +855360.001000,312.509555 +864000.001000,311.762806 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv new file mode 100644 index 00000000..af501f0b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv @@ -0,0 +1,123 @@ +x,y +-0.001000,322.826844 +0.001000,322.826844 +8640.000783,332.083508 +17279.999000,330.954786 +25919.999000,328.455182 +34559.999000,325.073100 +34560.001000,325.073100 +43200.001000,328.475761 +51840.000386,331.746687 +60479.999000,330.296997 +69119.999000,328.689201 +77759.999000,320.354343 +86399.999000,318.575240 +86400.001000,318.575240 +95040.000845,332.203322 +103679.999000,331.059204 +112319.999000,328.013059 +120959.999000,324.430463 +120960.001000,324.430463 +129600.000707,333.080801 +138239.999000,331.595807 +146879.999000,330.135995 +155519.999000,328.491187 +164159.999000,319.908440 +172799.999000,318.130526 +172800.001000,318.130526 +181440.000850,332.195091 +190079.999000,331.056399 +198719.999000,328.197963 +207359.999000,324.679146 +207360.001000,324.679146 +216000.001000,329.638202 +224640.000189,331.743791 +233279.999000,330.307972 +241919.999000,328.719170 +250559.999000,320.444768 +259199.999000,318.665787 +259200.001000,318.665787 +267840.000845,332.194389 +276479.999000,331.054204 +285119.999000,328.144641 +293759.999000,324.606892 +293760.001000,324.606892 +302400.000705,333.189761 +311039.999000,331.702938 +319679.999000,330.255108 +328319.999000,328.647525 +336959.999000,320.304680 +345599.999000,318.526248 +345600.001000,318.526248 +354240.000845,332.195091 +362879.999000,331.048046 +371519.999000,327.904189 +380159.999000,324.289705 +380160.001000,324.289705 +388800.000705,333.052295 +397439.999000,331.534893 +406079.999000,330.034656 +414719.999000,328.332502 +423359.999000,319.548326 +423360.001000,319.548326 +432000.001000,320.123404 +440640.000826,332.122867 +449279.999000,330.977102 +457919.999000,327.818338 +466559.999000,324.202725 +466560.001000,324.202725 +475200.000700,332.948609 +483839.999000,331.405720 +492479.999000,329.874324 +501119.999000,328.130129 +509759.999000,319.219401 +509760.001000,319.219401 +518400.000786,327.895592 +527039.999000,326.857569 +535679.999000,325.858508 +544319.999000,322.177927 +544320.001000,322.177927 +552960.000684,331.138927 +561599.999000,329.457048 +570239.999000,327.746937 +578879.999000,325.866678 +587519.999000,323.509205 +596159.999000,313.100709 +596160.001000,313.100709 +604800.000867,327.289113 +613439.999000,326.279229 +622079.999000,325.306936 +630719.999000,322.006955 +630720.001000,322.006955 +639360.000695,331.208743 +647999.999000,329.555674 +656639.999000,327.868398 +665279.999000,326.008839 +673919.999000,323.673378 +682559.999000,313.212871 +682560.001000,313.212871 +691200.000866,327.285210 +699839.999000,326.273802 +708479.999000,325.300046 +717119.999000,321.858331 +717120.001000,321.858331 +725760.000694,331.148195 +734399.999000,329.470371 +743039.999000,327.762851 +751679.999000,325.883720 +760319.999000,323.528107 +768959.999000,313.086106 +768960.001000,313.086106 +777600.000867,327.290790 +786239.999000,326.280875 +794879.999000,325.308552 +803519.999000,321.996742 +803520.001000,321.996742 +812160.000695,331.200572 +820799.999000,329.544058 +829439.999000,327.853855 +838079.999000,325.992498 +846719.999000,323.653257 +855359.999000,313.393964 +855360.001000,313.393964 +864000.001000,327.277497 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv new file mode 100644 index 00000000..ed826d72 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,323.149994 +8640.000000,332.415924 +17280.000000,331.286072 +25920.000000,328.783966 +34560.000000,325.398499 +43200.000000,328.804565 +51840.000000,332.078766 +60480.000000,330.627625 +69120.000000,329.018219 +77760.000000,320.675018 +86400.000000,318.894135 +95040.000000,332.535858 +103680.000000,331.390594 +112320.000000,328.341400 +120960.000000,324.755219 +129600.000000,333.414215 +138240.000000,331.927734 +146880.000000,330.466461 +155520.000000,328.820007 +164160.000000,320.228668 +172800.000000,318.448975 +181440.000000,332.527618 +190080.000000,331.387787 +198720.000000,328.526489 +207360.000000,325.004150 +216000.000000,329.968170 +224640.000000,332.075867 +233280.000000,330.638611 +241920.000000,329.048218 +250560.000000,320.765533 +259200.000000,318.984772 +267840.000000,332.526917 +276480.000000,331.385590 +285120.000000,328.473114 +293760.000000,324.931824 +302400.000000,333.523285 +311040.000000,332.034973 +319680.000000,330.585693 +328320.000000,328.976501 +336960.000000,320.625305 +345600.000000,318.845093 +354240.000000,332.527618 +362880.000000,331.379425 +371520.000000,328.232422 +380160.000000,324.614319 +388800.000000,333.385681 +397440.000000,331.866760 +406080.000000,330.365021 +414720.000000,328.661163 +423360.000000,319.868195 +432000.000000,320.443848 +440640.000000,332.455322 +449280.000000,331.308411 +457920.000000,328.146484 +466560.000000,324.527252 +475200.000000,333.281891 +483840.000000,331.737457 +492480.000000,330.204529 +501120.000000,328.458588 +509760.000000,319.538940 +518400.000000,328.223816 +527040.000000,327.184753 +535680.000000,326.184692 +544320.000000,322.500427 +552960.000000,331.470398 +561600.000000,329.786835 +570240.000000,328.075012 +578880.000000,326.192871 +587520.000000,323.833038 +596160.000000,313.414124 +604800.000000,327.616730 +613440.000000,326.605835 +622080.000000,325.632568 +630720.000000,322.329285 +639360.000000,331.540283 +648000.000000,329.885559 +656640.000000,328.196594 +665280.000000,326.335175 +673920.000000,323.997375 +682560.000000,313.526398 +691200.000000,327.612823 +699840.000000,326.600403 +708480.000000,325.625671 +717120.000000,322.180511 +725760.000000,331.479675 +734400.000000,329.800171 +743040.000000,328.090942 +751680.000000,326.209930 +760320.000000,323.851959 +768960.000000,313.399506 +777600.000000,327.618408 +786240.000000,326.607483 +794880.000000,325.634186 +803520.000000,322.319061 +812160.000000,331.532104 +820800.000000,329.873932 +829440.000000,328.182037 +838080.000000,326.318817 +846720.000000,323.977234 +855360.000000,313.707672 +864000.000000,327.605103 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv new file mode 100644 index 00000000..ed826d72 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,323.149994 +8640.000000,332.415924 +17280.000000,331.286072 +25920.000000,328.783966 +34560.000000,325.398499 +43200.000000,328.804565 +51840.000000,332.078766 +60480.000000,330.627625 +69120.000000,329.018219 +77760.000000,320.675018 +86400.000000,318.894135 +95040.000000,332.535858 +103680.000000,331.390594 +112320.000000,328.341400 +120960.000000,324.755219 +129600.000000,333.414215 +138240.000000,331.927734 +146880.000000,330.466461 +155520.000000,328.820007 +164160.000000,320.228668 +172800.000000,318.448975 +181440.000000,332.527618 +190080.000000,331.387787 +198720.000000,328.526489 +207360.000000,325.004150 +216000.000000,329.968170 +224640.000000,332.075867 +233280.000000,330.638611 +241920.000000,329.048218 +250560.000000,320.765533 +259200.000000,318.984772 +267840.000000,332.526917 +276480.000000,331.385590 +285120.000000,328.473114 +293760.000000,324.931824 +302400.000000,333.523285 +311040.000000,332.034973 +319680.000000,330.585693 +328320.000000,328.976501 +336960.000000,320.625305 +345600.000000,318.845093 +354240.000000,332.527618 +362880.000000,331.379425 +371520.000000,328.232422 +380160.000000,324.614319 +388800.000000,333.385681 +397440.000000,331.866760 +406080.000000,330.365021 +414720.000000,328.661163 +423360.000000,319.868195 +432000.000000,320.443848 +440640.000000,332.455322 +449280.000000,331.308411 +457920.000000,328.146484 +466560.000000,324.527252 +475200.000000,333.281891 +483840.000000,331.737457 +492480.000000,330.204529 +501120.000000,328.458588 +509760.000000,319.538940 +518400.000000,328.223816 +527040.000000,327.184753 +535680.000000,326.184692 +544320.000000,322.500427 +552960.000000,331.470398 +561600.000000,329.786835 +570240.000000,328.075012 +578880.000000,326.192871 +587520.000000,323.833038 +596160.000000,313.414124 +604800.000000,327.616730 +613440.000000,326.605835 +622080.000000,325.632568 +630720.000000,322.329285 +639360.000000,331.540283 +648000.000000,329.885559 +656640.000000,328.196594 +665280.000000,326.335175 +673920.000000,323.997375 +682560.000000,313.526398 +691200.000000,327.612823 +699840.000000,326.600403 +708480.000000,325.625671 +717120.000000,322.180511 +725760.000000,331.479675 +734400.000000,329.800171 +743040.000000,328.090942 +751680.000000,326.209930 +760320.000000,323.851959 +768960.000000,313.399506 +777600.000000,327.618408 +786240.000000,326.607483 +794880.000000,325.634186 +803520.000000,322.319061 +812160.000000,331.532104 +820800.000000,329.873932 +829440.000000,328.182037 +838080.000000,326.318817 +846720.000000,323.977234 +855360.000000,313.707672 +864000.000000,327.605103 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv new file mode 100644 index 00000000..4f8bb38e --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv @@ -0,0 +1,123 @@ +x,y +-0.001000,323.473144 +8639.999000,332.748340 +8640.001000,332.748340 +17280.001000,331.617358 +25920.001000,329.112750 +34559.999997,325.723897 +43199.999000,329.133370 +51839.999000,332.410845 +51840.001000,332.410845 +60480.001000,330.958252 +69120.001000,329.347237 +77760.001000,320.995693 +86399.999231,319.213029 +95039.999000,332.868394 +95040.001000,332.868394 +103680.001000,331.721985 +112320.001000,328.669742 +120959.999586,325.079974 +129599.999000,333.747629 +129600.001000,333.747629 +138240.001000,332.259662 +146880.001000,330.796928 +155520.001000,329.148827 +164160.001000,320.548897 +172799.999224,318.767424 +181439.999000,332.860146 +181440.001000,332.860146 +190080.001000,331.719175 +198720.001000,328.855016 +207359.999830,325.329155 +215999.999000,330.298138 +224639.999000,332.407943 +224640.001000,332.407943 +233280.001000,330.969249 +241920.001000,329.377266 +250560.001000,321.086299 +259199.999232,319.303757 +267839.999000,332.859443 +267840.001000,332.859443 +276480.001000,331.716975 +285120.001000,328.801587 +293759.999584,325.256756 +302399.999000,333.856808 +302400.001000,333.856808 +311040.001000,332.367008 +319680.001000,330.916279 +328320.001000,329.305478 +336960.001000,320.945930 +345599.999230,319.163938 +354239.999000,332.860146 +354240.001000,332.860146 +362880.001000,331.710804 +371520.001000,328.560654 +380159.999584,324.938934 +388799.999000,333.719067 +388800.001000,333.719067 +397440.001000,332.198627 +406080.001000,330.695386 +414720.001000,328.989824 +423360.000877,320.188063 +431999.999000,320.764292 +440639.999000,332.787778 +440640.001000,332.787778 +449280.001000,331.639719 +457920.001000,328.474631 +466559.999585,324.851780 +475199.999000,333.615173 +475200.001000,333.615173 +483840.001000,332.069195 +492480.001000,330.534733 +501120.001000,328.787046 +509760.000013,319.858480 +518399.999000,328.552040 +518400.001000,328.552040 +527040.001000,327.511938 +535680.001000,326.510877 +544319.999582,322.822928 +552959.999000,331.801868 +552960.001000,331.801868 +561600.001000,330.116622 +570240.001000,328.403087 +578880.001000,326.519064 +587520.001000,324.156871 +596159.999846,313.727539 +604799.999000,327.944346 +604800.001000,327.944346 +613440.001000,326.932441 +622080.001000,325.958201 +630719.999528,322.651615 +639359.999000,331.871823 +639360.001000,331.871823 +648000.001000,330.215445 +656640.001000,328.524791 +665280.001000,326.661510 +673920.001000,324.321373 +682559.999853,313.839925 +691199.999000,327.940436 +691200.001000,327.940436 +699840.001000,326.927003 +708480.001000,325.951297 +717119.999541,322.502693 +725759.999000,331.811155 +725760.001000,331.811155 +734400.001000,330.129971 +743040.001000,328.419033 +751680.001000,326.536140 +760320.001000,324.175811 +768959.999847,313.712907 +777599.999000,327.946027 +777600.001000,327.946027 +786240.001000,326.934090 +794880.001000,325.959820 +803519.999529,322.641381 +812159.999000,331.863637 +812160.001000,331.863637 +820800.001000,330.203806 +829440.001000,328.510219 +838080.001000,326.645136 +846720.001000,324.301211 +855359.999850,314.021381 +863999.999000,327.932708 +864000.001000,327.932708 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv new file mode 100644 index 00000000..1e8e613a --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv @@ -0,0 +1,128 @@ +x,y +-0.001000,292.856844 +0.001000,292.856844 +8640.001000,322.196067 +17279.999600,322.469779 +25919.999000,321.831868 +34559.999000,321.439713 +34560.001000,321.439713 +43199.999950,336.331909 +51839.999000,319.867343 +60479.999000,319.203457 +60480.001000,319.203457 +69120.001000,319.771095 +77760.000867,320.425653 +86399.999000,320.379038 +86400.001000,320.379038 +95040.001000,320.730828 +103680.000780,321.546357 +112319.999000,321.445506 +120959.999000,321.186488 +129599.999000,320.192030 +129600.001000,320.192030 +138240.001000,320.685128 +146880.001000,321.217401 +155520.001000,323.745114 +164160.001000,325.039381 +172800.000983,326.003199 +181439.999000,325.994907 +190079.999000,325.837685 +198719.999000,325.498120 +198720.001000,325.498120 +207360.001000,326.601447 +215999.999807,337.694620 +224639.999000,321.303466 +224640.001000,321.303466 +233280.001000,322.175092 +241920.001000,323.856392 +250560.000253,324.879964 +259199.999000,324.269339 +267839.999000,323.728194 +276479.999000,323.070009 +276480.001000,323.070009 +285119.999253,323.249395 +293759.999000,322.012016 +302399.999000,316.730163 +302400.001000,316.730163 +311040.000521,319.354490 +319679.999000,318.528717 +328319.999000,317.866111 +336959.999000,317.276675 +345599.999000,317.113233 +354239.999000,317.072990 +362879.999000,316.834734 +362880.001000,316.834734 +371520.001000,316.866105 +380159.999474,316.945646 +388799.999000,316.689524 +397439.999000,316.032193 +406079.999000,315.836069 +414719.999000,315.823204 +414720.001000,315.823204 +423360.001000,315.912470 +431999.999974,326.767966 +440639.999000,315.337941 +449279.999000,314.858654 +457919.999000,314.505949 +466559.999000,313.601155 +475199.999000,313.371038 +483839.999000,313.040406 +483840.001000,313.040406 +492479.999391,313.069338 +501119.999000,312.950408 +509759.999000,312.477401 +509760.001000,312.477401 +518399.999402,312.619441 +527039.999000,312.054942 +527040.001000,312.054942 +535680.001000,312.344661 +544320.000050,319.601830 +552959.999000,313.041199 +561599.999000,312.557339 +561600.001000,312.557339 +570240.001000,314.098155 +578879.999982,316.442640 +587519.999000,314.011419 +587520.001000,314.011419 +596160.001000,315.501901 +604800.000256,315.967103 +613439.999000,315.691347 +613440.001000,315.691347 +622080.001000,316.013047 +630719.999975,321.400201 +639359.999000,315.740401 +647999.999000,314.690671 +648000.001000,314.690671 +656639.999555,315.186969 +665279.999000,313.896391 +665280.001000,313.896391 +673920.001000,313.997852 +682559.999932,315.715615 +691199.999000,313.746852 +699839.999000,313.294668 +708479.999000,313.151684 +708480.001000,313.151684 +717119.999999,322.093050 +725759.999000,313.130983 +734399.999000,312.410025 +734400.001000,312.410025 +743040.000601,313.709140 +751679.999000,313.385459 +751680.001000,313.385459 +760320.001000,314.535400 +768960.000992,315.421781 +777599.999000,315.418214 +786239.999000,314.957067 +786240.001000,314.957067 +794880.001000,315.291997 +803520.000079,321.352428 +812159.999000,316.184598 +820799.999000,315.567204 +820800.001000,315.567204 +829439.999545,317.109270 +838079.999000,312.989676 +838080.001000,312.989676 +846720.001000,313.258236 +855359.999766,316.380019 +863999.999000,311.353374 +864000.001000,311.353374 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv new file mode 100644 index 00000000..4900f289 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,322.518585 +17280.000000,322.792572 +25920.000000,322.154022 +34560.000000,321.761475 +43200.000000,336.668579 +51840.000000,320.187531 +60480.000000,319.522980 +69120.000000,320.091187 +77760.000000,320.746399 +86400.000000,320.699738 +95040.000000,321.051880 +103680.000000,321.868225 +112320.000000,321.767273 +120960.000000,321.507996 +129600.000000,320.512543 +138240.000000,321.006134 +146880.000000,321.538940 +155520.000000,324.069183 +164160.000000,325.364746 +172800.000000,326.329529 +181440.000000,326.321228 +190080.000000,326.163849 +198720.000000,325.823944 +207360.000000,326.928375 +216000.000000,338.032654 +224640.000000,321.625092 +233280.000000,322.497589 +241920.000000,324.180573 +250560.000000,325.205170 +259200.000000,324.593933 +267840.000000,324.052246 +276480.000000,323.393402 +285120.000000,323.572968 +293760.000000,322.334351 +302400.000000,317.047211 +311040.000000,319.674164 +319680.000000,318.847565 +328320.000000,318.184296 +336960.000000,317.594269 +345600.000000,317.430664 +354240.000000,317.390381 +362880.000000,317.151886 +371520.000000,317.183289 +380160.000000,317.262909 +388800.000000,317.006531 +397440.000000,316.348541 +406080.000000,316.152222 +414720.000000,316.139343 +423360.000000,316.228699 +432000.000000,327.095062 +440640.000000,315.653595 +449280.000000,315.173828 +457920.000000,314.820770 +466560.000000,313.915070 +475200.000000,313.684723 +483840.000000,313.353760 +492480.000000,313.382721 +501120.000000,313.263672 +509760.000000,312.790192 +518400.000000,312.932373 +527040.000000,312.367310 +535680.000000,312.657318 +544320.000000,319.921753 +552960.000000,313.354553 +561600.000000,312.870209 +570240.000000,314.412567 +578880.000000,316.759399 +587520.000000,314.325745 +596160.000000,315.817719 +604800.000000,316.283386 +613440.000000,316.007355 +622080.000000,316.329376 +630720.000000,321.721924 +639360.000000,316.056458 +648000.000000,315.005676 +656640.000000,315.502472 +665280.000000,314.210602 +673920.000000,314.312164 +682560.000000,316.031647 +691200.000000,314.060913 +699840.000000,313.608276 +708480.000000,313.465149 +717120.000000,322.415466 +725760.000000,313.444427 +734400.000000,312.722748 +743040.000000,314.023163 +751680.000000,313.699158 +760320.000000,314.850250 +768960.000000,315.737518 +777600.000000,315.733948 +786240.000000,315.272339 +794880.000000,315.607605 +803520.000000,321.674103 +812160.000000,316.501099 +820800.000000,315.883087 +829440.000000,317.426697 +838080.000000,313.302979 +846720.000000,313.571808 +855360.000000,316.696716 +864000.000000,311.665039 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv new file mode 100644 index 00000000..4900f289 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,322.518585 +17280.000000,322.792572 +25920.000000,322.154022 +34560.000000,321.761475 +43200.000000,336.668579 +51840.000000,320.187531 +60480.000000,319.522980 +69120.000000,320.091187 +77760.000000,320.746399 +86400.000000,320.699738 +95040.000000,321.051880 +103680.000000,321.868225 +112320.000000,321.767273 +120960.000000,321.507996 +129600.000000,320.512543 +138240.000000,321.006134 +146880.000000,321.538940 +155520.000000,324.069183 +164160.000000,325.364746 +172800.000000,326.329529 +181440.000000,326.321228 +190080.000000,326.163849 +198720.000000,325.823944 +207360.000000,326.928375 +216000.000000,338.032654 +224640.000000,321.625092 +233280.000000,322.497589 +241920.000000,324.180573 +250560.000000,325.205170 +259200.000000,324.593933 +267840.000000,324.052246 +276480.000000,323.393402 +285120.000000,323.572968 +293760.000000,322.334351 +302400.000000,317.047211 +311040.000000,319.674164 +319680.000000,318.847565 +328320.000000,318.184296 +336960.000000,317.594269 +345600.000000,317.430664 +354240.000000,317.390381 +362880.000000,317.151886 +371520.000000,317.183289 +380160.000000,317.262909 +388800.000000,317.006531 +397440.000000,316.348541 +406080.000000,316.152222 +414720.000000,316.139343 +423360.000000,316.228699 +432000.000000,327.095062 +440640.000000,315.653595 +449280.000000,315.173828 +457920.000000,314.820770 +466560.000000,313.915070 +475200.000000,313.684723 +483840.000000,313.353760 +492480.000000,313.382721 +501120.000000,313.263672 +509760.000000,312.790192 +518400.000000,312.932373 +527040.000000,312.367310 +535680.000000,312.657318 +544320.000000,319.921753 +552960.000000,313.354553 +561600.000000,312.870209 +570240.000000,314.412567 +578880.000000,316.759399 +587520.000000,314.325745 +596160.000000,315.817719 +604800.000000,316.283386 +613440.000000,316.007355 +622080.000000,316.329376 +630720.000000,321.721924 +639360.000000,316.056458 +648000.000000,315.005676 +656640.000000,315.502472 +665280.000000,314.210602 +673920.000000,314.312164 +682560.000000,316.031647 +691200.000000,314.060913 +699840.000000,313.608276 +708480.000000,313.465149 +717120.000000,322.415466 +725760.000000,313.444427 +734400.000000,312.722748 +743040.000000,314.023163 +751680.000000,313.699158 +760320.000000,314.850250 +768960.000000,315.737518 +777600.000000,315.733948 +786240.000000,315.272339 +794880.000000,315.607605 +803520.000000,321.674103 +812160.000000,316.501099 +820800.000000,315.883087 +829440.000000,317.426697 +838080.000000,313.302979 +846720.000000,313.571808 +855360.000000,316.696716 +864000.000000,311.665039 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv new file mode 100644 index 00000000..23944fc9 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv @@ -0,0 +1,127 @@ +x,y +-0.001000,293.443144 +8639.999000,322.841104 +17279.999000,323.115365 +17280.001000,323.115365 +25920.001000,322.476176 +34559.999051,322.083236 +43199.999000,337.005248 +43200.001000,337.005248 +51840.001000,320.507718 +60480.000078,319.842503 +69119.999000,320.411278 +77759.999000,321.067145 +77760.001000,321.067145 +86399.999234,321.020437 +95039.999000,321.372932 +103679.999000,322.190093 +103680.001000,322.190093 +112320.001000,322.089040 +120960.001000,321.829504 +129600.000337,320.833055 +138239.999000,321.327140 +146879.999000,321.860479 +155519.999000,324.393253 +164159.999000,325.690111 +172799.999000,326.655858 +172800.001000,326.655858 +181440.001000,326.647549 +190080.001000,326.490013 +198719.999471,326.149768 +207359.999000,327.255304 +215999.999000,338.370686 +216000.001000,338.370686 +224640.000899,321.946717 +233279.999000,322.820087 +241919.999000,324.504753 +250559.999000,325.530375 +250560.001000,325.530375 +259200.001000,324.918527 +267840.001000,324.376298 +276480.000572,323.716796 +285119.999000,323.896540 +285120.001000,323.896540 +293760.001000,322.656685 +302400.000336,317.364258 +311039.999000,319.993838 +311040.001000,319.993838 +319680.001000,319.166412 +328320.001000,318.502480 +336960.001000,317.911863 +345600.001000,317.748095 +354240.001000,317.707771 +362880.000767,317.469038 +371519.999000,317.500472 +380159.999000,317.580172 +380160.001000,317.580172 +388800.001000,317.323537 +397440.001000,316.664890 +406080.001000,316.468374 +414719.999252,316.455483 +423359.999000,316.544927 +431999.999000,327.422157 +432000.001000,327.422157 +440640.001000,315.969249 +449280.001000,315.489002 +457920.001000,315.135591 +466560.001000,314.228985 +475200.001000,313.998408 +483840.000839,313.667114 +492479.999000,313.696104 +492480.001000,313.696104 +501120.001000,313.576936 +509760.000538,313.102982 +518399.999000,313.245305 +518400.001000,313.245305 +527040.000322,312.679677 +535679.999000,312.969975 +544319.999000,320.241675 +544320.001000,320.241675 +552960.001000,313.667908 +561599.999478,313.183079 +570239.999000,314.726980 +578879.999000,317.076159 +578880.001000,317.076159 +587520.000240,314.640071 +596159.999000,316.133536 +604799.999000,316.599670 +604800.001000,316.599670 +613439.999923,316.323362 +622079.999000,316.645706 +630719.999000,322.043646 +630720.001000,322.043646 +639360.001000,316.372514 +648000.000358,315.320682 +656639.999000,315.817974 +656640.001000,315.817974 +665280.000854,314.524812 +673919.999000,314.626476 +682559.999000,316.347678 +682560.001000,316.347678 +691200.001000,314.374974 +699840.001000,313.921885 +708479.999031,313.778614 +717119.999000,322.737882 +717120.001000,322.737882 +725760.001000,313.757872 +734399.999714,313.035471 +743039.999000,314.337186 +743040.001000,314.337186 +751679.999439,314.012857 +760319.999000,315.165100 +768959.999000,316.053256 +768960.001000,316.053256 +777600.001000,316.049682 +786240.000159,315.587611 +794879.999000,315.923213 +803519.999000,321.995777 +803520.001000,321.995777 +812160.001000,316.817600 +820799.999572,316.198970 +829439.999000,317.744123 +829440.001000,317.744123 +838080.000878,313.616282 +846719.999000,313.885380 +855359.999000,317.013413 +855360.001000,317.013413 +864000.001000,311.976704 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/lowerBound.csv new file mode 100644 index 00000000..316d8240 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/lowerBound.csv @@ -0,0 +1,122 @@ +x,y +-0.001000,292.856844 +8639.999000,287.127014 +17279.999000,286.956531 +17280.001000,286.956531 +25920.001000,287.671452 +34560.001000,288.362929 +43200.001000,288.525334 +51840.001000,289.038980 +60479.999020,289.043248 +69119.999000,288.626612 +77759.999000,288.532834 +86399.999000,288.506371 +95039.999000,288.454726 +103679.999000,288.399575 +103680.001000,288.399575 +112320.000953,288.835448 +120959.999000,288.824900 +120960.001000,288.824900 +129599.999401,288.887673 +138239.999000,288.637465 +146879.999000,288.508688 +155519.999000,287.931080 +164159.999000,287.761328 +172799.999000,287.585692 +172800.001000,287.585692 +181439.999240,287.623588 +190079.999000,287.345393 +190080.001000,287.345393 +198720.001000,287.485573 +207360.001000,287.698067 +216000.001000,288.476829 +224639.999650,288.603320 +233279.999000,288.340338 +241919.999000,287.904861 +250559.999000,287.792150 +250560.001000,287.792150 +259200.001000,287.912727 +267840.001000,288.103210 +276480.001000,288.209579 +285120.001000,288.445732 +293760.001000,288.493597 +302400.001000,288.724140 +311040.001000,288.932031 +319680.000568,289.076906 +328319.999000,289.036998 +328320.001000,289.036998 +336960.001000,289.212969 +345600.001000,289.274706 +354240.001000,289.346991 +362880.001000,289.402020 +371520.000215,289.663355 +380159.999000,289.494578 +380160.001000,289.494578 +388800.001000,289.496621 +397440.001000,289.549181 +406079.999337,289.580125 +414719.999000,289.427507 +414720.001000,289.427507 +423360.001000,289.476439 +432000.001000,289.522596 +440640.001000,289.656617 +449280.001000,289.758993 +457920.001000,290.087460 +466560.001000,290.113100 +475200.000253,290.159044 +483839.999000,290.131667 +492479.999000,290.109533 +501119.999000,289.953561 +501120.001000,289.953561 +509760.001000,290.082796 +518400.001000,290.134075 +527040.000429,290.210415 +535679.999000,290.179928 +535680.001000,290.179928 +544320.000671,290.454524 +552959.999000,290.400532 +552960.001000,290.400532 +561600.001000,290.463701 +570239.999417,290.486810 +578879.999000,290.399130 +587519.999000,289.709756 +596159.999000,289.569851 +604799.999000,289.424458 +604800.001000,289.424458 +613440.000414,289.501347 +622079.999000,289.469488 +622080.001000,289.469488 +630720.001000,289.833259 +639360.001000,289.969140 +647999.999930,290.084015 +656639.999000,289.951945 +656640.001000,289.951945 +665279.999346,290.015175 +673919.999000,289.712927 +673920.001000,289.712927 +682560.001000,289.797772 +691200.001000,289.823961 +699840.001000,289.954323 +708480.001000,289.965116 +717120.001000,290.381203 +725759.999219,290.387362 +734399.999000,290.337363 +743039.999000,290.076576 +751679.999000,290.014932 +760319.999000,289.619179 +768959.999000,289.505615 +777599.999000,289.498267 +777600.001000,289.498267 +786240.000166,289.612380 +794879.999000,289.530797 +794880.001000,289.530797 +803520.000860,289.902495 +812159.999000,289.874600 +812160.001000,289.874600 +820800.001000,290.065601 +829440.000031,290.287791 +838079.999000,290.078771 +846719.999000,289.867069 +846720.001000,289.867069 +855360.001000,290.131667 +864000.001000,290.275200 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/reference.csv new file mode 100644 index 00000000..79d2affe --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,287.414429 +17280.000000,287.243774 +25920.000000,287.959412 +34560.000000,288.651581 +43200.000000,288.814148 +51840.000000,289.328308 +60480.000000,289.332581 +69120.000000,288.915527 +77760.000000,288.821655 +86400.000000,288.795166 +95040.000000,288.743469 +103680.000000,288.688263 +112320.000000,289.124573 +120960.000000,289.114014 +129600.000000,289.176849 +138240.000000,288.926392 +146880.000000,288.797485 +155520.000000,288.219299 +164160.000000,288.049377 +172800.000000,287.873566 +181440.000000,287.911499 +190080.000000,287.633026 +198720.000000,287.773346 +207360.000000,287.986053 +216000.000000,288.765594 +224640.000000,288.892212 +233280.000000,288.628967 +241920.000000,288.193054 +250560.000000,288.080231 +259200.000000,288.200928 +267840.000000,288.391602 +276480.000000,288.498077 +285120.000000,288.734467 +293760.000000,288.782379 +302400.000000,289.013153 +311040.000000,289.221252 +319680.000000,289.366272 +328320.000000,289.326324 +336960.000000,289.502472 +345600.000000,289.564270 +354240.000000,289.636627 +362880.000000,289.691711 +371520.000000,289.953308 +380160.000000,289.784363 +388800.000000,289.786407 +397440.000000,289.839020 +406080.000000,289.869995 +414720.000000,289.717224 +423360.000000,289.766205 +432000.000000,289.812408 +440640.000000,289.946564 +449280.000000,290.049042 +457920.000000,290.377838 +466560.000000,290.403503 +475200.000000,290.449493 +483840.000000,290.422089 +492480.000000,290.399933 +501120.000000,290.243805 +509760.000000,290.373169 +518400.000000,290.424500 +527040.000000,290.500916 +535680.000000,290.470398 +544320.000000,290.745270 +552960.000000,290.691223 +561600.000000,290.754456 +570240.000000,290.777588 +578880.000000,290.689819 +587520.000000,289.999756 +596160.000000,289.859711 +604800.000000,289.714172 +613440.000000,289.791138 +622080.000000,289.759247 +630720.000000,290.123383 +639360.000000,290.259399 +648000.000000,290.374390 +656640.000000,290.242188 +665280.000000,290.305481 +673920.000000,290.002930 +682560.000000,290.087860 +691200.000000,290.114075 +699840.000000,290.244568 +708480.000000,290.255371 +717120.000000,290.671875 +725760.000000,290.678040 +734400.000000,290.627991 +743040.000000,290.366943 +751680.000000,290.305237 +760320.000000,289.909088 +768960.000000,289.795410 +777600.000000,289.788055 +786240.000000,289.902283 +794880.000000,289.820618 +803520.000000,290.192688 +812160.000000,290.164764 +820800.000000,290.355957 +829440.000000,290.578369 +838080.000000,290.369141 +846720.000000,290.157227 +855360.000000,290.422089 +864000.000000,290.565765 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/test.csv new file mode 100644 index 00000000..79d2affe --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,293.149994 +8640.000000,287.414429 +17280.000000,287.243774 +25920.000000,287.959412 +34560.000000,288.651581 +43200.000000,288.814148 +51840.000000,289.328308 +60480.000000,289.332581 +69120.000000,288.915527 +77760.000000,288.821655 +86400.000000,288.795166 +95040.000000,288.743469 +103680.000000,288.688263 +112320.000000,289.124573 +120960.000000,289.114014 +129600.000000,289.176849 +138240.000000,288.926392 +146880.000000,288.797485 +155520.000000,288.219299 +164160.000000,288.049377 +172800.000000,287.873566 +181440.000000,287.911499 +190080.000000,287.633026 +198720.000000,287.773346 +207360.000000,287.986053 +216000.000000,288.765594 +224640.000000,288.892212 +233280.000000,288.628967 +241920.000000,288.193054 +250560.000000,288.080231 +259200.000000,288.200928 +267840.000000,288.391602 +276480.000000,288.498077 +285120.000000,288.734467 +293760.000000,288.782379 +302400.000000,289.013153 +311040.000000,289.221252 +319680.000000,289.366272 +328320.000000,289.326324 +336960.000000,289.502472 +345600.000000,289.564270 +354240.000000,289.636627 +362880.000000,289.691711 +371520.000000,289.953308 +380160.000000,289.784363 +388800.000000,289.786407 +397440.000000,289.839020 +406080.000000,289.869995 +414720.000000,289.717224 +423360.000000,289.766205 +432000.000000,289.812408 +440640.000000,289.946564 +449280.000000,290.049042 +457920.000000,290.377838 +466560.000000,290.403503 +475200.000000,290.449493 +483840.000000,290.422089 +492480.000000,290.399933 +501120.000000,290.243805 +509760.000000,290.373169 +518400.000000,290.424500 +527040.000000,290.500916 +535680.000000,290.470398 +544320.000000,290.745270 +552960.000000,290.691223 +561600.000000,290.754456 +570240.000000,290.777588 +578880.000000,290.689819 +587520.000000,289.999756 +596160.000000,289.859711 +604800.000000,289.714172 +613440.000000,289.791138 +622080.000000,289.759247 +630720.000000,290.123383 +639360.000000,290.259399 +648000.000000,290.374390 +656640.000000,290.242188 +665280.000000,290.305481 +673920.000000,290.002930 +682560.000000,290.087860 +691200.000000,290.114075 +699840.000000,290.244568 +708480.000000,290.255371 +717120.000000,290.671875 +725760.000000,290.678040 +734400.000000,290.627991 +743040.000000,290.366943 +751680.000000,290.305237 +760320.000000,289.909088 +768960.000000,289.795410 +777600.000000,289.788055 +786240.000000,289.902283 +794880.000000,289.820618 +803520.000000,290.192688 +812160.000000,290.164764 +820800.000000,290.355957 +829440.000000,290.578369 +838080.000000,290.369141 +846720.000000,290.157227 +855360.000000,290.422089 +864000.000000,290.565765 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/upperBound.csv new file mode 100644 index 00000000..a454a6d1 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/upperBound.csv @@ -0,0 +1,123 @@ +x,y +-0.001000,293.443144 +0.001000,293.443144 +8640.001000,287.701843 +17279.999385,287.531018 +25919.999000,288.247371 +34559.999000,288.940232 +43199.999000,289.102962 +51839.999000,289.617636 +60479.999000,289.621913 +60480.001000,289.621913 +69120.001000,289.204443 +77760.001000,289.110477 +86400.001000,289.083961 +95040.001000,289.032213 +103679.999225,288.976951 +112319.999000,289.413697 +112320.001000,289.413697 +120959.999288,289.403128 +129599.999000,289.466026 +129600.001000,289.466026 +138240.001000,289.215318 +146880.001000,289.086283 +155520.001000,288.507519 +164160.001000,288.337427 +172800.000645,288.161439 +181439.999000,288.199411 +181440.001000,288.199411 +190080.000330,287.920659 +198719.999000,288.061119 +207359.999000,288.274040 +215999.999000,289.054360 +224639.999000,289.181104 +224640.001000,289.181104 +233280.001000,288.917596 +241920.001000,288.481247 +250559.999966,288.368311 +259199.999000,288.489129 +267839.999000,288.679993 +276479.999000,288.786575 +285119.999000,289.023201 +293759.999000,289.071162 +302399.999000,289.302166 +311039.999000,289.510474 +319679.999000,289.655638 +319680.001000,289.655638 +328319.999370,289.615651 +336959.999000,289.791974 +345599.999000,289.853834 +354239.999000,289.926264 +362879.999000,289.981403 +371519.999000,290.243261 +371520.001000,290.243261 +380160.000976,290.074147 +388799.999000,290.076194 +397439.999000,290.128859 +406079.999000,290.159865 +406080.001000,290.159865 +414720.000514,290.006941 +423359.999000,290.055971 +431999.999000,290.102221 +440639.999000,290.236510 +449279.999000,290.339091 +457919.999000,290.668216 +466559.999000,290.693907 +475199.999000,290.739943 +475200.001000,290.739943 +483840.001000,290.712511 +492480.001000,290.690333 +501120.000094,290.534049 +509759.999000,290.663542 +518399.999000,290.714924 +527039.999000,290.791416 +527040.001000,290.791416 +535679.999200,290.760868 +544319.999000,291.036015 +544320.001000,291.036015 +552959.999922,290.981914 +561599.999000,291.045210 +570239.999000,291.068365 +570240.001000,291.068365 +578880.001000,290.980509 +587520.001000,290.289756 +596160.001000,290.149570 +604800.000308,290.003887 +613439.999000,290.080929 +613440.001000,290.080929 +622079.999161,290.049006 +630719.999000,290.413506 +639359.999000,290.549659 +647999.999000,290.664764 +648000.001000,290.664764 +656640.000352,290.532430 +665279.999000,290.595786 +665280.001000,290.595786 +673920.000562,290.292933 +682559.999000,290.377948 +691199.999000,290.404189 +699839.999000,290.534812 +708479.999000,290.545626 +717119.999000,290.962547 +725759.999000,290.968718 +725760.001000,290.968718 +734400.001000,290.918619 +743040.001000,290.657310 +751680.001000,290.595542 +760320.001000,290.198997 +768960.001000,290.085206 +777599.999121,290.077843 +786239.999000,290.192185 +786240.001000,290.192185 +794879.999360,290.110438 +803519.999000,290.482881 +803520.001000,290.482881 +812159.999255,290.454929 +820799.999000,290.646313 +829439.999000,290.868948 +829440.001000,290.868948 +838080.001000,290.659510 +846719.999889,290.447384 +855359.999000,290.712511 +863999.999000,290.856331 +864000.001000,290.856331 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/errors.csv new file mode 100644 index 00000000..775a188b --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/errors.csv @@ -0,0 +1,102 @@ +x,y +0.000000,0.000000 +8640.000000,0.000000 +17280.000000,0.000000 +25920.000000,0.000000 +34560.000000,0.000000 +43200.000000,0.000000 +51840.000000,0.000000 +60480.000000,0.000000 +69120.000000,0.000000 +77760.000000,0.000000 +86400.000000,0.000000 +95040.000000,0.000000 +103680.000000,0.000000 +112320.000000,0.000000 +120960.000000,0.000000 +129600.000000,0.000000 +138240.000000,0.000000 +146880.000000,0.000000 +155520.000000,0.000000 +164160.000000,0.000000 +172800.000000,0.000000 +181440.000000,0.000000 +190080.000000,0.000000 +198720.000000,0.000000 +207360.000000,0.000000 +216000.000000,0.000000 +224640.000000,0.000000 +233280.000000,0.000000 +241920.000000,0.000000 +250560.000000,0.000000 +259200.000000,0.000000 +267840.000000,0.000000 +276480.000000,0.000000 +285120.000000,0.000000 +293760.000000,0.000000 +302400.000000,0.000000 +311040.000000,0.000000 +319680.000000,0.000000 +328320.000000,0.000000 +336960.000000,0.000000 +345600.000000,0.000000 +354240.000000,0.000000 +362880.000000,0.000000 +371520.000000,0.000000 +380160.000000,0.000000 +388800.000000,0.000000 +397440.000000,0.000000 +406080.000000,0.000000 +414720.000000,0.000000 +423360.000000,0.000000 +432000.000000,0.000000 +440640.000000,0.000000 +449280.000000,0.000000 +457920.000000,0.000000 +466560.000000,0.000000 +475200.000000,0.000000 +483840.000000,0.000000 +492480.000000,0.000000 +501120.000000,0.000000 +509760.000000,0.000000 +518400.000000,0.000000 +527040.000000,0.000000 +535680.000000,0.000000 +544320.000000,0.000000 +552960.000000,0.000000 +561600.000000,0.000000 +570240.000000,0.000000 +578880.000000,0.000000 +587520.000000,0.000000 +596160.000000,0.000000 +604800.000000,0.000000 +613440.000000,0.000000 +622080.000000,0.000000 +630720.000000,0.000000 +639360.000000,0.000000 +648000.000000,0.000000 +656640.000000,0.000000 +665280.000000,0.000000 +673920.000000,0.000000 +682560.000000,0.000000 +691200.000000,0.000000 +699840.000000,0.000000 +708480.000000,0.000000 +717120.000000,0.000000 +725760.000000,0.000000 +734400.000000,0.000000 +743040.000000,0.000000 +751680.000000,0.000000 +760320.000000,0.000000 +768960.000000,0.000000 +777600.000000,0.000000 +786240.000000,0.000000 +794880.000000,0.000000 +803520.000000,0.000000 +812160.000000,0.000000 +820800.000000,0.000000 +829440.000000,0.000000 +838080.000000,0.000000 +846720.000000,0.000000 +855360.000000,0.000000 +864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv new file mode 100644 index 00000000..7504ecf1 --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv @@ -0,0 +1,120 @@ +x,y +-0.001000,270.878844 +8639.999000,270.389161 +17279.999000,270.179562 +17280.001000,270.179562 +25920.001000,270.812504 +34560.001000,271.127252 +43200.001000,271.777938 +51840.001000,272.766298 +60479.999939,273.296437 +69119.999000,272.697031 +77759.999000,272.107229 +77760.001000,272.107229 +86399.999327,272.177562 +95039.999000,271.817906 +103679.999000,271.069845 +103680.001000,271.069845 +112320.001000,271.214202 +120960.001000,271.486299 +129600.000235,272.577156 +138239.999000,271.901106 +146879.999000,271.264627 +155519.999000,268.879198 +164159.999000,267.732976 +172799.999000,266.782938 +181439.999000,266.559376 +190079.999000,265.509707 +198719.999000,265.166819 +198720.001000,265.166819 +207360.001000,266.466147 +216000.001000,270.579156 +224639.999903,271.324412 +233279.999000,270.419312 +241919.999000,268.774414 +250559.999000,267.881844 +250560.001000,267.881844 +259200.001000,268.481250 +267840.001000,269.008402 +276480.000870,269.628752 +285119.999000,269.585735 +285120.001000,269.585735 +293760.001000,270.649490 +302400.001000,272.177562 +311040.001000,273.171745 +319680.001000,273.940050 +328320.001000,274.519487 +336960.001000,275.115417 +345600.001000,275.274438 +354240.001000,275.338400 +362880.001000,275.554157 +371519.999322,275.569034 +380159.999000,275.491475 +380160.001000,275.491475 +388800.001000,275.873844 +397440.001000,276.313406 +406080.000693,276.484286 +414719.999000,276.453281 +423359.999000,276.394136 +423360.001000,276.394136 +432000.001000,276.573156 +440640.001000,276.986347 +449280.001000,277.437617 +457920.001000,277.823888 +466560.001000,278.652983 +475200.000987,279.170562 +483839.999000,279.167178 +492479.999000,279.148490 +492480.001000,279.148490 +501120.001000,279.205439 +509760.001000,279.670062 +518400.001000,279.769938 +527040.000067,280.087643 +535679.999000,279.809906 +544319.999000,279.430281 +552959.999000,279.240530 +552960.001000,279.240530 +561600.001000,280.369344 +570240.001000,280.731866 +578879.999015,280.750981 +587519.999000,278.169672 +596159.999000,277.255517 +604799.999000,276.373344 +604800.001000,276.373344 +613439.999959,276.618978 +622079.999000,276.352582 +622080.001000,276.352582 +630720.001000,276.390295 +639360.001000,276.703275 +648000.001000,278.371344 +656640.001000,278.452958 +665279.999747,278.861362 +673919.999000,278.176196 +673920.001000,278.176196 +682560.001000,278.397502 +691200.001000,278.471250 +699840.001000,278.938769 +708480.001000,279.056937 +717120.000087,279.351168 +725759.999000,279.103887 +725760.001000,279.103887 +734399.999746,279.769938 +743039.999000,278.649630 +743040.001000,278.649630 +751679.999252,278.810906 +760319.999000,277.692031 +768959.999000,276.973482 +777599.999000,276.872844 +777600.001000,276.872844 +786240.000156,277.336400 +794879.999000,276.998176 +803519.999000,276.945586 +812159.999000,276.189537 +812160.001000,276.189537 +820800.001000,278.171562 +829440.000683,279.722317 +838079.999000,279.430281 +846719.999000,278.913892 +846720.001000,278.913892 +855360.001000,280.052858 +864000.001000,280.768938 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/reference.csv new file mode 100644 index 00000000..a297b82c --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/reference.csv @@ -0,0 +1,102 @@ +x,y +0.000000,271.149994 +8640.000000,270.659821 +17280.000000,270.450012 +25920.000000,271.083588 +34560.000000,271.398651 +43200.000000,272.049988 +51840.000000,273.039337 +60480.000000,273.570007 +69120.000000,272.970001 +77760.000000,272.379608 +86400.000000,272.450012 +95040.000000,272.089996 +103680.000000,271.341187 +112320.000000,271.485687 +120960.000000,271.758057 +129600.000000,272.850006 +138240.000000,272.173279 +146880.000000,271.536163 +155520.000000,269.148346 +164160.000000,268.000977 +172800.000000,267.049988 +181440.000000,266.826202 +190080.000000,265.775482 +198720.000000,265.432251 +207360.000000,266.732880 +216000.000000,270.850006 +224640.000000,271.596008 +233280.000000,270.690002 +241920.000000,269.043457 +250560.000000,268.149994 +259200.000000,268.750000 +267840.000000,269.277679 +276480.000000,269.898651 +285120.000000,269.855591 +293760.000000,270.920410 +302400.000000,272.450012 +311040.000000,273.445190 +319680.000000,274.214264 +328320.000000,274.794281 +336960.000000,275.390808 +345600.000000,275.549988 +354240.000000,275.614014 +362880.000000,275.829987 +371520.000000,275.844879 +380160.000000,275.767242 +388800.000000,276.149994 +397440.000000,276.589996 +406080.000000,276.761047 +414720.000000,276.730011 +423360.000000,276.670807 +432000.000000,276.850006 +440640.000000,277.263611 +449280.000000,277.715332 +457920.000000,278.101990 +466560.000000,278.931915 +475200.000000,279.450012 +483840.000000,279.446625 +492480.000000,279.427917 +501120.000000,279.484924 +509760.000000,279.950012 +518400.000000,280.049988 +527040.000000,280.368011 +535680.000000,280.089996 +544320.000000,279.709991 +552960.000000,279.520050 +561600.000000,280.649994 +570240.000000,281.012878 +578880.000000,281.032013 +587520.000000,278.448120 +596160.000000,277.533051 +604800.000000,276.649994 +613440.000000,276.895874 +622080.000000,276.629211 +630720.000000,276.666962 +639360.000000,276.980255 +648000.000000,278.649994 +656640.000000,278.731689 +665280.000000,279.140503 +673920.000000,278.454651 +682560.000000,278.676178 +691200.000000,278.750000 +699840.000000,279.217987 +708480.000000,279.336273 +717120.000000,279.630798 +725760.000000,279.383270 +734400.000000,280.049988 +743040.000000,278.928558 +751680.000000,279.089996 +760320.000000,277.970001 +768960.000000,277.250732 +777600.000000,277.149994 +786240.000000,277.614014 +794880.000000,277.275452 +803520.000000,277.222809 +812160.000000,276.466003 +820800.000000,278.450012 +829440.000000,280.002319 +838080.000000,279.709991 +846720.000000,279.193085 +855360.000000,280.333191 +864000.000000,281.049988 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/test.csv new file mode 100644 index 00000000..a297b82c --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/test.csv @@ -0,0 +1,102 @@ +x,y +0.000000,271.149994 +8640.000000,270.659821 +17280.000000,270.450012 +25920.000000,271.083588 +34560.000000,271.398651 +43200.000000,272.049988 +51840.000000,273.039337 +60480.000000,273.570007 +69120.000000,272.970001 +77760.000000,272.379608 +86400.000000,272.450012 +95040.000000,272.089996 +103680.000000,271.341187 +112320.000000,271.485687 +120960.000000,271.758057 +129600.000000,272.850006 +138240.000000,272.173279 +146880.000000,271.536163 +155520.000000,269.148346 +164160.000000,268.000977 +172800.000000,267.049988 +181440.000000,266.826202 +190080.000000,265.775482 +198720.000000,265.432251 +207360.000000,266.732880 +216000.000000,270.850006 +224640.000000,271.596008 +233280.000000,270.690002 +241920.000000,269.043457 +250560.000000,268.149994 +259200.000000,268.750000 +267840.000000,269.277679 +276480.000000,269.898651 +285120.000000,269.855591 +293760.000000,270.920410 +302400.000000,272.450012 +311040.000000,273.445190 +319680.000000,274.214264 +328320.000000,274.794281 +336960.000000,275.390808 +345600.000000,275.549988 +354240.000000,275.614014 +362880.000000,275.829987 +371520.000000,275.844879 +380160.000000,275.767242 +388800.000000,276.149994 +397440.000000,276.589996 +406080.000000,276.761047 +414720.000000,276.730011 +423360.000000,276.670807 +432000.000000,276.850006 +440640.000000,277.263611 +449280.000000,277.715332 +457920.000000,278.101990 +466560.000000,278.931915 +475200.000000,279.450012 +483840.000000,279.446625 +492480.000000,279.427917 +501120.000000,279.484924 +509760.000000,279.950012 +518400.000000,280.049988 +527040.000000,280.368011 +535680.000000,280.089996 +544320.000000,279.709991 +552960.000000,279.520050 +561600.000000,280.649994 +570240.000000,281.012878 +578880.000000,281.032013 +587520.000000,278.448120 +596160.000000,277.533051 +604800.000000,276.649994 +613440.000000,276.895874 +622080.000000,276.629211 +630720.000000,276.666962 +639360.000000,276.980255 +648000.000000,278.649994 +656640.000000,278.731689 +665280.000000,279.140503 +673920.000000,278.454651 +682560.000000,278.676178 +691200.000000,278.750000 +699840.000000,279.217987 +708480.000000,279.336273 +717120.000000,279.630798 +725760.000000,279.383270 +734400.000000,280.049988 +743040.000000,278.928558 +751680.000000,279.089996 +760320.000000,277.970001 +768960.000000,277.250732 +777600.000000,277.149994 +786240.000000,277.614014 +794880.000000,277.275452 +803520.000000,277.222809 +812160.000000,276.466003 +820800.000000,278.450012 +829440.000000,280.002319 +838080.000000,279.709991 +846720.000000,279.193085 +855360.000000,280.333191 +864000.000000,281.049988 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv new file mode 100644 index 00000000..36d32d7f --- /dev/null +++ b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv @@ -0,0 +1,121 @@ +x,y +-0.001000,271.421144 +0.001000,271.421144 +8640.001000,270.930480 +17279.999498,270.720462 +25919.999000,271.354671 +34559.999000,271.670050 +43199.999000,272.322038 +51839.999000,273.312376 +60479.999000,273.843577 +60480.001000,273.843577 +69120.001000,273.242971 +77760.000787,272.651988 +86399.999000,272.722462 +86400.001000,272.722462 +95040.001000,272.362086 +103680.000676,271.612528 +112319.999000,271.757173 +120959.999000,272.029815 +129599.999000,273.122856 +129600.001000,273.122856 +138240.001000,272.445452 +146880.001000,271.807699 +155520.001000,269.417494 +164160.001000,268.268978 +172800.001000,267.317038 +181440.001000,267.093029 +190080.001000,266.041258 +198719.999418,265.697683 +207359.999000,266.999613 +215999.999000,271.120856 +224639.999000,271.867604 +224640.001000,271.867604 +233280.001000,270.960692 +241920.001000,269.312500 +250560.000196,268.418144 +259199.999000,269.018750 +267839.999000,269.546957 +276479.999000,270.168550 +276480.001000,270.168550 +285119.999078,270.125446 +293759.999000,271.191331 +302399.999000,272.722462 +311039.999000,273.718636 +319679.999000,274.488478 +328319.999000,275.069075 +336959.999000,275.666199 +345599.999000,275.825538 +354239.999000,275.889628 +362879.999000,276.105817 +371519.999000,276.120724 +371520.001000,276.120724 +380159.999337,276.043010 +388799.999000,276.426144 +397439.999000,276.866586 +406079.999000,277.037808 +406080.001000,277.037808 +414720.001000,277.006741 +423359.999497,276.947478 +431999.999000,277.126856 +440639.999000,277.540874 +449279.999000,277.993047 +457919.999000,278.380092 +466559.999000,279.210847 +475199.999000,279.729462 +475200.001000,279.729462 +483840.001000,279.726071 +492479.999494,279.707345 +501119.999000,279.764409 +509759.999000,280.229962 +518399.999000,280.330038 +527039.999000,280.648379 +527040.001000,280.648379 +535680.001000,280.370086 +544320.001000,279.989701 +552959.999288,279.799570 +561599.999000,280.930644 +570239.999000,281.293891 +578879.999000,281.313045 +578880.001000,281.313045 +587520.001000,278.726568 +596160.001000,277.810584 +604800.000564,276.926644 +613439.999000,277.172770 +613440.001000,277.172770 +622080.000752,276.905841 +630719.999000,276.943629 +639359.999000,277.257235 +647999.999000,278.928644 +656639.999000,279.010421 +665279.999000,279.419643 +665280.001000,279.419643 +673920.000512,278.733106 +682559.999000,278.954854 +691199.999000,279.028750 +699839.999000,279.497205 +708479.999000,279.615609 +717119.999000,279.910429 +717120.001000,279.910429 +725759.999541,279.662654 +734399.999000,280.330038 +734400.001000,280.330038 +743040.000748,279.207487 +751679.999000,279.369086 +751680.001000,279.369086 +760320.001000,278.247971 +768960.001000,277.527983 +777599.999357,277.427144 +786239.999000,277.891628 +786240.001000,277.891628 +794880.001000,277.552727 +803520.001000,277.500032 +812159.999552,276.742470 +820799.999000,278.728462 +829439.999000,280.282322 +829440.001000,280.282322 +838080.001000,279.989701 +846719.999624,279.472278 +855359.999000,280.613524 +863999.999000,281.331038 +864000.001000,281.331038 From a87beb6dc11d0bbea57caa1c0d3dd801abb9f59b Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 19 Jun 2024 17:36:15 +0200 Subject: [PATCH 070/125] update templates and remove old files --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 --- ...ModelicaConferencePaper_TEASERBuilding.txt | 23 --- BESMod/comparison-dymola.log | 152 ------------------ .../errors.csv | 102 ------------ .../lowerBound.csv | 125 -------------- .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 125 -------------- .../errors.csv | 102 ------------ .../lowerBound.csv | 53 ------ .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 63 -------- .../errors.csv | 102 ------------ .../lowerBound.csv | 124 -------------- .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 126 --------------- .../errors.csv | 102 ------------ .../lowerBound.csv | 126 --------------- .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 125 -------------- .../errors.csv | 102 ------------ .../lowerBound.csv | 123 -------------- .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 123 -------------- .../errors.csv | 102 ------------ .../lowerBound.csv | 132 --------------- .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 129 --------------- .../errors.csv | 102 ------------ .../lowerBound.csv | 123 -------------- .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 124 -------------- .../errors.csv | 102 ------------ .../lowerBound.csv | 120 -------------- .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 121 -------------- .../errors.csv | 102 ------------ .../lowerBound.csv | 119 -------------- .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 120 -------------- .../errors.csv | 102 ------------ .../lowerBound.csv | 53 ------ .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 63 -------- .../errors.csv | 102 ------------ .../lowerBound.csv | 128 --------------- .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 127 --------------- .../errors.csv | 102 ------------ .../lowerBound.csv | 130 --------------- .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 129 --------------- .../errors.csv | 102 ------------ .../lowerBound.csv | 123 -------------- .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 123 -------------- .../errors.csv | 102 ------------ .../lowerBound.csv | 128 --------------- .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 127 --------------- .../errors.csv | 102 ------------ .../lowerBound.csv | 122 -------------- .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 123 -------------- .../errors.csv | 102 ------------ .../lowerBound.csv | 120 -------------- .../reference.csv | 102 ------------ .../test.csv | 102 ------------ .../upperBound.csv | 121 -------------- .../config/templates_generator_config.toml | 2 - .../syntax_tests/html_check.gitlab-ci.yml | 34 ++-- .../unit_tests/check_model.gitlab-ci.yml | 16 +- .../unit_tests/regression_test.gitlab-ci.yml | 37 ++--- .../unit_tests/simulate_model.gitlab-ci.yml | 17 +- ci-tests/scripts/utilities.yml | 7 + 89 files changed, 43 insertions(+), 8882 deletions(-) delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt delete mode 100644 BESMod/comparison-dymola.log delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/upperBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/errors.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/reference.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/test.csv delete mode 100644 BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt deleted file mode 100644 index ef9a13a5..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-19 -statistics-initialization= -{ - "linear": "19, 0", - "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", - "number of continuous time states": "131", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt deleted file mode 100644 index d65447b7..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-19 -statistics-initialization= -{ - "linear": "0", - "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", - "number of continuous time states": "84", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] diff --git a/BESMod/comparison-dymola.log b/BESMod/comparison-dymola.log deleted file mode 100644 index e82ac0ea..00000000 --- a/BESMod/comparison-dymola.log +++ /dev/null @@ -1,152 +0,0 @@ -[ - { - "comparison": { - "file_name": "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat", - "funnel_dirs": [ - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad", - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge", - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea", - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea", - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea", - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T", - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul", - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]" - ], - "success_rate": 1.0, - "t_err_max": [ - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0 - ], - "test_passed": [ - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1 - ], - "var_groups": [ - 0, - 0, - 1, - 1, - 1, - 2, - 2, - 2 - ], - "variables": [ - "electrical.distribution.batterySimple.PLoad", - "electrical.distribution.batterySimple.PCharge", - "hydraulic.distribution.sigBusDistr.TStoDHWTopMea", - "hydraulic.distribution.sigBusDistr.TStoBufTopMea", - "hydraulic.generation.sigBusGen.TGenOutMea", - "ventilation.generation.TSup.T", - "ventilation.generation.weaBus.TDryBul", - "building.buiMeaBus.TZoneMea[1]" - ], - "warnings": [ - null, - null, - null, - null, - null, - null, - null, - null - ] - }, - "model": "BESMod.Examples.ModelicaConferencePaper.TEASERBuilding", - "simulation": { - "elapsed_time": 11.8, - "final_time": 864000, - "jacobians": 20602, - "start_time": 0, - "state_events": 1229, - "success": true - } - }, - { - "comparison": { - "file_name": "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat", - "funnel_dirs": [ - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad", - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge", - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea", - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea", - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea", - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T", - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul", - "funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]" - ], - "success_rate": 1.0, - "t_err_max": [ - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0 - ], - "test_passed": [ - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1 - ], - "var_groups": [ - 0, - 0, - 1, - 1, - 1, - 2, - 2, - 2 - ], - "variables": [ - "electrical.distribution.batterySimple.PLoad", - "electrical.distribution.batterySimple.PCharge", - "hydraulic.distribution.sigBusDistr.TStoDHWTopMea", - "hydraulic.distribution.sigBusDistr.TStoBufTopMea", - "hydraulic.generation.sigBusGen.TGenOutMea", - "ventilation.generation.TSup.T", - "ventilation.generation.weaBus.TDryBul", - "building.buiMeaBus.TZoneMea[1]" - ], - "warnings": [ - null, - null, - null, - null, - null, - null, - null, - null - ] - }, - "model": "BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom", - "simulation": { - "elapsed_time": 20.2, - "final_time": 864000, - "jacobians": 21139, - "start_time": 0, - "state_events": 1365, - "success": true - } - } -] diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv deleted file mode 100644 index da1bb14e..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv +++ /dev/null @@ -1,125 +0,0 @@ -x,y --0.001000,292.856844 -0.001000,292.856844 -8639.999888,292.966994 -17279.999000,292.829009 -17280.001000,292.829009 -25920.001000,292.843460 -34559.999066,292.883185 -43199.999000,291.726780 -43200.001000,291.726780 -51840.000573,293.066016 -60479.999000,292.702122 -60480.001000,292.702122 -69120.001000,292.820961 -77760.000640,292.844436 -86399.999000,292.839283 -86400.001000,292.839283 -95040.000341,293.102600 -103679.999000,292.973213 -112319.999000,292.841082 -112320.001000,292.841082 -120960.001000,292.998090 -129599.999992,297.082655 -138239.999000,292.931568 -146879.999000,292.582430 -146880.001000,292.582430 -155520.001000,292.715933 -164160.001000,292.820900 -172800.000467,293.077418 -181439.999000,292.984127 -190079.999000,292.853246 -198719.999000,292.838613 -198720.001000,292.838613 -207360.001000,293.131471 -215999.999816,293.661824 -224639.999000,292.891630 -233279.999000,292.457921 -233280.001000,292.457921 -241920.001000,292.696391 -250560.001000,292.829375 -259200.000962,293.002542 -267839.999000,292.999188 -276479.999000,292.868368 -285119.999000,292.852881 -285120.001000,292.852881 -293760.001000,293.092265 -302399.999224,293.119429 -311039.999000,292.903763 -319679.999000,292.746603 -319680.001000,292.746603 -328320.001000,292.812485 -336960.001000,292.870594 -345600.000291,293.115313 -354239.999000,292.980926 -362879.999000,292.860685 -371519.999000,292.853551 -371520.001000,292.853551 -380160.000816,293.099856 -388799.999000,293.074918 -397439.999000,292.858368 -406079.999000,292.752426 -406080.001000,292.752426 -414720.001000,292.791419 -423360.001000,292.848277 -432000.000267,293.126349 -440639.999000,292.965317 -449279.999000,292.862149 -457919.999000,292.860289 -457920.001000,292.860289 -466560.000396,293.056107 -475199.999000,292.971323 -483839.999000,292.929647 -492479.999000,292.721024 -492480.001000,292.721024 -501120.001000,292.815260 -509760.001000,292.867819 -518400.000133,293.066351 -527039.999000,292.914342 -535679.999000,292.849618 -544319.999000,292.844405 -544320.001000,292.844405 -552960.001000,293.012511 -561599.999586,293.150861 -570239.999000,292.816875 -578879.999000,292.717061 -578880.001000,292.717061 -587520.001000,292.742548 -596160.001000,292.802211 -604800.000259,293.111106 -613439.999000,292.929159 -622079.999000,292.841570 -622080.001000,292.841570 -630720.001000,292.850228 -639360.001000,293.439330 -647999.999648,294.258913 -656639.999000,292.550144 -656640.001000,292.550144 -665280.001000,292.689531 -673920.001000,292.759712 -682560.001000,292.834253 -691200.000301,293.094917 -699839.999000,292.954860 -708479.999000,292.860563 -717119.999000,292.856356 -717120.001000,292.856356 -725760.001000,293.000773 -734399.999392,293.050894 -743039.999000,292.845320 -751679.999000,292.734530 -760319.999000,292.670598 -760320.001000,292.670598 -768960.001000,292.849527 -777600.000269,293.108819 -786239.999000,292.959494 -794879.999000,292.845533 -794880.001000,292.845533 -803520.001000,292.848094 -812160.001000,293.366862 -820800.000357,294.929080 -829439.999000,294.189067 -838079.999000,292.596362 -838080.001000,292.596362 -846720.001000,292.726756 -855360.001000,292.841174 -864000.001000,293.049583 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/reference.csv deleted file mode 100644 index d2fed655..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,293.260254 -17280.000000,293.122131 -25920.000000,293.136597 -34560.000000,293.176361 -43200.000000,292.018799 -51840.000000,293.359375 -60480.000000,292.995117 -69120.000000,293.114075 -77760.000000,293.137573 -86400.000000,293.132416 -95040.000000,293.395996 -103680.000000,293.266479 -112320.000000,293.134216 -120960.000000,293.291382 -129600.000000,297.380035 -138240.000000,293.224792 -146880.000000,292.875305 -155520.000000,293.008942 -164160.000000,293.114014 -172800.000000,293.370789 -181440.000000,293.277405 -190080.000000,293.146393 -198720.000000,293.131744 -207360.000000,293.424896 -216000.000000,293.955780 -224640.000000,293.184814 -233280.000000,292.750671 -241920.000000,292.989380 -250560.000000,293.122498 -259200.000000,293.295837 -267840.000000,293.292480 -276480.000000,293.161530 -285120.000000,293.146027 -293760.000000,293.385651 -302400.000000,293.412842 -311040.000000,293.196960 -319680.000000,293.039642 -328320.000000,293.105591 -336960.000000,293.163757 -345600.000000,293.408722 -354240.000000,293.274200 -362880.000000,293.153839 -371520.000000,293.146698 -380160.000000,293.393250 -388800.000000,293.368286 -397440.000000,293.151520 -406080.000000,293.045471 -414720.000000,293.084503 -423360.000000,293.141418 -432000.000000,293.419769 -440640.000000,293.258575 -449280.000000,293.155304 -457920.000000,293.153442 -466560.000000,293.349457 -475200.000000,293.264587 -483840.000000,293.222870 -492480.000000,293.014038 -501120.000000,293.108368 -509760.000000,293.160980 -518400.000000,293.359711 -527040.000000,293.207550 -535680.000000,293.142761 -544320.000000,293.137543 -552960.000000,293.305817 -561600.000000,293.444305 -570240.000000,293.109985 -578880.000000,293.010071 -587520.000000,293.035583 -596160.000000,293.095306 -604800.000000,293.404510 -613440.000000,293.222382 -622080.000000,293.134705 -630720.000000,293.143372 -639360.000000,293.733063 -648000.000000,294.553467 -656640.000000,292.842987 -665280.000000,292.982513 -673920.000000,293.052765 -682560.000000,293.127380 -691200.000000,293.388306 -699840.000000,293.248108 -708480.000000,293.153717 -717120.000000,293.149506 -725760.000000,293.294067 -734400.000000,293.344238 -743040.000000,293.138458 -751680.000000,293.027557 -760320.000000,292.963562 -768960.000000,293.142670 -777600.000000,293.402222 -786240.000000,293.252747 -794880.000000,293.138672 -803520.000000,293.141235 -812160.000000,293.660522 -820800.000000,295.224304 -829440.000000,294.483551 -838080.000000,292.889252 -846720.000000,293.019775 -855360.000000,293.134308 -864000.000000,293.342926 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/test.csv deleted file mode 100644 index d2fed655..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,293.260254 -17280.000000,293.122131 -25920.000000,293.136597 -34560.000000,293.176361 -43200.000000,292.018799 -51840.000000,293.359375 -60480.000000,292.995117 -69120.000000,293.114075 -77760.000000,293.137573 -86400.000000,293.132416 -95040.000000,293.395996 -103680.000000,293.266479 -112320.000000,293.134216 -120960.000000,293.291382 -129600.000000,297.380035 -138240.000000,293.224792 -146880.000000,292.875305 -155520.000000,293.008942 -164160.000000,293.114014 -172800.000000,293.370789 -181440.000000,293.277405 -190080.000000,293.146393 -198720.000000,293.131744 -207360.000000,293.424896 -216000.000000,293.955780 -224640.000000,293.184814 -233280.000000,292.750671 -241920.000000,292.989380 -250560.000000,293.122498 -259200.000000,293.295837 -267840.000000,293.292480 -276480.000000,293.161530 -285120.000000,293.146027 -293760.000000,293.385651 -302400.000000,293.412842 -311040.000000,293.196960 -319680.000000,293.039642 -328320.000000,293.105591 -336960.000000,293.163757 -345600.000000,293.408722 -354240.000000,293.274200 -362880.000000,293.153839 -371520.000000,293.146698 -380160.000000,293.393250 -388800.000000,293.368286 -397440.000000,293.151520 -406080.000000,293.045471 -414720.000000,293.084503 -423360.000000,293.141418 -432000.000000,293.419769 -440640.000000,293.258575 -449280.000000,293.155304 -457920.000000,293.153442 -466560.000000,293.349457 -475200.000000,293.264587 -483840.000000,293.222870 -492480.000000,293.014038 -501120.000000,293.108368 -509760.000000,293.160980 -518400.000000,293.359711 -527040.000000,293.207550 -535680.000000,293.142761 -544320.000000,293.137543 -552960.000000,293.305817 -561600.000000,293.444305 -570240.000000,293.109985 -578880.000000,293.010071 -587520.000000,293.035583 -596160.000000,293.095306 -604800.000000,293.404510 -613440.000000,293.222382 -622080.000000,293.134705 -630720.000000,293.143372 -639360.000000,293.733063 -648000.000000,294.553467 -656640.000000,292.842987 -665280.000000,292.982513 -673920.000000,293.052765 -682560.000000,293.127380 -691200.000000,293.388306 -699840.000000,293.248108 -708480.000000,293.153717 -717120.000000,293.149506 -725760.000000,293.294067 -734400.000000,293.344238 -743040.000000,293.138458 -751680.000000,293.027557 -760320.000000,292.963562 -768960.000000,293.142670 -777600.000000,293.402222 -786240.000000,293.252747 -794880.000000,293.138672 -803520.000000,293.141235 -812160.000000,293.660522 -820800.000000,295.224304 -829440.000000,294.483551 -838080.000000,292.889252 -846720.000000,293.019775 -855360.000000,293.134308 -864000.000000,293.342926 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv deleted file mode 100644 index c3801dfa..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv +++ /dev/null @@ -1,125 +0,0 @@ -x,y --0.001000,293.443144 -8639.999000,293.553514 -8640.001000,293.553514 -17280.000810,293.415253 -25919.999000,293.429733 -34559.999000,293.469537 -34560.001000,293.469537 -43199.999927,292.310818 -51839.999000,293.652734 -51840.001000,293.652734 -60480.000508,293.288112 -69119.999000,293.407189 -77759.999000,293.430711 -77760.001000,293.430711 -86399.999038,293.425548 -95039.999000,293.689392 -95040.001000,293.689392 -103680.001000,293.559746 -112319.999914,293.427351 -120959.999000,293.584673 -129599.999000,297.677415 -129600.001000,297.677415 -138240.001000,293.518017 -146880.000447,293.168181 -155519.999000,293.301951 -164159.999000,293.407128 -172799.999000,293.664159 -172800.001000,293.664159 -181440.001000,293.570682 -190080.001000,293.439539 -198719.999095,293.424876 -207359.999000,293.718321 -215999.999000,294.249736 -216000.001000,294.249736 -224640.001000,293.477999 -233280.000290,293.043422 -241919.999000,293.282369 -250559.999000,293.415620 -259199.999000,293.589133 -259200.001000,293.589133 -267840.001000,293.585773 -276480.001000,293.454691 -285119.999122,293.439173 -293759.999000,293.679036 -302399.999000,293.706255 -302400.001000,293.706255 -311040.001000,293.490157 -319680.000409,293.332682 -328319.999000,293.398696 -336959.999000,293.456921 -345599.999000,293.702131 -345600.001000,293.702131 -354240.001000,293.567475 -362880.001000,293.446993 -371519.999056,293.439845 -380159.999000,293.686643 -380160.001000,293.686643 -388800.001000,293.661654 -397440.001000,293.444671 -406080.000462,293.338517 -414719.999000,293.377588 -423359.999000,293.434560 -431999.999000,293.713189 -432000.001000,293.713189 -440640.001000,293.551834 -449280.001000,293.448459 -457919.999019,293.446596 -466559.999000,293.642806 -466560.001000,293.642806 -475200.001000,293.557852 -483840.001000,293.516093 -492480.000378,293.307052 -501119.999000,293.401476 -509759.999000,293.454141 -518399.999000,293.653070 -518400.001000,293.653070 -527040.001000,293.500758 -535680.001000,293.435904 -544319.999060,293.430680 -552959.999000,293.599122 -561599.999000,293.737750 -561600.001000,293.737750 -570240.001000,293.403095 -578880.000593,293.303081 -587519.999000,293.328619 -596159.999000,293.388402 -604799.999000,293.697915 -604800.001000,293.697915 -613440.001000,293.515604 -622080.000820,293.427839 -630719.999000,293.436515 -639359.999000,294.026796 -647999.999000,294.848020 -648000.001000,294.848020 -656640.000849,293.135830 -665279.999000,293.275496 -673919.999000,293.345818 -682559.999000,293.420508 -691199.999000,293.681694 -691200.001000,293.681694 -699840.001000,293.541356 -708480.001000,293.446871 -717119.999057,293.442655 -725759.999000,293.587361 -734399.999000,293.637583 -734400.001000,293.637583 -743040.001000,293.431597 -751680.001000,293.320585 -760319.999526,293.256526 -768959.999000,293.435812 -777599.999000,293.695624 -777600.001000,293.695624 -786240.001000,293.545999 -794880.000956,293.431811 -803519.999000,293.434377 -812159.999000,293.954183 -820799.999000,295.519529 -820800.001000,295.519529 -829440.001000,294.778035 -838080.000849,293.182141 -846719.999000,293.312795 -855359.999000,293.427442 -863999.999000,293.636269 -864000.001000,293.636269 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv deleted file mode 100644 index 0656881b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv +++ /dev/null @@ -1,53 +0,0 @@ -x,y --0.001000,-0.001000 -25920.001000,-0.001000 -34560.001000,61.006045 -43200.000581,196.453657 -51839.999000,160.507606 -60479.999000,-0.001000 -112320.001000,-0.001000 -120960.001000,138.442382 -129600.000062,601.748368 -138239.999000,192.711972 -146879.999000,-0.001000 -198720.001000,-0.001000 -207360.001000,87.157781 -216000.000538,523.239275 -224639.999000,392.154145 -233279.999000,-0.001000 -285120.001000,-0.001000 -293760.001000,50.298292 -302400.001000,145.753210 -311039.999096,153.460459 -319679.999000,-0.001000 -371520.001000,-0.001000 -380160.001000,34.847937 -388800.000541,181.771256 -397439.999000,138.030914 -406079.999000,-0.001000 -457920.001000,-0.001000 -466560.001000,55.552257 -475200.001000,103.707300 -483839.999514,158.505770 -492479.999000,-0.001000 -544320.001000,-0.001000 -552960.001000,100.775474 -561600.000324,290.321129 -570239.999000,193.561280 -578879.999000,-0.001000 -630720.001000,-0.001000 -639360.001000,200.761303 -647999.999894,577.658226 -656639.999000,111.711792 -665279.999000,-0.001000 -717120.001000,-0.001000 -725760.001000,64.424304 -734400.000830,234.303499 -743039.999000,218.547179 -751679.999000,-0.001000 -803520.001000,-0.001000 -812160.001000,219.007321 -820800.000133,617.947190 -829439.999000,312.725414 -838079.999000,-0.001000 -864000.001000,-0.001000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/reference.csv deleted file mode 100644 index 714f107e..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,61.067112 -43200.000000,196.650314 -51840.000000,160.668274 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,138.580963 -129600.000000,602.350769 -138240.000000,192.904877 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,87.245026 -216000.000000,523.763062 -224640.000000,392.546692 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,50.348640 -302400.000000,145.899109 -311040.000000,153.614075 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,34.882820 -388800.000000,181.953217 -397440.000000,138.169083 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,55.607864 -475200.000000,103.811111 -483840.000000,158.664444 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,100.876350 -561600.000000,290.611755 -570240.000000,193.755035 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,200.962265 -648000.000000,578.236511 -656640.000000,111.823616 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,64.488792 -734400.000000,234.538040 -743040.000000,218.765945 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,219.226547 -820800.000000,618.565796 -829440.000000,313.038452 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/test.csv deleted file mode 100644 index 714f107e..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,61.067112 -43200.000000,196.650314 -51840.000000,160.668274 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,138.580963 -129600.000000,602.350769 -138240.000000,192.904877 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,87.245026 -216000.000000,523.763062 -224640.000000,392.546692 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,50.348640 -302400.000000,145.899109 -311040.000000,153.614075 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,34.882820 -388800.000000,181.953217 -397440.000000,138.169083 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,55.607864 -475200.000000,103.811111 -483840.000000,158.664444 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,100.876350 -561600.000000,290.611755 -570240.000000,193.755035 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,200.962265 -648000.000000,578.236511 -656640.000000,111.823616 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,64.488792 -734400.000000,234.538040 -743040.000000,218.765945 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,219.226547 -820800.000000,618.565796 -829440.000000,313.038452 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv deleted file mode 100644 index 4d2eefe9..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv +++ /dev/null @@ -1,63 +0,0 @@ -x,y --0.001000,0.001000 -25919.999000,0.001000 -34559.999000,61.128179 -43199.999000,196.846965 -43200.001000,196.846965 -51840.001000,160.828942 -60480.001000,0.001000 -112319.999000,0.001000 -120959.999000,138.719544 -129599.999000,602.953120 -129600.001000,602.953120 -138240.001000,193.097782 -146880.001000,0.001000 -198719.999000,0.001000 -207359.999000,87.332271 -215999.999000,524.286825 -216000.001000,524.286825 -224640.001000,392.939239 -233280.001000,0.001000 -285119.999000,0.001000 -293759.999000,50.398989 -302399.999000,146.045008 -311039.999000,153.767689 -311040.001000,153.767689 -319680.001000,0.001000 -371519.999000,0.001000 -380159.999000,34.917703 -388799.999000,182.135170 -388800.001000,182.135170 -397440.001000,138.307252 -406080.001000,0.001000 -457919.999000,0.001000 -466559.999000,55.663472 -475199.999000,103.914923 -483839.999000,158.823108 -483840.001000,158.823108 -492480.001000,0.001000 -544319.999000,0.001000 -552959.999000,100.977227 -561599.999000,290.902367 -561600.001000,290.902367 -570240.001000,193.948790 -578880.001000,0.001000 -630719.999000,0.001000 -639359.999000,201.163227 -647999.999000,578.814748 -648000.001000,578.814748 -656640.001000,111.935440 -665280.001000,0.001000 -717119.999000,0.001000 -725759.999000,64.553281 -734399.999000,234.772578 -734400.001000,234.772578 -743040.001000,218.984711 -751680.001000,0.001000 -803519.999000,0.001000 -812159.999000,219.445774 -820799.999000,619.184362 -820800.001000,619.184362 -829440.001000,313.351491 -838080.001000,0.001000 -864000.001000,0.001000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv deleted file mode 100644 index d4fd1ae4..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv +++ /dev/null @@ -1,124 +0,0 @@ -x,y --0.001000,603.875805 -0.001000,603.875805 -8640.001000,888.386481 -17279.999339,895.749349 -25919.999000,859.617122 -34559.999000,854.029942 -34560.001000,854.029942 -43199.999586,1028.385352 -51839.999000,607.969974 -51840.001000,607.969974 -60480.001000,690.986727 -69120.001000,763.315449 -77760.000849,789.577003 -86399.999000,787.427056 -86400.001000,787.427056 -95040.000447,888.043373 -103679.999000,849.608464 -112319.999000,845.166012 -120959.999000,809.150367 -129599.999000,30.018785 -138240.001000,30.018785 -146880.001000,800.740816 -155520.001000,1000.889100 -164160.001000,1093.721712 -172800.000287,1280.973344 -181439.999000,1177.131749 -181440.001000,1177.131749 -190079.999445,1232.538679 -198719.999000,1038.709762 -198720.001000,1038.709762 -207359.999383,1216.117959 -215999.999000,468.030281 -224639.999000,30.018785 -224640.001000,30.018785 -233280.001000,982.684057 -241919.999230,1001.045800 -250559.999000,859.963151 -250560.001000,859.963151 -259200.000394,1118.737059 -267839.999000,1006.267140 -276479.999000,954.646754 -276480.001000,954.646754 -285120.000016,1083.361584 -293759.999000,958.679460 -302399.999000,732.988690 -311039.999000,652.952839 -311040.001000,652.952839 -319679.999996,660.508873 -328319.999000,652.897413 -328320.001000,652.897413 -336960.000019,889.273872 -345599.999000,661.786465 -354239.999000,602.037192 -362879.999000,591.188127 -362880.001000,591.188127 -371520.000028,1130.202834 -380159.999000,620.574727 -388799.999000,518.592766 -397439.999000,486.089657 -397440.001000,486.089657 -406080.001000,516.783480 -414720.001000,552.592179 -423360.000045,897.062817 -431999.999000,582.200603 -440639.999000,515.485159 -449279.999000,494.981177 -449280.001000,494.981177 -457919.999963,1139.772949 -466559.999000,445.331231 -475199.999000,386.494436 -483839.999000,357.937481 -483840.001000,357.937481 -492480.001000,392.110457 -501120.001000,415.672169 -509759.999988,923.395201 -518399.999000,403.502008 -527039.999000,372.896201 -527040.001000,372.896201 -535680.001000,389.864902 -544320.000006,1160.295486 -552959.999000,399.061416 -561599.999000,30.018785 -561600.001000,30.018785 -570240.000000,353.375603 -578879.999000,30.018785 -578880.001000,30.018785 -587520.001000,475.604913 -596160.000139,902.447681 -604799.999000,579.613349 -613439.999000,530.504731 -613440.001000,530.504731 -622080.001000,541.326235 -630719.999964,1133.143605 -639359.999000,496.755860 -647999.999000,30.018785 -656640.001000,30.018785 -665280.001000,361.012070 -673920.001000,474.567895 -682560.000010,910.810396 -691199.999000,482.872723 -699839.999000,416.488704 -699840.001000,416.488704 -708480.001000,420.799056 -717120.000003,1158.568214 -725759.999000,425.279647 -734399.999000,363.413475 -734400.001000,363.413475 -743040.001000,382.049057 -751680.001000,382.111128 -760320.001000,486.059200 -768960.000119,900.798148 -777599.999000,574.158726 -786239.999000,499.964135 -786240.001000,499.964135 -794880.001000,528.528499 -803520.000029,1136.175851 -812159.999000,562.487974 -820799.999000,30.018785 -838080.001000,30.018785 -846720.001000,408.655267 -855359.999949,927.002914 -863999.999000,352.666695 -864000.001000,352.666695 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/reference.csv deleted file mode 100644 index a40e47aa..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,604.480286 -8640.000000,889.275757 -17280.000000,896.645996 -25920.000000,860.477600 -34560.000000,854.884827 -43200.000000,1029.414795 -51840.000000,608.578552 -60480.000000,691.678406 -69120.000000,764.079529 -77760.000000,790.367371 -86400.000000,788.215271 -95040.000000,888.932312 -103680.000000,850.458923 -112320.000000,846.012024 -120960.000000,809.960327 -129600.000000,30.048834 -138240.000000,30.048834 -146880.000000,801.542358 -155520.000000,1001.890991 -164160.000000,1094.816528 -172800.000000,1282.255615 -181440.000000,1178.310059 -190080.000000,1233.772461 -198720.000000,1039.749512 -207360.000000,1217.335327 -216000.000000,468.498779 -224640.000000,30.048834 -233280.000000,983.667725 -241920.000000,1002.047852 -250560.000000,860.823975 -259200.000000,1119.856934 -267840.000000,1007.274414 -276480.000000,955.602356 -285120.000000,1084.446045 -293760.000000,959.639099 -302400.000000,733.722412 -311040.000000,653.606445 -319680.000000,661.170044 -328320.000000,653.550964 -336960.000000,890.164062 -345600.000000,662.448914 -354240.000000,602.639832 -362880.000000,591.779907 -371520.000000,1131.334229 -380160.000000,621.195923 -388800.000000,519.111877 -397440.000000,486.576233 -406080.000000,517.300781 -414720.000000,553.145325 -423360.000000,897.960815 -432000.000000,582.783386 -440640.000000,516.001160 -449280.000000,495.476654 -457920.000000,1140.913940 -466560.000000,445.777008 -475200.000000,386.881317 -483840.000000,358.295776 -492480.000000,392.502960 -501120.000000,416.088257 -509760.000000,924.319580 -518400.000000,403.905914 -527040.000000,373.269470 -535680.000000,390.255157 -544320.000000,1161.457031 -552960.000000,399.460876 -561600.000000,30.048834 -570240.000000,353.729370 -578880.000000,30.048834 -587520.000000,476.080994 -596160.000000,903.351074 -604800.000000,580.193542 -613440.000000,531.035767 -622080.000000,541.868103 -630720.000000,1134.277954 -639360.000000,497.253113 -648000.000000,30.048834 -656640.000000,30.048834 -665280.000000,361.373444 -673920.000000,475.042938 -682560.000000,911.722168 -691200.000000,483.356079 -699840.000000,416.905609 -708480.000000,421.220276 -717120.000000,1159.728027 -725760.000000,425.705353 -734400.000000,363.777252 -743040.000000,382.431488 -751680.000000,382.493622 -760320.000000,486.545746 -768960.000000,901.699890 -777600.000000,574.733459 -786240.000000,500.464600 -794880.000000,529.057556 -803520.000000,1137.313232 -812160.000000,563.051025 -820800.000000,30.048834 -829440.000000,30.048834 -838080.000000,30.048834 -846720.000000,409.064331 -855360.000000,927.930908 -864000.000000,353.019714 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/test.csv deleted file mode 100644 index a40e47aa..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,604.480286 -8640.000000,889.275757 -17280.000000,896.645996 -25920.000000,860.477600 -34560.000000,854.884827 -43200.000000,1029.414795 -51840.000000,608.578552 -60480.000000,691.678406 -69120.000000,764.079529 -77760.000000,790.367371 -86400.000000,788.215271 -95040.000000,888.932312 -103680.000000,850.458923 -112320.000000,846.012024 -120960.000000,809.960327 -129600.000000,30.048834 -138240.000000,30.048834 -146880.000000,801.542358 -155520.000000,1001.890991 -164160.000000,1094.816528 -172800.000000,1282.255615 -181440.000000,1178.310059 -190080.000000,1233.772461 -198720.000000,1039.749512 -207360.000000,1217.335327 -216000.000000,468.498779 -224640.000000,30.048834 -233280.000000,983.667725 -241920.000000,1002.047852 -250560.000000,860.823975 -259200.000000,1119.856934 -267840.000000,1007.274414 -276480.000000,955.602356 -285120.000000,1084.446045 -293760.000000,959.639099 -302400.000000,733.722412 -311040.000000,653.606445 -319680.000000,661.170044 -328320.000000,653.550964 -336960.000000,890.164062 -345600.000000,662.448914 -354240.000000,602.639832 -362880.000000,591.779907 -371520.000000,1131.334229 -380160.000000,621.195923 -388800.000000,519.111877 -397440.000000,486.576233 -406080.000000,517.300781 -414720.000000,553.145325 -423360.000000,897.960815 -432000.000000,582.783386 -440640.000000,516.001160 -449280.000000,495.476654 -457920.000000,1140.913940 -466560.000000,445.777008 -475200.000000,386.881317 -483840.000000,358.295776 -492480.000000,392.502960 -501120.000000,416.088257 -509760.000000,924.319580 -518400.000000,403.905914 -527040.000000,373.269470 -535680.000000,390.255157 -544320.000000,1161.457031 -552960.000000,399.460876 -561600.000000,30.048834 -570240.000000,353.729370 -578880.000000,30.048834 -587520.000000,476.080994 -596160.000000,903.351074 -604800.000000,580.193542 -613440.000000,531.035767 -622080.000000,541.868103 -630720.000000,1134.277954 -639360.000000,497.253113 -648000.000000,30.048834 -656640.000000,30.048834 -665280.000000,361.373444 -673920.000000,475.042938 -682560.000000,911.722168 -691200.000000,483.356079 -699840.000000,416.905609 -708480.000000,421.220276 -717120.000000,1159.728027 -725760.000000,425.705353 -734400.000000,363.777252 -743040.000000,382.431488 -751680.000000,382.493622 -760320.000000,486.545746 -768960.000000,901.699890 -777600.000000,574.733459 -786240.000000,500.464600 -794880.000000,529.057556 -803520.000000,1137.313232 -812160.000000,563.051025 -820800.000000,30.048834 -829440.000000,30.048834 -838080.000000,30.048834 -846720.000000,409.064331 -855360.000000,927.930908 -864000.000000,353.019714 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv deleted file mode 100644 index 2db9f4e3..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv +++ /dev/null @@ -1,126 +0,0 @@ -x,y --0.001000,605.084766 -8639.999000,890.165033 -17279.999000,897.542642 -17280.001000,897.542642 -25920.001000,861.338078 -34559.999062,855.739713 -43199.999000,1030.444210 -43200.001000,1030.444210 -51840.000670,609.187147 -60479.999000,692.370084 -69119.999000,764.843608 -77759.999000,791.157738 -77760.001000,791.157738 -86399.999042,789.003487 -95039.999000,889.821244 -95040.001000,889.821244 -103680.001000,851.309382 -112320.001000,846.858036 -120960.001000,810.770287 -129600.001000,30.078883 -138239.999000,30.078883 -146879.999000,802.343901 -155519.999000,1002.892882 -164159.999000,1095.911345 -172799.999000,1283.537871 -172800.001000,1283.537871 -181440.000304,1179.488377 -190079.999000,1235.006233 -190080.001000,1235.006233 -198720.000044,1040.789283 -207359.999000,1218.552662 -207360.001000,1218.552662 -216000.001000,468.967278 -224639.999630,30.078952 -233279.999000,984.651392 -241919.999000,1003.049899 -241920.001000,1003.049899 -250559.999706,861.684820 -259199.999000,1120.976791 -259200.001000,1120.976791 -267840.001000,1008.281688 -276479.999572,956.557967 -285119.999000,1085.530491 -285120.001000,1085.530491 -293760.001000,960.598738 -302400.001000,734.456135 -311040.000827,654.260053 -319679.999000,661.831214 -319680.001000,661.831214 -328319.999062,654.204517 -336959.999000,891.054227 -336960.001000,891.054227 -345600.001000,663.111362 -354240.001000,603.242471 -362879.999039,592.371690 -371519.999000,1132.465563 -371520.001000,1132.465563 -380160.001000,621.817119 -388800.001000,519.630989 -397440.000029,487.062813 -406079.999000,517.818082 -414719.999000,553.698470 -423359.999000,898.858776 -423360.001000,898.858776 -432000.001000,583.366170 -440640.001000,516.517161 -449279.999062,495.972135 -457919.999000,1142.054854 -457920.001000,1142.054854 -466560.001000,446.222785 -475200.001000,387.268198 -483839.999910,358.654076 -492479.999000,392.895463 -501119.999000,416.504345 -509759.999000,925.243900 -509760.001000,925.243900 -518400.001000,404.309820 -527040.000287,373.642742 -535679.999000,390.645413 -544319.999000,1162.618488 -544320.001000,1162.618488 -552960.001000,399.860337 -561600.000066,30.078923 -570239.999000,354.083099 -570240.001000,354.083099 -578879.999841,30.078926 -587519.999000,476.557075 -596159.999000,904.254425 -596160.001000,904.254425 -604800.001000,580.773736 -613440.000639,531.566804 -622079.999000,542.409971 -630719.999000,1135.412232 -630720.001000,1135.412232 -639360.001000,497.750366 -648000.001000,30.078883 -656639.999000,30.078883 -665279.999000,361.734817 -673919.999000,475.517981 -682559.999000,912.633890 -682560.001000,912.633890 -691200.001000,483.839435 -699840.000878,417.322516 -708479.999000,421.641496 -717119.999000,1160.887755 -717120.001000,1160.887755 -725760.001000,426.131058 -734400.000537,364.141033 -743039.999000,382.813920 -751679.999000,382.876115 -760319.999000,487.032292 -768959.999000,902.601590 -768960.001000,902.601590 -777600.001000,575.308193 -786240.000444,500.965069 -794879.999000,529.586614 -803519.999000,1138.450546 -803520.001000,1138.450546 -812160.001000,563.614076 -820800.001000,30.078883 -838079.999000,30.078883 -846719.999000,409.473395 -855359.999000,928.858839 -855360.001000,928.858839 -864000.001000,353.372734 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv deleted file mode 100644 index a084a5f2..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv +++ /dev/null @@ -1,126 +0,0 @@ -x,y --0.001000,292.856844 -0.001000,292.856844 -8640.001000,322.082960 -17279.999535,322.319265 -25919.999000,321.671384 -34559.999000,321.270723 -43199.999000,309.589454 -43200.001000,309.589454 -51840.000854,319.877525 -60479.999000,319.067576 -60480.001000,319.067576 -69120.001000,319.658720 -77760.000823,320.303948 -86399.999000,320.241236 -86400.001000,320.241236 -95040.001000,320.471109 -103680.000713,321.407336 -112319.999000,321.250175 -120959.999000,321.020394 -120960.001000,321.020394 -129600.000544,325.019046 -138239.999000,323.837612 -146879.999000,321.334411 -146880.001000,321.334411 -155520.001000,323.609416 -164160.001000,324.863806 -172800.001000,325.585679 -181440.001000,326.031125 -190080.001000,327.178933 -198719.999223,327.307131 -207359.999000,326.283010 -215999.999000,322.484535 -216000.001000,322.484535 -224639.999901,325.634702 -233279.999000,321.792357 -233280.001000,321.792357 -241920.001000,323.716426 -250560.000253,324.249004 -259199.999000,323.931786 -267839.999000,323.527894 -276479.999000,322.891355 -285119.999000,322.782577 -293759.999000,321.705896 -302399.999000,320.349526 -311039.999000,319.315100 -319679.999000,318.424695 -328319.999000,317.813948 -336959.999000,316.955463 -336960.001000,316.955463 -345600.001000,316.981926 -354239.999064,316.990005 -362879.999000,316.745011 -371519.999000,316.636721 -371520.001000,316.636721 -380159.999754,316.845831 -388799.999000,316.500261 -397439.999000,315.991584 -406079.999000,315.751254 -406080.001000,315.751254 -414719.999297,315.782595 -423359.999000,315.602813 -423360.001000,315.602813 -431999.999314,315.674884 -440639.999000,315.288156 -449279.999000,314.797863 -457919.999000,314.366928 -466559.999000,313.578350 -475199.999000,313.001779 -475200.001000,313.001779 -483840.000107,313.091197 -492479.999000,313.019065 -501119.999000,312.952512 -509759.999000,312.308899 -509760.001000,312.308899 -518399.999412,312.410086 -527039.999000,312.020553 -527040.001000,312.020553 -535680.001000,312.290577 -544320.001000,312.643251 -552960.001000,313.012571 -561599.999871,316.763851 -570239.999000,311.897111 -570240.001000,311.897111 -578880.001000,312.307253 -587520.001000,313.929500 -596160.001000,314.752102 -604800.000610,315.907805 -613439.999000,315.627934 -613440.001000,315.627934 -622080.000459,315.941981 -630719.999000,315.825399 -639359.999000,315.742871 -639360.001000,315.742871 -648000.000553,319.206353 -656639.999000,318.209883 -665279.999000,313.696122 -665280.001000,313.696122 -673919.999904,313.957091 -682559.999000,313.640452 -682560.001000,313.640452 -691199.999300,313.718286 -699839.999000,313.276528 -708479.999000,313.097844 -717119.999000,312.733279 -717120.001000,312.733279 -725760.001000,313.064765 -734400.001000,313.656671 -743040.001000,316.682329 -751679.999051,316.740986 -760319.999000,314.501285 -760320.001000,314.501285 -768960.001000,315.048009 -777599.999796,315.339496 -786239.999000,314.898379 -786240.001000,314.898379 -794880.001000,315.198798 -803520.001000,315.219621 -812160.001000,316.089905 -820800.000611,320.252547 -829439.999000,319.248090 -838079.999000,315.286937 -846719.999000,313.282839 -855359.999000,312.077838 -863999.999000,311.393465 -864000.001000,311.393465 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv deleted file mode 100644 index 12695a90..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,322.405365 -17280.000000,322.641907 -25920.000000,321.993378 -34560.000000,321.592316 -43200.000000,309.899353 -51840.000000,320.197723 -60480.000000,319.386963 -69120.000000,319.978699 -77760.000000,320.624573 -86400.000000,320.561798 -95040.000000,320.791901 -103680.000000,321.729065 -112320.000000,321.571747 -120960.000000,321.341736 -129600.000000,325.344391 -138240.000000,324.161774 -146880.000000,321.656067 -155520.000000,323.933350 -164160.000000,325.188995 -172800.000000,325.911591 -181440.000000,326.357483 -190080.000000,327.506439 -198720.000000,327.634766 -207360.000000,326.609619 -216000.000000,322.807343 -224640.000000,325.960663 -233280.000000,322.114471 -241920.000000,324.040466 -250560.000000,324.573578 -259200.000000,324.256042 -267840.000000,323.851746 -276480.000000,323.214569 -285120.000000,323.105682 -293760.000000,322.027924 -302400.000000,320.670197 -311040.000000,319.634735 -319680.000000,318.743439 -328320.000000,318.132080 -336960.000000,317.272736 -345600.000000,317.299225 -354240.000000,317.307312 -362880.000000,317.062073 -371520.000000,316.953674 -380160.000000,317.162994 -388800.000000,316.817078 -397440.000000,316.307892 -406080.000000,316.067322 -414720.000000,316.098694 -423360.000000,315.918732 -432000.000000,315.990875 -440640.000000,315.603760 -449280.000000,315.112976 -457920.000000,314.681610 -466560.000000,313.892242 -475200.000000,313.315094 -483840.000000,313.404602 -492480.000000,313.332397 -501120.000000,313.265778 -509760.000000,312.621521 -518400.000000,312.722809 -527040.000000,312.332886 -535680.000000,312.603180 -544320.000000,312.956207 -552960.000000,313.325897 -561600.000000,317.080933 -570240.000000,312.209320 -578880.000000,312.619873 -587520.000000,314.243744 -596160.000000,315.067169 -604800.000000,316.224030 -613440.000000,315.943878 -622080.000000,316.258240 -630720.000000,316.141541 -639360.000000,316.058929 -648000.000000,319.525879 -656640.000000,318.528412 -665280.000000,314.010132 -673920.000000,314.271362 -682560.000000,313.954407 -691200.000000,314.032318 -699840.000000,313.590118 -708480.000000,313.411255 -717120.000000,313.046326 -725760.000000,313.378143 -734400.000000,313.970642 -743040.000000,316.999329 -751680.000000,317.058044 -760320.000000,314.816101 -768960.000000,315.363373 -777600.000000,315.655151 -786240.000000,315.213593 -794880.000000,315.514313 -803520.000000,315.535156 -812160.000000,316.406311 -820800.000000,320.573120 -829440.000000,319.567657 -838080.000000,315.602539 -846720.000000,313.596436 -855360.000000,312.390228 -864000.000000,311.705170 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv deleted file mode 100644 index 12695a90..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,322.405365 -17280.000000,322.641907 -25920.000000,321.993378 -34560.000000,321.592316 -43200.000000,309.899353 -51840.000000,320.197723 -60480.000000,319.386963 -69120.000000,319.978699 -77760.000000,320.624573 -86400.000000,320.561798 -95040.000000,320.791901 -103680.000000,321.729065 -112320.000000,321.571747 -120960.000000,321.341736 -129600.000000,325.344391 -138240.000000,324.161774 -146880.000000,321.656067 -155520.000000,323.933350 -164160.000000,325.188995 -172800.000000,325.911591 -181440.000000,326.357483 -190080.000000,327.506439 -198720.000000,327.634766 -207360.000000,326.609619 -216000.000000,322.807343 -224640.000000,325.960663 -233280.000000,322.114471 -241920.000000,324.040466 -250560.000000,324.573578 -259200.000000,324.256042 -267840.000000,323.851746 -276480.000000,323.214569 -285120.000000,323.105682 -293760.000000,322.027924 -302400.000000,320.670197 -311040.000000,319.634735 -319680.000000,318.743439 -328320.000000,318.132080 -336960.000000,317.272736 -345600.000000,317.299225 -354240.000000,317.307312 -362880.000000,317.062073 -371520.000000,316.953674 -380160.000000,317.162994 -388800.000000,316.817078 -397440.000000,316.307892 -406080.000000,316.067322 -414720.000000,316.098694 -423360.000000,315.918732 -432000.000000,315.990875 -440640.000000,315.603760 -449280.000000,315.112976 -457920.000000,314.681610 -466560.000000,313.892242 -475200.000000,313.315094 -483840.000000,313.404602 -492480.000000,313.332397 -501120.000000,313.265778 -509760.000000,312.621521 -518400.000000,312.722809 -527040.000000,312.332886 -535680.000000,312.603180 -544320.000000,312.956207 -552960.000000,313.325897 -561600.000000,317.080933 -570240.000000,312.209320 -578880.000000,312.619873 -587520.000000,314.243744 -596160.000000,315.067169 -604800.000000,316.224030 -613440.000000,315.943878 -622080.000000,316.258240 -630720.000000,316.141541 -639360.000000,316.058929 -648000.000000,319.525879 -656640.000000,318.528412 -665280.000000,314.010132 -673920.000000,314.271362 -682560.000000,313.954407 -691200.000000,314.032318 -699840.000000,313.590118 -708480.000000,313.411255 -717120.000000,313.046326 -725760.000000,313.378143 -734400.000000,313.970642 -743040.000000,316.999329 -751680.000000,317.058044 -760320.000000,314.816101 -768960.000000,315.363373 -777600.000000,315.655151 -786240.000000,315.213593 -794880.000000,315.514313 -803520.000000,315.535156 -812160.000000,316.406311 -820800.000000,320.573120 -829440.000000,319.567657 -838080.000000,315.602539 -846720.000000,313.596436 -855360.000000,312.390228 -864000.000000,311.705170 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv deleted file mode 100644 index 02b77447..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv +++ /dev/null @@ -1,125 +0,0 @@ -x,y --0.001000,293.443144 -8639.999000,322.727770 -17279.999000,322.964549 -17280.001000,322.964549 -25920.001000,322.315371 -34560.001000,321.913908 -43200.000063,310.209254 -51839.999000,320.517921 -51840.001000,320.517921 -60480.000156,319.706350 -69119.999000,320.298677 -77759.999000,320.945197 -77760.001000,320.945197 -86399.999429,320.882360 -95039.999000,321.112693 -103679.999000,322.050794 -103680.001000,322.050794 -112320.001000,321.893319 -120959.999109,321.663078 -129599.999000,325.669735 -129600.001000,325.669735 -138240.001000,324.485935 -146880.000048,321.977723 -155519.999000,324.257283 -164159.999000,325.514184 -172799.999000,326.237502 -181439.999000,326.683840 -190079.999000,327.833946 -198719.999000,327.962400 -198720.001000,327.962400 -207360.001000,326.936229 -216000.000093,323.130150 -224639.999000,326.286624 -224640.001000,326.286624 -233280.000333,322.436586 -241919.999000,324.364507 -250559.999000,324.898151 -250560.001000,324.898151 -259200.001000,324.580299 -267840.001000,324.175597 -276480.001000,323.537784 -285120.001000,323.428788 -293760.001000,322.349952 -302400.001000,320.990867 -311040.001000,319.954370 -319680.001000,319.062182 -328320.001000,318.450212 -336960.000940,317.590008 -345599.999000,317.616524 -354239.999000,317.624619 -354240.001000,317.624619 -362880.001000,317.379135 -371519.999682,317.270628 -380159.999000,317.480157 -380160.001000,317.480157 -388800.001000,317.133895 -397440.001000,316.624200 -406080.000769,316.383389 -414719.999000,316.414793 -414720.001000,316.414793 -423360.000428,316.234650 -431999.999000,316.306866 -432000.001000,316.306866 -440640.001000,315.919364 -449280.001000,315.428089 -457920.001000,314.996292 -466560.001000,314.206135 -475200.000731,313.628409 -483839.999000,313.718007 -483840.001000,313.718007 -492480.001000,313.645730 -501120.001000,313.579043 -509760.000728,312.934143 -518399.999000,313.035532 -518400.001000,313.035532 -527040.000181,312.645219 -535679.999000,312.915783 -544319.999000,313.269163 -552959.999000,313.639223 -561599.999000,317.398014 -561600.001000,317.398014 -570240.000845,312.521529 -578879.999000,312.932493 -587519.999000,314.557988 -596159.999000,315.382236 -604799.999000,316.540254 -604800.001000,316.540254 -613439.999942,316.259822 -622079.999000,316.574498 -622080.001000,316.574498 -630720.001000,316.457682 -639359.999047,316.374988 -647999.999000,319.845405 -648000.001000,319.845405 -656640.001000,318.846940 -665280.000891,314.324142 -673919.999000,314.585634 -673920.001000,314.585634 -682560.000605,314.268361 -691199.999000,314.346350 -691200.001000,314.346350 -699840.001000,313.903709 -708480.001000,313.724666 -717120.000048,313.359372 -725759.999000,313.691521 -734399.999000,314.284613 -743039.999000,317.316328 -751679.999000,317.375102 -751680.001000,317.375102 -760320.000608,315.130917 -768959.999000,315.678736 -777599.999000,315.970807 -777600.001000,315.970807 -786240.000190,315.528806 -794879.999000,315.829827 -803519.999000,315.850691 -812159.999000,316.722717 -820799.999000,320.893693 -820800.001000,320.893693 -829440.001000,319.887225 -838080.001000,315.918142 -846720.001000,313.910032 -855360.001000,312.702618 -864000.001000,312.016875 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv deleted file mode 100644 index 3d066051..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv +++ /dev/null @@ -1,123 +0,0 @@ -x,y --0.001000,322.826844 -0.001000,322.826844 -8640.000771,331.848422 -17279.999000,330.681256 -25919.999000,327.608434 -34559.999000,323.936390 -34560.001000,323.936390 -43200.000714,332.870958 -51839.999000,331.378464 -60479.999000,329.937768 -69119.999000,328.340337 -77759.999000,319.784418 -86399.999000,317.947878 -86400.001000,317.947878 -95040.000845,332.186920 -103679.999000,330.988321 -112319.999000,327.129879 -120959.999000,323.217871 -120960.001000,323.217871 -129600.000714,332.281216 -138239.999000,330.769180 -146879.999000,329.262144 -155519.999000,327.516760 -164159.999000,318.231468 -164160.001000,318.231468 -172800.000791,327.263351 -181439.999000,326.207798 -190079.999000,325.193554 -198719.999000,320.627263 -198720.001000,320.627263 -207360.000726,331.191060 -215999.999000,329.515095 -224639.999000,327.834100 -233279.999000,325.997803 -241919.999000,323.697707 -250559.999000,309.921702 -250560.001000,309.921702 -259200.000884,327.229419 -267839.999000,326.162982 -276479.999000,325.138647 -285119.999000,319.873197 -285120.001000,319.873197 -293760.000750,331.308008 -302399.999000,329.676707 -311039.999000,328.025467 -319679.999000,326.213621 -328319.999000,323.934225 -336959.999000,310.365715 -336960.001000,310.365715 -345600.000883,327.275150 -354239.999000,326.227767 -362879.999000,325.220901 -371519.999000,320.986066 -371520.001000,320.986066 -380160.000725,331.200145 -388799.999000,329.569911 -397439.999000,327.918823 -406079.999000,326.106459 -414719.999000,323.826118 -423359.999000,310.280108 -423360.001000,310.280108 -432000.000885,327.278534 -440639.999000,326.236913 -449279.999000,325.235291 -457919.999000,321.295052 -457920.001000,321.295052 -466560.000714,331.162860 -475199.999000,329.519546 -483839.999000,327.858825 -492479.999000,326.037711 -501119.999000,323.749047 -509759.999000,310.288552 -509760.001000,310.288552 -518400.000884,327.181493 -527039.999000,326.142129 -535679.999000,325.142672 -544319.999000,321.028595 -544320.001000,321.028595 -552960.000719,331.137128 -561599.999000,329.485462 -570239.999000,327.818734 -578879.999000,325.991706 -587519.999000,323.696762 -596159.999000,310.151391 -596160.001000,310.151391 -604800.000885,327.197865 -613439.999000,326.161427 -622079.999000,325.164683 -630719.999000,321.333344 -630720.001000,321.333344 -639360.000715,331.186213 -647999.999000,329.551741 -656639.999000,327.897940 -665279.999000,326.082649 -673919.999000,323.799137 -682559.999000,310.293400 -682560.001000,310.293400 -691200.000884,327.189969 -699839.999000,326.151915 -708479.999000,325.153647 -717119.999000,321.143135 -717120.001000,321.143135 -725760.000717,331.140238 -734399.999000,329.489730 -743039.999000,327.823582 -751679.999000,325.997468 -760319.999000,323.703560 -768959.999000,310.155294 -768960.001000,310.155294 -777600.000885,327.198292 -786239.999000,326.161641 -794879.999000,325.164683 -803519.999000,321.309991 -803520.001000,321.309991 -812160.000716,331.182005 -820799.999000,329.546284 -829439.999000,327.891507 -838079.999000,326.075545 -846719.999000,323.791089 -855359.999000,310.346935 -855360.001000,310.346935 -864000.001000,327.177591 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv deleted file mode 100644 index d4bd0683..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,323.149994 -8640.000000,332.180603 -17280.000000,331.012268 -25920.000000,327.936371 -34560.000000,324.260651 -43200.000000,333.204163 -51840.000000,331.710175 -60480.000000,330.268036 -69120.000000,328.669006 -77760.000000,320.104523 -86400.000000,318.266144 -95040.000000,332.519440 -103680.000000,331.319641 -112320.000000,327.457336 -120960.000000,323.541412 -129600.000000,332.613831 -138240.000000,331.100281 -146880.000000,329.591736 -155520.000000,327.844604 -164160.000000,318.550018 -172800.000000,327.590942 -181440.000000,326.534332 -190080.000000,325.519073 -198720.000000,320.948212 -207360.000000,331.522583 -216000.000000,329.844940 -224640.000000,328.162262 -233280.000000,326.324127 -241920.000000,324.021729 -250560.000000,310.231934 -259200.000000,327.556976 -267840.000000,326.489471 -276480.000000,325.464111 -285120.000000,320.193390 -293760.000000,331.639648 -302400.000000,330.006714 -311040.000000,328.353821 -319680.000000,326.540161 -328320.000000,324.258484 -336960.000000,310.676392 -345600.000000,327.602753 -354240.000000,326.554321 -362880.000000,325.546448 -371520.000000,321.307373 -380160.000000,331.531677 -388800.000000,329.899811 -397440.000000,328.247070 -406080.000000,326.432892 -414720.000000,324.150269 -423360.000000,310.590698 -432000.000000,327.606140 -440640.000000,326.563477 -449280.000000,325.560852 -457920.000000,321.616669 -466560.000000,331.494354 -475200.000000,329.849396 -483840.000000,328.187012 -492480.000000,326.364075 -501120.000000,324.073120 -509760.000000,310.599152 -518400.000000,327.509003 -527040.000000,326.468597 -535680.000000,325.468140 -544320.000000,321.349945 -552960.000000,331.468597 -561600.000000,329.815277 -570240.000000,328.146881 -578880.000000,326.318024 -587520.000000,324.020782 -596160.000000,310.461853 -604800.000000,327.525391 -613440.000000,326.487915 -622080.000000,325.490173 -630720.000000,321.654999 -639360.000000,331.517731 -648000.000000,329.881622 -656640.000000,328.226166 -665280.000000,326.409058 -673920.000000,324.123260 -682560.000000,310.604004 -691200.000000,327.517487 -699840.000000,326.478394 -708480.000000,325.479126 -717120.000000,321.464600 -725760.000000,331.471710 -734400.000000,329.819550 -743040.000000,328.151733 -751680.000000,326.323792 -760320.000000,324.027588 -768960.000000,310.465759 -777600.000000,327.525818 -786240.000000,326.488129 -794880.000000,325.490173 -803520.000000,321.631622 -812160.000000,331.513519 -820800.000000,329.876160 -829440.000000,328.219727 -838080.000000,326.401947 -846720.000000,324.115204 -855360.000000,310.657593 -864000.000000,327.505096 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv deleted file mode 100644 index d4bd0683..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,323.149994 -8640.000000,332.180603 -17280.000000,331.012268 -25920.000000,327.936371 -34560.000000,324.260651 -43200.000000,333.204163 -51840.000000,331.710175 -60480.000000,330.268036 -69120.000000,328.669006 -77760.000000,320.104523 -86400.000000,318.266144 -95040.000000,332.519440 -103680.000000,331.319641 -112320.000000,327.457336 -120960.000000,323.541412 -129600.000000,332.613831 -138240.000000,331.100281 -146880.000000,329.591736 -155520.000000,327.844604 -164160.000000,318.550018 -172800.000000,327.590942 -181440.000000,326.534332 -190080.000000,325.519073 -198720.000000,320.948212 -207360.000000,331.522583 -216000.000000,329.844940 -224640.000000,328.162262 -233280.000000,326.324127 -241920.000000,324.021729 -250560.000000,310.231934 -259200.000000,327.556976 -267840.000000,326.489471 -276480.000000,325.464111 -285120.000000,320.193390 -293760.000000,331.639648 -302400.000000,330.006714 -311040.000000,328.353821 -319680.000000,326.540161 -328320.000000,324.258484 -336960.000000,310.676392 -345600.000000,327.602753 -354240.000000,326.554321 -362880.000000,325.546448 -371520.000000,321.307373 -380160.000000,331.531677 -388800.000000,329.899811 -397440.000000,328.247070 -406080.000000,326.432892 -414720.000000,324.150269 -423360.000000,310.590698 -432000.000000,327.606140 -440640.000000,326.563477 -449280.000000,325.560852 -457920.000000,321.616669 -466560.000000,331.494354 -475200.000000,329.849396 -483840.000000,328.187012 -492480.000000,326.364075 -501120.000000,324.073120 -509760.000000,310.599152 -518400.000000,327.509003 -527040.000000,326.468597 -535680.000000,325.468140 -544320.000000,321.349945 -552960.000000,331.468597 -561600.000000,329.815277 -570240.000000,328.146881 -578880.000000,326.318024 -587520.000000,324.020782 -596160.000000,310.461853 -604800.000000,327.525391 -613440.000000,326.487915 -622080.000000,325.490173 -630720.000000,321.654999 -639360.000000,331.517731 -648000.000000,329.881622 -656640.000000,328.226166 -665280.000000,326.409058 -673920.000000,324.123260 -682560.000000,310.604004 -691200.000000,327.517487 -699840.000000,326.478394 -708480.000000,325.479126 -717120.000000,321.464600 -725760.000000,331.471710 -734400.000000,329.819550 -743040.000000,328.151733 -751680.000000,326.323792 -760320.000000,324.027588 -768960.000000,310.465759 -777600.000000,327.525818 -786240.000000,326.488129 -794880.000000,325.490173 -803520.000000,321.631622 -812160.000000,331.513519 -820800.000000,329.876160 -829440.000000,328.219727 -838080.000000,326.401947 -846720.000000,324.115204 -855360.000000,310.657593 -864000.000000,327.505096 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv deleted file mode 100644 index fd96d40c..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv +++ /dev/null @@ -1,123 +0,0 @@ -x,y --0.001000,323.473144 -8639.999000,332.512784 -8640.001000,332.512784 -17280.001000,331.343280 -25920.001000,328.264307 -34559.999583,324.584912 -43199.999000,333.537367 -43200.001000,333.537367 -51840.001000,332.041885 -60480.001000,330.598304 -69120.001000,328.997675 -77760.001000,320.424627 -86399.999228,318.584410 -95039.999000,332.851959 -95040.001000,332.851959 -103680.001000,331.650961 -112320.001000,327.784794 -120959.999603,323.864954 -129599.999000,332.946444 -129600.001000,332.946444 -138240.001000,331.431381 -146880.001000,329.921328 -155520.001000,328.172449 -164160.000014,318.868569 -172799.999000,327.918533 -172800.001000,327.918533 -181440.001000,326.860867 -190080.001000,325.844593 -198719.999604,321.269161 -207359.999000,331.854106 -207360.001000,331.854106 -216000.001000,330.174785 -224640.001000,328.490424 -233280.001000,326.650451 -241920.001000,324.345750 -250559.999886,310.542167 -259199.999000,327.884533 -259200.001000,327.884533 -267840.001000,326.815961 -276480.001000,325.789575 -285119.999631,320.513584 -293759.999000,331.971288 -293760.001000,331.971288 -302400.001000,330.336721 -311040.001000,328.682175 -319680.001000,326.866701 -328320.001000,324.582742 -336959.999890,310.987070 -345599.999000,327.930355 -345600.001000,327.930355 -354240.001000,326.880876 -362880.001000,325.871994 -371519.999586,321.628681 -380159.999000,331.863209 -380160.001000,331.863209 -388800.001000,330.229711 -397440.001000,328.575317 -406080.001000,326.759325 -414720.001000,324.474419 -423359.999887,310.901291 -431999.999000,327.933746 -432000.001000,327.933746 -440640.001000,326.890040 -449280.001000,325.886413 -457919.999571,321.938286 -466559.999000,331.825849 -466560.001000,331.825849 -475200.001000,330.179245 -483840.001000,328.515199 -492480.001000,326.690439 -501120.001000,324.397193 -509759.999887,310.909753 -518399.999000,327.836512 -518400.001000,327.836512 -527040.001000,326.795066 -535680.001000,325.793608 -544319.999579,321.671296 -552959.999000,331.800066 -552960.001000,331.800066 -561600.001000,330.145092 -570240.001000,328.475028 -578880.001000,326.644342 -587520.001000,324.344803 -596159.999886,310.772317 -604799.999000,327.852916 -604800.001000,327.852916 -613440.001000,326.814403 -622080.001000,325.815664 -630719.999560,321.976654 -639359.999000,331.849248 -639360.001000,331.849248 -648000.001000,330.211504 -656640.001000,328.554392 -665280.001000,326.735467 -673920.001000,324.447384 -682559.999888,310.914610 -691199.999000,327.845004 -691200.001000,327.845004 -699840.001000,326.804872 -708480.001000,325.804605 -717119.999573,321.786065 -725759.999000,331.803182 -725760.001000,331.803182 -734400.001000,330.149369 -743040.001000,328.479885 -751680.001000,326.650115 -760320.001000,324.351615 -768959.999886,310.776227 -777599.999000,327.853344 -777600.001000,327.853344 -786240.001000,326.814617 -794880.001000,325.815664 -803519.999562,321.953255 -812159.999000,331.845033 -812160.001000,331.845033 -820800.001000,330.206036 -829440.001000,328.547946 -838080.001000,326.728349 -846720.001000,324.439319 -855359.999888,310.968252 -863999.999000,327.832602 -864000.001000,327.832602 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv deleted file mode 100644 index 8ee77a4f..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv +++ /dev/null @@ -1,132 +0,0 @@ -x,y --0.001000,292.856844 -0.001000,292.856844 -8640.001000,322.253382 -17279.999488,322.464871 -25919.999000,321.809216 -34559.999000,321.442609 -43199.999000,310.488487 -43200.001000,310.488487 -51840.000861,319.859843 -60479.999000,319.160043 -60480.001000,319.160043 -69120.001000,319.808747 -77760.000809,320.442512 -86399.999000,320.375562 -86400.001000,320.375562 -95040.001000,320.785979 -103680.000648,321.557911 -112319.999000,321.392915 -120959.999000,321.147739 -120960.001000,321.147739 -129600.001000,325.746285 -138239.999000,325.746285 -146879.999000,321.479346 -146880.001000,321.479346 -155520.001000,323.796454 -164160.001000,325.059167 -172800.001000,326.051460 -181440.001000,326.258864 -190079.999143,327.373288 -198719.999000,312.910226 -198720.001000,312.910226 -207360.000535,326.543033 -215999.999000,322.418561 -216000.001000,322.418561 -224639.999966,326.681444 -233279.999000,322.118294 -233280.001000,322.118294 -241919.999154,323.896360 -250559.999000,302.584442 -250560.001000,302.584442 -259200.000948,324.315375 -267839.999000,323.731608 -276479.999000,323.067448 -285119.999000,313.385702 -285120.001000,313.385702 -293760.000686,322.039363 -302399.999000,320.426415 -311039.999000,319.357142 -319679.999000,318.504907 -328319.999000,317.913610 -336959.999000,303.825570 -336960.001000,303.825570 -345600.000985,317.180152 -354239.999000,317.078417 -362879.999000,316.831594 -371519.999000,314.145013 -371520.001000,314.145013 -380160.000735,316.970981 -388799.999000,316.539254 -397439.999000,316.028992 -406079.999000,315.815521 -406080.001000,315.815521 -414719.999010,315.872136 -423359.999000,304.015017 -423360.001000,304.015017 -432000.000923,315.823051 -440639.999000,315.349679 -449279.999000,314.857465 -457919.999000,314.281412 -466559.999000,313.631001 -475199.999000,313.040802 -475200.001000,313.040802 -483840.000014,313.130526 -492479.999000,313.043241 -501119.999000,312.998181 -509759.999000,304.611862 -509760.001000,304.611862 -518400.000903,312.464780 -527039.999000,312.064332 -527040.001000,312.064332 -535680.001000,312.349600 -544320.000167,314.728566 -552959.999000,313.031199 -552960.001000,313.031199 -561599.999892,317.015065 -570239.999000,312.064332 -570240.001000,312.064332 -578880.000286,316.510443 -587519.999000,314.042516 -596159.999000,304.148946 -596160.001000,304.148946 -604800.000945,316.036278 -613439.999000,315.699792 -613440.001000,315.699792 -622079.999284,316.003596 -630719.999000,314.166293 -630720.001000,314.166293 -639360.001000,315.784394 -648000.001000,320.244255 -656639.999000,320.244255 -665279.999000,313.656489 -665280.001000,313.656489 -673919.999078,314.049070 -682559.999000,304.330954 -682560.001000,304.330954 -691200.000896,313.824015 -699839.999000,313.305186 -708479.999000,313.151562 -708480.001000,313.151562 -717119.999993,314.671464 -725759.999000,313.129398 -725760.001000,313.129398 -734400.001000,313.744901 -743040.000977,316.725743 -751679.999000,316.691689 -760319.999000,314.561436 -768959.999000,304.110228 -768960.001000,304.110228 -777600.000911,315.497358 -786239.999000,314.964993 -786240.001000,314.964993 -794879.999474,315.295107 -803519.999000,314.231535 -803520.001000,314.231535 -812160.001000,316.230542 -820800.001000,321.290570 -838079.999000,321.290570 -846719.999000,313.310430 -855359.999000,304.686921 -855360.001000,304.686921 -864000.001000,311.418190 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv deleted file mode 100644 index b9a2c2d2..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,322.575958 -17280.000000,322.787659 -25920.000000,322.131348 -34560.000000,321.764374 -43200.000000,310.799286 -51840.000000,320.180023 -60480.000000,319.479523 -69120.000000,320.128876 -77760.000000,320.763275 -86400.000000,320.696259 -95040.000000,321.107086 -103680.000000,321.879791 -112320.000000,321.714630 -120960.000000,321.469208 -129600.000000,326.072357 -138240.000000,326.072357 -146880.000000,321.801147 -155520.000000,324.120575 -164160.000000,325.384552 -172800.000000,326.377838 -181440.000000,326.585449 -190080.000000,327.700989 -198720.000000,313.223450 -207360.000000,326.869904 -216000.000000,322.741302 -224640.000000,327.008453 -233280.000000,322.440735 -241920.000000,324.220581 -250560.000000,302.887329 -259200.000000,324.640015 -267840.000000,324.055664 -276480.000000,323.390839 -285120.000000,313.699402 -293760.000000,322.361725 -302400.000000,320.747162 -311040.000000,319.676819 -319680.000000,318.823730 -328320.000000,318.231842 -336960.000000,304.129700 -345600.000000,317.497650 -354240.000000,317.395813 -362880.000000,317.148743 -371520.000000,314.459473 -380160.000000,317.288269 -388800.000000,316.856110 -397440.000000,316.345337 -406080.000000,316.131653 -414720.000000,316.188324 -423360.000000,304.319336 -432000.000000,316.139191 -440640.000000,315.665344 -449280.000000,315.172638 -457920.000000,314.596008 -466560.000000,313.944946 -475200.000000,313.354156 -483840.000000,313.443970 -492480.000000,313.356598 -501120.000000,313.311493 -509760.000000,304.916779 -518400.000000,312.777557 -527040.000000,312.376709 -535680.000000,312.662262 -544320.000000,315.043610 -552960.000000,313.344543 -561600.000000,317.332397 -570240.000000,312.376709 -578880.000000,316.827271 -587520.000000,314.356873 -596160.000000,304.453400 -604800.000000,316.352631 -613440.000000,316.015808 -622080.000000,316.319916 -630720.000000,314.480774 -639360.000000,316.100494 -648000.000000,320.564819 -656640.000000,320.564819 -665280.000000,313.970459 -673920.000000,314.363434 -682560.000000,304.635590 -691200.000000,314.138153 -699840.000000,313.618805 -708480.000000,313.465027 -717120.000000,314.986450 -725760.000000,313.442841 -734400.000000,314.058960 -743040.000000,317.042786 -751680.000000,317.008698 -760320.000000,314.876312 -768960.000000,304.414642 -777600.000000,315.813171 -786240.000000,315.280273 -794880.000000,315.610718 -803520.000000,314.546082 -812160.000000,316.547089 -820800.000000,321.612183 -829440.000000,321.612183 -838080.000000,321.612183 -846720.000000,313.624054 -855360.000000,304.991913 -864000.000000,311.729919 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv deleted file mode 100644 index b9a2c2d2..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,322.575958 -17280.000000,322.787659 -25920.000000,322.131348 -34560.000000,321.764374 -43200.000000,310.799286 -51840.000000,320.180023 -60480.000000,319.479523 -69120.000000,320.128876 -77760.000000,320.763275 -86400.000000,320.696259 -95040.000000,321.107086 -103680.000000,321.879791 -112320.000000,321.714630 -120960.000000,321.469208 -129600.000000,326.072357 -138240.000000,326.072357 -146880.000000,321.801147 -155520.000000,324.120575 -164160.000000,325.384552 -172800.000000,326.377838 -181440.000000,326.585449 -190080.000000,327.700989 -198720.000000,313.223450 -207360.000000,326.869904 -216000.000000,322.741302 -224640.000000,327.008453 -233280.000000,322.440735 -241920.000000,324.220581 -250560.000000,302.887329 -259200.000000,324.640015 -267840.000000,324.055664 -276480.000000,323.390839 -285120.000000,313.699402 -293760.000000,322.361725 -302400.000000,320.747162 -311040.000000,319.676819 -319680.000000,318.823730 -328320.000000,318.231842 -336960.000000,304.129700 -345600.000000,317.497650 -354240.000000,317.395813 -362880.000000,317.148743 -371520.000000,314.459473 -380160.000000,317.288269 -388800.000000,316.856110 -397440.000000,316.345337 -406080.000000,316.131653 -414720.000000,316.188324 -423360.000000,304.319336 -432000.000000,316.139191 -440640.000000,315.665344 -449280.000000,315.172638 -457920.000000,314.596008 -466560.000000,313.944946 -475200.000000,313.354156 -483840.000000,313.443970 -492480.000000,313.356598 -501120.000000,313.311493 -509760.000000,304.916779 -518400.000000,312.777557 -527040.000000,312.376709 -535680.000000,312.662262 -544320.000000,315.043610 -552960.000000,313.344543 -561600.000000,317.332397 -570240.000000,312.376709 -578880.000000,316.827271 -587520.000000,314.356873 -596160.000000,304.453400 -604800.000000,316.352631 -613440.000000,316.015808 -622080.000000,316.319916 -630720.000000,314.480774 -639360.000000,316.100494 -648000.000000,320.564819 -656640.000000,320.564819 -665280.000000,313.970459 -673920.000000,314.363434 -682560.000000,304.635590 -691200.000000,314.138153 -699840.000000,313.618805 -708480.000000,313.465027 -717120.000000,314.986450 -725760.000000,313.442841 -734400.000000,314.058960 -743040.000000,317.042786 -751680.000000,317.008698 -760320.000000,314.876312 -768960.000000,304.414642 -777600.000000,315.813171 -786240.000000,315.280273 -794880.000000,315.610718 -803520.000000,314.546082 -812160.000000,316.547089 -820800.000000,321.612183 -829440.000000,321.612183 -838080.000000,321.612183 -846720.000000,313.624054 -855360.000000,304.991913 -864000.000000,311.729919 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv deleted file mode 100644 index 80c84771..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv +++ /dev/null @@ -1,129 +0,0 @@ -x,y --0.001000,293.443144 -8639.999000,322.898534 -17279.999000,323.110446 -17280.001000,323.110446 -25920.001000,322.453479 -34560.001000,322.086138 -43200.000078,311.110086 -51839.999000,320.500203 -51840.001000,320.500203 -60480.000038,319.799002 -69119.999000,320.449005 -77759.999000,321.084038 -77760.001000,321.084038 -86399.999280,321.016955 -95039.999000,321.428193 -103679.999000,322.201671 -103680.001000,322.201671 -112320.001000,322.036345 -120959.999101,321.790677 -129599.999000,326.398430 -138240.001000,326.398430 -146880.000296,322.122949 -155519.999000,324.444696 -164159.999000,325.709937 -172799.999000,326.704216 -181439.999000,326.912035 -190079.999000,328.028690 -190080.001000,328.028690 -198720.000030,313.536675 -207359.999000,327.196773 -207360.001000,327.196773 -215999.999983,323.064044 -224639.999000,327.335462 -224640.001000,327.335462 -233280.000439,322.763176 -241919.999000,324.544802 -241920.001000,324.544802 -250559.999990,303.190219 -259199.999000,324.964655 -259200.001000,324.964655 -267840.001000,324.379720 -276480.001000,323.714229 -285120.000056,314.013102 -293759.999000,322.684087 -293760.001000,322.684087 -302400.001000,321.067909 -311040.001000,319.996496 -319680.001000,319.142554 -328320.001000,318.550074 -336960.000027,304.433831 -345599.999000,317.815148 -345600.001000,317.815148 -354240.001000,317.713209 -362880.001000,317.465891 -371519.999975,314.773932 -380159.999000,317.605557 -380160.001000,317.605557 -388800.001000,317.172966 -397440.001000,316.661682 -406080.000581,316.447784 -414719.999000,316.504512 -414720.001000,316.504512 -423360.000002,304.623657 -431999.999000,316.455330 -432000.001000,316.455330 -440640.001000,315.981010 -449280.001000,315.487811 -457920.001000,314.910604 -466560.001000,314.258891 -475200.000736,313.667511 -483839.999000,313.757414 -483840.001000,313.757414 -492480.001000,313.669954 -501120.001000,313.624804 -509760.000033,305.221696 -518399.999000,313.090335 -518400.001000,313.090335 -527040.000168,312.689086 -535679.999000,312.974924 -544319.999000,315.358653 -544320.001000,315.358653 -552959.999598,313.657888 -561599.999000,317.649730 -561600.001000,317.649730 -570240.000054,312.689086 -578879.999000,317.144098 -578880.001000,317.144098 -587520.001000,314.671229 -596159.999908,304.757854 -604799.999000,316.668983 -604800.001000,316.668983 -613440.000051,316.331824 -622079.999000,316.636236 -622080.001000,316.636236 -630720.000063,314.795255 -639359.999000,316.416595 -647999.999000,320.885384 -656640.001000,320.885384 -665280.000888,314.284430 -673919.999000,314.677797 -673920.001000,314.677797 -682560.000012,304.940226 -691199.999000,314.452291 -691200.001000,314.452291 -699840.001000,313.932424 -708479.999184,313.778492 -717119.999000,315.301437 -717120.001000,315.301437 -725760.000429,313.756284 -734399.999000,314.373019 -743039.999000,317.359828 -743040.001000,317.359828 -751680.001000,317.325706 -760320.001000,315.191189 -768959.999957,304.719058 -777599.999000,316.128985 -777600.001000,316.128985 -786240.000235,315.595554 -794879.999000,315.926328 -794880.001000,315.926328 -803519.999695,314.860628 -812159.999000,316.863636 -820799.999000,321.933795 -838080.001000,321.933795 -846720.001000,313.937678 -855360.000123,305.296906 -863999.999000,312.041649 -864000.001000,312.041649 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/lowerBound.csv deleted file mode 100644 index bbafda7f..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/lowerBound.csv +++ /dev/null @@ -1,123 +0,0 @@ -x,y --0.001000,292.856844 -8639.999000,288.403294 -17279.999000,288.244609 -17280.001000,288.244609 -25920.001000,288.383630 -34559.999217,288.478719 -43199.999000,287.696238 -43200.001000,287.696238 -51840.000747,288.958921 -60479.999000,288.775785 -69119.999000,288.749292 -77759.999000,288.650148 -77760.001000,288.650148 -86400.001000,288.660513 -95039.999697,288.797004 -103679.999000,288.542010 -112319.999000,288.465152 -112320.001000,288.465152 -120960.001000,288.643959 -129600.000005,292.116892 -138239.999000,288.680848 -146879.999000,288.264517 -155519.999000,287.886813 -164159.999000,287.737518 -164160.001000,287.737518 -172799.999161,287.747944 -181439.999000,287.629136 -190079.999000,287.311004 -198719.999000,287.229237 -198720.001000,287.229237 -207360.001000,287.725323 -216000.000463,288.986664 -224639.999000,288.523352 -233279.999000,287.989981 -241919.999000,287.848673 -250559.999000,287.773675 -250560.001000,287.773675 -259200.001000,288.032480 -267840.001000,288.137752 -276480.000041,288.158818 -285119.999000,288.139398 -285120.001000,288.139398 -293760.001000,288.548352 -302400.001000,288.883404 -311040.001000,288.914318 -319680.001000,288.945903 -328320.001000,289.116569 -336960.001000,289.284614 -345600.000416,289.511743 -354239.999000,289.418025 -362879.999000,289.365496 -371519.999000,289.362569 -371520.001000,289.362569 -380160.001000,289.542504 -388799.999820,289.600308 -397439.999000,289.517047 -406079.999000,289.467719 -406080.001000,289.467719 -414720.001000,289.492597 -423360.001000,289.526590 -432000.000707,289.785120 -440639.999000,289.740670 -440640.001000,289.740670 -449280.001000,289.750182 -457920.001000,289.827467 -466560.001000,290.151879 -475200.000063,290.189379 -483839.999000,290.156300 -492479.999000,289.985481 -492480.001000,289.985481 -501120.001000,290.072156 -509760.001000,290.208707 -518400.000516,290.387910 -527039.999000,290.330686 -535679.999000,290.222823 -544319.999000,290.141514 -544320.001000,290.141514 -552960.001000,290.236542 -561600.000270,290.576320 -570239.999000,290.380990 -578879.999000,290.308248 -587519.999000,289.804693 -596159.999000,289.665855 -596160.001000,289.665855 -604799.999823,289.732682 -613439.999000,289.637197 -622079.999000,289.513115 -622080.001000,289.513115 -630720.001000,289.526681 -639360.001000,290.057583 -647999.999849,291.049937 -656639.999000,289.703933 -656640.001000,289.703933 -665280.000409,289.898532 -673919.999000,289.816888 -673920.001000,289.816888 -682560.001000,289.921550 -691200.000863,290.144715 -699839.999000,290.128313 -708479.999000,290.078009 -708480.001000,290.078009 -717120.001000,290.134288 -725760.001000,290.198830 -734399.999615,290.372850 -743039.999000,289.980786 -751679.999000,289.927129 -760319.999000,289.648264 -768959.999000,289.645093 -768960.001000,289.645093 -777600.000769,289.832101 -786239.999000,289.807681 -794879.999000,289.647959 -803519.999000,289.638843 -803520.001000,289.638843 -812160.001000,289.897465 -820800.000716,291.544772 -829439.999000,291.272187 -838079.999000,289.940208 -846719.999000,289.939354 -846720.001000,289.939354 -855360.001000,290.262730 -864000.001000,290.575650 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/reference.csv deleted file mode 100644 index d3f629fd..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,288.691986 -17280.000000,288.533142 -25920.000000,288.672302 -34560.000000,288.767487 -43200.000000,287.984222 -51840.000000,289.248169 -60480.000000,289.064850 -69120.000000,289.038330 -77760.000000,288.939087 -86400.000000,288.949463 -95040.000000,289.086090 -103680.000000,288.830841 -112320.000000,288.753906 -120960.000000,288.932892 -129600.000000,292.409302 -138240.000000,288.969818 -146880.000000,288.553070 -155520.000000,288.174988 -164160.000000,288.025543 -172800.000000,288.035980 -181440.000000,287.917053 -190080.000000,287.598602 -198720.000000,287.516754 -207360.000000,288.013336 -216000.000000,289.275940 -224640.000000,288.812164 -233280.000000,288.278259 -241920.000000,288.136810 -250560.000000,288.061737 -259200.000000,288.320801 -267840.000000,288.426178 -276480.000000,288.447266 -285120.000000,288.427826 -293760.000000,288.837189 -302400.000000,289.172577 -311040.000000,289.203522 -319680.000000,289.235138 -328320.000000,289.405975 -336960.000000,289.574188 -345600.000000,289.801544 -354240.000000,289.707733 -362880.000000,289.655151 -371520.000000,289.652222 -380160.000000,289.832336 -388800.000000,289.890198 -397440.000000,289.806854 -406080.000000,289.757477 -414720.000000,289.782379 -423360.000000,289.816406 -432000.000000,290.075195 -440640.000000,290.030701 -449280.000000,290.040222 -457920.000000,290.117584 -466560.000000,290.442322 -475200.000000,290.479858 -483840.000000,290.446747 -492480.000000,290.275757 -501120.000000,290.362518 -509760.000000,290.499207 -518400.000000,290.678589 -527040.000000,290.621307 -535680.000000,290.513336 -544320.000000,290.431946 -552960.000000,290.527069 -561600.000000,290.867188 -570240.000000,290.671661 -578880.000000,290.598846 -587520.000000,290.094788 -596160.000000,289.955811 -604800.000000,290.022705 -613440.000000,289.927124 -622080.000000,289.802917 -630720.000000,289.816498 -639360.000000,290.347931 -648000.000000,291.341278 -656640.000000,289.993927 -665280.000000,290.188721 -673920.000000,290.106995 -682560.000000,290.211761 -691200.000000,290.435150 -699840.000000,290.418732 -708480.000000,290.368378 -717120.000000,290.424713 -725760.000000,290.489319 -734400.000000,290.663513 -743040.000000,290.271057 -751680.000000,290.217346 -760320.000000,289.938202 -768960.000000,289.935028 -777600.000000,290.122223 -786240.000000,290.097778 -794880.000000,289.937897 -803520.000000,289.928772 -812160.000000,290.187653 -820800.000000,291.836609 -829440.000000,291.563751 -838080.000000,290.230438 -846720.000000,290.229584 -855360.000000,290.553284 -864000.000000,290.866516 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/test.csv deleted file mode 100644 index d3f629fd..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,288.691986 -17280.000000,288.533142 -25920.000000,288.672302 -34560.000000,288.767487 -43200.000000,287.984222 -51840.000000,289.248169 -60480.000000,289.064850 -69120.000000,289.038330 -77760.000000,288.939087 -86400.000000,288.949463 -95040.000000,289.086090 -103680.000000,288.830841 -112320.000000,288.753906 -120960.000000,288.932892 -129600.000000,292.409302 -138240.000000,288.969818 -146880.000000,288.553070 -155520.000000,288.174988 -164160.000000,288.025543 -172800.000000,288.035980 -181440.000000,287.917053 -190080.000000,287.598602 -198720.000000,287.516754 -207360.000000,288.013336 -216000.000000,289.275940 -224640.000000,288.812164 -233280.000000,288.278259 -241920.000000,288.136810 -250560.000000,288.061737 -259200.000000,288.320801 -267840.000000,288.426178 -276480.000000,288.447266 -285120.000000,288.427826 -293760.000000,288.837189 -302400.000000,289.172577 -311040.000000,289.203522 -319680.000000,289.235138 -328320.000000,289.405975 -336960.000000,289.574188 -345600.000000,289.801544 -354240.000000,289.707733 -362880.000000,289.655151 -371520.000000,289.652222 -380160.000000,289.832336 -388800.000000,289.890198 -397440.000000,289.806854 -406080.000000,289.757477 -414720.000000,289.782379 -423360.000000,289.816406 -432000.000000,290.075195 -440640.000000,290.030701 -449280.000000,290.040222 -457920.000000,290.117584 -466560.000000,290.442322 -475200.000000,290.479858 -483840.000000,290.446747 -492480.000000,290.275757 -501120.000000,290.362518 -509760.000000,290.499207 -518400.000000,290.678589 -527040.000000,290.621307 -535680.000000,290.513336 -544320.000000,290.431946 -552960.000000,290.527069 -561600.000000,290.867188 -570240.000000,290.671661 -578880.000000,290.598846 -587520.000000,290.094788 -596160.000000,289.955811 -604800.000000,290.022705 -613440.000000,289.927124 -622080.000000,289.802917 -630720.000000,289.816498 -639360.000000,290.347931 -648000.000000,291.341278 -656640.000000,289.993927 -665280.000000,290.188721 -673920.000000,290.106995 -682560.000000,290.211761 -691200.000000,290.435150 -699840.000000,290.418732 -708480.000000,290.368378 -717120.000000,290.424713 -725760.000000,290.489319 -734400.000000,290.663513 -743040.000000,290.271057 -751680.000000,290.217346 -760320.000000,289.938202 -768960.000000,289.935028 -777600.000000,290.122223 -786240.000000,290.097778 -794880.000000,289.937897 -803520.000000,289.928772 -812160.000000,290.187653 -820800.000000,291.836609 -829440.000000,291.563751 -838080.000000,290.230438 -846720.000000,290.229584 -855360.000000,290.553284 -864000.000000,290.866516 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/upperBound.csv deleted file mode 100644 index 7cdd442a..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.TSup.T/upperBound.csv +++ /dev/null @@ -1,124 +0,0 @@ -x,y --0.001000,293.443144 -0.001000,293.443144 -8640.001000,288.980678 -17280.000066,288.821675 -25919.999000,288.960975 -34559.999000,289.056254 -34560.001000,289.056254 -43199.999765,288.272207 -51839.999000,289.537417 -51840.001000,289.537417 -60480.001000,289.353915 -69120.001000,289.327368 -77760.000811,289.228026 -86399.999000,289.238412 -95039.999000,289.375176 -95040.001000,289.375176 -103680.001000,289.119672 -112319.999601,289.042660 -120959.999000,289.221825 -129599.999000,292.701711 -129600.001000,292.701711 -138240.001000,289.258788 -146880.001000,288.841623 -155520.001000,288.463163 -164160.000869,288.313569 -172799.999000,288.324016 -172800.001000,288.324016 -181440.001000,288.204970 -190080.001000,287.886201 -198719.999283,287.804271 -207359.999000,288.301350 -215999.999000,289.565216 -216000.001000,289.565216 -224640.001000,289.100976 -233280.001000,288.566538 -241920.001000,288.424947 -250559.999449,288.349799 -259199.999000,288.609122 -267839.999000,288.714604 -276479.999000,288.735713 -276480.001000,288.735713 -285119.999091,288.716254 -293759.999000,289.126026 -302399.999000,289.461749 -311039.999000,289.492725 -319679.999000,289.524373 -328319.999000,289.695381 -336959.999000,289.863762 -345599.999000,290.091346 -345600.001000,290.091346 -354240.001000,289.997441 -362880.001000,289.944807 -371519.999032,289.941874 -380159.999000,290.122169 -388799.999000,290.180088 -388800.001000,290.180088 -397440.001000,290.096661 -406080.000330,290.047234 -414719.999000,290.072162 -423359.999000,290.106223 -431999.999000,290.365271 -432000.001000,290.365271 -440640.000647,290.320731 -449279.999000,290.330262 -457919.999000,290.407702 -466559.999000,290.732764 -475199.999000,290.770338 -475200.001000,290.770338 -483840.001000,290.737194 -492480.000327,290.566033 -501119.999000,290.652881 -509759.999000,290.789706 -518399.999000,290.969267 -518400.001000,290.969267 -527040.001000,290.911929 -535680.001000,290.803850 -544319.999922,290.722378 -552959.999000,290.817596 -561599.999000,291.158055 -561600.001000,291.158055 -570240.001000,290.962333 -578880.001000,290.889445 -587520.001000,290.384882 -596160.000350,290.245766 -604799.999000,290.312728 -604800.001000,290.312728 -613440.001000,290.217051 -622080.000803,290.092720 -630719.999000,290.106314 -639359.999000,290.638279 -647999.999000,291.632619 -648000.001000,291.632619 -656640.000747,290.283921 -665279.999000,290.478909 -665280.001000,290.478909 -673919.999876,290.397102 -682559.999000,290.501973 -691199.999000,290.725585 -691200.001000,290.725585 -699840.001000,290.709150 -708479.999944,290.658746 -717119.999000,290.715138 -725759.999000,290.779808 -734399.999000,290.954177 -734400.001000,290.954177 -743040.001000,290.561328 -751680.001000,290.507564 -760320.001000,290.228140 -768959.999033,290.224963 -777599.999000,290.412345 -777600.001000,290.412345 -786240.001000,290.387876 -794880.001000,290.227835 -803519.999068,290.218701 -812159.999000,290.477840 -820799.999000,292.128445 -820800.001000,292.128445 -829440.001000,291.855315 -838080.001000,290.520669 -846719.999005,290.519813 -855359.999000,290.843837 -863999.999000,291.157383 -864000.001000,291.157383 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv deleted file mode 100644 index 7504ecf1..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv +++ /dev/null @@ -1,120 +0,0 @@ -x,y --0.001000,270.878844 -8639.999000,270.389161 -17279.999000,270.179562 -17280.001000,270.179562 -25920.001000,270.812504 -34560.001000,271.127252 -43200.001000,271.777938 -51840.001000,272.766298 -60479.999939,273.296437 -69119.999000,272.697031 -77759.999000,272.107229 -77760.001000,272.107229 -86399.999327,272.177562 -95039.999000,271.817906 -103679.999000,271.069845 -103680.001000,271.069845 -112320.001000,271.214202 -120960.001000,271.486299 -129600.000235,272.577156 -138239.999000,271.901106 -146879.999000,271.264627 -155519.999000,268.879198 -164159.999000,267.732976 -172799.999000,266.782938 -181439.999000,266.559376 -190079.999000,265.509707 -198719.999000,265.166819 -198720.001000,265.166819 -207360.001000,266.466147 -216000.001000,270.579156 -224639.999903,271.324412 -233279.999000,270.419312 -241919.999000,268.774414 -250559.999000,267.881844 -250560.001000,267.881844 -259200.001000,268.481250 -267840.001000,269.008402 -276480.000870,269.628752 -285119.999000,269.585735 -285120.001000,269.585735 -293760.001000,270.649490 -302400.001000,272.177562 -311040.001000,273.171745 -319680.001000,273.940050 -328320.001000,274.519487 -336960.001000,275.115417 -345600.001000,275.274438 -354240.001000,275.338400 -362880.001000,275.554157 -371519.999322,275.569034 -380159.999000,275.491475 -380160.001000,275.491475 -388800.001000,275.873844 -397440.001000,276.313406 -406080.000693,276.484286 -414719.999000,276.453281 -423359.999000,276.394136 -423360.001000,276.394136 -432000.001000,276.573156 -440640.001000,276.986347 -449280.001000,277.437617 -457920.001000,277.823888 -466560.001000,278.652983 -475200.000987,279.170562 -483839.999000,279.167178 -492479.999000,279.148490 -492480.001000,279.148490 -501120.001000,279.205439 -509760.001000,279.670062 -518400.001000,279.769938 -527040.000067,280.087643 -535679.999000,279.809906 -544319.999000,279.430281 -552959.999000,279.240530 -552960.001000,279.240530 -561600.001000,280.369344 -570240.001000,280.731866 -578879.999015,280.750981 -587519.999000,278.169672 -596159.999000,277.255517 -604799.999000,276.373344 -604800.001000,276.373344 -613439.999959,276.618978 -622079.999000,276.352582 -622080.001000,276.352582 -630720.001000,276.390295 -639360.001000,276.703275 -648000.001000,278.371344 -656640.001000,278.452958 -665279.999747,278.861362 -673919.999000,278.176196 -673920.001000,278.176196 -682560.001000,278.397502 -691200.001000,278.471250 -699840.001000,278.938769 -708480.001000,279.056937 -717120.000087,279.351168 -725759.999000,279.103887 -725760.001000,279.103887 -734399.999746,279.769938 -743039.999000,278.649630 -743040.001000,278.649630 -751679.999252,278.810906 -760319.999000,277.692031 -768959.999000,276.973482 -777599.999000,276.872844 -777600.001000,276.872844 -786240.000156,277.336400 -794879.999000,276.998176 -803519.999000,276.945586 -812159.999000,276.189537 -812160.001000,276.189537 -820800.001000,278.171562 -829440.000683,279.722317 -838079.999000,279.430281 -846719.999000,278.913892 -846720.001000,278.913892 -855360.001000,280.052858 -864000.001000,280.768938 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/reference.csv deleted file mode 100644 index a297b82c..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,271.149994 -8640.000000,270.659821 -17280.000000,270.450012 -25920.000000,271.083588 -34560.000000,271.398651 -43200.000000,272.049988 -51840.000000,273.039337 -60480.000000,273.570007 -69120.000000,272.970001 -77760.000000,272.379608 -86400.000000,272.450012 -95040.000000,272.089996 -103680.000000,271.341187 -112320.000000,271.485687 -120960.000000,271.758057 -129600.000000,272.850006 -138240.000000,272.173279 -146880.000000,271.536163 -155520.000000,269.148346 -164160.000000,268.000977 -172800.000000,267.049988 -181440.000000,266.826202 -190080.000000,265.775482 -198720.000000,265.432251 -207360.000000,266.732880 -216000.000000,270.850006 -224640.000000,271.596008 -233280.000000,270.690002 -241920.000000,269.043457 -250560.000000,268.149994 -259200.000000,268.750000 -267840.000000,269.277679 -276480.000000,269.898651 -285120.000000,269.855591 -293760.000000,270.920410 -302400.000000,272.450012 -311040.000000,273.445190 -319680.000000,274.214264 -328320.000000,274.794281 -336960.000000,275.390808 -345600.000000,275.549988 -354240.000000,275.614014 -362880.000000,275.829987 -371520.000000,275.844879 -380160.000000,275.767242 -388800.000000,276.149994 -397440.000000,276.589996 -406080.000000,276.761047 -414720.000000,276.730011 -423360.000000,276.670807 -432000.000000,276.850006 -440640.000000,277.263611 -449280.000000,277.715332 -457920.000000,278.101990 -466560.000000,278.931915 -475200.000000,279.450012 -483840.000000,279.446625 -492480.000000,279.427917 -501120.000000,279.484924 -509760.000000,279.950012 -518400.000000,280.049988 -527040.000000,280.368011 -535680.000000,280.089996 -544320.000000,279.709991 -552960.000000,279.520050 -561600.000000,280.649994 -570240.000000,281.012878 -578880.000000,281.032013 -587520.000000,278.448120 -596160.000000,277.533051 -604800.000000,276.649994 -613440.000000,276.895874 -622080.000000,276.629211 -630720.000000,276.666962 -639360.000000,276.980255 -648000.000000,278.649994 -656640.000000,278.731689 -665280.000000,279.140503 -673920.000000,278.454651 -682560.000000,278.676178 -691200.000000,278.750000 -699840.000000,279.217987 -708480.000000,279.336273 -717120.000000,279.630798 -725760.000000,279.383270 -734400.000000,280.049988 -743040.000000,278.928558 -751680.000000,279.089996 -760320.000000,277.970001 -768960.000000,277.250732 -777600.000000,277.149994 -786240.000000,277.614014 -794880.000000,277.275452 -803520.000000,277.222809 -812160.000000,276.466003 -820800.000000,278.450012 -829440.000000,280.002319 -838080.000000,279.709991 -846720.000000,279.193085 -855360.000000,280.333191 -864000.000000,281.049988 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/test.csv deleted file mode 100644 index a297b82c..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,271.149994 -8640.000000,270.659821 -17280.000000,270.450012 -25920.000000,271.083588 -34560.000000,271.398651 -43200.000000,272.049988 -51840.000000,273.039337 -60480.000000,273.570007 -69120.000000,272.970001 -77760.000000,272.379608 -86400.000000,272.450012 -95040.000000,272.089996 -103680.000000,271.341187 -112320.000000,271.485687 -120960.000000,271.758057 -129600.000000,272.850006 -138240.000000,272.173279 -146880.000000,271.536163 -155520.000000,269.148346 -164160.000000,268.000977 -172800.000000,267.049988 -181440.000000,266.826202 -190080.000000,265.775482 -198720.000000,265.432251 -207360.000000,266.732880 -216000.000000,270.850006 -224640.000000,271.596008 -233280.000000,270.690002 -241920.000000,269.043457 -250560.000000,268.149994 -259200.000000,268.750000 -267840.000000,269.277679 -276480.000000,269.898651 -285120.000000,269.855591 -293760.000000,270.920410 -302400.000000,272.450012 -311040.000000,273.445190 -319680.000000,274.214264 -328320.000000,274.794281 -336960.000000,275.390808 -345600.000000,275.549988 -354240.000000,275.614014 -362880.000000,275.829987 -371520.000000,275.844879 -380160.000000,275.767242 -388800.000000,276.149994 -397440.000000,276.589996 -406080.000000,276.761047 -414720.000000,276.730011 -423360.000000,276.670807 -432000.000000,276.850006 -440640.000000,277.263611 -449280.000000,277.715332 -457920.000000,278.101990 -466560.000000,278.931915 -475200.000000,279.450012 -483840.000000,279.446625 -492480.000000,279.427917 -501120.000000,279.484924 -509760.000000,279.950012 -518400.000000,280.049988 -527040.000000,280.368011 -535680.000000,280.089996 -544320.000000,279.709991 -552960.000000,279.520050 -561600.000000,280.649994 -570240.000000,281.012878 -578880.000000,281.032013 -587520.000000,278.448120 -596160.000000,277.533051 -604800.000000,276.649994 -613440.000000,276.895874 -622080.000000,276.629211 -630720.000000,276.666962 -639360.000000,276.980255 -648000.000000,278.649994 -656640.000000,278.731689 -665280.000000,279.140503 -673920.000000,278.454651 -682560.000000,278.676178 -691200.000000,278.750000 -699840.000000,279.217987 -708480.000000,279.336273 -717120.000000,279.630798 -725760.000000,279.383270 -734400.000000,280.049988 -743040.000000,278.928558 -751680.000000,279.089996 -760320.000000,277.970001 -768960.000000,277.250732 -777600.000000,277.149994 -786240.000000,277.614014 -794880.000000,277.275452 -803520.000000,277.222809 -812160.000000,276.466003 -820800.000000,278.450012 -829440.000000,280.002319 -838080.000000,279.709991 -846720.000000,279.193085 -855360.000000,280.333191 -864000.000000,281.049988 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv deleted file mode 100644 index 36d32d7f..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv +++ /dev/null @@ -1,121 +0,0 @@ -x,y --0.001000,271.421144 -0.001000,271.421144 -8640.001000,270.930480 -17279.999498,270.720462 -25919.999000,271.354671 -34559.999000,271.670050 -43199.999000,272.322038 -51839.999000,273.312376 -60479.999000,273.843577 -60480.001000,273.843577 -69120.001000,273.242971 -77760.000787,272.651988 -86399.999000,272.722462 -86400.001000,272.722462 -95040.001000,272.362086 -103680.000676,271.612528 -112319.999000,271.757173 -120959.999000,272.029815 -129599.999000,273.122856 -129600.001000,273.122856 -138240.001000,272.445452 -146880.001000,271.807699 -155520.001000,269.417494 -164160.001000,268.268978 -172800.001000,267.317038 -181440.001000,267.093029 -190080.001000,266.041258 -198719.999418,265.697683 -207359.999000,266.999613 -215999.999000,271.120856 -224639.999000,271.867604 -224640.001000,271.867604 -233280.001000,270.960692 -241920.001000,269.312500 -250560.000196,268.418144 -259199.999000,269.018750 -267839.999000,269.546957 -276479.999000,270.168550 -276480.001000,270.168550 -285119.999078,270.125446 -293759.999000,271.191331 -302399.999000,272.722462 -311039.999000,273.718636 -319679.999000,274.488478 -328319.999000,275.069075 -336959.999000,275.666199 -345599.999000,275.825538 -354239.999000,275.889628 -362879.999000,276.105817 -371519.999000,276.120724 -371520.001000,276.120724 -380159.999337,276.043010 -388799.999000,276.426144 -397439.999000,276.866586 -406079.999000,277.037808 -406080.001000,277.037808 -414720.001000,277.006741 -423359.999497,276.947478 -431999.999000,277.126856 -440639.999000,277.540874 -449279.999000,277.993047 -457919.999000,278.380092 -466559.999000,279.210847 -475199.999000,279.729462 -475200.001000,279.729462 -483840.001000,279.726071 -492479.999494,279.707345 -501119.999000,279.764409 -509759.999000,280.229962 -518399.999000,280.330038 -527039.999000,280.648379 -527040.001000,280.648379 -535680.001000,280.370086 -544320.001000,279.989701 -552959.999288,279.799570 -561599.999000,280.930644 -570239.999000,281.293891 -578879.999000,281.313045 -578880.001000,281.313045 -587520.001000,278.726568 -596160.001000,277.810584 -604800.000564,276.926644 -613439.999000,277.172770 -613440.001000,277.172770 -622080.000752,276.905841 -630719.999000,276.943629 -639359.999000,277.257235 -647999.999000,278.928644 -656639.999000,279.010421 -665279.999000,279.419643 -665280.001000,279.419643 -673920.000512,278.733106 -682559.999000,278.954854 -691199.999000,279.028750 -699839.999000,279.497205 -708479.999000,279.615609 -717119.999000,279.910429 -717120.001000,279.910429 -725759.999541,279.662654 -734399.999000,280.330038 -734400.001000,280.330038 -743040.000748,279.207487 -751679.999000,279.369086 -751680.001000,279.369086 -760320.001000,278.247971 -768960.001000,277.527983 -777599.999357,277.427144 -786239.999000,277.891628 -786240.001000,277.891628 -794880.001000,277.552727 -803520.001000,277.500032 -812159.999552,276.742470 -820799.999000,278.728462 -829439.999000,280.282322 -829440.001000,280.282322 -838080.001000,279.989701 -846719.999624,279.472278 -855359.999000,280.613524 -863999.999000,281.331038 -864000.001000,281.331038 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv deleted file mode 100644 index cf92dbd6..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/lowerBound.csv +++ /dev/null @@ -1,119 +0,0 @@ -x,y --0.001000,292.856844 -8639.999000,291.310845 -17279.999000,291.150849 -17280.001000,291.150849 -25920.001000,291.887691 -34560.001000,292.672428 -43200.001000,292.705506 -51840.000516,293.108088 -60479.999000,292.979432 -69119.999000,292.609289 -69120.001000,292.609289 -77759.999740,292.638892 -86399.999000,292.588466 -86400.001000,292.588466 -95040.001000,292.614075 -103680.001000,292.732213 -112320.000723,293.241286 -120959.999000,293.159306 -129599.999000,292.964707 -138239.999000,292.821723 -146879.999000,292.819711 -155519.999000,292.694470 -155520.001000,292.694470 -164160.001000,292.768431 -172800.001000,292.786358 -181440.000095,292.889617 -190079.999000,292.804193 -190080.001000,292.804193 -198720.000628,293.065497 -207359.999000,293.005743 -215999.999000,292.951232 -224639.999000,292.922970 -233279.999000,292.820656 -241919.999000,292.687915 -241920.001000,292.687915 -250560.001000,292.769742 -259200.001000,292.770444 -267840.000656,292.876935 -276479.999000,292.854801 -276480.001000,292.854801 -285120.000195,293.160708 -293759.999000,292.954494 -302399.999000,292.859588 -302400.001000,292.859588 -311040.000068,292.872270 -319679.999000,292.861204 -328319.999000,292.666727 -328320.001000,292.666727 -336960.001000,292.737426 -345600.001000,292.774712 -354240.001000,292.849192 -362880.001000,292.864008 -371520.000255,293.186988 -380159.999000,292.995133 -388799.999000,292.902422 -397439.999000,292.858246 -406079.999000,292.854131 -414719.999000,292.671483 -414720.001000,292.671483 -423360.001000,292.747090 -432000.001000,292.758980 -440640.001000,292.824253 -449280.001000,292.839375 -457920.000283,293.153361 -466559.999000,292.977969 -475199.999000,292.906355 -483839.999000,292.872850 -492479.999000,292.849832 -501119.999000,292.640965 -501120.001000,292.640965 -509760.001000,292.685964 -518400.001000,292.725140 -527040.001000,292.741146 -535680.001000,292.772456 -544320.000910,293.211043 -552959.999000,293.190281 -561599.999000,292.987085 -570239.999000,292.925867 -578879.999000,292.810504 -587519.999000,292.595112 -587520.001000,292.595112 -596160.001000,292.648008 -604800.001000,292.687092 -613440.001000,292.721939 -622080.001000,292.748706 -630720.001000,293.194580 -639359.999499,293.285461 -647999.999000,293.011810 -656639.999000,292.826723 -665279.999000,292.803735 -673919.999000,292.597490 -673920.001000,292.597490 -682560.001000,292.647520 -691200.001000,292.662123 -699840.000482,292.708341 -708479.999000,292.692183 -708480.001000,292.692183 -717120.001000,293.139276 -725759.999461,293.207933 -734399.999000,292.979036 -743039.999000,292.933793 -751679.999000,292.815778 -760319.999000,292.601332 -760320.001000,292.601332 -768960.001000,292.638099 -777600.001000,292.654654 -786240.000212,292.681330 -794879.999000,292.663983 -794880.001000,292.663983 -803520.001000,293.142325 -812159.999747,293.295949 -820799.999000,293.038211 -829439.999000,292.929312 -838079.999000,292.742426 -846719.999000,292.605905 -846720.001000,292.605905 -855360.001000,292.651148 -864000.001000,292.651696 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/reference.csv deleted file mode 100644 index ca87a84d..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,291.602448 -17280.000000,291.442291 -25920.000000,292.179871 -34560.000000,292.965393 -43200.000000,292.998505 -51840.000000,293.401489 -60480.000000,293.272705 -69120.000000,292.902191 -77760.000000,292.931824 -86400.000000,292.881348 -95040.000000,292.906982 -103680.000000,293.025238 -112320.000000,293.534821 -120960.000000,293.452759 -129600.000000,293.257965 -138240.000000,293.114838 -146880.000000,293.112823 -155520.000000,292.987457 -164160.000000,293.061493 -172800.000000,293.079437 -181440.000000,293.182800 -190080.000000,293.097290 -198720.000000,293.358856 -207360.000000,293.299042 -216000.000000,293.244476 -224640.000000,293.216187 -233280.000000,293.113770 -241920.000000,292.980896 -250560.000000,293.062805 -259200.000000,293.063507 -267840.000000,293.170105 -276480.000000,293.147949 -285120.000000,293.454163 -293760.000000,293.247742 -302400.000000,293.152740 -311040.000000,293.165436 -319680.000000,293.154358 -328320.000000,292.959686 -336960.000000,293.030457 -345600.000000,293.067780 -354240.000000,293.142334 -362880.000000,293.157166 -371520.000000,293.480469 -380160.000000,293.288422 -388800.000000,293.195618 -397440.000000,293.151398 -406080.000000,293.147278 -414720.000000,292.964447 -423360.000000,293.040131 -432000.000000,293.052032 -440640.000000,293.117371 -449280.000000,293.132507 -457920.000000,293.446808 -466560.000000,293.271240 -475200.000000,293.199554 -483840.000000,293.166016 -492480.000000,293.142975 -501120.000000,292.933899 -509760.000000,292.978943 -518400.000000,293.018158 -527040.000000,293.034180 -535680.000000,293.065521 -544320.000000,293.504547 -552960.000000,293.483765 -561600.000000,293.280365 -570240.000000,293.219086 -578880.000000,293.103607 -587520.000000,292.888000 -596160.000000,292.940948 -604800.000000,292.980072 -613440.000000,293.014954 -622080.000000,293.041748 -630720.000000,293.488068 -639360.000000,293.579041 -648000.000000,293.305115 -656640.000000,293.119843 -665280.000000,293.096832 -673920.000000,292.890381 -682560.000000,292.940460 -691200.000000,292.955078 -699840.000000,293.001343 -708480.000000,292.985168 -717120.000000,293.432709 -725760.000000,293.501434 -734400.000000,293.272308 -743040.000000,293.227020 -751680.000000,293.108887 -760320.000000,292.894226 -768960.000000,292.931030 -777600.000000,292.947601 -786240.000000,292.974304 -794880.000000,292.956940 -803520.000000,293.435760 -812160.000000,293.589539 -820800.000000,293.331543 -829440.000000,293.222534 -838080.000000,293.035461 -846720.000000,292.898804 -855360.000000,292.944092 -864000.000000,292.944641 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/test.csv deleted file mode 100644 index ca87a84d..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,291.602448 -17280.000000,291.442291 -25920.000000,292.179871 -34560.000000,292.965393 -43200.000000,292.998505 -51840.000000,293.401489 -60480.000000,293.272705 -69120.000000,292.902191 -77760.000000,292.931824 -86400.000000,292.881348 -95040.000000,292.906982 -103680.000000,293.025238 -112320.000000,293.534821 -120960.000000,293.452759 -129600.000000,293.257965 -138240.000000,293.114838 -146880.000000,293.112823 -155520.000000,292.987457 -164160.000000,293.061493 -172800.000000,293.079437 -181440.000000,293.182800 -190080.000000,293.097290 -198720.000000,293.358856 -207360.000000,293.299042 -216000.000000,293.244476 -224640.000000,293.216187 -233280.000000,293.113770 -241920.000000,292.980896 -250560.000000,293.062805 -259200.000000,293.063507 -267840.000000,293.170105 -276480.000000,293.147949 -285120.000000,293.454163 -293760.000000,293.247742 -302400.000000,293.152740 -311040.000000,293.165436 -319680.000000,293.154358 -328320.000000,292.959686 -336960.000000,293.030457 -345600.000000,293.067780 -354240.000000,293.142334 -362880.000000,293.157166 -371520.000000,293.480469 -380160.000000,293.288422 -388800.000000,293.195618 -397440.000000,293.151398 -406080.000000,293.147278 -414720.000000,292.964447 -423360.000000,293.040131 -432000.000000,293.052032 -440640.000000,293.117371 -449280.000000,293.132507 -457920.000000,293.446808 -466560.000000,293.271240 -475200.000000,293.199554 -483840.000000,293.166016 -492480.000000,293.142975 -501120.000000,292.933899 -509760.000000,292.978943 -518400.000000,293.018158 -527040.000000,293.034180 -535680.000000,293.065521 -544320.000000,293.504547 -552960.000000,293.483765 -561600.000000,293.280365 -570240.000000,293.219086 -578880.000000,293.103607 -587520.000000,292.888000 -596160.000000,292.940948 -604800.000000,292.980072 -613440.000000,293.014954 -622080.000000,293.041748 -630720.000000,293.488068 -639360.000000,293.579041 -648000.000000,293.305115 -656640.000000,293.119843 -665280.000000,293.096832 -673920.000000,292.890381 -682560.000000,292.940460 -691200.000000,292.955078 -699840.000000,293.001343 -708480.000000,292.985168 -717120.000000,293.432709 -725760.000000,293.501434 -734400.000000,293.272308 -743040.000000,293.227020 -751680.000000,293.108887 -760320.000000,292.894226 -768960.000000,292.931030 -777600.000000,292.947601 -786240.000000,292.974304 -794880.000000,292.956940 -803520.000000,293.435760 -812160.000000,293.589539 -820800.000000,293.331543 -829440.000000,293.222534 -838080.000000,293.035461 -846720.000000,292.898804 -855360.000000,292.944092 -864000.000000,292.944641 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv deleted file mode 100644 index 1975b2b4..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_building.buiMeaBus.TZoneMea[1]/upperBound.csv +++ /dev/null @@ -1,120 +0,0 @@ -x,y --0.001000,293.443144 -0.001000,293.443144 -8640.001000,291.894050 -17279.999357,291.733734 -25919.999000,292.472050 -34559.999000,293.258358 -43199.999000,293.291503 -51839.999000,293.694891 -51840.001000,293.694891 -60480.001000,293.565978 -69120.000852,293.195093 -77759.999000,293.224756 -77760.001000,293.224756 -86400.000326,293.174229 -95039.999000,293.199889 -103679.999000,293.318263 -112319.999000,293.828355 -112320.001000,293.828355 -120960.001000,293.746212 -129600.001000,293.551223 -138240.001000,293.407952 -146880.001000,293.405936 -155520.000257,293.280445 -164159.999000,293.354554 -172799.999000,293.372517 -181439.999000,293.475983 -181440.001000,293.475983 -190079.999493,293.390387 -198719.999000,293.652215 -198720.001000,293.652215 -207360.001000,293.592341 -216000.001000,293.537721 -224640.001000,293.509403 -233280.001000,293.406883 -241920.000237,293.273877 -250559.999000,293.355868 -259199.999000,293.356571 -267839.999000,293.463275 -267840.001000,293.463275 -276479.999135,293.441097 -285119.999000,293.747617 -285120.001000,293.747617 -293760.001000,293.540989 -302400.000764,293.445893 -311039.999000,293.458601 -311040.001000,293.458601 -319680.001000,293.447512 -328320.000467,293.252646 -336959.999000,293.323487 -345599.999000,293.360847 -354239.999000,293.435476 -362879.999000,293.450323 -371519.999000,293.773949 -371520.001000,293.773949 -380160.001000,293.581710 -388800.001000,293.488813 -397440.001000,293.444549 -406080.001000,293.440425 -414720.000414,293.257411 -423359.999000,293.333171 -431999.999000,293.345085 -440639.999000,293.410488 -449279.999000,293.425640 -457919.999000,293.740255 -457920.001000,293.740255 -466560.001000,293.564511 -475200.001000,293.492754 -483840.001000,293.459182 -492480.001000,293.436118 -501120.000645,293.226833 -509759.999000,293.271922 -518399.999000,293.311176 -527039.999000,293.327214 -535679.999000,293.358587 -544319.999000,293.798052 -544320.001000,293.798052 -552960.001000,293.777248 -561600.001000,293.573645 -570240.001000,293.512305 -578880.001000,293.396711 -587520.000606,293.180888 -596159.999000,293.233889 -604799.999000,293.273052 -613439.999000,293.307969 -622079.999000,293.334790 -630719.999000,293.781556 -639359.999000,293.872620 -639360.001000,293.872620 -648000.001000,293.598420 -656640.001000,293.412962 -665280.001000,293.389929 -673920.000610,293.183271 -682559.999000,293.233401 -691199.999000,293.248033 -699839.999000,293.294344 -699840.001000,293.294344 -708479.999070,293.278154 -717119.999000,293.726141 -725759.999000,293.794936 -725760.001000,293.794936 -734400.001000,293.565581 -743040.001000,293.520247 -751680.001000,293.401996 -760320.000707,293.187120 -768959.999000,293.223961 -777599.999000,293.240549 -786239.999000,293.267279 -786240.001000,293.267279 -794879.999070,293.249897 -803519.999000,293.729196 -812159.999000,293.883128 -812160.001000,293.883128 -820800.001000,293.624875 -829440.001000,293.515757 -838080.001000,293.328497 -846720.000502,293.191703 -855359.999000,293.237036 -863999.999000,293.237586 -864000.001000,293.237586 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv deleted file mode 100644 index 67b784ab..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/lowerBound.csv +++ /dev/null @@ -1,53 +0,0 @@ -x,y --0.001000,-0.001000 -25920.001000,-0.001000 -34560.001000,137.254271 -43200.000581,441.990688 -51839.999000,361.117555 -60479.999000,-0.001000 -112320.001000,-0.001000 -120960.001000,311.474164 -129600.000062,1353.841711 -138239.999000,433.572433 -146879.999000,-0.001000 -198720.001000,-0.001000 -207360.001000,196.091661 -216000.000538,1177.208280 -224639.999000,882.286813 -233279.999000,-0.001000 -285120.001000,-0.001000 -293760.001000,113.163457 -302400.001000,327.922421 -311039.999096,345.262542 -319679.999000,-0.001000 -371520.001000,-0.001000 -380160.001000,78.402529 -388800.000541,408.957528 -397439.999000,310.548424 -406079.999000,-0.001000 -457920.001000,-0.001000 -466560.001000,124.984083 -475200.001000,233.325553 -483839.999514,356.613711 -492479.999000,-0.001000 -544320.001000,-0.001000 -552960.001000,226.729388 -561600.000324,653.178105 -570239.999000,435.483240 -578879.999000,-0.001000 -630720.001000,-0.001000 -639360.001000,451.682204 -647999.999894,1299.642673 -656639.999000,251.334443 -665279.999000,-0.001000 -717120.001000,-0.001000 -725760.001000,144.944815 -734400.000830,527.147000 -743039.999000,491.697690 -751679.999000,-0.001000 -803520.001000,-0.001000 -812160.001000,492.732940 -820800.000133,1390.286698 -829439.999000,703.584286 -838079.999000,-0.001000 -864000.001000,-0.001000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/reference.csv deleted file mode 100644 index 03b770d0..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,137.391663 -43200.000000,442.433136 -51840.000000,361.479034 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,311.785950 -129600.000000,1355.197021 -138240.000000,434.006439 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,196.287949 -216000.000000,1178.386719 -224640.000000,883.169983 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,113.276733 -302400.000000,328.250671 -311040.000000,345.608154 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,78.481010 -388800.000000,409.366913 -397440.000000,310.859283 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,125.109192 -475200.000000,233.559113 -483840.000000,356.970703 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,226.956345 -561600.000000,653.831970 -570240.000000,435.919159 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,452.134338 -648000.000000,1300.943726 -656640.000000,251.586029 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,145.089905 -734400.000000,527.674683 -743040.000000,492.189880 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,493.226166 -820800.000000,1391.678467 -829440.000000,704.288574 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/test.csv deleted file mode 100644 index 03b770d0..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,137.391663 -43200.000000,442.433136 -51840.000000,361.479034 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,311.785950 -129600.000000,1355.197021 -138240.000000,434.006439 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,196.287949 -216000.000000,1178.386719 -224640.000000,883.169983 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,113.276733 -302400.000000,328.250671 -311040.000000,345.608154 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,78.481010 -388800.000000,409.366913 -397440.000000,310.859283 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,125.109192 -475200.000000,233.559113 -483840.000000,356.970703 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,226.956345 -561600.000000,653.831970 -570240.000000,435.919159 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,452.134338 -648000.000000,1300.943726 -656640.000000,251.586029 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,145.089905 -734400.000000,527.674683 -743040.000000,492.189880 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,493.226166 -820800.000000,1391.678467 -829440.000000,704.288574 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv deleted file mode 100644 index ae656e5d..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PCharge/upperBound.csv +++ /dev/null @@ -1,63 +0,0 @@ -x,y --0.001000,0.001000 -25919.999000,0.001000 -34559.999000,137.529054 -43199.999000,442.875569 -43200.001000,442.875569 -51840.001000,361.840513 -60480.001000,0.001000 -112319.999000,0.001000 -120959.999000,312.097736 -129599.999000,1356.552219 -129600.001000,1356.552219 -138240.001000,434.440446 -146880.001000,0.001000 -198719.999000,0.001000 -207359.999000,196.484237 -215999.999000,1179.565105 -216000.001000,1179.565105 -224640.001000,884.053153 -233280.001000,0.001000 -285119.999000,0.001000 -293759.999000,113.390010 -302399.999000,328.578922 -311039.999000,345.953762 -311040.001000,345.953762 -319680.001000,0.001000 -371519.999000,0.001000 -380159.999000,78.559491 -388799.999000,409.776280 -388800.001000,409.776280 -397440.001000,311.170143 -406080.001000,0.001000 -457919.999000,0.001000 -466559.999000,125.234301 -475199.999000,233.792672 -483839.999000,357.327674 -483840.001000,357.327674 -492480.001000,0.001000 -544319.999000,0.001000 -552959.999000,227.183301 -561599.999000,654.485802 -561600.001000,654.485802 -570240.001000,436.355078 -578880.001000,0.001000 -630719.999000,0.001000 -639359.999000,452.586473 -647999.999000,1302.244669 -648000.001000,1302.244669 -656640.001000,251.837615 -665280.001000,0.001000 -717119.999000,0.001000 -725759.999000,145.234995 -734399.999000,528.202357 -734400.001000,528.202357 -743040.001000,492.682070 -751680.001000,0.001000 -803519.999000,0.001000 -812159.999000,493.719392 -820799.999000,1393.070145 -820800.001000,1393.070145 -829440.001000,704.992863 -838080.001000,0.001000 -864000.001000,0.001000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv deleted file mode 100644 index 1bdb99e7..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/lowerBound.csv +++ /dev/null @@ -1,128 +0,0 @@ -x,y --0.001000,2133.291575 -0.001000,2133.291575 -8640.001000,4330.572807 -17279.999119,4346.938745 -25919.999000,4088.088483 -34559.999000,3966.226337 -34560.001000,3966.226337 -43199.999876,6295.798670 -51839.999000,3308.818972 -60479.999000,3031.329650 -60480.001000,3031.329650 -69120.001000,3409.008965 -77760.000917,3670.054297 -86399.999000,3658.751405 -86400.001000,3658.751405 -95040.001000,3814.701500 -103679.999787,3959.864276 -112319.999000,3735.972934 -120959.999000,3017.120484 -129599.999000,2578.966060 -138239.999000,2266.830754 -138240.001000,2266.830754 -146880.001000,2689.402388 -155520.001000,3452.509611 -164160.001000,3993.337382 -172800.001000,4515.618045 -181440.000720,4804.389035 -190079.999000,4757.399459 -198719.999000,4708.137248 -207359.999000,3808.750425 -207360.001000,3808.750425 -215999.999799,6418.146843 -224639.999000,2492.544023 -224640.001000,2492.544023 -233280.001000,2955.506135 -241920.001000,3705.868059 -250560.000683,4124.375875 -259199.999000,4045.610740 -259200.001000,4045.610740 -267839.999852,4194.333187 -276479.999000,3994.058828 -285119.999000,3664.742478 -293759.999000,3133.963485 -293760.001000,3133.963485 -302399.999758,4160.796805 -311039.999000,2478.502659 -319679.999000,2370.438712 -319680.001000,2370.438712 -328320.001000,2491.471367 -336960.001000,2574.273979 -345600.001000,2653.751795 -354239.999910,2683.831057 -362879.999000,2647.795355 -371519.999000,2472.977916 -380159.999000,2075.006656 -380160.001000,2075.006656 -388799.999760,2529.469886 -397439.999000,1788.513529 -406079.999000,1788.363777 -406080.001000,1788.363777 -414720.001000,2048.277553 -423360.001000,2244.993238 -432000.000002,5221.534125 -440639.999000,2253.975702 -449279.999000,2200.941875 -457919.999000,1969.666180 -466559.999000,1556.603338 -466560.001000,1556.603338 -475199.999742,1822.433150 -483839.999000,1371.866750 -492479.999000,1347.871482 -492480.001000,1347.871482 -501120.001000,1610.599214 -509760.001000,1738.873400 -518400.000489,1889.734342 -527039.999000,1837.996102 -527040.001000,1837.996102 -535680.001000,1955.473477 -544319.999931,4509.906649 -552959.999000,1574.363880 -561599.999000,1263.245500 -561600.001000,1263.245500 -570239.999066,1304.169735 -578879.999000,111.987319 -578880.001000,111.987319 -587520.001000,1893.175242 -596160.000161,4122.398649 -604799.999000,2511.082839 -604800.001000,2511.082839 -613440.001000,2536.283443 -622080.001000,2631.209175 -630719.999856,4607.078965 -639359.999000,1967.763909 -647999.999000,1302.606978 -648000.001000,1302.606978 -656639.999611,1315.361420 -665279.999000,1286.393105 -665280.001000,1286.393105 -673920.001000,1874.077660 -682560.000063,4158.266034 -691199.999000,2143.119628 -699839.999000,2078.894366 -699840.001000,2078.894366 -708480.001000,2110.056532 -717119.999936,4718.303507 -725759.999000,1751.059078 -734399.999000,1367.374543 -734400.001000,1367.374543 -743040.001000,1406.930162 -751680.001000,1446.881748 -760320.001000,1931.451625 -768960.000157,4113.191072 -777599.999000,2521.973305 -786239.999000,2437.252690 -786240.001000,2437.252690 -794880.001000,2568.804113 -803519.999930,4609.353553 -812159.999000,2261.542102 -820799.999000,1322.723194 -820800.001000,1322.723194 -829440.001000,1372.045892 -838080.000386,1914.608217 -846719.999000,1674.229124 -846720.001000,1674.229124 -855360.000000,4252.949038 -863999.999000,1673.918400 -864000.001000,1673.918400 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/reference.csv deleted file mode 100644 index 163512a6..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,2135.427002 -8640.000000,4334.907715 -17280.000000,4351.290039 -25920.000000,4092.180664 -34560.000000,3970.196533 -43200.000000,6302.101074 -51840.000000,3312.131104 -60480.000000,3034.364014 -69120.000000,3412.421387 -77760.000000,3673.728027 -86400.000000,3662.413818 -95040.000000,3818.520020 -103680.000000,3963.828125 -112320.000000,3739.712646 -120960.000000,3020.140625 -129600.000000,2581.547607 -138240.000000,2269.099854 -146880.000000,2692.094482 -155520.000000,3455.965576 -164160.000000,3997.334717 -172800.000000,4520.138184 -181440.000000,4809.198242 -190080.000000,4762.161621 -198720.000000,4712.850098 -207360.000000,3812.562988 -216000.000000,6424.571777 -224640.000000,2495.039062 -233280.000000,2958.464600 -241920.000000,3709.577637 -250560.000000,4128.504395 -259200.000000,4049.660400 -267840.000000,4198.531738 -276480.000000,3998.056885 -285120.000000,3668.410889 -293760.000000,3137.100586 -302400.000000,4164.961914 -311040.000000,2480.983643 -319680.000000,2372.811523 -328320.000000,2493.965332 -336960.000000,2576.850830 -345600.000000,2656.408203 -354240.000000,2686.517578 -362880.000000,2650.445801 -371520.000000,2475.453369 -380160.000000,2077.083740 -388800.000000,2532.001953 -397440.000000,1790.303833 -406080.000000,1790.153931 -414720.000000,2050.327881 -423360.000000,2247.240479 -432000.000000,5226.761230 -440640.000000,2256.231934 -449280.000000,2203.145020 -457920.000000,1971.637817 -466560.000000,1558.161499 -475200.000000,1824.257446 -483840.000000,1373.239990 -492480.000000,1349.220703 -501120.000000,1612.211426 -509760.000000,1740.614014 -518400.000000,1891.625977 -527040.000000,1839.835938 -535680.000000,1957.430908 -544320.000000,4514.421387 -552960.000000,1575.939819 -561600.000000,1264.510010 -570240.000000,1305.475220 -578880.000000,112.099419 -587520.000000,1895.070312 -596160.000000,4126.525391 -604800.000000,2513.596436 -613440.000000,2538.822266 -622080.000000,2633.843018 -630720.000000,4611.690918 -639360.000000,1969.733643 -648000.000000,1303.910889 -656640.000000,1316.678101 -665280.000000,1287.680786 -673920.000000,1875.953613 -682560.000000,4162.428711 -691200.000000,2145.264893 -699840.000000,2080.975342 -708480.000000,2112.168701 -717120.000000,4723.026855 -725760.000000,1752.811890 -734400.000000,1368.743286 -743040.000000,1408.338501 -751680.000000,1448.330078 -760320.000000,1933.385010 -768960.000000,4117.308594 -777600.000000,2524.497803 -786240.000000,2439.692383 -794880.000000,2571.375488 -803520.000000,4613.967773 -812160.000000,2263.805908 -820800.000000,1324.047241 -829440.000000,1373.419312 -838080.000000,1916.524780 -846720.000000,1675.905029 -855360.000000,4257.206543 -864000.000000,1675.593994 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/test.csv deleted file mode 100644 index 163512a6..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,2135.427002 -8640.000000,4334.907715 -17280.000000,4351.290039 -25920.000000,4092.180664 -34560.000000,3970.196533 -43200.000000,6302.101074 -51840.000000,3312.131104 -60480.000000,3034.364014 -69120.000000,3412.421387 -77760.000000,3673.728027 -86400.000000,3662.413818 -95040.000000,3818.520020 -103680.000000,3963.828125 -112320.000000,3739.712646 -120960.000000,3020.140625 -129600.000000,2581.547607 -138240.000000,2269.099854 -146880.000000,2692.094482 -155520.000000,3455.965576 -164160.000000,3997.334717 -172800.000000,4520.138184 -181440.000000,4809.198242 -190080.000000,4762.161621 -198720.000000,4712.850098 -207360.000000,3812.562988 -216000.000000,6424.571777 -224640.000000,2495.039062 -233280.000000,2958.464600 -241920.000000,3709.577637 -250560.000000,4128.504395 -259200.000000,4049.660400 -267840.000000,4198.531738 -276480.000000,3998.056885 -285120.000000,3668.410889 -293760.000000,3137.100586 -302400.000000,4164.961914 -311040.000000,2480.983643 -319680.000000,2372.811523 -328320.000000,2493.965332 -336960.000000,2576.850830 -345600.000000,2656.408203 -354240.000000,2686.517578 -362880.000000,2650.445801 -371520.000000,2475.453369 -380160.000000,2077.083740 -388800.000000,2532.001953 -397440.000000,1790.303833 -406080.000000,1790.153931 -414720.000000,2050.327881 -423360.000000,2247.240479 -432000.000000,5226.761230 -440640.000000,2256.231934 -449280.000000,2203.145020 -457920.000000,1971.637817 -466560.000000,1558.161499 -475200.000000,1824.257446 -483840.000000,1373.239990 -492480.000000,1349.220703 -501120.000000,1612.211426 -509760.000000,1740.614014 -518400.000000,1891.625977 -527040.000000,1839.835938 -535680.000000,1957.430908 -544320.000000,4514.421387 -552960.000000,1575.939819 -561600.000000,1264.510010 -570240.000000,1305.475220 -578880.000000,112.099419 -587520.000000,1895.070312 -596160.000000,4126.525391 -604800.000000,2513.596436 -613440.000000,2538.822266 -622080.000000,2633.843018 -630720.000000,4611.690918 -639360.000000,1969.733643 -648000.000000,1303.910889 -656640.000000,1316.678101 -665280.000000,1287.680786 -673920.000000,1875.953613 -682560.000000,4162.428711 -691200.000000,2145.264893 -699840.000000,2080.975342 -708480.000000,2112.168701 -717120.000000,4723.026855 -725760.000000,1752.811890 -734400.000000,1368.743286 -743040.000000,1408.338501 -751680.000000,1448.330078 -760320.000000,1933.385010 -768960.000000,4117.308594 -777600.000000,2524.497803 -786240.000000,2439.692383 -794880.000000,2571.375488 -803520.000000,4613.967773 -812160.000000,2263.805908 -820800.000000,1324.047241 -829440.000000,1373.419312 -838080.000000,1916.524780 -846720.000000,1675.905029 -855360.000000,4257.206543 -864000.000000,1675.593994 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv deleted file mode 100644 index a99d33da..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_electrical.distribution.batterySimple.PLoad/upperBound.csv +++ /dev/null @@ -1,127 +0,0 @@ -x,y --0.001000,2137.562429 -8639.999000,4339.242623 -17279.999000,4355.641329 -17280.001000,4355.641329 -25920.001000,4096.272845 -34559.999099,3974.166757 -43199.999000,6308.403175 -43200.001000,6308.403175 -51840.001000,3315.443235 -60479.999847,3037.398415 -69119.999000,3415.833808 -77759.999000,3677.401755 -77760.001000,3677.401755 -86399.999135,3666.076235 -95039.999000,3822.338540 -103679.999000,3967.791953 -103680.001000,3967.791953 -112320.001000,3743.452359 -120960.001000,3023.160766 -129600.001000,2584.129155 -138239.999850,2271.368995 -146879.999000,2694.786577 -155519.999000,3459.421542 -164159.999000,4001.332052 -172799.999000,4524.658322 -181439.999000,4814.007440 -181440.001000,4814.007440 -190080.001000,4766.923783 -198720.001000,4717.562948 -207359.999513,3816.375706 -215999.999000,6430.996349 -216000.001000,6430.996349 -224640.000789,2497.534198 -233279.999000,2961.423064 -241919.999000,3713.287214 -250559.999000,4132.632899 -250560.001000,4132.632899 -259199.999692,4053.710073 -267839.999000,4202.730270 -267840.001000,4202.730270 -276480.001000,4002.054942 -285120.001000,3672.079300 -293759.999682,3140.237768 -302399.999000,4169.126876 -302400.001000,4169.126876 -311040.001000,2483.464626 -319679.999943,2375.184348 -328319.999000,2496.459297 -336959.999000,2579.427681 -345599.999000,2659.064611 -354239.999000,2689.204096 -354240.001000,2689.204096 -362880.001000,2653.096247 -371520.001000,2477.928823 -380159.999934,2079.160873 -388799.999000,2534.533955 -388800.001000,2534.533955 -397440.001000,1792.094137 -406079.999001,1791.944085 -414719.999000,2052.378209 -423359.999000,2249.487719 -431999.999000,5231.987992 -432000.001000,5231.987992 -440640.001000,2258.488166 -449280.001000,2205.348165 -457920.001000,1973.609455 -466560.000217,1559.719698 -475199.999000,1826.081704 -475200.001000,1826.081704 -483840.001000,1374.613230 -492479.999167,1350.569929 -501119.999000,1613.823637 -509759.999000,1742.354628 -518399.999000,1893.517603 -518400.001000,1893.517603 -527039.999612,1841.675782 -535679.999000,1959.388339 -544319.999000,4518.935808 -544320.001000,4518.935808 -552960.001000,1577.515759 -561600.000768,1265.774528 -570239.999000,1306.780695 -570240.001000,1306.780695 -578879.999802,112.211684 -587519.999000,1896.965383 -596159.999000,4130.651916 -596160.001000,4130.651916 -604800.000969,2516.110038 -613439.999000,2541.361088 -622079.999000,2636.476861 -630719.999000,4616.302609 -630720.001000,4616.302609 -639360.001000,1971.703376 -648000.000962,1305.214802 -656639.999000,1317.994779 -656640.001000,1317.994779 -665279.999094,1288.968473 -673919.999000,1877.829567 -682559.999000,4166.591140 -682560.001000,4166.591140 -691200.001000,2147.410157 -699840.000347,2083.056322 -708479.999000,2114.280870 -717119.999000,4727.749882 -717120.001000,4727.749882 -725760.001000,1754.564702 -734400.000813,1370.112038 -743039.999000,1409.746839 -751679.999000,1449.778408 -760319.999000,1935.318395 -768959.999000,4121.425902 -768960.001000,4121.425902 -777600.001000,2527.022301 -786239.999783,2442.132087 -794879.999000,2573.946864 -803519.999000,4618.581741 -803520.001000,4618.581741 -812160.001000,2266.069714 -820800.000900,1325.371299 -829439.999000,1374.792731 -838079.999000,1918.441305 -838080.001000,1918.441305 -846719.999171,1677.580985 -855359.999000,4261.463750 -855360.001000,4261.463750 -864000.001000,1677.269588 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv deleted file mode 100644 index 87c914a4..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/lowerBound.csv +++ /dev/null @@ -1,130 +0,0 @@ -x,y --0.001000,292.856844 -0.001000,292.856844 -8640.001000,321.385050 -17279.999717,321.713761 -25919.999000,321.125453 -34559.999000,320.709457 -43199.999000,316.000578 -43200.001000,316.000578 -51840.000755,319.438725 -60479.999000,318.958676 -60480.001000,318.958676 -69120.001000,319.347020 -77760.000741,319.784601 -86399.999000,319.719481 -86400.001000,319.719481 -95040.001000,320.007705 -103680.001000,320.839027 -112320.001000,320.960944 -120959.999200,321.088685 -129599.999000,319.936427 -129600.001000,319.936427 -138240.001000,320.660921 -146880.001000,321.075027 -155520.001000,323.633471 -164160.001000,324.912006 -172800.000731,325.777930 -181439.999000,325.643300 -190079.999000,325.524827 -198719.999000,325.140294 -198720.001000,325.140294 -207359.999468,326.671018 -215999.999000,321.664799 -224639.999000,321.277857 -224640.001000,321.277857 -233280.001000,322.071862 -241920.001000,323.706396 -250560.000233,324.709176 -259199.999000,324.085014 -267839.999000,323.370245 -276479.999000,322.733127 -276480.001000,322.733127 -285119.999481,323.106563 -293759.999000,321.927049 -302399.999000,317.988883 -302400.001000,317.988883 -311040.000226,319.329155 -319679.999000,318.483108 -328319.999000,317.787089 -336959.999000,317.120215 -345599.999000,316.879154 -354239.999000,316.795680 -362879.999000,316.549375 -362880.001000,316.549375 -371520.001000,316.685317 -380159.999619,316.911897 -388799.999000,316.406147 -397439.999000,316.007773 -406079.999000,315.794455 -414719.999000,315.755858 -414720.001000,315.755858 -423359.999061,315.791071 -431999.999000,314.663049 -432000.001000,314.663049 -440640.000007,315.171543 -449279.999000,314.670580 -457919.999000,314.402507 -466559.999000,313.583624 -475199.999000,313.195311 -483839.999000,313.017602 -483840.001000,313.017602 -492479.999484,313.067265 -501119.999000,312.911690 -509759.999000,312.362526 -509760.001000,312.362526 -518399.999136,312.409476 -527039.999000,311.765041 -527040.001000,311.765041 -535680.001000,311.939305 -544320.001000,312.407708 -552960.000083,313.012205 -561599.999000,312.500846 -561600.001000,312.500846 -570240.000608,314.018278 -578879.999000,313.648653 -578880.001000,313.648653 -587520.001000,313.885660 -596160.001000,314.514486 -604800.000477,315.658330 -613439.999000,315.253126 -613440.001000,315.253126 -622080.000774,315.495438 -630719.999000,315.464585 -630720.001000,315.464585 -639359.999368,315.702810 -647999.999000,314.646129 -648000.001000,314.646129 -656639.999604,315.195018 -665279.999000,313.925049 -673919.999000,313.895050 -682559.999000,313.427958 -682560.001000,313.427958 -691199.999035,313.437561 -699839.999000,312.894952 -708479.999000,312.682884 -717119.999000,312.357679 -717120.001000,312.357679 -725760.000015,313.018059 -734399.999000,312.377495 -734400.001000,312.377495 -743040.000553,313.741212 -751679.999000,313.348905 -751680.001000,313.348905 -760320.001000,314.468755 -768960.001000,314.697073 -777599.999710,314.989627 -786239.999000,314.458146 -786240.001000,314.458146 -794880.001000,314.727651 -803520.001000,314.825180 -812160.000422,316.012468 -820799.999000,315.529431 -820800.001000,315.529431 -829439.999530,316.997535 -838079.999000,312.921354 -838080.001000,312.921354 -846719.999362,313.215493 -855359.999000,311.885160 -863999.999000,311.139904 -864000.001000,311.139904 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv deleted file mode 100644 index d24c07e4..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,321.706757 -17280.000000,322.035797 -25920.000000,321.446899 -34560.000000,321.030487 -43200.000000,316.316895 -51840.000000,319.758484 -60480.000000,319.277954 -69120.000000,319.666687 -77760.000000,320.104706 -86400.000000,320.039520 -95040.000000,320.328033 -103680.000000,321.160187 -112320.000000,321.282227 -120960.000000,321.410095 -129600.000000,320.256683 -138240.000000,320.981903 -146880.000000,321.396423 -155520.000000,323.957428 -164160.000000,325.237244 -172800.000000,326.104034 -181440.000000,325.969269 -190080.000000,325.850677 -198720.000000,325.465759 -207360.000000,326.998016 -216000.000000,321.986786 -224640.000000,321.599457 -233280.000000,322.394257 -241920.000000,324.030426 -250560.000000,325.034210 -259200.000000,324.409424 -267840.000000,323.693939 -276480.000000,323.056183 -285120.000000,323.429993 -293760.000000,322.249298 -302400.000000,318.307190 -311040.000000,319.648804 -319680.000000,318.801910 -328320.000000,318.105194 -336960.000000,317.437653 -345600.000000,317.196350 -354240.000000,317.112793 -362880.000000,316.866241 -371520.000000,317.002319 -380160.000000,317.229126 -388800.000000,316.722870 -397440.000000,316.324097 -406080.000000,316.110565 -414720.000000,316.071930 -423360.000000,316.107178 -432000.000000,314.978027 -440640.000000,315.487030 -449280.000000,314.985565 -457920.000000,314.717224 -466560.000000,313.897522 -475200.000000,313.508820 -483840.000000,313.330933 -492480.000000,313.380646 -501120.000000,313.224915 -509760.000000,312.675201 -518400.000000,312.722198 -527040.000000,312.077118 -535680.000000,312.251556 -544320.000000,312.720428 -552960.000000,313.325531 -561600.000000,312.813660 -570240.000000,314.332611 -578880.000000,313.962616 -587520.000000,314.199860 -596160.000000,314.829315 -604800.000000,315.974304 -613440.000000,315.568695 -622080.000000,315.811249 -630720.000000,315.780365 -639360.000000,316.018829 -648000.000000,314.961090 -656640.000000,315.510529 -665280.000000,314.239288 -673920.000000,314.209259 -682560.000000,313.741699 -691200.000000,313.751312 -699840.000000,313.208160 -708480.000000,312.995880 -717120.000000,312.670349 -725760.000000,313.331390 -734400.000000,312.690186 -743040.000000,314.055267 -751680.000000,313.662567 -760320.000000,314.783539 -768960.000000,315.012085 -777600.000000,315.304932 -786240.000000,314.772919 -794880.000000,315.042694 -803520.000000,315.140320 -812160.000000,316.328796 -820800.000000,315.845276 -829440.000000,317.314850 -838080.000000,313.234589 -846720.000000,313.529022 -855360.000000,312.197357 -864000.000000,311.451355 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv deleted file mode 100644 index d24c07e4..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,321.706757 -17280.000000,322.035797 -25920.000000,321.446899 -34560.000000,321.030487 -43200.000000,316.316895 -51840.000000,319.758484 -60480.000000,319.277954 -69120.000000,319.666687 -77760.000000,320.104706 -86400.000000,320.039520 -95040.000000,320.328033 -103680.000000,321.160187 -112320.000000,321.282227 -120960.000000,321.410095 -129600.000000,320.256683 -138240.000000,320.981903 -146880.000000,321.396423 -155520.000000,323.957428 -164160.000000,325.237244 -172800.000000,326.104034 -181440.000000,325.969269 -190080.000000,325.850677 -198720.000000,325.465759 -207360.000000,326.998016 -216000.000000,321.986786 -224640.000000,321.599457 -233280.000000,322.394257 -241920.000000,324.030426 -250560.000000,325.034210 -259200.000000,324.409424 -267840.000000,323.693939 -276480.000000,323.056183 -285120.000000,323.429993 -293760.000000,322.249298 -302400.000000,318.307190 -311040.000000,319.648804 -319680.000000,318.801910 -328320.000000,318.105194 -336960.000000,317.437653 -345600.000000,317.196350 -354240.000000,317.112793 -362880.000000,316.866241 -371520.000000,317.002319 -380160.000000,317.229126 -388800.000000,316.722870 -397440.000000,316.324097 -406080.000000,316.110565 -414720.000000,316.071930 -423360.000000,316.107178 -432000.000000,314.978027 -440640.000000,315.487030 -449280.000000,314.985565 -457920.000000,314.717224 -466560.000000,313.897522 -475200.000000,313.508820 -483840.000000,313.330933 -492480.000000,313.380646 -501120.000000,313.224915 -509760.000000,312.675201 -518400.000000,312.722198 -527040.000000,312.077118 -535680.000000,312.251556 -544320.000000,312.720428 -552960.000000,313.325531 -561600.000000,312.813660 -570240.000000,314.332611 -578880.000000,313.962616 -587520.000000,314.199860 -596160.000000,314.829315 -604800.000000,315.974304 -613440.000000,315.568695 -622080.000000,315.811249 -630720.000000,315.780365 -639360.000000,316.018829 -648000.000000,314.961090 -656640.000000,315.510529 -665280.000000,314.239288 -673920.000000,314.209259 -682560.000000,313.741699 -691200.000000,313.751312 -699840.000000,313.208160 -708480.000000,312.995880 -717120.000000,312.670349 -725760.000000,313.331390 -734400.000000,312.690186 -743040.000000,314.055267 -751680.000000,313.662567 -760320.000000,314.783539 -768960.000000,315.012085 -777600.000000,315.304932 -786240.000000,314.772919 -794880.000000,315.042694 -803520.000000,315.140320 -812160.000000,316.328796 -820800.000000,315.845276 -829440.000000,317.314850 -838080.000000,313.234589 -846720.000000,313.529022 -855360.000000,312.197357 -864000.000000,311.451355 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv deleted file mode 100644 index cd5e735e..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoBufTopMea/upperBound.csv +++ /dev/null @@ -1,129 +0,0 @@ -x,y --0.001000,293.443144 -8639.999000,322.028463 -17279.999000,322.357833 -17280.001000,322.357833 -25920.001000,321.768346 -34560.001000,321.351518 -43200.000156,316.633212 -51839.999000,320.078242 -51840.001000,320.078242 -60480.000106,319.597232 -69119.999000,319.986354 -77759.999000,320.424811 -77760.001000,320.424811 -86399.999369,320.359560 -95039.999000,320.648361 -103679.999000,321.481347 -112319.999000,321.603509 -120959.999000,321.731505 -120960.001000,321.731505 -129600.000228,320.576940 -138239.999000,321.302885 -146879.999000,321.717820 -155519.999000,324.281385 -164159.999000,325.562481 -172799.999000,326.430138 -172800.001000,326.430138 -181440.001000,326.295238 -190080.001000,326.176528 -198719.999402,325.791225 -207359.999000,327.325014 -207360.001000,327.325014 -216000.001000,322.308773 -224639.999655,321.921056 -233279.999000,322.716651 -241919.999000,324.354456 -250559.999000,325.359244 -250560.001000,325.359244 -259200.001000,324.733833 -267840.001000,324.017633 -276480.000261,323.379239 -285119.999000,323.753423 -285120.001000,323.753423 -293760.001000,322.571547 -302400.000492,318.625497 -311039.999000,319.968453 -311040.001000,319.968453 -319680.001000,319.120712 -328320.001000,318.423299 -336960.001000,317.755090 -345600.001000,317.513546 -354240.001000,317.429906 -362880.000289,317.183108 -371519.999000,317.319322 -380159.999000,317.546355 -380160.001000,317.546355 -388800.001000,317.039593 -397440.001000,316.640421 -406080.001000,316.426676 -414720.000046,316.388002 -423359.999000,316.423285 -423360.001000,316.423285 -432000.000379,315.293005 -440639.999000,315.802517 -440640.001000,315.802517 -449280.001000,315.300551 -457920.001000,315.031941 -466560.001000,314.211419 -475200.001000,313.822328 -483840.000563,313.644264 -492479.999000,313.694026 -492480.001000,313.694026 -501120.001000,313.538139 -509760.000842,312.987877 -518399.999000,313.034921 -518400.001000,313.034921 -527040.000574,312.389195 -535679.999000,312.563808 -544319.999000,313.033149 -552959.999000,313.638857 -552960.001000,313.638857 -561599.999504,313.126473 -570239.999000,314.646944 -570240.001000,314.646944 -578880.000219,314.276579 -587519.999000,314.514059 -596159.999000,315.144145 -604799.999000,316.290279 -604800.001000,316.290279 -613440.000252,315.884264 -622079.999000,316.127060 -622080.001000,316.127060 -630719.999229,316.096145 -639359.999000,316.334848 -639360.001000,316.334848 -648000.000316,315.276051 -656639.999000,315.826039 -656640.001000,315.826039 -665280.001000,314.553528 -673920.001000,314.523468 -682560.000960,314.055441 -691199.999000,314.065064 -691200.001000,314.065064 -699840.001000,313.521369 -708480.001000,313.308876 -717119.999660,312.983020 -725759.999000,313.644722 -725760.001000,313.644722 -734399.999639,313.002876 -743039.999000,314.369323 -743040.001000,314.369323 -751679.999519,313.976230 -760319.999000,315.098322 -768959.999000,315.327097 -777599.999000,315.620237 -777600.001000,315.620237 -786240.000327,315.087692 -794879.999000,315.357737 -803519.999000,315.455460 -812159.999000,316.645125 -812160.001000,316.645125 -820799.999495,316.161121 -829439.999000,317.632165 -829440.001000,317.632165 -838080.000865,313.547823 -846719.999000,313.842551 -846720.001000,313.842551 -855360.001000,312.509555 -864000.001000,311.762806 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv deleted file mode 100644 index af501f0b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/lowerBound.csv +++ /dev/null @@ -1,123 +0,0 @@ -x,y --0.001000,322.826844 -0.001000,322.826844 -8640.000783,332.083508 -17279.999000,330.954786 -25919.999000,328.455182 -34559.999000,325.073100 -34560.001000,325.073100 -43200.001000,328.475761 -51840.000386,331.746687 -60479.999000,330.296997 -69119.999000,328.689201 -77759.999000,320.354343 -86399.999000,318.575240 -86400.001000,318.575240 -95040.000845,332.203322 -103679.999000,331.059204 -112319.999000,328.013059 -120959.999000,324.430463 -120960.001000,324.430463 -129600.000707,333.080801 -138239.999000,331.595807 -146879.999000,330.135995 -155519.999000,328.491187 -164159.999000,319.908440 -172799.999000,318.130526 -172800.001000,318.130526 -181440.000850,332.195091 -190079.999000,331.056399 -198719.999000,328.197963 -207359.999000,324.679146 -207360.001000,324.679146 -216000.001000,329.638202 -224640.000189,331.743791 -233279.999000,330.307972 -241919.999000,328.719170 -250559.999000,320.444768 -259199.999000,318.665787 -259200.001000,318.665787 -267840.000845,332.194389 -276479.999000,331.054204 -285119.999000,328.144641 -293759.999000,324.606892 -293760.001000,324.606892 -302400.000705,333.189761 -311039.999000,331.702938 -319679.999000,330.255108 -328319.999000,328.647525 -336959.999000,320.304680 -345599.999000,318.526248 -345600.001000,318.526248 -354240.000845,332.195091 -362879.999000,331.048046 -371519.999000,327.904189 -380159.999000,324.289705 -380160.001000,324.289705 -388800.000705,333.052295 -397439.999000,331.534893 -406079.999000,330.034656 -414719.999000,328.332502 -423359.999000,319.548326 -423360.001000,319.548326 -432000.001000,320.123404 -440640.000826,332.122867 -449279.999000,330.977102 -457919.999000,327.818338 -466559.999000,324.202725 -466560.001000,324.202725 -475200.000700,332.948609 -483839.999000,331.405720 -492479.999000,329.874324 -501119.999000,328.130129 -509759.999000,319.219401 -509760.001000,319.219401 -518400.000786,327.895592 -527039.999000,326.857569 -535679.999000,325.858508 -544319.999000,322.177927 -544320.001000,322.177927 -552960.000684,331.138927 -561599.999000,329.457048 -570239.999000,327.746937 -578879.999000,325.866678 -587519.999000,323.509205 -596159.999000,313.100709 -596160.001000,313.100709 -604800.000867,327.289113 -613439.999000,326.279229 -622079.999000,325.306936 -630719.999000,322.006955 -630720.001000,322.006955 -639360.000695,331.208743 -647999.999000,329.555674 -656639.999000,327.868398 -665279.999000,326.008839 -673919.999000,323.673378 -682559.999000,313.212871 -682560.001000,313.212871 -691200.000866,327.285210 -699839.999000,326.273802 -708479.999000,325.300046 -717119.999000,321.858331 -717120.001000,321.858331 -725760.000694,331.148195 -734399.999000,329.470371 -743039.999000,327.762851 -751679.999000,325.883720 -760319.999000,323.528107 -768959.999000,313.086106 -768960.001000,313.086106 -777600.000867,327.290790 -786239.999000,326.280875 -794879.999000,325.308552 -803519.999000,321.996742 -803520.001000,321.996742 -812160.000695,331.200572 -820799.999000,329.544058 -829439.999000,327.853855 -838079.999000,325.992498 -846719.999000,323.653257 -855359.999000,313.393964 -855360.001000,313.393964 -864000.001000,327.277497 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv deleted file mode 100644 index ed826d72..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,323.149994 -8640.000000,332.415924 -17280.000000,331.286072 -25920.000000,328.783966 -34560.000000,325.398499 -43200.000000,328.804565 -51840.000000,332.078766 -60480.000000,330.627625 -69120.000000,329.018219 -77760.000000,320.675018 -86400.000000,318.894135 -95040.000000,332.535858 -103680.000000,331.390594 -112320.000000,328.341400 -120960.000000,324.755219 -129600.000000,333.414215 -138240.000000,331.927734 -146880.000000,330.466461 -155520.000000,328.820007 -164160.000000,320.228668 -172800.000000,318.448975 -181440.000000,332.527618 -190080.000000,331.387787 -198720.000000,328.526489 -207360.000000,325.004150 -216000.000000,329.968170 -224640.000000,332.075867 -233280.000000,330.638611 -241920.000000,329.048218 -250560.000000,320.765533 -259200.000000,318.984772 -267840.000000,332.526917 -276480.000000,331.385590 -285120.000000,328.473114 -293760.000000,324.931824 -302400.000000,333.523285 -311040.000000,332.034973 -319680.000000,330.585693 -328320.000000,328.976501 -336960.000000,320.625305 -345600.000000,318.845093 -354240.000000,332.527618 -362880.000000,331.379425 -371520.000000,328.232422 -380160.000000,324.614319 -388800.000000,333.385681 -397440.000000,331.866760 -406080.000000,330.365021 -414720.000000,328.661163 -423360.000000,319.868195 -432000.000000,320.443848 -440640.000000,332.455322 -449280.000000,331.308411 -457920.000000,328.146484 -466560.000000,324.527252 -475200.000000,333.281891 -483840.000000,331.737457 -492480.000000,330.204529 -501120.000000,328.458588 -509760.000000,319.538940 -518400.000000,328.223816 -527040.000000,327.184753 -535680.000000,326.184692 -544320.000000,322.500427 -552960.000000,331.470398 -561600.000000,329.786835 -570240.000000,328.075012 -578880.000000,326.192871 -587520.000000,323.833038 -596160.000000,313.414124 -604800.000000,327.616730 -613440.000000,326.605835 -622080.000000,325.632568 -630720.000000,322.329285 -639360.000000,331.540283 -648000.000000,329.885559 -656640.000000,328.196594 -665280.000000,326.335175 -673920.000000,323.997375 -682560.000000,313.526398 -691200.000000,327.612823 -699840.000000,326.600403 -708480.000000,325.625671 -717120.000000,322.180511 -725760.000000,331.479675 -734400.000000,329.800171 -743040.000000,328.090942 -751680.000000,326.209930 -760320.000000,323.851959 -768960.000000,313.399506 -777600.000000,327.618408 -786240.000000,326.607483 -794880.000000,325.634186 -803520.000000,322.319061 -812160.000000,331.532104 -820800.000000,329.873932 -829440.000000,328.182037 -838080.000000,326.318817 -846720.000000,323.977234 -855360.000000,313.707672 -864000.000000,327.605103 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv deleted file mode 100644 index ed826d72..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,323.149994 -8640.000000,332.415924 -17280.000000,331.286072 -25920.000000,328.783966 -34560.000000,325.398499 -43200.000000,328.804565 -51840.000000,332.078766 -60480.000000,330.627625 -69120.000000,329.018219 -77760.000000,320.675018 -86400.000000,318.894135 -95040.000000,332.535858 -103680.000000,331.390594 -112320.000000,328.341400 -120960.000000,324.755219 -129600.000000,333.414215 -138240.000000,331.927734 -146880.000000,330.466461 -155520.000000,328.820007 -164160.000000,320.228668 -172800.000000,318.448975 -181440.000000,332.527618 -190080.000000,331.387787 -198720.000000,328.526489 -207360.000000,325.004150 -216000.000000,329.968170 -224640.000000,332.075867 -233280.000000,330.638611 -241920.000000,329.048218 -250560.000000,320.765533 -259200.000000,318.984772 -267840.000000,332.526917 -276480.000000,331.385590 -285120.000000,328.473114 -293760.000000,324.931824 -302400.000000,333.523285 -311040.000000,332.034973 -319680.000000,330.585693 -328320.000000,328.976501 -336960.000000,320.625305 -345600.000000,318.845093 -354240.000000,332.527618 -362880.000000,331.379425 -371520.000000,328.232422 -380160.000000,324.614319 -388800.000000,333.385681 -397440.000000,331.866760 -406080.000000,330.365021 -414720.000000,328.661163 -423360.000000,319.868195 -432000.000000,320.443848 -440640.000000,332.455322 -449280.000000,331.308411 -457920.000000,328.146484 -466560.000000,324.527252 -475200.000000,333.281891 -483840.000000,331.737457 -492480.000000,330.204529 -501120.000000,328.458588 -509760.000000,319.538940 -518400.000000,328.223816 -527040.000000,327.184753 -535680.000000,326.184692 -544320.000000,322.500427 -552960.000000,331.470398 -561600.000000,329.786835 -570240.000000,328.075012 -578880.000000,326.192871 -587520.000000,323.833038 -596160.000000,313.414124 -604800.000000,327.616730 -613440.000000,326.605835 -622080.000000,325.632568 -630720.000000,322.329285 -639360.000000,331.540283 -648000.000000,329.885559 -656640.000000,328.196594 -665280.000000,326.335175 -673920.000000,323.997375 -682560.000000,313.526398 -691200.000000,327.612823 -699840.000000,326.600403 -708480.000000,325.625671 -717120.000000,322.180511 -725760.000000,331.479675 -734400.000000,329.800171 -743040.000000,328.090942 -751680.000000,326.209930 -760320.000000,323.851959 -768960.000000,313.399506 -777600.000000,327.618408 -786240.000000,326.607483 -794880.000000,325.634186 -803520.000000,322.319061 -812160.000000,331.532104 -820800.000000,329.873932 -829440.000000,328.182037 -838080.000000,326.318817 -846720.000000,323.977234 -855360.000000,313.707672 -864000.000000,327.605103 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv deleted file mode 100644 index 4f8bb38e..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.distribution.sigBusDistr.TStoDHWTopMea/upperBound.csv +++ /dev/null @@ -1,123 +0,0 @@ -x,y --0.001000,323.473144 -8639.999000,332.748340 -8640.001000,332.748340 -17280.001000,331.617358 -25920.001000,329.112750 -34559.999997,325.723897 -43199.999000,329.133370 -51839.999000,332.410845 -51840.001000,332.410845 -60480.001000,330.958252 -69120.001000,329.347237 -77760.001000,320.995693 -86399.999231,319.213029 -95039.999000,332.868394 -95040.001000,332.868394 -103680.001000,331.721985 -112320.001000,328.669742 -120959.999586,325.079974 -129599.999000,333.747629 -129600.001000,333.747629 -138240.001000,332.259662 -146880.001000,330.796928 -155520.001000,329.148827 -164160.001000,320.548897 -172799.999224,318.767424 -181439.999000,332.860146 -181440.001000,332.860146 -190080.001000,331.719175 -198720.001000,328.855016 -207359.999830,325.329155 -215999.999000,330.298138 -224639.999000,332.407943 -224640.001000,332.407943 -233280.001000,330.969249 -241920.001000,329.377266 -250560.001000,321.086299 -259199.999232,319.303757 -267839.999000,332.859443 -267840.001000,332.859443 -276480.001000,331.716975 -285120.001000,328.801587 -293759.999584,325.256756 -302399.999000,333.856808 -302400.001000,333.856808 -311040.001000,332.367008 -319680.001000,330.916279 -328320.001000,329.305478 -336960.001000,320.945930 -345599.999230,319.163938 -354239.999000,332.860146 -354240.001000,332.860146 -362880.001000,331.710804 -371520.001000,328.560654 -380159.999584,324.938934 -388799.999000,333.719067 -388800.001000,333.719067 -397440.001000,332.198627 -406080.001000,330.695386 -414720.001000,328.989824 -423360.000877,320.188063 -431999.999000,320.764292 -440639.999000,332.787778 -440640.001000,332.787778 -449280.001000,331.639719 -457920.001000,328.474631 -466559.999585,324.851780 -475199.999000,333.615173 -475200.001000,333.615173 -483840.001000,332.069195 -492480.001000,330.534733 -501120.001000,328.787046 -509760.000013,319.858480 -518399.999000,328.552040 -518400.001000,328.552040 -527040.001000,327.511938 -535680.001000,326.510877 -544319.999582,322.822928 -552959.999000,331.801868 -552960.001000,331.801868 -561600.001000,330.116622 -570240.001000,328.403087 -578880.001000,326.519064 -587520.001000,324.156871 -596159.999846,313.727539 -604799.999000,327.944346 -604800.001000,327.944346 -613440.001000,326.932441 -622080.001000,325.958201 -630719.999528,322.651615 -639359.999000,331.871823 -639360.001000,331.871823 -648000.001000,330.215445 -656640.001000,328.524791 -665280.001000,326.661510 -673920.001000,324.321373 -682559.999853,313.839925 -691199.999000,327.940436 -691200.001000,327.940436 -699840.001000,326.927003 -708480.001000,325.951297 -717119.999541,322.502693 -725759.999000,331.811155 -725760.001000,331.811155 -734400.001000,330.129971 -743040.001000,328.419033 -751680.001000,326.536140 -760320.001000,324.175811 -768959.999847,313.712907 -777599.999000,327.946027 -777600.001000,327.946027 -786240.001000,326.934090 -794880.001000,325.959820 -803519.999529,322.641381 -812159.999000,331.863637 -812160.001000,331.863637 -820800.001000,330.203806 -829440.001000,328.510219 -838080.001000,326.645136 -846720.001000,324.301211 -855359.999850,314.021381 -863999.999000,327.932708 -864000.001000,327.932708 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv deleted file mode 100644 index 1e8e613a..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/lowerBound.csv +++ /dev/null @@ -1,128 +0,0 @@ -x,y --0.001000,292.856844 -0.001000,292.856844 -8640.001000,322.196067 -17279.999600,322.469779 -25919.999000,321.831868 -34559.999000,321.439713 -34560.001000,321.439713 -43199.999950,336.331909 -51839.999000,319.867343 -60479.999000,319.203457 -60480.001000,319.203457 -69120.001000,319.771095 -77760.000867,320.425653 -86399.999000,320.379038 -86400.001000,320.379038 -95040.001000,320.730828 -103680.000780,321.546357 -112319.999000,321.445506 -120959.999000,321.186488 -129599.999000,320.192030 -129600.001000,320.192030 -138240.001000,320.685128 -146880.001000,321.217401 -155520.001000,323.745114 -164160.001000,325.039381 -172800.000983,326.003199 -181439.999000,325.994907 -190079.999000,325.837685 -198719.999000,325.498120 -198720.001000,325.498120 -207360.001000,326.601447 -215999.999807,337.694620 -224639.999000,321.303466 -224640.001000,321.303466 -233280.001000,322.175092 -241920.001000,323.856392 -250560.000253,324.879964 -259199.999000,324.269339 -267839.999000,323.728194 -276479.999000,323.070009 -276480.001000,323.070009 -285119.999253,323.249395 -293759.999000,322.012016 -302399.999000,316.730163 -302400.001000,316.730163 -311040.000521,319.354490 -319679.999000,318.528717 -328319.999000,317.866111 -336959.999000,317.276675 -345599.999000,317.113233 -354239.999000,317.072990 -362879.999000,316.834734 -362880.001000,316.834734 -371520.001000,316.866105 -380159.999474,316.945646 -388799.999000,316.689524 -397439.999000,316.032193 -406079.999000,315.836069 -414719.999000,315.823204 -414720.001000,315.823204 -423360.001000,315.912470 -431999.999974,326.767966 -440639.999000,315.337941 -449279.999000,314.858654 -457919.999000,314.505949 -466559.999000,313.601155 -475199.999000,313.371038 -483839.999000,313.040406 -483840.001000,313.040406 -492479.999391,313.069338 -501119.999000,312.950408 -509759.999000,312.477401 -509760.001000,312.477401 -518399.999402,312.619441 -527039.999000,312.054942 -527040.001000,312.054942 -535680.001000,312.344661 -544320.000050,319.601830 -552959.999000,313.041199 -561599.999000,312.557339 -561600.001000,312.557339 -570240.001000,314.098155 -578879.999982,316.442640 -587519.999000,314.011419 -587520.001000,314.011419 -596160.001000,315.501901 -604800.000256,315.967103 -613439.999000,315.691347 -613440.001000,315.691347 -622080.001000,316.013047 -630719.999975,321.400201 -639359.999000,315.740401 -647999.999000,314.690671 -648000.001000,314.690671 -656639.999555,315.186969 -665279.999000,313.896391 -665280.001000,313.896391 -673920.001000,313.997852 -682559.999932,315.715615 -691199.999000,313.746852 -699839.999000,313.294668 -708479.999000,313.151684 -708480.001000,313.151684 -717119.999999,322.093050 -725759.999000,313.130983 -734399.999000,312.410025 -734400.001000,312.410025 -743040.000601,313.709140 -751679.999000,313.385459 -751680.001000,313.385459 -760320.001000,314.535400 -768960.000992,315.421781 -777599.999000,315.418214 -786239.999000,314.957067 -786240.001000,314.957067 -794880.001000,315.291997 -803520.000079,321.352428 -812159.999000,316.184598 -820799.999000,315.567204 -820800.001000,315.567204 -829439.999545,317.109270 -838079.999000,312.989676 -838080.001000,312.989676 -846720.001000,313.258236 -855359.999766,316.380019 -863999.999000,311.353374 -864000.001000,311.353374 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv deleted file mode 100644 index 4900f289..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,322.518585 -17280.000000,322.792572 -25920.000000,322.154022 -34560.000000,321.761475 -43200.000000,336.668579 -51840.000000,320.187531 -60480.000000,319.522980 -69120.000000,320.091187 -77760.000000,320.746399 -86400.000000,320.699738 -95040.000000,321.051880 -103680.000000,321.868225 -112320.000000,321.767273 -120960.000000,321.507996 -129600.000000,320.512543 -138240.000000,321.006134 -146880.000000,321.538940 -155520.000000,324.069183 -164160.000000,325.364746 -172800.000000,326.329529 -181440.000000,326.321228 -190080.000000,326.163849 -198720.000000,325.823944 -207360.000000,326.928375 -216000.000000,338.032654 -224640.000000,321.625092 -233280.000000,322.497589 -241920.000000,324.180573 -250560.000000,325.205170 -259200.000000,324.593933 -267840.000000,324.052246 -276480.000000,323.393402 -285120.000000,323.572968 -293760.000000,322.334351 -302400.000000,317.047211 -311040.000000,319.674164 -319680.000000,318.847565 -328320.000000,318.184296 -336960.000000,317.594269 -345600.000000,317.430664 -354240.000000,317.390381 -362880.000000,317.151886 -371520.000000,317.183289 -380160.000000,317.262909 -388800.000000,317.006531 -397440.000000,316.348541 -406080.000000,316.152222 -414720.000000,316.139343 -423360.000000,316.228699 -432000.000000,327.095062 -440640.000000,315.653595 -449280.000000,315.173828 -457920.000000,314.820770 -466560.000000,313.915070 -475200.000000,313.684723 -483840.000000,313.353760 -492480.000000,313.382721 -501120.000000,313.263672 -509760.000000,312.790192 -518400.000000,312.932373 -527040.000000,312.367310 -535680.000000,312.657318 -544320.000000,319.921753 -552960.000000,313.354553 -561600.000000,312.870209 -570240.000000,314.412567 -578880.000000,316.759399 -587520.000000,314.325745 -596160.000000,315.817719 -604800.000000,316.283386 -613440.000000,316.007355 -622080.000000,316.329376 -630720.000000,321.721924 -639360.000000,316.056458 -648000.000000,315.005676 -656640.000000,315.502472 -665280.000000,314.210602 -673920.000000,314.312164 -682560.000000,316.031647 -691200.000000,314.060913 -699840.000000,313.608276 -708480.000000,313.465149 -717120.000000,322.415466 -725760.000000,313.444427 -734400.000000,312.722748 -743040.000000,314.023163 -751680.000000,313.699158 -760320.000000,314.850250 -768960.000000,315.737518 -777600.000000,315.733948 -786240.000000,315.272339 -794880.000000,315.607605 -803520.000000,321.674103 -812160.000000,316.501099 -820800.000000,315.883087 -829440.000000,317.426697 -838080.000000,313.302979 -846720.000000,313.571808 -855360.000000,316.696716 -864000.000000,311.665039 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv deleted file mode 100644 index 4900f289..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,322.518585 -17280.000000,322.792572 -25920.000000,322.154022 -34560.000000,321.761475 -43200.000000,336.668579 -51840.000000,320.187531 -60480.000000,319.522980 -69120.000000,320.091187 -77760.000000,320.746399 -86400.000000,320.699738 -95040.000000,321.051880 -103680.000000,321.868225 -112320.000000,321.767273 -120960.000000,321.507996 -129600.000000,320.512543 -138240.000000,321.006134 -146880.000000,321.538940 -155520.000000,324.069183 -164160.000000,325.364746 -172800.000000,326.329529 -181440.000000,326.321228 -190080.000000,326.163849 -198720.000000,325.823944 -207360.000000,326.928375 -216000.000000,338.032654 -224640.000000,321.625092 -233280.000000,322.497589 -241920.000000,324.180573 -250560.000000,325.205170 -259200.000000,324.593933 -267840.000000,324.052246 -276480.000000,323.393402 -285120.000000,323.572968 -293760.000000,322.334351 -302400.000000,317.047211 -311040.000000,319.674164 -319680.000000,318.847565 -328320.000000,318.184296 -336960.000000,317.594269 -345600.000000,317.430664 -354240.000000,317.390381 -362880.000000,317.151886 -371520.000000,317.183289 -380160.000000,317.262909 -388800.000000,317.006531 -397440.000000,316.348541 -406080.000000,316.152222 -414720.000000,316.139343 -423360.000000,316.228699 -432000.000000,327.095062 -440640.000000,315.653595 -449280.000000,315.173828 -457920.000000,314.820770 -466560.000000,313.915070 -475200.000000,313.684723 -483840.000000,313.353760 -492480.000000,313.382721 -501120.000000,313.263672 -509760.000000,312.790192 -518400.000000,312.932373 -527040.000000,312.367310 -535680.000000,312.657318 -544320.000000,319.921753 -552960.000000,313.354553 -561600.000000,312.870209 -570240.000000,314.412567 -578880.000000,316.759399 -587520.000000,314.325745 -596160.000000,315.817719 -604800.000000,316.283386 -613440.000000,316.007355 -622080.000000,316.329376 -630720.000000,321.721924 -639360.000000,316.056458 -648000.000000,315.005676 -656640.000000,315.502472 -665280.000000,314.210602 -673920.000000,314.312164 -682560.000000,316.031647 -691200.000000,314.060913 -699840.000000,313.608276 -708480.000000,313.465149 -717120.000000,322.415466 -725760.000000,313.444427 -734400.000000,312.722748 -743040.000000,314.023163 -751680.000000,313.699158 -760320.000000,314.850250 -768960.000000,315.737518 -777600.000000,315.733948 -786240.000000,315.272339 -794880.000000,315.607605 -803520.000000,321.674103 -812160.000000,316.501099 -820800.000000,315.883087 -829440.000000,317.426697 -838080.000000,313.302979 -846720.000000,313.571808 -855360.000000,316.696716 -864000.000000,311.665039 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv deleted file mode 100644 index 23944fc9..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_hydraulic.generation.sigBusGen.TGenOutMea/upperBound.csv +++ /dev/null @@ -1,127 +0,0 @@ -x,y --0.001000,293.443144 -8639.999000,322.841104 -17279.999000,323.115365 -17280.001000,323.115365 -25920.001000,322.476176 -34559.999051,322.083236 -43199.999000,337.005248 -43200.001000,337.005248 -51840.001000,320.507718 -60480.000078,319.842503 -69119.999000,320.411278 -77759.999000,321.067145 -77760.001000,321.067145 -86399.999234,321.020437 -95039.999000,321.372932 -103679.999000,322.190093 -103680.001000,322.190093 -112320.001000,322.089040 -120960.001000,321.829504 -129600.000337,320.833055 -138239.999000,321.327140 -146879.999000,321.860479 -155519.999000,324.393253 -164159.999000,325.690111 -172799.999000,326.655858 -172800.001000,326.655858 -181440.001000,326.647549 -190080.001000,326.490013 -198719.999471,326.149768 -207359.999000,327.255304 -215999.999000,338.370686 -216000.001000,338.370686 -224640.000899,321.946717 -233279.999000,322.820087 -241919.999000,324.504753 -250559.999000,325.530375 -250560.001000,325.530375 -259200.001000,324.918527 -267840.001000,324.376298 -276480.000572,323.716796 -285119.999000,323.896540 -285120.001000,323.896540 -293760.001000,322.656685 -302400.000336,317.364258 -311039.999000,319.993838 -311040.001000,319.993838 -319680.001000,319.166412 -328320.001000,318.502480 -336960.001000,317.911863 -345600.001000,317.748095 -354240.001000,317.707771 -362880.000767,317.469038 -371519.999000,317.500472 -380159.999000,317.580172 -380160.001000,317.580172 -388800.001000,317.323537 -397440.001000,316.664890 -406080.001000,316.468374 -414719.999252,316.455483 -423359.999000,316.544927 -431999.999000,327.422157 -432000.001000,327.422157 -440640.001000,315.969249 -449280.001000,315.489002 -457920.001000,315.135591 -466560.001000,314.228985 -475200.001000,313.998408 -483840.000839,313.667114 -492479.999000,313.696104 -492480.001000,313.696104 -501120.001000,313.576936 -509760.000538,313.102982 -518399.999000,313.245305 -518400.001000,313.245305 -527040.000322,312.679677 -535679.999000,312.969975 -544319.999000,320.241675 -544320.001000,320.241675 -552960.001000,313.667908 -561599.999478,313.183079 -570239.999000,314.726980 -578879.999000,317.076159 -578880.001000,317.076159 -587520.000240,314.640071 -596159.999000,316.133536 -604799.999000,316.599670 -604800.001000,316.599670 -613439.999923,316.323362 -622079.999000,316.645706 -630719.999000,322.043646 -630720.001000,322.043646 -639360.001000,316.372514 -648000.000358,315.320682 -656639.999000,315.817974 -656640.001000,315.817974 -665280.000854,314.524812 -673919.999000,314.626476 -682559.999000,316.347678 -682560.001000,316.347678 -691200.001000,314.374974 -699840.001000,313.921885 -708479.999031,313.778614 -717119.999000,322.737882 -717120.001000,322.737882 -725760.001000,313.757872 -734399.999714,313.035471 -743039.999000,314.337186 -743040.001000,314.337186 -751679.999439,314.012857 -760319.999000,315.165100 -768959.999000,316.053256 -768960.001000,316.053256 -777600.001000,316.049682 -786240.000159,315.587611 -794879.999000,315.923213 -803519.999000,321.995777 -803520.001000,321.995777 -812160.001000,316.817600 -820799.999572,316.198970 -829439.999000,317.744123 -829440.001000,317.744123 -838080.000878,313.616282 -846719.999000,313.885380 -855359.999000,317.013413 -855360.001000,317.013413 -864000.001000,311.976704 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/lowerBound.csv deleted file mode 100644 index 316d8240..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/lowerBound.csv +++ /dev/null @@ -1,122 +0,0 @@ -x,y --0.001000,292.856844 -8639.999000,287.127014 -17279.999000,286.956531 -17280.001000,286.956531 -25920.001000,287.671452 -34560.001000,288.362929 -43200.001000,288.525334 -51840.001000,289.038980 -60479.999020,289.043248 -69119.999000,288.626612 -77759.999000,288.532834 -86399.999000,288.506371 -95039.999000,288.454726 -103679.999000,288.399575 -103680.001000,288.399575 -112320.000953,288.835448 -120959.999000,288.824900 -120960.001000,288.824900 -129599.999401,288.887673 -138239.999000,288.637465 -146879.999000,288.508688 -155519.999000,287.931080 -164159.999000,287.761328 -172799.999000,287.585692 -172800.001000,287.585692 -181439.999240,287.623588 -190079.999000,287.345393 -190080.001000,287.345393 -198720.001000,287.485573 -207360.001000,287.698067 -216000.001000,288.476829 -224639.999650,288.603320 -233279.999000,288.340338 -241919.999000,287.904861 -250559.999000,287.792150 -250560.001000,287.792150 -259200.001000,287.912727 -267840.001000,288.103210 -276480.001000,288.209579 -285120.001000,288.445732 -293760.001000,288.493597 -302400.001000,288.724140 -311040.001000,288.932031 -319680.000568,289.076906 -328319.999000,289.036998 -328320.001000,289.036998 -336960.001000,289.212969 -345600.001000,289.274706 -354240.001000,289.346991 -362880.001000,289.402020 -371520.000215,289.663355 -380159.999000,289.494578 -380160.001000,289.494578 -388800.001000,289.496621 -397440.001000,289.549181 -406079.999337,289.580125 -414719.999000,289.427507 -414720.001000,289.427507 -423360.001000,289.476439 -432000.001000,289.522596 -440640.001000,289.656617 -449280.001000,289.758993 -457920.001000,290.087460 -466560.001000,290.113100 -475200.000253,290.159044 -483839.999000,290.131667 -492479.999000,290.109533 -501119.999000,289.953561 -501120.001000,289.953561 -509760.001000,290.082796 -518400.001000,290.134075 -527040.000429,290.210415 -535679.999000,290.179928 -535680.001000,290.179928 -544320.000671,290.454524 -552959.999000,290.400532 -552960.001000,290.400532 -561600.001000,290.463701 -570239.999417,290.486810 -578879.999000,290.399130 -587519.999000,289.709756 -596159.999000,289.569851 -604799.999000,289.424458 -604800.001000,289.424458 -613440.000414,289.501347 -622079.999000,289.469488 -622080.001000,289.469488 -630720.001000,289.833259 -639360.001000,289.969140 -647999.999930,290.084015 -656639.999000,289.951945 -656640.001000,289.951945 -665279.999346,290.015175 -673919.999000,289.712927 -673920.001000,289.712927 -682560.001000,289.797772 -691200.001000,289.823961 -699840.001000,289.954323 -708480.001000,289.965116 -717120.001000,290.381203 -725759.999219,290.387362 -734399.999000,290.337363 -743039.999000,290.076576 -751679.999000,290.014932 -760319.999000,289.619179 -768959.999000,289.505615 -777599.999000,289.498267 -777600.001000,289.498267 -786240.000166,289.612380 -794879.999000,289.530797 -794880.001000,289.530797 -803520.000860,289.902495 -812159.999000,289.874600 -812160.001000,289.874600 -820800.001000,290.065601 -829440.000031,290.287791 -838079.999000,290.078771 -846719.999000,289.867069 -846720.001000,289.867069 -855360.001000,290.131667 -864000.001000,290.275200 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/reference.csv deleted file mode 100644 index 79d2affe..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,287.414429 -17280.000000,287.243774 -25920.000000,287.959412 -34560.000000,288.651581 -43200.000000,288.814148 -51840.000000,289.328308 -60480.000000,289.332581 -69120.000000,288.915527 -77760.000000,288.821655 -86400.000000,288.795166 -95040.000000,288.743469 -103680.000000,288.688263 -112320.000000,289.124573 -120960.000000,289.114014 -129600.000000,289.176849 -138240.000000,288.926392 -146880.000000,288.797485 -155520.000000,288.219299 -164160.000000,288.049377 -172800.000000,287.873566 -181440.000000,287.911499 -190080.000000,287.633026 -198720.000000,287.773346 -207360.000000,287.986053 -216000.000000,288.765594 -224640.000000,288.892212 -233280.000000,288.628967 -241920.000000,288.193054 -250560.000000,288.080231 -259200.000000,288.200928 -267840.000000,288.391602 -276480.000000,288.498077 -285120.000000,288.734467 -293760.000000,288.782379 -302400.000000,289.013153 -311040.000000,289.221252 -319680.000000,289.366272 -328320.000000,289.326324 -336960.000000,289.502472 -345600.000000,289.564270 -354240.000000,289.636627 -362880.000000,289.691711 -371520.000000,289.953308 -380160.000000,289.784363 -388800.000000,289.786407 -397440.000000,289.839020 -406080.000000,289.869995 -414720.000000,289.717224 -423360.000000,289.766205 -432000.000000,289.812408 -440640.000000,289.946564 -449280.000000,290.049042 -457920.000000,290.377838 -466560.000000,290.403503 -475200.000000,290.449493 -483840.000000,290.422089 -492480.000000,290.399933 -501120.000000,290.243805 -509760.000000,290.373169 -518400.000000,290.424500 -527040.000000,290.500916 -535680.000000,290.470398 -544320.000000,290.745270 -552960.000000,290.691223 -561600.000000,290.754456 -570240.000000,290.777588 -578880.000000,290.689819 -587520.000000,289.999756 -596160.000000,289.859711 -604800.000000,289.714172 -613440.000000,289.791138 -622080.000000,289.759247 -630720.000000,290.123383 -639360.000000,290.259399 -648000.000000,290.374390 -656640.000000,290.242188 -665280.000000,290.305481 -673920.000000,290.002930 -682560.000000,290.087860 -691200.000000,290.114075 -699840.000000,290.244568 -708480.000000,290.255371 -717120.000000,290.671875 -725760.000000,290.678040 -734400.000000,290.627991 -743040.000000,290.366943 -751680.000000,290.305237 -760320.000000,289.909088 -768960.000000,289.795410 -777600.000000,289.788055 -786240.000000,289.902283 -794880.000000,289.820618 -803520.000000,290.192688 -812160.000000,290.164764 -820800.000000,290.355957 -829440.000000,290.578369 -838080.000000,290.369141 -846720.000000,290.157227 -855360.000000,290.422089 -864000.000000,290.565765 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/test.csv deleted file mode 100644 index 79d2affe..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,293.149994 -8640.000000,287.414429 -17280.000000,287.243774 -25920.000000,287.959412 -34560.000000,288.651581 -43200.000000,288.814148 -51840.000000,289.328308 -60480.000000,289.332581 -69120.000000,288.915527 -77760.000000,288.821655 -86400.000000,288.795166 -95040.000000,288.743469 -103680.000000,288.688263 -112320.000000,289.124573 -120960.000000,289.114014 -129600.000000,289.176849 -138240.000000,288.926392 -146880.000000,288.797485 -155520.000000,288.219299 -164160.000000,288.049377 -172800.000000,287.873566 -181440.000000,287.911499 -190080.000000,287.633026 -198720.000000,287.773346 -207360.000000,287.986053 -216000.000000,288.765594 -224640.000000,288.892212 -233280.000000,288.628967 -241920.000000,288.193054 -250560.000000,288.080231 -259200.000000,288.200928 -267840.000000,288.391602 -276480.000000,288.498077 -285120.000000,288.734467 -293760.000000,288.782379 -302400.000000,289.013153 -311040.000000,289.221252 -319680.000000,289.366272 -328320.000000,289.326324 -336960.000000,289.502472 -345600.000000,289.564270 -354240.000000,289.636627 -362880.000000,289.691711 -371520.000000,289.953308 -380160.000000,289.784363 -388800.000000,289.786407 -397440.000000,289.839020 -406080.000000,289.869995 -414720.000000,289.717224 -423360.000000,289.766205 -432000.000000,289.812408 -440640.000000,289.946564 -449280.000000,290.049042 -457920.000000,290.377838 -466560.000000,290.403503 -475200.000000,290.449493 -483840.000000,290.422089 -492480.000000,290.399933 -501120.000000,290.243805 -509760.000000,290.373169 -518400.000000,290.424500 -527040.000000,290.500916 -535680.000000,290.470398 -544320.000000,290.745270 -552960.000000,290.691223 -561600.000000,290.754456 -570240.000000,290.777588 -578880.000000,290.689819 -587520.000000,289.999756 -596160.000000,289.859711 -604800.000000,289.714172 -613440.000000,289.791138 -622080.000000,289.759247 -630720.000000,290.123383 -639360.000000,290.259399 -648000.000000,290.374390 -656640.000000,290.242188 -665280.000000,290.305481 -673920.000000,290.002930 -682560.000000,290.087860 -691200.000000,290.114075 -699840.000000,290.244568 -708480.000000,290.255371 -717120.000000,290.671875 -725760.000000,290.678040 -734400.000000,290.627991 -743040.000000,290.366943 -751680.000000,290.305237 -760320.000000,289.909088 -768960.000000,289.795410 -777600.000000,289.788055 -786240.000000,289.902283 -794880.000000,289.820618 -803520.000000,290.192688 -812160.000000,290.164764 -820800.000000,290.355957 -829440.000000,290.578369 -838080.000000,290.369141 -846720.000000,290.157227 -855360.000000,290.422089 -864000.000000,290.565765 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/upperBound.csv deleted file mode 100644 index a454a6d1..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.TSup.T/upperBound.csv +++ /dev/null @@ -1,123 +0,0 @@ -x,y --0.001000,293.443144 -0.001000,293.443144 -8640.001000,287.701843 -17279.999385,287.531018 -25919.999000,288.247371 -34559.999000,288.940232 -43199.999000,289.102962 -51839.999000,289.617636 -60479.999000,289.621913 -60480.001000,289.621913 -69120.001000,289.204443 -77760.001000,289.110477 -86400.001000,289.083961 -95040.001000,289.032213 -103679.999225,288.976951 -112319.999000,289.413697 -112320.001000,289.413697 -120959.999288,289.403128 -129599.999000,289.466026 -129600.001000,289.466026 -138240.001000,289.215318 -146880.001000,289.086283 -155520.001000,288.507519 -164160.001000,288.337427 -172800.000645,288.161439 -181439.999000,288.199411 -181440.001000,288.199411 -190080.000330,287.920659 -198719.999000,288.061119 -207359.999000,288.274040 -215999.999000,289.054360 -224639.999000,289.181104 -224640.001000,289.181104 -233280.001000,288.917596 -241920.001000,288.481247 -250559.999966,288.368311 -259199.999000,288.489129 -267839.999000,288.679993 -276479.999000,288.786575 -285119.999000,289.023201 -293759.999000,289.071162 -302399.999000,289.302166 -311039.999000,289.510474 -319679.999000,289.655638 -319680.001000,289.655638 -328319.999370,289.615651 -336959.999000,289.791974 -345599.999000,289.853834 -354239.999000,289.926264 -362879.999000,289.981403 -371519.999000,290.243261 -371520.001000,290.243261 -380160.000976,290.074147 -388799.999000,290.076194 -397439.999000,290.128859 -406079.999000,290.159865 -406080.001000,290.159865 -414720.000514,290.006941 -423359.999000,290.055971 -431999.999000,290.102221 -440639.999000,290.236510 -449279.999000,290.339091 -457919.999000,290.668216 -466559.999000,290.693907 -475199.999000,290.739943 -475200.001000,290.739943 -483840.001000,290.712511 -492480.001000,290.690333 -501120.000094,290.534049 -509759.999000,290.663542 -518399.999000,290.714924 -527039.999000,290.791416 -527040.001000,290.791416 -535679.999200,290.760868 -544319.999000,291.036015 -544320.001000,291.036015 -552959.999922,290.981914 -561599.999000,291.045210 -570239.999000,291.068365 -570240.001000,291.068365 -578880.001000,290.980509 -587520.001000,290.289756 -596160.001000,290.149570 -604800.000308,290.003887 -613439.999000,290.080929 -613440.001000,290.080929 -622079.999161,290.049006 -630719.999000,290.413506 -639359.999000,290.549659 -647999.999000,290.664764 -648000.001000,290.664764 -656640.000352,290.532430 -665279.999000,290.595786 -665280.001000,290.595786 -673920.000562,290.292933 -682559.999000,290.377948 -691199.999000,290.404189 -699839.999000,290.534812 -708479.999000,290.545626 -717119.999000,290.962547 -725759.999000,290.968718 -725760.001000,290.968718 -734400.001000,290.918619 -743040.001000,290.657310 -751680.001000,290.595542 -760320.001000,290.198997 -768960.001000,290.085206 -777599.999121,290.077843 -786239.999000,290.192185 -786240.001000,290.192185 -794879.999360,290.110438 -803519.999000,290.482881 -803520.001000,290.482881 -812159.999255,290.454929 -820799.999000,290.646313 -829439.999000,290.868948 -829440.001000,290.868948 -838080.001000,290.659510 -846719.999889,290.447384 -855359.999000,290.712511 -863999.999000,290.856331 -864000.001000,290.856331 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/errors.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/errors.csv deleted file mode 100644 index 775a188b..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/errors.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,0.000000 -8640.000000,0.000000 -17280.000000,0.000000 -25920.000000,0.000000 -34560.000000,0.000000 -43200.000000,0.000000 -51840.000000,0.000000 -60480.000000,0.000000 -69120.000000,0.000000 -77760.000000,0.000000 -86400.000000,0.000000 -95040.000000,0.000000 -103680.000000,0.000000 -112320.000000,0.000000 -120960.000000,0.000000 -129600.000000,0.000000 -138240.000000,0.000000 -146880.000000,0.000000 -155520.000000,0.000000 -164160.000000,0.000000 -172800.000000,0.000000 -181440.000000,0.000000 -190080.000000,0.000000 -198720.000000,0.000000 -207360.000000,0.000000 -216000.000000,0.000000 -224640.000000,0.000000 -233280.000000,0.000000 -241920.000000,0.000000 -250560.000000,0.000000 -259200.000000,0.000000 -267840.000000,0.000000 -276480.000000,0.000000 -285120.000000,0.000000 -293760.000000,0.000000 -302400.000000,0.000000 -311040.000000,0.000000 -319680.000000,0.000000 -328320.000000,0.000000 -336960.000000,0.000000 -345600.000000,0.000000 -354240.000000,0.000000 -362880.000000,0.000000 -371520.000000,0.000000 -380160.000000,0.000000 -388800.000000,0.000000 -397440.000000,0.000000 -406080.000000,0.000000 -414720.000000,0.000000 -423360.000000,0.000000 -432000.000000,0.000000 -440640.000000,0.000000 -449280.000000,0.000000 -457920.000000,0.000000 -466560.000000,0.000000 -475200.000000,0.000000 -483840.000000,0.000000 -492480.000000,0.000000 -501120.000000,0.000000 -509760.000000,0.000000 -518400.000000,0.000000 -527040.000000,0.000000 -535680.000000,0.000000 -544320.000000,0.000000 -552960.000000,0.000000 -561600.000000,0.000000 -570240.000000,0.000000 -578880.000000,0.000000 -587520.000000,0.000000 -596160.000000,0.000000 -604800.000000,0.000000 -613440.000000,0.000000 -622080.000000,0.000000 -630720.000000,0.000000 -639360.000000,0.000000 -648000.000000,0.000000 -656640.000000,0.000000 -665280.000000,0.000000 -673920.000000,0.000000 -682560.000000,0.000000 -691200.000000,0.000000 -699840.000000,0.000000 -708480.000000,0.000000 -717120.000000,0.000000 -725760.000000,0.000000 -734400.000000,0.000000 -743040.000000,0.000000 -751680.000000,0.000000 -760320.000000,0.000000 -768960.000000,0.000000 -777600.000000,0.000000 -786240.000000,0.000000 -794880.000000,0.000000 -803520.000000,0.000000 -812160.000000,0.000000 -820800.000000,0.000000 -829440.000000,0.000000 -838080.000000,0.000000 -846720.000000,0.000000 -855360.000000,0.000000 -864000.000000,0.000000 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv deleted file mode 100644 index 7504ecf1..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/lowerBound.csv +++ /dev/null @@ -1,120 +0,0 @@ -x,y --0.001000,270.878844 -8639.999000,270.389161 -17279.999000,270.179562 -17280.001000,270.179562 -25920.001000,270.812504 -34560.001000,271.127252 -43200.001000,271.777938 -51840.001000,272.766298 -60479.999939,273.296437 -69119.999000,272.697031 -77759.999000,272.107229 -77760.001000,272.107229 -86399.999327,272.177562 -95039.999000,271.817906 -103679.999000,271.069845 -103680.001000,271.069845 -112320.001000,271.214202 -120960.001000,271.486299 -129600.000235,272.577156 -138239.999000,271.901106 -146879.999000,271.264627 -155519.999000,268.879198 -164159.999000,267.732976 -172799.999000,266.782938 -181439.999000,266.559376 -190079.999000,265.509707 -198719.999000,265.166819 -198720.001000,265.166819 -207360.001000,266.466147 -216000.001000,270.579156 -224639.999903,271.324412 -233279.999000,270.419312 -241919.999000,268.774414 -250559.999000,267.881844 -250560.001000,267.881844 -259200.001000,268.481250 -267840.001000,269.008402 -276480.000870,269.628752 -285119.999000,269.585735 -285120.001000,269.585735 -293760.001000,270.649490 -302400.001000,272.177562 -311040.001000,273.171745 -319680.001000,273.940050 -328320.001000,274.519487 -336960.001000,275.115417 -345600.001000,275.274438 -354240.001000,275.338400 -362880.001000,275.554157 -371519.999322,275.569034 -380159.999000,275.491475 -380160.001000,275.491475 -388800.001000,275.873844 -397440.001000,276.313406 -406080.000693,276.484286 -414719.999000,276.453281 -423359.999000,276.394136 -423360.001000,276.394136 -432000.001000,276.573156 -440640.001000,276.986347 -449280.001000,277.437617 -457920.001000,277.823888 -466560.001000,278.652983 -475200.000987,279.170562 -483839.999000,279.167178 -492479.999000,279.148490 -492480.001000,279.148490 -501120.001000,279.205439 -509760.001000,279.670062 -518400.001000,279.769938 -527040.000067,280.087643 -535679.999000,279.809906 -544319.999000,279.430281 -552959.999000,279.240530 -552960.001000,279.240530 -561600.001000,280.369344 -570240.001000,280.731866 -578879.999015,280.750981 -587519.999000,278.169672 -596159.999000,277.255517 -604799.999000,276.373344 -604800.001000,276.373344 -613439.999959,276.618978 -622079.999000,276.352582 -622080.001000,276.352582 -630720.001000,276.390295 -639360.001000,276.703275 -648000.001000,278.371344 -656640.001000,278.452958 -665279.999747,278.861362 -673919.999000,278.176196 -673920.001000,278.176196 -682560.001000,278.397502 -691200.001000,278.471250 -699840.001000,278.938769 -708480.001000,279.056937 -717120.000087,279.351168 -725759.999000,279.103887 -725760.001000,279.103887 -734399.999746,279.769938 -743039.999000,278.649630 -743040.001000,278.649630 -751679.999252,278.810906 -760319.999000,277.692031 -768959.999000,276.973482 -777599.999000,276.872844 -777600.001000,276.872844 -786240.000156,277.336400 -794879.999000,276.998176 -803519.999000,276.945586 -812159.999000,276.189537 -812160.001000,276.189537 -820800.001000,278.171562 -829440.000683,279.722317 -838079.999000,279.430281 -846719.999000,278.913892 -846720.001000,278.913892 -855360.001000,280.052858 -864000.001000,280.768938 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/reference.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/reference.csv deleted file mode 100644 index a297b82c..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/reference.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,271.149994 -8640.000000,270.659821 -17280.000000,270.450012 -25920.000000,271.083588 -34560.000000,271.398651 -43200.000000,272.049988 -51840.000000,273.039337 -60480.000000,273.570007 -69120.000000,272.970001 -77760.000000,272.379608 -86400.000000,272.450012 -95040.000000,272.089996 -103680.000000,271.341187 -112320.000000,271.485687 -120960.000000,271.758057 -129600.000000,272.850006 -138240.000000,272.173279 -146880.000000,271.536163 -155520.000000,269.148346 -164160.000000,268.000977 -172800.000000,267.049988 -181440.000000,266.826202 -190080.000000,265.775482 -198720.000000,265.432251 -207360.000000,266.732880 -216000.000000,270.850006 -224640.000000,271.596008 -233280.000000,270.690002 -241920.000000,269.043457 -250560.000000,268.149994 -259200.000000,268.750000 -267840.000000,269.277679 -276480.000000,269.898651 -285120.000000,269.855591 -293760.000000,270.920410 -302400.000000,272.450012 -311040.000000,273.445190 -319680.000000,274.214264 -328320.000000,274.794281 -336960.000000,275.390808 -345600.000000,275.549988 -354240.000000,275.614014 -362880.000000,275.829987 -371520.000000,275.844879 -380160.000000,275.767242 -388800.000000,276.149994 -397440.000000,276.589996 -406080.000000,276.761047 -414720.000000,276.730011 -423360.000000,276.670807 -432000.000000,276.850006 -440640.000000,277.263611 -449280.000000,277.715332 -457920.000000,278.101990 -466560.000000,278.931915 -475200.000000,279.450012 -483840.000000,279.446625 -492480.000000,279.427917 -501120.000000,279.484924 -509760.000000,279.950012 -518400.000000,280.049988 -527040.000000,280.368011 -535680.000000,280.089996 -544320.000000,279.709991 -552960.000000,279.520050 -561600.000000,280.649994 -570240.000000,281.012878 -578880.000000,281.032013 -587520.000000,278.448120 -596160.000000,277.533051 -604800.000000,276.649994 -613440.000000,276.895874 -622080.000000,276.629211 -630720.000000,276.666962 -639360.000000,276.980255 -648000.000000,278.649994 -656640.000000,278.731689 -665280.000000,279.140503 -673920.000000,278.454651 -682560.000000,278.676178 -691200.000000,278.750000 -699840.000000,279.217987 -708480.000000,279.336273 -717120.000000,279.630798 -725760.000000,279.383270 -734400.000000,280.049988 -743040.000000,278.928558 -751680.000000,279.089996 -760320.000000,277.970001 -768960.000000,277.250732 -777600.000000,277.149994 -786240.000000,277.614014 -794880.000000,277.275452 -803520.000000,277.222809 -812160.000000,276.466003 -820800.000000,278.450012 -829440.000000,280.002319 -838080.000000,279.709991 -846720.000000,279.193085 -855360.000000,280.333191 -864000.000000,281.049988 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/test.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/test.csv deleted file mode 100644 index a297b82c..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/test.csv +++ /dev/null @@ -1,102 +0,0 @@ -x,y -0.000000,271.149994 -8640.000000,270.659821 -17280.000000,270.450012 -25920.000000,271.083588 -34560.000000,271.398651 -43200.000000,272.049988 -51840.000000,273.039337 -60480.000000,273.570007 -69120.000000,272.970001 -77760.000000,272.379608 -86400.000000,272.450012 -95040.000000,272.089996 -103680.000000,271.341187 -112320.000000,271.485687 -120960.000000,271.758057 -129600.000000,272.850006 -138240.000000,272.173279 -146880.000000,271.536163 -155520.000000,269.148346 -164160.000000,268.000977 -172800.000000,267.049988 -181440.000000,266.826202 -190080.000000,265.775482 -198720.000000,265.432251 -207360.000000,266.732880 -216000.000000,270.850006 -224640.000000,271.596008 -233280.000000,270.690002 -241920.000000,269.043457 -250560.000000,268.149994 -259200.000000,268.750000 -267840.000000,269.277679 -276480.000000,269.898651 -285120.000000,269.855591 -293760.000000,270.920410 -302400.000000,272.450012 -311040.000000,273.445190 -319680.000000,274.214264 -328320.000000,274.794281 -336960.000000,275.390808 -345600.000000,275.549988 -354240.000000,275.614014 -362880.000000,275.829987 -371520.000000,275.844879 -380160.000000,275.767242 -388800.000000,276.149994 -397440.000000,276.589996 -406080.000000,276.761047 -414720.000000,276.730011 -423360.000000,276.670807 -432000.000000,276.850006 -440640.000000,277.263611 -449280.000000,277.715332 -457920.000000,278.101990 -466560.000000,278.931915 -475200.000000,279.450012 -483840.000000,279.446625 -492480.000000,279.427917 -501120.000000,279.484924 -509760.000000,279.950012 -518400.000000,280.049988 -527040.000000,280.368011 -535680.000000,280.089996 -544320.000000,279.709991 -552960.000000,279.520050 -561600.000000,280.649994 -570240.000000,281.012878 -578880.000000,281.032013 -587520.000000,278.448120 -596160.000000,277.533051 -604800.000000,276.649994 -613440.000000,276.895874 -622080.000000,276.629211 -630720.000000,276.666962 -639360.000000,276.980255 -648000.000000,278.649994 -656640.000000,278.731689 -665280.000000,279.140503 -673920.000000,278.454651 -682560.000000,278.676178 -691200.000000,278.750000 -699840.000000,279.217987 -708480.000000,279.336273 -717120.000000,279.630798 -725760.000000,279.383270 -734400.000000,280.049988 -743040.000000,278.928558 -751680.000000,279.089996 -760320.000000,277.970001 -768960.000000,277.250732 -777600.000000,277.149994 -786240.000000,277.614014 -794880.000000,277.275452 -803520.000000,277.222809 -812160.000000,276.466003 -820800.000000,278.450012 -829440.000000,280.002319 -838080.000000,279.709991 -846720.000000,279.193085 -855360.000000,280.333191 -864000.000000,281.049988 diff --git a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv b/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv deleted file mode 100644 index 36d32d7f..00000000 --- a/BESMod/funnel_comp/BESMod.Examples.ModelicaConferencePaper.TEASERBuilding.mat_ventilation.generation.weaBus.TDryBul/upperBound.csv +++ /dev/null @@ -1,121 +0,0 @@ -x,y --0.001000,271.421144 -0.001000,271.421144 -8640.001000,270.930480 -17279.999498,270.720462 -25919.999000,271.354671 -34559.999000,271.670050 -43199.999000,272.322038 -51839.999000,273.312376 -60479.999000,273.843577 -60480.001000,273.843577 -69120.001000,273.242971 -77760.000787,272.651988 -86399.999000,272.722462 -86400.001000,272.722462 -95040.001000,272.362086 -103680.000676,271.612528 -112319.999000,271.757173 -120959.999000,272.029815 -129599.999000,273.122856 -129600.001000,273.122856 -138240.001000,272.445452 -146880.001000,271.807699 -155520.001000,269.417494 -164160.001000,268.268978 -172800.001000,267.317038 -181440.001000,267.093029 -190080.001000,266.041258 -198719.999418,265.697683 -207359.999000,266.999613 -215999.999000,271.120856 -224639.999000,271.867604 -224640.001000,271.867604 -233280.001000,270.960692 -241920.001000,269.312500 -250560.000196,268.418144 -259199.999000,269.018750 -267839.999000,269.546957 -276479.999000,270.168550 -276480.001000,270.168550 -285119.999078,270.125446 -293759.999000,271.191331 -302399.999000,272.722462 -311039.999000,273.718636 -319679.999000,274.488478 -328319.999000,275.069075 -336959.999000,275.666199 -345599.999000,275.825538 -354239.999000,275.889628 -362879.999000,276.105817 -371519.999000,276.120724 -371520.001000,276.120724 -380159.999337,276.043010 -388799.999000,276.426144 -397439.999000,276.866586 -406079.999000,277.037808 -406080.001000,277.037808 -414720.001000,277.006741 -423359.999497,276.947478 -431999.999000,277.126856 -440639.999000,277.540874 -449279.999000,277.993047 -457919.999000,278.380092 -466559.999000,279.210847 -475199.999000,279.729462 -475200.001000,279.729462 -483840.001000,279.726071 -492479.999494,279.707345 -501119.999000,279.764409 -509759.999000,280.229962 -518399.999000,280.330038 -527039.999000,280.648379 -527040.001000,280.648379 -535680.001000,280.370086 -544320.001000,279.989701 -552959.999288,279.799570 -561599.999000,280.930644 -570239.999000,281.293891 -578879.999000,281.313045 -578880.001000,281.313045 -587520.001000,278.726568 -596160.001000,277.810584 -604800.000564,276.926644 -613439.999000,277.172770 -613440.001000,277.172770 -622080.000752,276.905841 -630719.999000,276.943629 -639359.999000,277.257235 -647999.999000,278.928644 -656639.999000,279.010421 -665279.999000,279.419643 -665280.001000,279.419643 -673920.000512,278.733106 -682559.999000,278.954854 -691199.999000,279.028750 -699839.999000,279.497205 -708479.999000,279.615609 -717119.999000,279.910429 -717120.001000,279.910429 -725759.999541,279.662654 -734399.999000,280.330038 -734400.001000,280.330038 -743040.000748,279.207487 -751679.999000,279.369086 -751680.001000,279.369086 -760320.001000,278.247971 -768960.001000,277.527983 -777599.999357,277.427144 -786239.999000,277.891628 -786240.001000,277.891628 -794880.001000,277.552727 -803520.001000,277.500032 -812159.999552,276.742470 -820799.999000,278.728462 -829439.999000,280.282322 -829440.001000,280.282322 -838080.001000,279.989701 -846719.999624,279.472278 -855359.999000,280.613524 -863999.999000,281.331038 -864000.001000,281.331038 diff --git a/ci-tests/config/templates_generator_config.toml b/ci-tests/config/templates_generator_config.toml index 316d678e..126f8355 100644 --- a/ci-tests/config/templates_generator_config.toml +++ b/ci-tests/config/templates_generator_config.toml @@ -61,7 +61,6 @@ structure_file = "deploy/create_CI_path.txt" main_yml_file = ".gitlab-ci.txt" local_templates_yml_file = "local_templates.gitlab-ci.txt" remote_templates_yml_file = "remote_templates.gitlab-ci.txt" -setting_file = "cleanupscript/ci_setting.txt" deploy_test_file = "deploy/deploy_ci_tests.txt" build_whitelist_file = "cleanupscript/ci_build_whitelist.txt" OM_check_file = "unit_tests/check_OM_model.txt" @@ -82,7 +81,6 @@ check = "ci_check" OM_check = "ci_om_check" regression_test = "ci_regression_test" html = "ci_html" -setting = "ci_setting" style = "ci_style_check" trigger_ibpsa = "ci_trigger_ibpsa" merge_except = "ci_merge_except" diff --git a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml index 56996b3b..38fa1caa 100644 --- a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml +++ b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml @@ -38,22 +38,16 @@ Check_HTML:PR: after_script: - !reference [.activate_python_and_install_requirements, script] - !reference [.github_ssh_auth, script] - - if cat ci-tests/Configfiles/exit.sh | grep "exit 1"; then - mkdir CorrectedVersion && cd CorrectedVersion; - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git; - cd $CI_PROJECT_NAME; - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --log-flag --correct-overwrite-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems ; - git checkout -B $Newbranch; - message="CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; - git add BESMod; - echo $message; - git commit -m "$message"; - git push git@github.com:$Github_Repository.git; - wait; - exit 1; - else + - if ! cat ci-tests/Configfiles/exit.sh | grep "exit 1"; then exit 0; fi + - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --log-flag --correct-overwrite-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems ; + - git checkout -B $Newbranch; + - git add BESMod; + - git commit -m "CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ."; + - git push git@github.com:$Github_Repository.git; + - exit 1; + artifacts: paths: - ci-tests/result/ @@ -94,15 +88,11 @@ html_whitelist_job: before_script: - !reference [.activate_python_and_install_requirements, script] - !reference [.github_ssh_auth, script] - script: - - mkdir whitelist && cd whitelist - - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - - cd $CI_PROJECT_NAME - - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --log-flag --whitelist-library IBPSA - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." - - git add ibpsa_whitelist.txt - - git commit -m "$message" - - git push git@github.com:$Github_Repository.git + - python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --log-flag --whitelist-library IBPSA + - message="CI message from ebc-aixlib-bot. Update or created new whitelist. Please pull the new whitelist before push again." + - files_to_push="ibpsa_whitelist.txt" + - !reference [.git_push, script] artifacts: paths: - ci-tests/result/ diff --git a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml index cbb0a1f2..f651daa3 100644 --- a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml @@ -110,21 +110,15 @@ check_whitelist_job: - !reference [.github_ssh_auth, script] script: - - mkdir whitelist && cd whitelist - - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - - cd $CI_PROJECT_NAME - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod after_script: - - cd whitelist && cd $CI_PROJECT_NAME - - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then - message="CI message from ebc-aixlib-bot. Update file whitelist-check_file. Please pull the new files before push again." ; - git add dymola_check_whitelist.txt ; - git commit -m "$message" ; - git push git@github.com:$Github_Repository.git; + - if ! cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then exit 0; - else - exit 0 ; fi + - message="CI message from ebc-aixlib-bot. Update file whitelist-check_file. Please pull the new files before push again." + - files_to_push="dymola_check_whitelist.txt" + - !reference [.git_push, script] + - cd whitelist && cd $CI_PROJECT_NAME artifacts: paths: - ci-tests/result/ diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index e399a04b..03d2c8b0 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -223,35 +223,26 @@ RegressionTest_Check_References: - !reference [.github_ssh_auth, script] - apt-get update -y && apt-get install xdg-utils --fix-missing -y script: - #- mkdir CorrectedVersion && cd CorrectedVersion - #- git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - #- cd $CI_PROJECT_NAME + # TODO: Remove custom version once merged to buildingspy - pip uninstall buildingspy -y && pip install git+https://github.com/FWuellhorst/BuildingsPy@issue558 - !reference [.custom_install_additional_modelica_libraries, script] - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod after_script: - source activate myenv - #- cd CorrectedVersion/$CI_PROJECT_NAME - - | - if cat ci-tests/Configfiles/exit.sh | grep "GENERATED_NEW_RESULTS"; then - # Get newly created files - push_model=$(git ls-files --others --exclude-standard --directory BESMod); - # Save them for google_charts templates - echo $push_model > ci_new_created_reference.txt; - message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/"; - pip install pandas mako matplot; - python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; - git switch $CI_COMMIT_BRANCH; - git add $push_model; - git commit -m "$message"; - git push git@github.com:$Github_Repository.git; - #mkdir -p ../ci-tests/result/; - #cp -r ci-tests/result/* ../ci-tests/result; - exit 1 ; - else - exit 0 ; - fi + - if ! cat ci-tests/Configfiles/exit.sh | grep "GENERATED_NEW_RESULTS"; then + exit 0; + fi + # Get newly created files + - files_to_push=$(git ls-files --others --exclude-standard --directory BESMod); + # Save them for google_charts templates + - echo $files_to_push > ci_new_created_reference.txt; + - message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/"; + - pip install pandas mako matplot; + - python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; + - !reference [.git_push, script] + - exit 1 ; + artifacts: when: on_failure paths: diff --git a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml index 0bd3b41a..fceccaec 100644 --- a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml @@ -109,21 +109,14 @@ simulate_whitelist_job: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - - mkdir whitelist && cd whitelist - - git clone --single-branch --branch $CI_COMMIT_REF_NAME git@github.com:$Github_Repository.git - - cd $CI_PROJECT_NAME - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod after_script: - - cd whitelist && cd $CI_PROJECT_NAME - - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then - message="CI message from ebc-aixlib-bot. Update file whitelist-simulate_file. Please pull the new files before push again." ; - git add dymola_simulate_whitelist.txt ; - git commit -m "$message" ; - git push git@github.com:$Github_Repository.git ; + - if ! cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then exit 0; - else - exit 0 ; fi + - message="CI message from ebc-aixlib-bot. Update file whitelist-simulate_file. Please pull the new files before push again." + - files_to_push="dymola_simulate_whitelist.txt" + - !reference [.git_push, script] artifacts: paths: - ci-tests/result/ diff --git a/ci-tests/scripts/utilities.yml b/ci-tests/scripts/utilities.yml index 15f0546a..0891e72d 100644 --- a/ci-tests/scripts/utilities.yml +++ b/ci-tests/scripts/utilities.yml @@ -52,3 +52,10 @@ .open_modelica_git_user_setting: script: - runuser -u openmodelicausers -- sh -c 'git config --global --add safe.directory "$(pwd)"' + +.git_push: + script: + - git switch $CI_COMMIT_BRANCH + - git add $files_to_push + - git commit -m "$message" + - git push git@github.com:$Github_Repository.git From c3e72b4291e7c6161a27b1dbfc6110f45afaf95e Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 19 Jun 2024 17:42:41 +0200 Subject: [PATCH 071/125] fix switch order --- ci-tests/scripts/utilities.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci-tests/scripts/utilities.yml b/ci-tests/scripts/utilities.yml index 0891e72d..13f9c877 100644 --- a/ci-tests/scripts/utilities.yml +++ b/ci-tests/scripts/utilities.yml @@ -55,7 +55,7 @@ .git_push: script: - - git switch $CI_COMMIT_BRANCH - git add $files_to_push + - git switch $CI_COMMIT_BRANCH - git commit -m "$message" - git push git@github.com:$Github_Repository.git From 24a423196f63af1712208617566af5b3c268b008 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 19 Jun 2024 18:02:04 +0200 Subject: [PATCH 072/125] old order --- ci-tests/scripts/utilities.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci-tests/scripts/utilities.yml b/ci-tests/scripts/utilities.yml index 13f9c877..0891e72d 100644 --- a/ci-tests/scripts/utilities.yml +++ b/ci-tests/scripts/utilities.yml @@ -55,7 +55,7 @@ .git_push: script: - - git add $files_to_push - git switch $CI_COMMIT_BRANCH + - git add $files_to_push - git commit -m "$message" - git push git@github.com:$Github_Repository.git From 24816e5e096d8ae9170d06dd71bc491876654f23 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 19 Jun 2024 20:56:07 +0200 Subject: [PATCH 073/125] try stash pop solution --- ci-tests/scripts/utilities.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci-tests/scripts/utilities.yml b/ci-tests/scripts/utilities.yml index 0891e72d..fbba34d3 100644 --- a/ci-tests/scripts/utilities.yml +++ b/ci-tests/scripts/utilities.yml @@ -55,7 +55,9 @@ .git_push: script: + - git stash --include-untracked - git switch $CI_COMMIT_BRANCH + - git stash pop - git add $files_to_push - git commit -m "$message" - git push git@github.com:$Github_Repository.git From 88cdef70d782b4715150eeafa7323ccf8ae5945f Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Thu, 20 Jun 2024 08:20:38 +0200 Subject: [PATCH 074/125] add git head as in examples and status --- ci-tests/scripts/utilities.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ci-tests/scripts/utilities.yml b/ci-tests/scripts/utilities.yml index fbba34d3..d625ae56 100644 --- a/ci-tests/scripts/utilities.yml +++ b/ci-tests/scripts/utilities.yml @@ -55,9 +55,8 @@ .git_push: script: - - git stash --include-untracked - - git switch $CI_COMMIT_BRANCH - - git stash pop + #- git switch $CI_COMMIT_BRANCH + - git status - git add $files_to_push - git commit -m "$message" - - git push git@github.com:$Github_Repository.git + - git push git@github.com:$Github_Repository.git "HEAD:$CI_COMMIT_REF_NAME" From fb5203b5326e43a01fbfd1b973d131380d6bb2a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Thu, 20 Jun 2024 06:28:58 +0000 Subject: [PATCH 075/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod/62-update-ci-templates/charts/ --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 +++++++++++++++++++ ...ModelicaConferencePaper_TEASERBuilding.txt | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt new file mode 100644 index 00000000..8dd62131 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-20 +statistics-initialization= +{ + "linear": "19, 0", + "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", + "number of continuous time states": "131", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt new file mode 100644 index 00000000..e313e55c --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-20 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "84", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From 9d5b82a01c00f3ecdd4af6de2e1ba56950c2e02e Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Thu, 20 Jun 2024 09:01:01 +0200 Subject: [PATCH 076/125] also plot results --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 ------------- ...ModelicaConferencePaper_TEASERBuilding.txt | 23 ------------- .../unit_tests/regression_test.gitlab-ci.yml | 33 +++++-------------- 3 files changed, 8 insertions(+), 71 deletions(-) delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt deleted file mode 100644 index 8dd62131..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-20 -statistics-initialization= -{ - "linear": "19, 0", - "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", - "number of continuous time states": "131", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt deleted file mode 100644 index e313e55c..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-20 -statistics-initialization= -{ - "linear": "0", - "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", - "number of continuous time states": "84", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 03d2c8b0..f5ae6bf4 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -15,7 +15,8 @@ # arg_chart: --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems # package_list: ['Examples', 'Tutorial', 'Utilities', 'Systems'] # modelicapyci_api_github_module: ModelicaPyCI.api_script.api_github -# {arg_create_plots} : --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems +# arg_create_plots : --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems +# api_github_create_ref_arg: --post-pr-comment-flag --show-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod # api_github_arg: --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod # PR_main_branch_rule : &{PR_main_branch_rule} # library: BESMod @@ -171,7 +172,6 @@ prepare_create_plots:Push: - !reference [.activate_python_and_install_requirements, script] - !reference [.custom_install_additional_modelica_libraries, script] - apt-get update -y && apt-get install zip unzip -y - - pip install pandas mako matplot toml requests script: - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod @@ -234,12 +234,13 @@ RegressionTest_Check_References: exit 0; fi # Get newly created files - - files_to_push=$(git ls-files --others --exclude-standard --directory BESMod); + - files_to_push=$(git ls-files --others --exclude-standard --directory BESMod) # Save them for google_charts templates - - echo $files_to_push > ci_new_created_reference.txt; - - message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/"; - - pip install pandas mako matplot; - - python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; + - echo $files_to_push > ci_new_created_reference.txt + - message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/" + - pip install pandas mako matplot + - python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems + - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --show-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod - !reference [.git_push, script] - exit 1 ; @@ -252,21 +253,3 @@ RegressionTest_Check_References: - !reference [.rules:PR , rules] - if: $CI_COMMIT_MESSAGE =~ /ci_reference_check/ && $CI_PIPELINE_SOURCE == "push" when: always - -plot_reference_results: - stage: plot_ref - before_script: - - !reference [.activate_python_and_install_requirements, script] - - apt-get update -y && apt-get install zip unzip -y - - pip install pandas mako matplot toml requests - - script: - - python -m ModelicaPyCI.converter.google_charts --line-html --show-ref --single-package BESMod --library BESMod - - python -m ModelicaPyCI.api_script.api_github --working-branch $CI_COMMIT_REF_NAME --github-repo $Github_Repository --gitlab-page $GITLAB_Page --github-token $GITHUB_API_TOKEN --post-pr-comment --show-plot - artifacts: - when: always - paths: - - ci-tests/result/ - rules: - - if: $CI_COMMIT_MESSAGE =~ /ci_show_ref/ - when: always From 0be90031dfa88c33bec2c2ff6466e0b88e757ea6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Thu, 20 Jun 2024 07:10:58 +0000 Subject: [PATCH 077/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod/62-update-ci-templates/charts/ --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 +++++++++++++++++++ ...ModelicaConferencePaper_TEASERBuilding.txt | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt new file mode 100644 index 00000000..8dd62131 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-20 +statistics-initialization= +{ + "linear": "19, 0", + "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", + "number of continuous time states": "131", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt new file mode 100644 index 00000000..e313e55c --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-20 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "84", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From c278930c6a7eb2c8bda4fe017c7b4ee147f72cd5 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Thu, 20 Jun 2024 09:26:34 +0200 Subject: [PATCH 078/125] trigger ci --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 ------------------- ...ModelicaConferencePaper_TEASERBuilding.txt | 23 ------------------- .../unit_tests/regression_test.gitlab-ci.yml | 1 - 3 files changed, 47 deletions(-) delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt deleted file mode 100644 index 8dd62131..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-20 -statistics-initialization= -{ - "linear": "19, 0", - "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", - "number of continuous time states": "131", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt deleted file mode 100644 index e313e55c..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-20 -statistics-initialization= -{ - "linear": "0", - "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", - "number of continuous time states": "84", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index f5ae6bf4..edb1603d 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -238,7 +238,6 @@ RegressionTest_Check_References: # Save them for google_charts templates - echo $files_to_push > ci_new_created_reference.txt - message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/" - - pip install pandas mako matplot - python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --show-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod - !reference [.git_push, script] From dd02afbaccabf59b4da096fee217f302f0959c7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Thu, 20 Jun 2024 07:30:57 +0000 Subject: [PATCH 079/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod/62-update-ci-templates/charts/ --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 +++++++++++++++++++ ...ModelicaConferencePaper_TEASERBuilding.txt | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt new file mode 100644 index 00000000..8dd62131 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-20 +statistics-initialization= +{ + "linear": "19, 0", + "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", + "number of continuous time states": "131", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt new file mode 100644 index 00000000..e313e55c --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-20 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "84", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From dcd51acb422b1a44185ede7823b73dba92994895 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Thu, 20 Jun 2024 10:05:43 +0200 Subject: [PATCH 080/125] use custom pages --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 ------------------- ...ModelicaConferencePaper_TEASERBuilding.txt | 23 ------------------- ci-tests/scripts/.gitlab-ci.yml | 1 + .../unit_tests/regression_test.gitlab-ci.yml | 2 +- 4 files changed, 2 insertions(+), 47 deletions(-) delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt deleted file mode 100644 index 8dd62131..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-20 -statistics-initialization= -{ - "linear": "19, 0", - "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", - "number of continuous time states": "131", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt deleted file mode 100644 index e313e55c..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-20 -statistics-initialization= -{ - "linear": "0", - "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", - "number of continuous time states": "84", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] diff --git a/ci-tests/scripts/.gitlab-ci.yml b/ci-tests/scripts/.gitlab-ci.yml index 085dd1de..195a0bfe 100644 --- a/ci-tests/scripts/.gitlab-ci.yml +++ b/ci-tests/scripts/.gitlab-ci.yml @@ -33,5 +33,6 @@ include: - 'ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml' - project: 'EBC/EBC_all/gitlab_ci/templates' file: 'pages/gl-pages.gitlab-ci.yml' + ref: AixLibCI - project: 'EBC/EBC_all/gitlab_ci/templates' file: 'pages/gh-pages.gitlab-ci.yml' diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index edb1603d..92c55780 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -229,10 +229,10 @@ RegressionTest_Check_References: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod after_script: - - source activate myenv - if ! cat ci-tests/Configfiles/exit.sh | grep "GENERATED_NEW_RESULTS"; then exit 0; fi + - !reference [.activate_python_and_install_requirements, script] # Get newly created files - files_to_push=$(git ls-files --others --exclude-standard --directory BESMod) # Save them for google_charts templates From 016d52373df8c37fd12d582b3f5e618474b4539d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Thu, 20 Jun 2024 08:12:18 +0000 Subject: [PATCH 081/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod/62-update-ci-templates/charts/ --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 +++++++++++++++++++ ...ModelicaConferencePaper_TEASERBuilding.txt | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt new file mode 100644 index 00000000..8dd62131 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-20 +statistics-initialization= +{ + "linear": "19, 0", + "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", + "number of continuous time states": "131", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt new file mode 100644 index 00000000..e313e55c --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-20 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "84", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From dfb9cbbc686a34bac37def78f552d42eb6a84afb Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Thu, 20 Jun 2024 10:17:45 +0200 Subject: [PATCH 082/125] trigger again --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 ------------------- ...ModelicaConferencePaper_TEASERBuilding.txt | 23 ------------------- 2 files changed, 46 deletions(-) delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt deleted file mode 100644 index 8dd62131..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-20 -statistics-initialization= -{ - "linear": "19, 0", - "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", - "number of continuous time states": "131", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt deleted file mode 100644 index e313e55c..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-20 -statistics-initialization= -{ - "linear": "0", - "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", - "number of continuous time states": "84", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From f3467438cb78c8f2b088ddbee3acfdd1c7ab987f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Thu, 20 Jun 2024 08:24:03 +0000 Subject: [PATCH 083/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod/62-update-ci-templates/charts/ --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 +++++++++++++++++++ ...ModelicaConferencePaper_TEASERBuilding.txt | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt new file mode 100644 index 00000000..8dd62131 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-20 +statistics-initialization= +{ + "linear": "19, 0", + "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", + "number of continuous time states": "131", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt new file mode 100644 index 00000000..e313e55c --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-20 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "84", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From 353e15552449c53ce23672566d85f3d6845bb590 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Thu, 20 Jun 2024 10:56:59 +0200 Subject: [PATCH 084/125] use correct folder --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 ------ ...ModelicaConferencePaper_TEASERBuilding.txt | 23 ------ .../unit_tests/regression_test.gitlab-ci.yml | 82 ++++--------------- 3 files changed, 16 insertions(+), 112 deletions(-) delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt deleted file mode 100644 index 8dd62131..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-20 -statistics-initialization= -{ - "linear": "19, 0", - "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", - "number of continuous time states": "131", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt deleted file mode 100644 index e313e55c..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-20 -statistics-initialization= -{ - "linear": "0", - "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", - "number of continuous time states": "84", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 92c55780..0a7cf84e 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -18,15 +18,15 @@ # arg_create_plots : --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems # api_github_create_ref_arg: --post-pr-comment-flag --show-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod # api_github_arg: --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod -# PR_main_branch_rule : &{PR_main_branch_rule} # library: BESMod -# ci_regression_test_commit : ci_regression_test # xvfb_flag: xvfb-run -n 77 # modelicapyci_structure_module: ModelicaPyCI.structure.config_structure # arg_ref: --create-ref --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod -# config_ci_new_create_ref_file: ci_new_created_reference.txt +# config_ci_new_create_ref_file: ci-tests/Configfiles/ci_new_created_reference.txt # bot_create_ref_commit: CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/ # ci_show_ref_commit: ci_show_ref +# arg_ref_check: --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod +# coverage_arg: --coverage-only --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod include: 'ci-tests/scripts/utilities.yml' @@ -47,13 +47,13 @@ stages: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod after_script: - - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then - source activate myenv ; - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; - exit 1 ; - else - exit 0 ; + - if ! cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then + exit 0; fi + - !reference [.activate_python_and_install_requirements, script] + - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems + - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod + - exit 1 artifacts: when: on_failure paths: @@ -70,18 +70,17 @@ stages: before_script: - !reference [.activate_python_and_install_requirements, script] - !reference [.custom_install_additional_modelica_libraries, script] - script: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --changed-flag --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod after_script: - - if cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then - source activate myenv ; - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems ; - exit 1 ; - else - exit 0 ; + - if ! cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then + exit 0; fi + - !reference [.activate_python_and_install_requirements, script] + - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems + - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod + - exit 1 artifacts: when: on_failure paths: @@ -166,55 +165,6 @@ Regression_overall_coverage:Push: rules: - !reference [.rules:push , rules] -prepare_create_plots:Push: - stage: prepare - before_script: - - !reference [.activate_python_and_install_requirements, script] - - !reference [.custom_install_additional_modelica_libraries, script] - - apt-get update -y && apt-get install zip unzip -y - script: - - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems - - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod - artifacts: - paths: - - ci-tests/result/ - rules: - - !reference [.rules:push , rules] - when: on_failure - needs: - - job: Regressiontest_BESMod_Examples:Push - artifacts: true - - job: Regressiontest_BESMod_Tutorial:Push - artifacts: true - - job: Regressiontest_BESMod_Utilities:Push - artifacts: true - - job: Regressiontest_BESMod_Systems:Push - artifacts: true - -prepare_create_plots:PR: - stage: prepare - before_script: - - !reference [.activate_python_and_install_requirements, script] - script: - - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems - - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod - artifacts: - paths: - - ci-tests/result/ - rules: - - !reference [.rules:PR , rules] - - if: $CI_COMMIT_MESSAGE =~ /ci_regression_test/ && $CI_PIPELINE_SOURCE == "push" - when: always - when: on_failure - needs: - - job: Regressiontest_BESMod_Examples:PR - artifacts: true - - job: Regressiontest_BESMod_Tutorial:PR - artifacts: true - - job: Regressiontest_BESMod_Utilities:PR - artifacts: true - - job: Regressiontest_BESMod_Systems:PR - artifacts: true RegressionTest_Check_References: stage: Ref_Check @@ -236,7 +186,7 @@ RegressionTest_Check_References: # Get newly created files - files_to_push=$(git ls-files --others --exclude-standard --directory BESMod) # Save them for google_charts templates - - echo $files_to_push > ci_new_created_reference.txt + - echo $files_to_push > ci-tests/Configfiles/ci_new_created_reference.txt - message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/" - python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --show-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod From 8d12d820b950ae6451d0e16ac9a16a7c3126943b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Thu, 20 Jun 2024 09:05:18 +0000 Subject: [PATCH 085/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod/62-update-ci-templates/charts/ --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 +++++++++++++++++++ ...ModelicaConferencePaper_TEASERBuilding.txt | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt new file mode 100644 index 00000000..8dd62131 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-20 +statistics-initialization= +{ + "linear": "19, 0", + "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", + "number of continuous time states": "131", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt new file mode 100644 index 00000000..e313e55c --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-20 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "84", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From 94bc5ba47c9e7079ece5ca50bd563247f3f5a32c Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Thu, 20 Jun 2024 12:07:43 +0200 Subject: [PATCH 086/125] trigger --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 ------------------- ...ModelicaConferencePaper_TEASERBuilding.txt | 23 ------------------- 2 files changed, 46 deletions(-) delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt deleted file mode 100644 index 8dd62131..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-20 -statistics-initialization= -{ - "linear": "19, 0", - "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", - "number of continuous time states": "131", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt deleted file mode 100644 index e313e55c..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-20 -statistics-initialization= -{ - "linear": "0", - "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", - "number of continuous time states": "84", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From bc57f3dc7f15013be9bd2dc954db26b20ec656b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Thu, 20 Jun 2024 10:17:08 +0000 Subject: [PATCH 087/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod/62-update-ci-templates/charts/ --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 +++++++++++++++++++ ...ModelicaConferencePaper_TEASERBuilding.txt | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt new file mode 100644 index 00000000..8dd62131 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-20 +statistics-initialization= +{ + "linear": "19, 0", + "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", + "number of continuous time states": "131", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt new file mode 100644 index 00000000..e313e55c --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-20 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "84", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From 87e437d9857bbd51c0f0b4e2103ae905fca50789 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Thu, 20 Jun 2024 12:27:53 +0200 Subject: [PATCH 088/125] try chart fix --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 ------------------- ...ModelicaConferencePaper_TEASERBuilding.txt | 23 ------------------- .../unit_tests/regression_test.gitlab-ci.yml | 9 ++++---- 3 files changed, 4 insertions(+), 51 deletions(-) delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt deleted file mode 100644 index 8dd62131..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-20 -statistics-initialization= -{ - "linear": "19, 0", - "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", - "number of continuous time states": "131", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt deleted file mode 100644 index e313e55c..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-20 -statistics-initialization= -{ - "linear": "0", - "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", - "number of continuous time states": "84", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 0a7cf84e..e02f1fc9 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -12,10 +12,9 @@ # expire_in_time : 7h # arg_PR: --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod # arg_push: --changed-flag --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod -# arg_chart: --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems +# arg_chart: --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems # package_list: ['Examples', 'Tutorial', 'Utilities', 'Systems'] # modelicapyci_api_github_module: ModelicaPyCI.api_script.api_github -# arg_create_plots : --create-layout-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems # api_github_create_ref_arg: --post-pr-comment-flag --show-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod # api_github_arg: --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod # library: BESMod @@ -51,7 +50,7 @@ stages: exit 0; fi - !reference [.activate_python_and_install_requirements, script] - - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems + - python -m ModelicaPyCI.converter.google_charts --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod - exit 1 artifacts: @@ -78,7 +77,7 @@ stages: exit 0; fi - !reference [.activate_python_and_install_requirements, script] - - python -m ModelicaPyCI.converter.google_charts --create-layout-flag --funnel-comp-flag --error-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems + - python -m ModelicaPyCI.converter.google_charts --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod - exit 1 artifacts: @@ -188,7 +187,7 @@ RegressionTest_Check_References: # Save them for google_charts templates - echo $files_to_push > ci-tests/Configfiles/ci_new_created_reference.txt - message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/" - - python -m ModelicaPyCI.converter.google_charts --new-ref-flag --line-html-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems + - python -m ModelicaPyCI.converter.google_charts --new-ref-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --show-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod - !reference [.git_push, script] - exit 1 ; From 33ea53f04624cf95069594f2acf7c411b904fe52 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Thu, 20 Jun 2024 14:24:35 +0200 Subject: [PATCH 089/125] trigger --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c0842960..36e235ad 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,5 @@ include: - 'ci-tests/scripts/.gitlab-ci.yml' + +# Test \ No newline at end of file From 83cd23efc58756831725feb0317569981097c4ac Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Thu, 20 Jun 2024 15:57:41 +0200 Subject: [PATCH 090/125] list all files --- .gitlab-ci.yml | 2 -- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 36e235ad..c0842960 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,3 @@ include: - 'ci-tests/scripts/.gitlab-ci.yml' - -# Test \ No newline at end of file diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index e02f1fc9..9794d76d 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -183,7 +183,7 @@ RegressionTest_Check_References: fi - !reference [.activate_python_and_install_requirements, script] # Get newly created files - - files_to_push=$(git ls-files --others --exclude-standard --directory BESMod) + - files_to_push=$(git ls-files --others --exclude-standard BESMod) # Save them for google_charts templates - echo $files_to_push > ci-tests/Configfiles/ci_new_created_reference.txt - message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/" From 3da30cd8ed9b564b2908759811de7d05b2a056aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Fri, 21 Jun 2024 05:15:09 +0000 Subject: [PATCH 091/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod/62-update-ci-templates/charts/ --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 +++++++++++++++++++ ...ModelicaConferencePaper_TEASERBuilding.txt | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt new file mode 100644 index 00000000..35990d2f --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-21 +statistics-initialization= +{ + "linear": "19, 0", + "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", + "number of continuous time states": "131", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt new file mode 100644 index 00000000..f1e7d669 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-21 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "84", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From afa21bd52d66ec3d3ff1c767fc12ee260bd127bc Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Fri, 21 Jun 2024 07:23:56 +0200 Subject: [PATCH 092/125] with pages --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 ------------------- ...ModelicaConferencePaper_TEASERBuilding.txt | 23 ------------------- ci-tests/scripts/.gitlab-ci.yml | 1 + 3 files changed, 1 insertion(+), 46 deletions(-) delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt deleted file mode 100644 index 35990d2f..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-21 -statistics-initialization= -{ - "linear": "19, 0", - "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", - "number of continuous time states": "131", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt deleted file mode 100644 index f1e7d669..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-21 -statistics-initialization= -{ - "linear": "0", - "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", - "number of continuous time states": "84", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] diff --git a/ci-tests/scripts/.gitlab-ci.yml b/ci-tests/scripts/.gitlab-ci.yml index 195a0bfe..e7364792 100644 --- a/ci-tests/scripts/.gitlab-ci.yml +++ b/ci-tests/scripts/.gitlab-ci.yml @@ -20,6 +20,7 @@ stages: variables: Github_Repository: RWTH-EBC/BESMod GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod + CREATE_PAGES_ON_FAILURE: true include: - 'ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml' From e97c9f9c44cd55eeb3abab4fbfd9a5f67c0a3354 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Fri, 21 Jun 2024 05:28:46 +0000 Subject: [PATCH 093/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod/62-update-ci-templates/charts/ --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 +++++++++++++++++++ ...ModelicaConferencePaper_TEASERBuilding.txt | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt new file mode 100644 index 00000000..35990d2f --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-21 +statistics-initialization= +{ + "linear": "19, 0", + "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", + "number of continuous time states": "131", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt new file mode 100644 index 00000000..f1e7d669 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-21 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "84", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From a780c559b8ebb0f529c19d5410a5c976a344d0b2 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Fri, 21 Jun 2024 11:15:04 +0200 Subject: [PATCH 094/125] rm files --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 ------------------- ...ModelicaConferencePaper_TEASERBuilding.txt | 23 ------------------- 2 files changed, 46 deletions(-) delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt deleted file mode 100644 index 35990d2f..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-21 -statistics-initialization= -{ - "linear": "19, 0", - "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", - "number of continuous time states": "131", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt deleted file mode 100644 index f1e7d669..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-21 -statistics-initialization= -{ - "linear": "0", - "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", - "number of continuous time states": "84", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From 67c569697a086281859efcb6a93915854386030e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Fri, 21 Jun 2024 09:19:57 +0000 Subject: [PATCH 095/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod/62-update-ci-templates/charts/ --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 +++++++++++++++++++ ...ModelicaConferencePaper_TEASERBuilding.txt | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt new file mode 100644 index 00000000..35990d2f --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-21 +statistics-initialization= +{ + "linear": "19, 0", + "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", + "number of continuous time states": "131", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt new file mode 100644 index 00000000..f1e7d669 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-21 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "84", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From e07084c3693c4ae1df62728e1366cc9bc35530d8 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Fri, 21 Jun 2024 14:55:09 +0200 Subject: [PATCH 096/125] rm files again --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 ------------------- ...ModelicaConferencePaper_TEASERBuilding.txt | 23 ------------------- 2 files changed, 46 deletions(-) delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt deleted file mode 100644 index 35990d2f..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-21 -statistics-initialization= -{ - "linear": "19, 0", - "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", - "number of continuous time states": "131", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt deleted file mode 100644 index f1e7d669..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-21 -statistics-initialization= -{ - "linear": "0", - "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", - "number of continuous time states": "84", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From 9c998087843bb378763ec978a5c1fe131b5e8063 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Fri, 21 Jun 2024 13:00:13 +0000 Subject: [PATCH 097/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod/62-update-ci-templates/charts/ --- ...caConferencePaper_BuildingsLibraryRoom.txt | 23 +++++++++++++++++++ ...ModelicaConferencePaper_TEASERBuilding.txt | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt new file mode 100644 index 00000000..35990d2f --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_BuildingsLibraryRoom.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-21 +statistics-initialization= +{ + "linear": "19, 0", + "nonlinear": "5, 14, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 1, 1, 0, 0, 1, 1, 1", + "number of continuous time states": "131", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[6.044802856445312e+02, 8.892757568359375e+02, 8.9664599609375e+02, 8.604776000976562e+02, 8.548848266601562e+02, 1.029414794921875e+03, 6.085785522460938e+02, 6.916784057617189e+02, 7.640795288085938e+02, 7.903673706054688e+02, 7.882152709960938e+02, 8.889323120117188e+02, 8.504589233398438e+02, 8.460120239257812e+02, 8.09960327148437e+02, 3.00488338470459e+01, 3.00488338470459e+01, 8.015423583984375e+02, 1.001890991210938e+03, 1.094816528320312e+03, 1.282255615234375e+03, 1.17831005859375e+03, 1.2337724609375e+03, 1.03974951171875e+03, 1.217335327148438e+03, 4.68498779296875e+02, 3.00488338470459e+01, 9.836677246093715e+02, 1.0020478515625e+03, 8.608239746093776e+02, 1.11985693359375e+03, 1.0072744140625e+03, 9.556023559570312e+02, 1.084446044921875e+03, 9.596390991210938e+02, 7.33722412109375e+02, 6.536064453125e+02, 6.611700439453125e+02, 6.535509643554688e+02, 8.901640625e+02, 6.624489135742188e+02, 6.026398315429688e+02, 5.917799072265625e+02, 1.131334228515625e+03, 6.211959228515625e+02, 5.191118774414062e+02, 4.865762329101562e+02, 5.1730078125e+02, 5.531453247070312e+02, 8.979608154296875e+02, 5.827833862304688e+02, 5.160011596679688e+02, 4.954766540527344e+02, 1.140913940429688e+03, 4.457770080566403e+02, 3.868813171386715e+02, 3.582957763671875e+02, 3.925029602050779e+02, 4.160882568359376e+02, 9.24319580078125e+02, 4.039059143066406e+02, 3.732694702148438e+02, 3.902551574707031e+02, 1.16145703125e+03, 3.994608764648438e+02, 3.00488338470459e+01, 3.537293701171875e+02, 3.00488338470459e+01, 4.760809936523438e+02, 9.0335107421875e+02, 5.801935424804688e+02, 5.310357666015625e+02, 5.418681030273438e+02, 1.134277954101562e+03, 4.972531127929688e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.613734436035156e+02, 4.750429382324219e+02, 9.1172216796875e+02, 4.833560791015625e+02, 4.169056091308594e+02, 4.212202758789062e+02, 1.15972802734375e+03, 4.257053527832031e+02, 3.637772521972656e+02, 3.824314880371094e+02, 3.824936218261719e+02, 4.865457458496094e+02, 9.016998901367188e+02, 5.747334594726562e+02, 5.00464599609375e+02, 5.290575561523438e+02, 1.137313232421875e+03, 5.63051025390625e+02, 3.00488338470459e+01, 3.00488338470459e+01, 3.00488338470459e+01, 4.090643310546875e+02, 9.27930908203125e+02, 3.530197143554688e+02] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 6.106711196899414e+01, 1.966503143310547e+02, 1.606682739257812e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.385809631347672e+02, 6.023507690429688e+02, 1.929048767089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.724502563476562e+01, 5.237630615234375e+02, 3.925466918945312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.034864044189453e+01, 1.458991088867188e+02, 1.536140747070312e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.488282012939453e+01, 1.819532165527344e+02, 1.381690826416016e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.560786437988357e+01, 1.03811111450196e+02, 1.586644439697252e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.00876350402832e+02, 2.906117553710938e+02, 1.937550354003906e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.009622650146484e+02, 5.782365112304688e+02, 1.11823616027832e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.448879241943359e+01, 2.345380401611328e+02, 2.187659454345703e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.192265472412109e+02, 6.185657958984375e+02, 3.130384521484375e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.321806030273438e+02, 3.310122680664062e+02, 3.279363708496094e+02, 3.242606506347656e+02, 3.332041625976562e+02, 3.317101745605469e+02, 3.302680358886719e+02, 3.286690063476562e+02, 3.201045227050781e+02, 3.182661437988281e+02, 3.325194396972656e+02, 3.313196411132812e+02, 3.274573364257812e+02, 3.235414123535156e+02, 3.326138305664062e+02, 3.311002807617188e+02, 3.295917358398438e+02, 3.278446044921875e+02, 3.185500183105469e+02, 3.275909423828125e+02, 3.265343322753906e+02, 3.255190734863281e+02, 3.209482116699219e+02, 3.315225830078125e+02, 3.298449401855469e+02, 3.281622619628906e+02, 3.263241271972656e+02, 3.24021728515625e+02, 3.102319335937507e+02, 3.275569763183594e+02, 3.264894714355469e+02, 3.25464111328125e+02, 3.201933898925781e+02, 3.316396484375e+02, 3.300067138671875e+02, 3.283538208007812e+02, 3.265401611328125e+02, 3.242584838867188e+02, 3.106763916015625e+02, 3.276027526855469e+02, 3.265543212890625e+02, 3.255464477539062e+02, 3.21307373046875e+02, 3.315316772460938e+02, 3.298998107910156e+02, 3.282470703125e+02, 3.264328918457031e+02, 3.241502685546875e+02, 3.105906982421875e+02, 3.276061401367188e+02, 3.265634765625e+02, 3.255608520507812e+02, 3.216166687011719e+02, 3.314943542480469e+02, 3.298493957519531e+02, 3.2818701171875e+02, 3.263640747070312e+02, 3.240731201171875e+02, 3.105991516113281e+02, 3.275090026855469e+02, 3.264685974121094e+02, 3.254681396484375e+02, 3.213499450683594e+02, 3.314685974121094e+02, 3.298152770996094e+02, 3.281468811035156e+02, 3.263180236816406e+02, 3.240207824707031e+02, 3.104618530273438e+02, 3.27525390625e+02, 3.264879150390625e+02, 3.254901733398438e+02, 3.216549987792969e+02, 3.315177307128906e+02, 3.298816223144531e+02, 3.282261657714844e+02, 3.264090576171875e+02, 3.241232604980469e+02, 3.1060400390625e+02, 3.275174865722656e+02, 3.264783935546875e+02, 3.254791259765625e+02, 3.21464599609375e+02, 3.314717102050781e+02, 3.298195495605469e+02, 3.281517333984375e+02, 3.263237915039062e+02, 3.24027587890625e+02, 3.104657592773438e+02, 3.275258178710938e+02, 3.264881286621094e+02, 3.254901733398438e+02, 3.216316223144531e+02, 3.315135192871094e+02, 3.298761596679688e+02, 3.282197265625e+02, 3.264019470214844e+02, 3.241152038574219e+02, 3.106575927734375e+02, 3.275050964355469e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.224053649902344e+02, 3.226419067382812e+02, 3.219933776855469e+02, 3.215923156738281e+02, 3.098993530273438e+02, 3.201977233886719e+02, 3.19386962890625e+02, 3.199786987304688e+02, 3.206245727539062e+02, 3.205617980957031e+02, 3.207919006347656e+02, 3.217290649414062e+02, 3.215717468261719e+02, 3.213417358398438e+02, 3.253443908691406e+02, 3.241617736816406e+02, 3.216560668945312e+02, 3.23933349609375e+02, 3.251889953613281e+02, 3.259115905761719e+02, 3.263574829101562e+02, 3.275064392089844e+02, 3.27634765625e+02, 3.26609619140625e+02, 3.228073425292969e+02, 3.259606628417969e+02, 3.221144714355469e+02, 3.240404663085938e+02, 3.245735778808594e+02, 3.242560424804688e+02, 3.238517456054688e+02, 3.232145690917969e+02, 3.231056823730469e+02, 3.220279235839844e+02, 3.206701965332031e+02, 3.196347351074219e+02, 3.187434387207031e+02, 3.18132080078125e+02, 3.172727355957031e+02, 3.172992248535156e+02, 3.173073120117188e+02, 3.170620727539062e+02, 3.169536743164062e+02, 3.171629943847656e+02, 3.168170776367188e+02, 3.163078918457031e+02, 3.160673217773438e+02, 3.160986938476562e+02, 3.159187316894531e+02, 3.159908752441406e+02, 3.15603759765625e+02, 3.151129760742188e+02, 3.146816101074219e+02, 3.138922424316406e+02, 3.133150939941406e+02, 3.134046020507812e+02, 3.133323974609375e+02, 3.132657775878906e+02, 3.126215209960938e+02, 3.127228088378906e+02, 3.123328857421875e+02, 3.126031799316406e+02, 3.129562072753906e+02, 3.133258972167969e+02, 3.170809326171875e+02, 3.122093200683594e+02, 3.12619873046875e+02, 3.142437438964844e+02, 3.150671691894531e+02, 3.162240295410156e+02, 3.159438781738281e+02, 3.162582397460938e+02, 3.161415405273438e+02, 3.160589294433594e+02, 3.1952587890625e+02, 3.185284118652344e+02, 3.140101318359375e+02, 3.142713623046875e+02, 3.139544067382812e+02, 3.140323181152344e+02, 3.135901184082031e+02, 3.134112548828125e+02, 3.130463256835938e+02, 3.133781433105469e+02, 3.139706420898438e+02, 3.169993286132812e+02, 3.170580444335938e+02, 3.148161010742188e+02, 3.153633728027344e+02, 3.156551513671875e+02, 3.152135925292969e+02, 3.155143127441406e+02, 3.1553515625e+02, 3.164063110351562e+02, 3.205731201171875e+02, 3.195676574707031e+02, 3.156025390625e+02, 3.13596435546875e+02, 3.123902282714844e+02, 3.117051696777344e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225759582519531e+02, 3.227876586914062e+02, 3.2213134765625e+02, 3.217643737792969e+02, 3.107992858886719e+02, 3.201800231933594e+02, 3.194795227050781e+02, 3.201288757324219e+02, 3.207632751464844e+02, 3.206962585449219e+02, 3.211070861816406e+02, 3.218797912597656e+02, 3.217146301269531e+02, 3.214692077636719e+02, 3.260723571777344e+02, 3.260723571777344e+02, 3.218011474609375e+02, 3.241205749511719e+02, 3.253845520019531e+02, 3.263778381347656e+02, 3.2658544921875e+02, 3.277009887695312e+02, 3.132234497070312e+02, 3.268699035644531e+02, 3.227413024902344e+02, 3.270084533691406e+02, 3.224407348632812e+02, 3.242205810546875e+02, 3.028873291015626e+02, 3.246400146484375e+02, 3.240556640625e+02, 3.233908386230469e+02, 3.136994018554688e+02, 3.223617248535156e+02, 3.207471618652344e+02, 3.196768188476562e+02, 3.1882373046875e+02, 3.182318420410156e+02, 3.041296997070312e+02, 3.174976501464844e+02, 3.173958129882812e+02, 3.171487426757812e+02, 3.1445947265625e+02, 3.172882690429688e+02, 3.168561096191406e+02, 3.163453369140625e+02, 3.161316528320312e+02, 3.161883239746094e+02, 3.043193359375e+02, 3.161391906738281e+02, 3.156653442382812e+02, 3.151726379394531e+02, 3.145960083007812e+02, 3.139449462890625e+02, 3.133541564941406e+02, 3.134439697265625e+02, 3.133565979003906e+02, 3.133114929199219e+02, 3.049167785644531e+02, 3.127775573730469e+02, 3.12376708984375e+02, 3.126622619628906e+02, 3.150436096191406e+02, 3.133445434570312e+02, 3.173323974609375e+02, 3.12376708984375e+02, 3.168272705078125e+02, 3.143568725585938e+02, 3.044533996582031e+02, 3.163526306152344e+02, 3.160158081054688e+02, 3.163199157714844e+02, 3.144807739257812e+02, 3.161004943847656e+02, 3.205648193359375e+02, 3.205648193359375e+02, 3.13970458984375e+02, 3.143634338378906e+02, 3.046355895996094e+02, 3.141381530761719e+02, 3.136188049316406e+02, 3.134650268554688e+02, 3.149864501953125e+02, 3.134428405761719e+02, 3.140589599609375e+02, 3.170427856445312e+02, 3.170086975097656e+02, 3.148763122558594e+02, 3.044146423339844e+02, 3.158131713867188e+02, 3.152802734375e+02, 3.156107177734375e+02, 3.145460815429688e+02, 3.165470886230469e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.216121826171875e+02, 3.136240539550781e+02, 3.049919128417969e+02, 3.117299194335938e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.886919860839844e+02, 2.885331420898438e+02, 2.886723022460938e+02, 2.887674865722656e+02, 2.879842224121094e+02, 2.892481689453125e+02, 2.890648498535156e+02, 2.89038330078125e+02, 2.889390869140625e+02, 2.88949462890625e+02, 2.890860900878906e+02, 2.888308410644531e+02, 2.8875390625e+02, 2.889328918457031e+02, 2.924093017578125e+02, 2.889698181152344e+02, 2.885530700683594e+02, 2.881749877929688e+02, 2.880255432128906e+02, 2.880359802246094e+02, 2.879170532226562e+02, 2.875986022949219e+02, 2.875167541503906e+02, 2.880133361816406e+02, 2.892759399414062e+02, 2.888121643066406e+02, 2.882782592773438e+02, 2.881368103027344e+02, 2.880617370605469e+02, 2.8832080078125e+02, 2.884261779785156e+02, 2.88447265625e+02, 2.884278259277344e+02, 2.888371887207031e+02, 2.891725769042969e+02, 2.892035217285156e+02, 2.892351379394531e+02, 2.894059753417969e+02, 2.895741882324219e+02, 2.898015441894531e+02, 2.897077331542969e+02, 2.896551513671875e+02, 2.896522216796875e+02, 2.898323364257812e+02, 2.898901977539062e+02, 2.898068542480469e+02, 2.897574768066406e+02, 2.897823791503906e+02, 2.8981640625e+02, 2.900751953125e+02, 2.900307006835938e+02, 2.900402221679688e+02, 2.901175842285156e+02, 2.904423217773438e+02, 2.904798583984375e+02, 2.904467468261719e+02, 2.902757568359375e+02, 2.903625183105469e+02, 2.904992065429688e+02, 2.906785888671875e+02, 2.906213073730469e+02, 2.905133361816406e+02, 2.904319458007812e+02, 2.905270690917969e+02, 2.908671875e+02, 2.906716613769531e+02, 2.905988464355469e+02, 2.900947875976562e+02, 2.89955810546875e+02, 2.90022705078125e+02, 2.899271240234375e+02, 2.898029174804688e+02, 2.898164978027344e+02, 2.903479309082031e+02, 2.913412780761719e+02, 2.899939270019531e+02, 2.90188720703125e+02, 2.901069946289062e+02, 2.902117614746094e+02, 2.904351501464844e+02, 2.904187316894531e+02, 2.903683776855469e+02, 2.904247131347656e+02, 2.904893188476562e+02, 2.906635131835938e+02, 2.902710571289062e+02, 2.902173461914062e+02, 2.899382019042969e+02, 2.899350280761719e+02, 2.901222229003906e+02, 2.900977783203125e+02, 2.899378967285156e+02, 2.899287719726562e+02, 2.901876525878906e+02, 2.918366088867188e+02, 2.915637512207031e+02, 2.902304382324219e+02, 2.902295837402344e+02, 2.905532836914062e+02, 2.908665161132812e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.9326025390625e+02, 2.931221313476562e+02, 2.931365966796875e+02, 2.931763610839844e+02, 2.92018798828125e+02, 2.93359375e+02, 2.929951171875e+02, 2.931140747070312e+02, 2.931375732421875e+02, 2.931324157714844e+02, 2.9339599609375e+02, 2.932664794921875e+02, 2.931342163085938e+02, 2.932913818359375e+02, 2.973800354003906e+02, 2.932247924804688e+02, 2.928753051757812e+02, 2.930089416503906e+02, 2.93114013671875e+02, 2.933707885742188e+02, 2.932774047851562e+02, 2.931463928222656e+02, 2.931317443847656e+02, 2.934248962402344e+02, 2.939557800292969e+02, 2.93184814453125e+02, 2.927506713867188e+02, 2.929893798828125e+02, 2.931224975585938e+02, 2.932958374023438e+02, 2.9329248046875e+02, 2.931615295410156e+02, 2.931460266113281e+02, 2.933856506347656e+02, 2.93412841796875e+02, 2.931969604492188e+02, 2.930396423339844e+02, 2.931055908203125e+02, 2.931637573242188e+02, 2.934087219238281e+02, 2.932742004394531e+02, 2.931538391113281e+02, 2.931466979980469e+02, 2.933932495117188e+02, 2.933682861328125e+02, 2.931515197753906e+02, 2.930454711914062e+02, 2.930845031738281e+02, 2.931414184570312e+02, 2.934197692871094e+02, 2.932585754394531e+02, 2.931553039550781e+02, 2.931534423828125e+02, 2.933494567871094e+02, 2.932645874023438e+02, 2.932228698730469e+02, 2.930140380859375e+02, 2.931083679199219e+02, 2.931609802246094e+02, 2.933597106933594e+02, 2.932075500488281e+02, 2.931427612304688e+02, 2.931375427246094e+02, 2.933058166503906e+02, 2.934443054199219e+02, 2.931099853515625e+02, 2.930100708007812e+02, 2.930355834960938e+02, 2.930953063964844e+02, 2.934045104980469e+02, 2.932223815917969e+02, 2.931347045898438e+02, 2.931433715820312e+02, 2.937330627441406e+02, 2.94553466796875e+02, 2.928429870605469e+02, 2.929825134277344e+02, 2.930527648925781e+02, 2.931273803710938e+02, 2.933883056640625e+02, 2.932481079101562e+02, 2.931537170410156e+02, 2.931495056152344e+02, 2.932940673828125e+02, 2.9334423828125e+02, 2.931384582519531e+02, 2.930275573730469e+02, 2.929635620117188e+02, 2.931426696777344e+02, 2.934022216796875e+02, 2.932527465820312e+02, 2.93138671875e+02, 2.931412353515625e+02, 2.936605224609375e+02, 2.952243041992188e+02, 2.944835510253906e+02, 2.928892517089844e+02, 2.93019775390625e+02, 2.931343078613281e+02, 2.933429260253906e+02] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt new file mode 100644 index 00000000..f1e7d669 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt @@ -0,0 +1,23 @@ +last-generated=2024-06-21 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "84", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From 30a4ec15c5f2e044d62d2a5f3d12c4b639ef70fb Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Fri, 21 Jun 2024 15:52:30 +0200 Subject: [PATCH 098/125] no gh pages --- ci-tests/scripts/.gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci-tests/scripts/.gitlab-ci.yml b/ci-tests/scripts/.gitlab-ci.yml index e7364792..61cb2c92 100644 --- a/ci-tests/scripts/.gitlab-ci.yml +++ b/ci-tests/scripts/.gitlab-ci.yml @@ -35,5 +35,5 @@ include: - project: 'EBC/EBC_all/gitlab_ci/templates' file: 'pages/gl-pages.gitlab-ci.yml' ref: AixLibCI - - project: 'EBC/EBC_all/gitlab_ci/templates' - file: 'pages/gh-pages.gitlab-ci.yml' + #- project: 'EBC/EBC_all/gitlab_ci/templates' + # file: 'pages/gh-pages.gitlab-ci.yml' From 5d2d5b199c556b968fa231d927d55ad4f57f76db Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Tue, 25 Jun 2024 16:10:45 +0200 Subject: [PATCH 099/125] update script with latest changes --- .../config/templates_generator_config.toml | 16 +-------------- ci-tests/scripts/.gitlab-ci.yml | 8 +++----- .../ci_pr_interact_comment_file.gitlab-ci.yml | 20 +++++++++++++++++++ .../deploy/prepare_pages.gitlab-ci.yml | 2 ++ ci-tests/scripts/local_windows_test.bat | 18 ++++++++--------- .../syntax_tests/html_check.gitlab-ci.yml | 2 +- .../naming_guideline.gitlab-ci.yml | 4 ++-- .../unit_tests/check_model.gitlab-ci.yml | 8 ++++---- .../unit_tests/regression_test.gitlab-ci.yml | 10 +++++----- .../unit_tests/simulate_model.gitlab-ci.yml | 8 ++++---- ci-tests/scripts/utilities.yml | 2 +- 11 files changed, 52 insertions(+), 46 deletions(-) create mode 100644 ci-tests/scripts/deploy/ci_pr_interact_comment_file.gitlab-ci.yml diff --git a/ci-tests/config/templates_generator_config.toml b/ci-tests/config/templates_generator_config.toml index 126f8355..fcdb8245 100644 --- a/ci-tests/config/templates_generator_config.toml +++ b/ci-tests/config/templates_generator_config.toml @@ -1,6 +1,6 @@ dymola_image = "registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda" open_modelica_image = "registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main" -gitlab_page = "https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod" +page = "https://rwth-ebc.github.io/BESMod/main/docs" github_repository = "RWTH-EBC/BESMod" stage_list = [ "html", "style", "check", "simulate", "regression",] library = "BESMod" @@ -30,20 +30,6 @@ BESMod = [ "Examples", "Tutorial", "Utilities", "Systems"] [modelica_py_ci] url = "https://github.com/RWTH-EBC/ModelicaPyCI.git" -OM_python_check_model_module = "ModelicaPyCI.unittest.om_check" -test_validate_module = "ModelicaPyCI.unittest.checkpackages.validatetest" -test_reference_module = "ModelicaPyCI.unittest.reference_check" -google_chart_module = "ModelicaPyCI.converter.google_charts" -api_github_module = "ModelicaPyCI.api_script.api_github" -html_tidy_module = "ModelicaPyCI.syntax.html_tidy" -syntax_test_module = "ModelicaPyCI.syntax.style_checking" -naming_guideline_module = "ModelicaPyCI.syntax.naming_guideline" -configuration_module = "ModelicaPyCI.config" -library_merge_module = "ModelicaPyCI.deploy.ibpsa_merge" -lock_model_module = "ModelicaPyCI.converter.lock_model" -config_structure_module = "ModelicaPyCI.structure.config_structure" -create_whitelist_module = "ModelicaPyCI.structure.create_whitelist" -om_badge_module = "ModelicaPyCI.deploy.create_om_badge" [template_files] base = "D:\\04_git\\MoCITempGen\\templates\\ci_templates" diff --git a/ci-tests/scripts/.gitlab-ci.yml b/ci-tests/scripts/.gitlab-ci.yml index 61cb2c92..3e788b19 100644 --- a/ci-tests/scripts/.gitlab-ci.yml +++ b/ci-tests/scripts/.gitlab-ci.yml @@ -1,5 +1,6 @@ # You can adjust the sequence of the stages to your needs: stages: + - post_initial_pr_comment - Ref_Check - open_PR - create_html_whitelist @@ -19,10 +20,10 @@ stages: variables: Github_Repository: RWTH-EBC/BESMod - GITLAB_Page: https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod CREATE_PAGES_ON_FAILURE: true include: + - 'ci-tests/scripts/deploy/ci_pr_interact_comment_file.gitlab-ci.yml' - 'ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml' - 'ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml' - 'ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml' @@ -33,7 +34,4 @@ include: - 'ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml' - 'ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml' - project: 'EBC/EBC_all/gitlab_ci/templates' - file: 'pages/gl-pages.gitlab-ci.yml' - ref: AixLibCI - #- project: 'EBC/EBC_all/gitlab_ci/templates' - # file: 'pages/gh-pages.gitlab-ci.yml' + file: 'pages/gh-pages.gitlab-ci.yml' \ No newline at end of file diff --git a/ci-tests/scripts/deploy/ci_pr_interact_comment_file.gitlab-ci.yml b/ci-tests/scripts/deploy/ci_pr_interact_comment_file.gitlab-ci.yml new file mode 100644 index 00000000..965d5c88 --- /dev/null +++ b/ci-tests/scripts/deploy/ci_pr_interact_comment_file.gitlab-ci.yml @@ -0,0 +1,20 @@ +# Variables +# ci_stage_post_pr : post_initial_pr_comment +# modelicapyci_api_github_module: ModelicaPyCI.api_script.api_github +# arg: --post-initial-pr-comment --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_BRANCH --library BESMod --github-repository RWTH-EBC/BESMod + +include: 'ci-tests/scripts/utilities.yml' + +stages: + - post_initial_pr_comment + +post_ci_comment: + stage: post_initial_pr_comment + before_script: + - !reference [.github_ssh_auth, script] + - !reference [.activate_python_and_install_requirements, script] + script: + - python -m ModelicaPyCI.api_script.api_github --post-initial-pr-comment --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_BRANCH --library BESMod --github-repository RWTH-EBC/BESMod + rules: + - if: $CI_PIPELINE_SOURCE == "external_pull_request_event" + when: always diff --git a/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml b/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml index 672c9154..17fe6101 100644 --- a/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml +++ b/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml @@ -3,6 +3,7 @@ # result_dir : ci-tests/result # expire_in_time : 7h + stages: - prepare_pages prepare_pages: @@ -10,6 +11,7 @@ prepare_pages: script: - mkdir -p $CI_COMMIT_REF_NAME - if [ ! -d "ci-tests/result" ]; then echo "No results in this pipeline, no pages to publish" && exit 0; fi + - python -m ModelicaPyCI.deploy.create_central_index_html - cp -r ci-tests/result/* $CI_COMMIT_REF_NAME artifacts: paths: diff --git a/ci-tests/scripts/local_windows_test.bat b/ci-tests/scripts/local_windows_test.bat index 4461d053..94749093 100644 --- a/ci-tests/scripts/local_windows_test.bat +++ b/ci-tests/scripts/local_windows_test.bat @@ -10,21 +10,21 @@ python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view- python -m ModelicaPyCI.syntax.style_checking --startup-mos startup.mos --dymola-version 2022 --library BESMod python -m ModelicaPyCI.syntax.style_checking --changed-flag --startup-mos startup.mos --dymola-version 2022 --library BESMod -python -m ModelicaPyCI.syntax.naming_guideline --changed-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --working-branch $CI_COMMIT_BRANCH --github-repository RWTH-EBC/BESMod --main-branch main --config ci-tests/naming_guideline.toml --library BESMod +python -m ModelicaPyCI.syntax.naming_guideline --changed-flag --main-branch main --config ci-tests/naming_guideline.toml --library BESMod :: Check & Simulate BESMod Examples on PR -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples +python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples :: Check & Simulate BESMod Examples on push -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples +python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples :: Check & Simulate BESMod Tutorial on PR -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial +python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial :: Check & Simulate BESMod Tutorial on push -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial +python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial :: Check & Simulate BESMod Utilities on PR -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities +python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities :: Check & Simulate BESMod Utilities on push -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities +python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities :: Check & Simulate BESMod Systems on PR -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Systems +python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Systems :: Check & Simulate BESMod Systems on push -python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Systems +python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Systems diff --git a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml index 38fa1caa..19d1d486 100644 --- a/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml +++ b/ci-tests/scripts/syntax_tests/html_check.gitlab-ci.yml @@ -77,7 +77,7 @@ Open_Pull_HTML_Request: - !reference [.github_ssh_auth, script] - !reference [.activate_python_and_install_requirements, script] script: - - python -m ModelicaPyCI.api_script.api_github --correct-html-flag --create-pr-flag --github-token $GITHUB_API_TOKEN --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod + - python -m ModelicaPyCI.api_script.api_github --correct-html-flag --create-pr-flag --github-token $GITHUB_API_TOKEN --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod rules: - if: $CI_COMMIT_MESSAGE =~ /CI message from ebc-aixlib-bot. Push new files with corrected html Syntax ./ && $CI_COMMIT_BRANCH =~ /^correct_HTML_.*$/ && $CI_PIPELINE_SOURCE == "push" when: on_success diff --git a/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml index a7084e58..9f618b3a 100644 --- a/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml +++ b/ci-tests/scripts/syntax_tests/naming_guideline.gitlab-ci.yml @@ -5,7 +5,7 @@ # library : BESMod # ci_naming_guideline : ci_check_naming # result_dir : ci-tests/result -# arg : --changed-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --working-branch $CI_COMMIT_BRANCH --github-repository RWTH-EBC/BESMod --main-branch main --config ci-tests/naming_guideline.toml --library BESMod +# arg : --changed-flag --main-branch main --config ci-tests/naming_guideline.toml --library BESMod include: 'ci-tests/scripts/utilities.yml' stages: @@ -18,7 +18,7 @@ NamingGuideline:BESMod:PR: before_script: - !reference [.activate_python_and_install_requirements, script] script: - - python -m ModelicaPyCI.syntax.naming_guideline --changed-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --working-branch $CI_COMMIT_BRANCH --github-repository RWTH-EBC/BESMod --main-branch main --config ci-tests/naming_guideline.toml --library BESMod + - python -m ModelicaPyCI.syntax.naming_guideline --changed-flag --main-branch main --config ci-tests/naming_guideline.toml --library BESMod artifacts: paths: - ci-tests/result/ diff --git a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml index f651daa3..0dd7d73b 100644 --- a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml @@ -5,7 +5,7 @@ # library: BESMod # ci_check_commit: ci_check # xvfb_flag: xvfb-run -n 77 -# modelicapyci_test_validate_module: ModelicaPyCI.unittest.checkpackages.validatetest +# modelicapyci_test_validate_module: ModelicaPyCI.unittest.validatetest # result_dir: ci-tests/result # expire_in_time: 7h # ci_create_model_whitelist_commit: ci_create_model_whitelist @@ -32,7 +32,7 @@ stages: - !reference [.activate_python_and_install_requirements, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod artifacts: when: on_failure paths: @@ -50,7 +50,7 @@ stages: - !reference [.activate_python_and_install_requirements, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod artifacts: when: on_failure paths: @@ -110,7 +110,7 @@ check_whitelist_job: - !reference [.github_ssh_auth, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_CHECK --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_CHECK --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod after_script: - if ! cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then exit 0; diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 9794d76d..155f8a08 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -15,8 +15,8 @@ # arg_chart: --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems # package_list: ['Examples', 'Tutorial', 'Utilities', 'Systems'] # modelicapyci_api_github_module: ModelicaPyCI.api_script.api_github -# api_github_create_ref_arg: --post-pr-comment-flag --show-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod -# api_github_arg: --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod +# api_github_create_ref_arg: --post-pr-comment-flag --show-plot-flag --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod +# api_github_arg: --post-pr-comment-flag --prepare-plot-flag --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod # library: BESMod # xvfb_flag: xvfb-run -n 77 # modelicapyci_structure_module: ModelicaPyCI.structure.config_structure @@ -51,7 +51,7 @@ stages: fi - !reference [.activate_python_and_install_requirements, script] - python -m ModelicaPyCI.converter.google_charts --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems - - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod + - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod - exit 1 artifacts: when: on_failure @@ -78,7 +78,7 @@ stages: fi - !reference [.activate_python_and_install_requirements, script] - python -m ModelicaPyCI.converter.google_charts --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems - - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod + - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod - exit 1 artifacts: when: on_failure @@ -188,7 +188,7 @@ RegressionTest_Check_References: - echo $files_to_push > ci-tests/Configfiles/ci_new_created_reference.txt - message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/" - python -m ModelicaPyCI.converter.google_charts --new-ref-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems - - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --show-plot-flag --gitlab-page https://ebc.pages.rwth-aachen.de/EBC_all/github_ci/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --github-repository RWTH-EBC/BESMod + - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --show-plot-flag --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod - !reference [.git_push, script] - exit 1 ; diff --git a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml index fceccaec..fe72eabc 100644 --- a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml @@ -6,7 +6,7 @@ # arg_PR: --dym-options DYM_SIM --filter-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod # library: BESMod # ci_check_commit ci_simulate -# modelicapyci_test_validate_module: ModelicaPyCI.unittest.checkpackages.validatetest +# modelicapyci_test_validate_module: ModelicaPyCI.unittest.validatetest # package_list: ['Examples', 'Tutorial', 'Utilities', 'Systems'] # arg_wh: --dym-options DYM_SIM --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod # bot_update_model_whitelist_commit: CI message from ebc-aixlib-bot. Update file whitelist-simulate_file. Please pull the new files before push again. @@ -31,7 +31,7 @@ stages: - !reference [.activate_python_and_install_requirements, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --filter-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM --filter-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod artifacts: when: on_failure paths: @@ -49,7 +49,7 @@ stages: - !reference [.activate_python_and_install_requirements, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod artifacts: when: on_failure paths: @@ -109,7 +109,7 @@ simulate_whitelist_job: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.checkpackages.validatetest --dym-options DYM_SIM --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod after_script: - if ! cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then exit 0; diff --git a/ci-tests/scripts/utilities.yml b/ci-tests/scripts/utilities.yml index d625ae56..60681d47 100644 --- a/ci-tests/scripts/utilities.yml +++ b/ci-tests/scripts/utilities.yml @@ -26,7 +26,7 @@ - source activate myenv || echo "myenv is not installed, can't activate it" - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - - pip install git+https://github.com/lbl-srg/BuildingsPy.git@master + - pip install git+https://github.com/lbl-srg/BuildingsPy.git@issue253_coverage - pip install git+https://github.com/RWTH-EBC/ModelicaPyCI.git - export CI_PYTHON_CONFIG_FILE="ci-tests/config/modelica_py_ci_config.toml" From 91efbad63339da010c89e716da7c61e0383a8e16 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Tue, 25 Jun 2024 16:50:54 +0200 Subject: [PATCH 100/125] Adjust OM scripts for startup mos --- .../scripts/unit_tests/check_OM_model.gitlab-ci.yml | 12 ++++++++---- .../unit_tests/simulate_OM_model.gitlab-ci.yml | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml index adf52e88..6e04ebf6 100644 --- a/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml @@ -5,8 +5,8 @@ # OM_python_check_model_module: ModelicaPyCI.unittest.om_check # result_dir: ci-tests/result # expire_in_time: 7h -# arg_PR: --om-options OM_CHECK --whitelist-library IBPSA --packages $lib_package --library BESMod -# arg_push: --om-options OM_CHECK --changed-flag --whitelist-library IBPSA --packages $lib_package --library BESMod +# arg_PR: --om-options OM_CHECK --startup-mos startup.mos --whitelist-library IBPSA --packages $lib_package --library BESMod +# arg_push: --om-options OM_CHECK --startup-mos startup.mos --changed-flag --whitelist-library IBPSA --packages $lib_package --library BESMod # packages: ['Examples', 'Tutorial', 'Utilities', 'Systems'] include: 'ci-tests/scripts/utilities.yml' @@ -20,9 +20,11 @@ stages: stage: OM_model_check before_script: - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --whitelist-library IBPSA --packages $lib_package --library BESMod + - setfacl -Rm d:u:openmodelicausers:rwX . + - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --startup-mos startup.mos --whitelist-library IBPSA --packages $lib_package --library BESMod artifacts: when: on_failure paths: @@ -39,9 +41,11 @@ stages: stage: OM_model_check before_script: - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --changed-flag --whitelist-library IBPSA --packages $lib_package --library BESMod + - setfacl -Rm d:u:openmodelicausers:rwX . + - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --startup-mos startup.mos --changed-flag --whitelist-library IBPSA --packages $lib_package --library BESMod artifacts: when: on_failure paths: diff --git a/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml index 488dcf14..6ec06f6c 100644 --- a/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml @@ -3,8 +3,8 @@ # library: BESMod # ci_OM_sim_commit: ci_om_simulate # OM_python_check_model_module: ModelicaPyCI.unittest.om_check -# arg_PR : --om-options OM_SIM --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod -# arg_push: --om-options OM_SIM --changed-flag --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod +# arg_PR : --om-options OM_SIM --startup-mos startup.mos --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod +# arg_push: --om-options OM_SIM --startup-mos startup.mos --changed-flag --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod # result_dir: ci-tests/result # OM_Image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main # expire_in_time: 7h @@ -21,9 +21,11 @@ stages: stage: OM_simulate before_script: - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod + - setfacl -Rm d:u:openmodelicausers:rwX . + - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --startup-mos startup.mos --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod artifacts: when: on_failure paths: @@ -40,9 +42,11 @@ stages: stage: OM_simulate before_script: - !reference [.activate_python_and_install_requirements, script] + - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --changed-flag --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod + - setfacl -Rm d:u:openmodelicausers:rwX . + - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --startup-mos startup.mos --changed-flag --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod artifacts: when: on_failure paths: From 326e3f7e7c69e221e7457527bc4ea873af8d8564 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Wed, 26 Jun 2024 09:22:47 +0200 Subject: [PATCH 101/125] fix pages --- ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml | 5 +++++ ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml | 8 ++++++-- .../scripts/unit_tests/simulate_OM_model.gitlab-ci.yml | 8 ++++++-- ci-tests/scripts/utilities.yml | 2 +- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml b/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml index 17fe6101..ada0bc6e 100644 --- a/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml +++ b/ci-tests/scripts/deploy/prepare_pages.gitlab-ci.yml @@ -4,10 +4,15 @@ # expire_in_time : 7h +include: 'ci-tests/scripts/utilities.yml' + + stages: - prepare_pages prepare_pages: stage: prepare_pages + before_script: + - !reference [.activate_python_and_install_requirements, script] script: - mkdir -p $CI_COMMIT_REF_NAME - if [ ! -d "ci-tests/result" ]; then echo "No results in this pipeline, no pages to publish" && exit 0; fi diff --git a/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml index 6e04ebf6..11e4eb90 100644 --- a/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml @@ -23,7 +23,9 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - setfacl -Rm d:u:openmodelicausers:rwX . + - alias python=python3 + - chmod -R u+rwX . + - chown -R openmodelicausers:openmodelicausers . - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --startup-mos startup.mos --whitelist-library IBPSA --packages $lib_package --library BESMod artifacts: when: on_failure @@ -44,7 +46,9 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - setfacl -Rm d:u:openmodelicausers:rwX . + - alias python=python3 + - chmod -R u+rwX . + - chown -R openmodelicausers:openmodelicausers . - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --startup-mos startup.mos --changed-flag --whitelist-library IBPSA --packages $lib_package --library BESMod artifacts: when: on_failure diff --git a/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml index 6ec06f6c..f0a7c920 100644 --- a/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml @@ -24,7 +24,9 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - setfacl -Rm d:u:openmodelicausers:rwX . + - alias python=python3 + - chmod -R u+rwX . + - chown -R openmodelicausers:openmodelicausers . - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --startup-mos startup.mos --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod artifacts: when: on_failure @@ -45,7 +47,9 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - setfacl -Rm d:u:openmodelicausers:rwX . + - alias python=python3 + - chmod -R u+rwX . + - chown -R openmodelicausers:openmodelicausers . - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --startup-mos startup.mos --changed-flag --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod artifacts: when: on_failure diff --git a/ci-tests/scripts/utilities.yml b/ci-tests/scripts/utilities.yml index 60681d47..4c3f874a 100644 --- a/ci-tests/scripts/utilities.yml +++ b/ci-tests/scripts/utilities.yml @@ -26,7 +26,7 @@ - source activate myenv || echo "myenv is not installed, can't activate it" - pip install --upgrade pip && pip install natsort toml pandas mako requests - export PYTHONIOENCODING=utf-8 - - pip install git+https://github.com/lbl-srg/BuildingsPy.git@issue253_coverage + - pip install git+https://github.com/FWuellhorst/BuildingsPy.git@issue253_coverage - pip install git+https://github.com/RWTH-EBC/ModelicaPyCI.git - export CI_PYTHON_CONFIG_FILE="ci-tests/config/modelica_py_ci_config.toml" From e72397898f591168f305f92ffda41b587ef3b20e Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Thu, 27 Jun 2024 13:54:32 +0200 Subject: [PATCH 102/125] update with latest config --- .../config/templates_generator_config.toml | 8 ++- ci-tests/scripts/local_windows_test.bat | 24 ++++----- .../syntax_tests/style_check.gitlab-ci.yml | 8 +-- .../unit_tests/check_OM_model.gitlab-ci.yml | 30 ++++------- .../unit_tests/check_model.gitlab-ci.yml | 40 ++++++-------- .../unit_tests/regression_test.gitlab-ci.yml | 52 ++++++++----------- .../simulate_OM_model.gitlab-ci.yml | 30 ++++------- .../unit_tests/simulate_model.gitlab-ci.yml | 40 ++++++-------- 8 files changed, 89 insertions(+), 143 deletions(-) diff --git a/ci-tests/config/templates_generator_config.toml b/ci-tests/config/templates_generator_config.toml index fcdb8245..d2059ddb 100644 --- a/ci-tests/config/templates_generator_config.toml +++ b/ci-tests/config/templates_generator_config.toml @@ -24,9 +24,13 @@ commit_string = "$CI_COMMIT_MESSAGE !~ /ci_update_ref/ && $CI_COMMIT_MESSAGE pr_main_branch_rule = "$CI_COMMIT_BRANCH == \"main\" " extra_command_list = ["apt-get install git-lfs -y", "python install_dependencies.py full"] startup_mos = "startup.mos" +packages = [ "Examples", "Tutorial", "Utilities", "Systems"] + +[packages_per_job] +Examples = [ "Examples",] +Systems = [ "Systems",] +Other = [ "Tutorial", "Utilities", ] -[packages] -BESMod = [ "Examples", "Tutorial", "Utilities", "Systems"] [modelica_py_ci] url = "https://github.com/RWTH-EBC/ModelicaPyCI.git" diff --git a/ci-tests/scripts/local_windows_test.bat b/ci-tests/scripts/local_windows_test.bat index 94749093..87bebe3c 100644 --- a/ci-tests/scripts/local_windows_test.bat +++ b/ci-tests/scripts/local_windows_test.bat @@ -7,24 +7,20 @@ python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems python -m ModelicaPyCI.syntax.html_tidy --filter-whitelist-flag --correct-view-flag --log-flag --whitelist-library IBPSA --library BESMod --packages Examples Tutorial Utilities Systems -python -m ModelicaPyCI.syntax.style_checking --startup-mos startup.mos --dymola-version 2022 --library BESMod -python -m ModelicaPyCI.syntax.style_checking --changed-flag --startup-mos startup.mos --dymola-version 2022 --library BESMod +python -m ModelicaPyCI.syntax.style_checking --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --library BESMod +python -m ModelicaPyCI.syntax.style_checking --changed-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --library BESMod python -m ModelicaPyCI.syntax.naming_guideline --changed-flag --main-branch main --config ci-tests/naming_guideline.toml --library BESMod :: Check & Simulate BESMod Examples on PR -python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples +python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples :: Check & Simulate BESMod Examples on push -python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples -:: Check & Simulate BESMod Tutorial on PR -python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial -:: Check & Simulate BESMod Tutorial on push -python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial -:: Check & Simulate BESMod Utilities on PR -python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities -:: Check & Simulate BESMod Utilities on push -python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Utilities +python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Examples :: Check & Simulate BESMod Systems on PR -python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Systems +python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Systems :: Check & Simulate BESMod Systems on push -python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Systems +python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Systems +:: Check & Simulate BESMod Tutorial Utilities on PR +python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial Utilities +:: Check & Simulate BESMod Tutorial Utilities on push +python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM DYM_CHECK --changed-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --library BESMod --packages Tutorial Utilities diff --git a/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml b/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml index 205165bd..fe375a53 100644 --- a/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml +++ b/ci-tests/scripts/syntax_tests/style_check.gitlab-ci.yml @@ -6,8 +6,8 @@ # library : BESMod # ci_style_commit : ci_style_check # result_dir : ci-tests/result -# arg_PR : --startup-mos startup.mos --dymola-version 2022 --library BESMod -# arg_Push : --changed-flag --startup-mos startup.mos --dymola-version 2022 --library BESMod +# arg_PR : --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --library BESMod +# arg_Push : --changed-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --library BESMod include: 'ci-tests/scripts/utilities.yml' stages: @@ -20,7 +20,7 @@ StyleCheck:BESMod:PR: before_script: - !reference [.activate_python_and_install_requirements, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking --startup-mos startup.mos --dymola-version 2022 --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --library BESMod artifacts: when: on_failure paths: @@ -38,7 +38,7 @@ StyleCheck:BESMod:Push: before_script: - !reference [.activate_python_and_install_requirements, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking --changed-flag --startup-mos startup.mos --dymola-version 2022 --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.syntax.style_checking --changed-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --library BESMod artifacts: when: on_failure paths: diff --git a/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml index 11e4eb90..3e463c73 100644 --- a/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml @@ -7,7 +7,7 @@ # expire_in_time: 7h # arg_PR: --om-options OM_CHECK --startup-mos startup.mos --whitelist-library IBPSA --packages $lib_package --library BESMod # arg_push: --om-options OM_CHECK --startup-mos startup.mos --changed-flag --whitelist-library IBPSA --packages $lib_package --library BESMod -# packages: ['Examples', 'Tutorial', 'Utilities', 'Systems'] +# packages_per_job: {'Examples': 'Examples', 'Systems': 'Systems', 'Other': 'Tutorial Utilities'} include: 'ci-tests/scripts/utilities.yml' @@ -23,7 +23,6 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - alias python=python3 - chmod -R u+rwX . - chown -R openmodelicausers:openmodelicausers . - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --startup-mos startup.mos --whitelist-library IBPSA --packages $lib_package --library BESMod @@ -46,7 +45,6 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - alias python=python3 - chmod -R u+rwX . - chown -R openmodelicausers:openmodelicausers . - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --startup-mos startup.mos --changed-flag --whitelist-library IBPSA --packages $lib_package --library BESMod @@ -64,19 +62,14 @@ OM_Check_BESMod_Examples:PR: lib_package: Examples extends: .OM_check_model_job:PR -OM_Check_BESMod_Tutorial:PR: - variables: - lib_package: Tutorial - extends: .OM_check_model_job:PR - -OM_Check_BESMod_Utilities:PR: +OM_Check_BESMod_Systems:PR: variables: - lib_package: Utilities + lib_package: Systems extends: .OM_check_model_job:PR -OM_Check_BESMod_Systems:PR: +OM_Check_BESMod_Other:PR: variables: - lib_package: Systems + lib_package: Tutorial Utilities extends: .OM_check_model_job:PR @@ -85,18 +78,13 @@ OM_Check_BESMod_Examples:push: lib_package: Examples extends: .OM_check_model_job:push -OM_Check_BESMod_Tutorial:push: - variables: - lib_package: Tutorial - extends: .OM_check_model_job:push - -OM_Check_BESMod_Utilities:push: +OM_Check_BESMod_Systems:push: variables: - lib_package: Utilities + lib_package: Systems extends: .OM_check_model_job:push -OM_Check_BESMod_Systems:push: +OM_Check_BESMod_Other:push: variables: - lib_package: Systems + lib_package: Tutorial Utilities extends: .OM_check_model_job:push diff --git a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml index 0dd7d73b..954c853f 100644 --- a/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/check_model.gitlab-ci.yml @@ -9,13 +9,13 @@ # result_dir: ci-tests/result # expire_in_time: 7h # ci_create_model_whitelist_commit: ci_create_model_whitelist -# arg_push: --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod -# arg_PR: --dym-options DYM_CHECK --filter-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# arg_push: --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# arg_PR: --dym-options DYM_CHECK --filter-whitelist-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod # config_ci_exit_file: ci-tests/Configfiles/exit.sh # bot_update_model_whitelist_commit: CI message from ebc-aixlib-bot. Update file whitelist-check_file. Please pull the new files before push again. # whitelist_model_file: dymola_check_whitelist.txt -# arg_wh: --dym-options DYM_CHECK --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod -# package_list: ['Examples', 'Tutorial', 'Utilities', 'Systems'] +# arg_wh: --dym-options DYM_CHECK --create-whitelist-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod +# packages_per_job: {'Examples': 'Examples', 'Systems': 'Systems', 'Other': 'Tutorial Utilities'} # modelicapyci_config_structure_module: ModelicaPyCI.structure.config_structure include: 'ci-tests/scripts/utilities.yml' @@ -32,7 +32,7 @@ stages: - !reference [.activate_python_and_install_requirements, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod artifacts: when: on_failure paths: @@ -50,7 +50,7 @@ stages: - !reference [.activate_python_and_install_requirements, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_CHECK --filter-whitelist-flag --changed-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod artifacts: when: on_failure paths: @@ -64,19 +64,14 @@ Check_BESMod_Examples:PR: lib_package: Examples extends: .check_model_job:PR -Check_BESMod_Tutorial:PR: - variables: - lib_package: Tutorial - extends: .check_model_job:PR - -Check_BESMod_Utilities:PR: +Check_BESMod_Systems:PR: variables: - lib_package: Utilities + lib_package: Systems extends: .check_model_job:PR -Check_BESMod_Systems:PR: +Check_BESMod_Other:PR: variables: - lib_package: Systems + lib_package: Tutorial Utilities extends: .check_model_job:PR @@ -85,19 +80,14 @@ Check_BESMod_Examples:Push: lib_package: Examples extends: .check_model_job:Push -Check_BESMod_Tutorial:Push: - variables: - lib_package: Tutorial - extends: .check_model_job:Push - -Check_BESMod_Utilities:Push: +Check_BESMod_Systems:Push: variables: - lib_package: Utilities + lib_package: Systems extends: .check_model_job:Push -Check_BESMod_Systems:Push: +Check_BESMod_Other:Push: variables: - lib_package: Systems + lib_package: Tutorial Utilities extends: .check_model_job:Push @@ -110,7 +100,7 @@ check_whitelist_job: - !reference [.github_ssh_auth, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_CHECK --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_CHECK --create-whitelist-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod after_script: - if ! cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then exit 0; diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 155f8a08..398ec178 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -10,22 +10,22 @@ # result_dir : ci-tests/result # ci_regression_test_commit : $ {ci_regression_test_commit} # expire_in_time : 7h -# arg_PR: --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod -# arg_push: --changed-flag --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod +# arg_PR: --batch --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod +# arg_push: --changed-flag --batch --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod # arg_chart: --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems -# package_list: ['Examples', 'Tutorial', 'Utilities', 'Systems'] +# packages_per_job: {'Examples': 'Examples', 'Systems': 'Systems', 'Other': 'Tutorial Utilities'} # modelicapyci_api_github_module: ModelicaPyCI.api_script.api_github # api_github_create_ref_arg: --post-pr-comment-flag --show-plot-flag --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod # api_github_arg: --post-pr-comment-flag --prepare-plot-flag --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod # library: BESMod # xvfb_flag: xvfb-run -n 77 # modelicapyci_structure_module: ModelicaPyCI.structure.config_structure -# arg_ref: --create-ref --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod +# arg_ref: --create-ref --batch --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod # config_ci_new_create_ref_file: ci-tests/Configfiles/ci_new_created_reference.txt # bot_create_ref_commit: CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/ # ci_show_ref_commit: ci_show_ref -# arg_ref_check: --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod -# coverage_arg: --coverage-only --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod +# arg_ref_check: --create-ref --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod +# coverage_arg: --coverage-only --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod include: 'ci-tests/scripts/utilities.yml' @@ -44,7 +44,7 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] script: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --batch --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod after_script: - if ! cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then exit 0; @@ -71,7 +71,7 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] script: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --changed-flag --batch --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --changed-flag --batch --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod after_script: - if ! cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then exit 0; @@ -90,43 +90,33 @@ stages: Regressiontest_BESMod_Examples:PR: variables: - lib_package: BESMod.Examples + lib_package: Examples extends: .Regressiontest:PR -Regressiontest_BESMod_Tutorial:PR: - variables: - lib_package: BESMod.Tutorial - extends: .Regressiontest:PR - -Regressiontest_BESMod_Utilities:PR: +Regressiontest_BESMod_Systems:PR: variables: - lib_package: BESMod.Utilities + lib_package: Systems extends: .Regressiontest:PR -Regressiontest_BESMod_Systems:PR: +Regressiontest_BESMod_Other:PR: variables: - lib_package: BESMod.Systems + lib_package: Tutorial Utilities extends: .Regressiontest:PR Regressiontest_BESMod_Examples:Push: variables: - lib_package: BESMod.Examples + lib_package: Examples extends: .Regressiontest:Push -Regressiontest_BESMod_Tutorial:Push: - variables: - lib_package: BESMod.Tutorial - extends: .Regressiontest:Push - -Regressiontest_BESMod_Utilities:Push: +Regressiontest_BESMod_Systems:Push: variables: - lib_package: BESMod.Utilities + lib_package: Systems extends: .Regressiontest:Push -Regressiontest_BESMod_Systems:Push: +Regressiontest_BESMod_Other:Push: variables: - lib_package: BESMod.Systems + lib_package: Tutorial Utilities extends: .Regressiontest:Push @@ -137,7 +127,7 @@ Regression_overall_coverage:PR: - !reference [.custom_install_additional_modelica_libraries, script] script: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod artifacts: when: on_failure paths: @@ -155,7 +145,7 @@ Regression_overall_coverage:Push: - !reference [.custom_install_additional_modelica_libraries, script] script: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --coverage-only --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod artifacts: when: on_failure paths: @@ -176,7 +166,7 @@ RegressionTest_Check_References: - pip uninstall buildingspy -y && pip install git+https://github.com/FWuellhorst/BuildingsPy@issue558 - !reference [.custom_install_additional_modelica_libraries, script] - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --create-ref --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages Examples Tutorial Utilities Systems --library BESMod after_script: - if ! cat ci-tests/Configfiles/exit.sh | grep "GENERATED_NEW_RESULTS"; then exit 0; diff --git a/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml index f0a7c920..03db1747 100644 --- a/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml @@ -8,7 +8,7 @@ # result_dir: ci-tests/result # OM_Image: registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main # expire_in_time: 7h -# packages: ['Examples', 'Tutorial', 'Utilities', 'Systems'] +# packages_per_job: {'Examples': 'Examples', 'Systems': 'Systems', 'Other': 'Tutorial Utilities'} include: 'ci-tests/scripts/utilities.yml' @@ -24,7 +24,6 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - alias python=python3 - chmod -R u+rwX . - chown -R openmodelicausers:openmodelicausers . - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --startup-mos startup.mos --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod @@ -47,7 +46,6 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - alias python=python3 - chmod -R u+rwX . - chown -R openmodelicausers:openmodelicausers . - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --startup-mos startup.mos --changed-flag --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod @@ -65,19 +63,14 @@ OM_Simulate_BESMod_Examples:PR: lib_package: Examples extends: .OM_simulate_model_job:PR -OM_Simulate_BESMod_Tutorial:PR: - variables: - lib_package: Tutorial - extends: .OM_simulate_model_job:PR - -OM_Simulate_BESMod_Utilities:PR: +OM_Simulate_BESMod_Systems:PR: variables: - lib_package: Utilities + lib_package: Systems extends: .OM_simulate_model_job:PR -OM_Simulate_BESMod_Systems:PR: +OM_Simulate_BESMod_Other:PR: variables: - lib_package: Systems + lib_package: Tutorial Utilities extends: .OM_simulate_model_job:PR @@ -86,19 +79,14 @@ OM_Simulate_BESMod_Examples:push: lib_package: Examples extends: .OM_simulate_model_job:push -OM_Simulate_BESMod_Tutorial:push: - variables: - lib_package: Tutorial - extends: .OM_simulate_model_job:push - -OM_Simulate_BESMod_Utilities:push: +OM_Simulate_BESMod_Systems:push: variables: - lib_package: Utilities + lib_package: Systems extends: .OM_simulate_model_job:push -OM_Simulate_BESMod_Systems:push: +OM_Simulate_BESMod_Other:push: variables: - lib_package: Systems + lib_package: Tutorial Utilities extends: .OM_simulate_model_job:push diff --git a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml index fe72eabc..85178305 100644 --- a/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/simulate_model.gitlab-ci.yml @@ -2,13 +2,13 @@ # dym_image_name : registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda # ci_stage_simulate: simulate # ci_stage_create_exampel_whitelist: create_example_whitelist -# arg_push : --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod -# arg_PR: --dym-options DYM_SIM --filter-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# arg_push : --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod +# arg_PR: --dym-options DYM_SIM --filter-whitelist-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod # library: BESMod # ci_check_commit ci_simulate # modelicapyci_test_validate_module: ModelicaPyCI.unittest.validatetest -# package_list: ['Examples', 'Tutorial', 'Utilities', 'Systems'] -# arg_wh: --dym-options DYM_SIM --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod +# packages_per_job: {'Examples': 'Examples', 'Systems': 'Systems', 'Other': 'Tutorial Utilities'} +# arg_wh: --dym-options DYM_SIM --create-whitelist-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod # bot_update_model_whitelist_commit: CI message from ebc-aixlib-bot. Update file whitelist-simulate_file. Please pull the new files before push again. # whitelist_model_file: dymola_simulate_whitelist.txt # ci_create_model_whitelist_commit: ci_create_example_whitelist @@ -31,7 +31,7 @@ stages: - !reference [.activate_python_and_install_requirements, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM --filter-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM --filter-whitelist-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod artifacts: when: on_failure paths: @@ -49,7 +49,7 @@ stages: - !reference [.activate_python_and_install_requirements, script] - !reference [.custom_install_additional_modelica_libraries, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM --filter-whitelist-flag --changed-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --packages $lib_package --library BESMod artifacts: when: on_failure paths: @@ -63,19 +63,14 @@ Simulate_BESMod_Examples:PR: lib_package: Examples extends: .simulate_model_job:PR -Simulate_BESMod_Tutorial:PR: - variables: - lib_package: Tutorial - extends: .simulate_model_job:PR - -Simulate_BESMod_Utilities:PR: +Simulate_BESMod_Systems:PR: variables: - lib_package: Utilities + lib_package: Systems extends: .simulate_model_job:PR -Simulate_BESMod_Systems:PR: +Simulate_BESMod_Other:PR: variables: - lib_package: Systems + lib_package: Tutorial Utilities extends: .simulate_model_job:PR @@ -85,19 +80,14 @@ Simulate_BESMod_Examples:Push: lib_package: Examples extends: .simulate_model_job:Push -Simulate_BESMod_Tutorial:Push: - variables: - lib_package: Tutorial - extends: .simulate_model_job:Push - -Simulate_BESMod_Utilities:Push: +Simulate_BESMod_Systems:Push: variables: - lib_package: Utilities + lib_package: Systems extends: .simulate_model_job:Push -Simulate_BESMod_Systems:Push: +Simulate_BESMod_Other:Push: variables: - lib_package: Systems + lib_package: Tutorial Utilities extends: .simulate_model_job:Push @@ -109,7 +99,7 @@ simulate_whitelist_job: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.github_ssh_auth, script] script: - - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM --create-whitelist-flag --startup-mos startup.mos --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod + - xvfb-run -n 77 python -m ModelicaPyCI.unittest.validatetest --dym-options DYM_SIM --create-whitelist-flag --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --additional-libraries-to-load --packages Examples Tutorial Utilities Systems --library BESMod after_script: - if ! cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then exit 0; From aaa916752ed5e9140be002dd4456ae927222a071 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Thu, 27 Jun 2024 15:17:03 +0200 Subject: [PATCH 103/125] adjust experiment time to avoid long CI runs --- BESMod/Examples/BAUSimStudy/PartialCase.mo | 2 +- BESMod/Examples/DesignOptimization/BES.mo | 2 +- BESMod/Examples/DesignOptimization/BESNoDHW.mo | 2 +- BESMod/Examples/GasBoilerBuildingOnly.mo | 2 +- BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo | 2 +- BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo | 2 +- BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo | 2 +- BESMod/Examples/HeatPumpAndBoiler/Parallel.mo | 2 +- BESMod/Examples/HeatPumpAndBoiler/Serial.mo | 2 +- .../Examples/TEASERHeatLoadCalculation/PartialCalculation.mo | 2 +- .../Demand/Building/HeatDemand/PartialCalcHeatingDemand.mo | 2 +- ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml | 4 ---- ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml | 4 ---- ci-tests/scripts/utilities.yml | 3 +++ 14 files changed, 14 insertions(+), 19 deletions(-) diff --git a/BESMod/Examples/BAUSimStudy/PartialCase.mo b/BESMod/Examples/BAUSimStudy/PartialCase.mo index cf4884ed..cdd95e6e 100644 --- a/BESMod/Examples/BAUSimStudy/PartialCase.mo +++ b/BESMod/Examples/BAUSimStudy/PartialCase.mo @@ -96,7 +96,7 @@ partial model PartialCase parameter Modelica.Units.SI.Temperature TBiv=271.15 "Nominal bivalence temperature. = TOda_nominal for monovalent systems."; annotation (experiment( - StopTime=31536000, + StopTime=172800, Interval=600, __Dymola_Algorithm="Dassl")); end PartialCase; diff --git a/BESMod/Examples/DesignOptimization/BES.mo b/BESMod/Examples/DesignOptimization/BES.mo index 6293d402..40082f18 100644 --- a/BESMod/Examples/DesignOptimization/BES.mo +++ b/BESMod/Examples/DesignOptimization/BES.mo @@ -112,7 +112,7 @@ model BES extends Modelica.Icons.Example; annotation (experiment( - StopTime=31536000, + StopTime=172800, Interval=599.999616, __Dymola_Algorithm="Dassl")); end BES; diff --git a/BESMod/Examples/DesignOptimization/BESNoDHW.mo b/BESMod/Examples/DesignOptimization/BESNoDHW.mo index fd88da73..f8086ffd 100644 --- a/BESMod/Examples/DesignOptimization/BESNoDHW.mo +++ b/BESMod/Examples/DesignOptimization/BESNoDHW.mo @@ -101,7 +101,7 @@ model BESNoDHW "Example to demonstrate usage without DHW" extends Modelica.Icons.Example; annotation (experiment( - StopTime=31536000, + StopTime=172800, Interval=599.999616, __Dymola_Algorithm="Dassl")); end BESNoDHW; diff --git a/BESMod/Examples/GasBoilerBuildingOnly.mo b/BESMod/Examples/GasBoilerBuildingOnly.mo index e64596e0..6b00c138 100644 --- a/BESMod/Examples/GasBoilerBuildingOnly.mo +++ b/BESMod/Examples/GasBoilerBuildingOnly.mo @@ -55,7 +55,7 @@ model GasBoilerBuildingOnly extends Modelica.Icons.Example; annotation (experiment( - StopTime=31536000, + StopTime=172800, Interval=900.00288, __Dymola_Algorithm="Dassl")); end GasBoilerBuildingOnly; diff --git a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo index 10fc8415..299d8b48 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo @@ -50,7 +50,7 @@ model AfterBufferWithDHW extends Modelica.Icons.Example; annotation (experiment( - StopTime=31536000, + StopTime=172800, Interval=600, __Dymola_Algorithm="Dassl")); end AfterBufferWithDHW; diff --git a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo index 14584d0c..da772cc4 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo @@ -44,7 +44,7 @@ model AfterBufferWithoutDHW extends Modelica.Icons.Example; annotation (experiment( - StopTime=31536000, + StopTime=172800, Interval=600, __Dymola_Algorithm="Dassl")); end AfterBufferWithoutDHW; diff --git a/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo b/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo index 537629fb..de7e8c9a 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo @@ -64,7 +64,7 @@ package BaseClasses "Contains partial example case" redeclare BESMod.Systems.Ventilation.NoVentilation ventilation); annotation (experiment( - StopTime=31536000, + StopTime=172800, Interval=600, __Dymola_Algorithm="Dassl")); end PartialHybridSystem; diff --git a/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo b/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo index 91ec1f21..4af02c7a 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo @@ -41,7 +41,7 @@ model Parallel extends Modelica.Icons.Example; annotation (experiment( - StopTime=31536000, + StopTime=172800, Interval=600, __Dymola_Algorithm="Dassl")); end Parallel; diff --git a/BESMod/Examples/HeatPumpAndBoiler/Serial.mo b/BESMod/Examples/HeatPumpAndBoiler/Serial.mo index da96a168..84ef0227 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/Serial.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/Serial.mo @@ -38,7 +38,7 @@ model Serial "Bivalent Heat Pump Systems with serial heat generation" extends Modelica.Icons.Example; annotation (experiment( - StopTime=31536000, + StopTime=172800, Interval=600, __Dymola_Algorithm="Dassl")); end Serial; diff --git a/BESMod/Examples/TEASERHeatLoadCalculation/PartialCalculation.mo b/BESMod/Examples/TEASERHeatLoadCalculation/PartialCalculation.mo index 7258e2ed..4b75df5a 100644 --- a/BESMod/Examples/TEASERHeatLoadCalculation/PartialCalculation.mo +++ b/BESMod/Examples/TEASERHeatLoadCalculation/PartialCalculation.mo @@ -34,7 +34,7 @@ model PartialCalculation "Partial model with common interfaces" annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram( coordinateSystem(preserveAspectRatio=false)), experiment( - StopTime=31536000, + StopTime=172800, Interval=3600, __Dymola_Algorithm="Dassl")); end PartialCalculation; diff --git a/BESMod/Systems/Demand/Building/HeatDemand/PartialCalcHeatingDemand.mo b/BESMod/Systems/Demand/Building/HeatDemand/PartialCalcHeatingDemand.mo index 55d56d4b..48fbd651 100644 --- a/BESMod/Systems/Demand/Building/HeatDemand/PartialCalcHeatingDemand.mo +++ b/BESMod/Systems/Demand/Building/HeatDemand/PartialCalcHeatingDemand.mo @@ -124,7 +124,7 @@ equation textString="Right click -> Parameters -> Select your system parameters -> Simulate and extract QDemand and -array based demand for your systemParameters")}), experiment(StopTime=31536000, Interval=3600), +array based demand for your systemParameters")}), experiment(StopTime=172800, Interval=3600), Documentation(info="

      The heat demand is one of the most important paramters to quantify in order to correctly size the components in a BES. Hence, we add this partial heat demand calculator to enable a heat demand calculation according to EN 12831 for all possible Building-Subsystems.

      Note:

      diff --git a/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml index 3e463c73..d109732c 100644 --- a/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/check_OM_model.gitlab-ci.yml @@ -23,8 +23,6 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - chmod -R u+rwX . - - chown -R openmodelicausers:openmodelicausers . - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --startup-mos startup.mos --whitelist-library IBPSA --packages $lib_package --library BESMod artifacts: when: on_failure @@ -45,8 +43,6 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - chmod -R u+rwX . - - chown -R openmodelicausers:openmodelicausers . - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_CHECK --startup-mos startup.mos --changed-flag --whitelist-library IBPSA --packages $lib_package --library BESMod artifacts: when: on_failure diff --git a/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml b/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml index 03db1747..b6332b5d 100644 --- a/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/simulate_OM_model.gitlab-ci.yml @@ -24,8 +24,6 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - chmod -R u+rwX . - - chown -R openmodelicausers:openmodelicausers . - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --startup-mos startup.mos --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod artifacts: when: on_failure @@ -46,8 +44,6 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] - !reference [.open_modelica_git_user_setting, script] script: - - chmod -R u+rwX . - - chown -R openmodelicausers:openmodelicausers . - runuser -u openmodelicausers -- python3 -m ModelicaPyCI.unittest.om_check --om-options OM_SIM --startup-mos startup.mos --changed-flag --whitelist-library IBPSA --packages Examples Tutorial Utilities Systems --library BESMod artifacts: when: on_failure diff --git a/ci-tests/scripts/utilities.yml b/ci-tests/scripts/utilities.yml index 4c3f874a..88cb03a8 100644 --- a/ci-tests/scripts/utilities.yml +++ b/ci-tests/scripts/utilities.yml @@ -52,6 +52,9 @@ .open_modelica_git_user_setting: script: - runuser -u openmodelicausers -- sh -c 'git config --global --add safe.directory "$(pwd)"' + - chmod -R u+rwX . + - chown -R openmodelicausers:openmodelicausers . + - alias python=python3 .git_push: script: From 6117a3fe06e91f565ae827e3253d5f744a345f95 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Thu, 27 Jun 2024 16:49:00 +0200 Subject: [PATCH 104/125] fix time --- BESMod/Examples/DesignOptimization/BES.mo | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BESMod/Examples/DesignOptimization/BES.mo b/BESMod/Examples/DesignOptimization/BES.mo index 40082f18..4b82c6a2 100644 --- a/BESMod/Examples/DesignOptimization/BES.mo +++ b/BESMod/Examples/DesignOptimization/BES.mo @@ -103,7 +103,7 @@ model BES calcmFlow), redeclare Systems.UserProfiles.TEASERProfiles userProfiles, redeclare AachenSystem systemParameters, - redeclare ParametersToChange parameterStudy(VPerQFlow=1), + redeclare ParametersToChange parameterStudy, redeclare final package MediumDHW = AixLib.Media.Water, redeclare final package MediumZone = AixLib.Media.Air, redeclare final package MediumHyd = AixLib.Media.Water, @@ -113,6 +113,6 @@ model BES annotation (experiment( StopTime=172800, - Interval=599.999616, + Interval=600, __Dymola_Algorithm="Dassl")); end BES; From e63b6b2df8cf10c09194b60e2c5d532d21de275e Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Thu, 27 Jun 2024 17:26:51 +0200 Subject: [PATCH 105/125] add simulate and plot scripts for all examples --- BESMod/Examples/BAUSimStudy/Case1Standard.mo | 4 +++- BESMod/Examples/DesignOptimization/BES.mo | 4 +++- BESMod/Examples/DesignOptimization/BESNoDHW.mo | 4 +++- BESMod/Examples/GasBoilerBuildingOnly.mo | 4 +++- .../Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo | 4 +++- .../HeatPumpAndBoiler/AfterBufferWithoutDHW.mo | 4 +++- BESMod/Examples/HeatPumpAndBoiler/Parallel.mo | 4 +++- BESMod/Examples/HeatPumpAndBoiler/Serial.mo | 4 +++- BESMod/Examples/HighOrderModel/BES_HOM.mo | 4 +++- .../ModelicaConferencePaper/BuildingsLibraryRoom.mo | 2 ++ .../ModelicaConferencePaper/TEASERBuilding.mo | 2 ++ .../Dymola/Examples/BAUSimStudy/Case1Standard.mos | 8 ++++++++ .../Dymola/Examples/DesignOptimization/BES.mos | 8 ++++++++ .../Dymola/Examples/DesignOptimization/BESNoDHW.mos | 8 ++++++++ .../Dymola/Examples/GasBoilerBuildingOnly.mos | 8 ++++++++ .../HeatPumpAndBoiler/AfterBufferWithDHW.mos | 8 ++++++++ .../HeatPumpAndBoiler/AfterBufferWithoutDHW.mos | 8 ++++++++ .../Dymola/Examples/HeatPumpAndBoiler/Parallel.mos | 8 ++++++++ .../Dymola/Examples/HeatPumpAndBoiler/Serial.mos | 8 ++++++++ .../Dymola/Examples/HighOrderModel/BES_HOM.mos | 6 ++++++ .../ModelicaConferencePaper/BuildingsLibraryRoom.mos | 12 ++++++++---- .../ModelicaConferencePaper/TEASERBuilding.mos | 12 ++++++++---- .../SolarThermalSystem/SolarThermalAixLib.mos | 8 ++++++++ .../SolarThermalSystem/SolarThermalBuildings.mos | 8 ++++++++ .../Examples/TEASERHeatLoadCalculation/Example.mos | 8 ++++++++ 25 files changed, 141 insertions(+), 17 deletions(-) create mode 100644 BESMod/Resources/Scripts/Dymola/Examples/BAUSimStudy/Case1Standard.mos create mode 100644 BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BES.mos create mode 100644 BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BESNoDHW.mos create mode 100644 BESMod/Resources/Scripts/Dymola/Examples/GasBoilerBuildingOnly.mos create mode 100644 BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mos create mode 100644 BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mos create mode 100644 BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Parallel.mos create mode 100644 BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Serial.mos create mode 100644 BESMod/Resources/Scripts/Dymola/Examples/HighOrderModel/BES_HOM.mos create mode 100644 BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalAixLib.mos create mode 100644 BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalBuildings.mos create mode 100644 BESMod/Resources/Scripts/Dymola/Examples/TEASERHeatLoadCalculation/Example.mos diff --git a/BESMod/Examples/BAUSimStudy/Case1Standard.mo b/BESMod/Examples/BAUSimStudy/Case1Standard.mo index 12c071a6..d3f07a59 100644 --- a/BESMod/Examples/BAUSimStudy/Case1Standard.mo +++ b/BESMod/Examples/BAUSimStudy/Case1Standard.mo @@ -8,5 +8,7 @@ model Case1Standard annotation (experiment( StopTime=86400, Interval=600, - __Dymola_Algorithm="Dassl")); + __Dymola_Algorithm="Dassl"), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/BAUSimStudy/Case1Standard.mos" + "Simulate and plot")); end Case1Standard; diff --git a/BESMod/Examples/DesignOptimization/BES.mo b/BESMod/Examples/DesignOptimization/BES.mo index 4b82c6a2..096ab69d 100644 --- a/BESMod/Examples/DesignOptimization/BES.mo +++ b/BESMod/Examples/DesignOptimization/BES.mo @@ -114,5 +114,7 @@ model BES annotation (experiment( StopTime=172800, Interval=600, - __Dymola_Algorithm="Dassl")); + __Dymola_Algorithm="Dassl"), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BES.mos" + "Simulate and plot")); end BES; diff --git a/BESMod/Examples/DesignOptimization/BESNoDHW.mo b/BESMod/Examples/DesignOptimization/BESNoDHW.mo index f8086ffd..94595336 100644 --- a/BESMod/Examples/DesignOptimization/BESNoDHW.mo +++ b/BESMod/Examples/DesignOptimization/BESNoDHW.mo @@ -103,5 +103,7 @@ model BESNoDHW "Example to demonstrate usage without DHW" annotation (experiment( StopTime=172800, Interval=599.999616, - __Dymola_Algorithm="Dassl")); + __Dymola_Algorithm="Dassl"), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BESNoDHW.mos" + "Simulate and plot")); end BESNoDHW; diff --git a/BESMod/Examples/GasBoilerBuildingOnly.mo b/BESMod/Examples/GasBoilerBuildingOnly.mo index 6b00c138..2fd79215 100644 --- a/BESMod/Examples/GasBoilerBuildingOnly.mo +++ b/BESMod/Examples/GasBoilerBuildingOnly.mo @@ -57,5 +57,7 @@ model GasBoilerBuildingOnly annotation (experiment( StopTime=172800, Interval=900.00288, - __Dymola_Algorithm="Dassl")); + __Dymola_Algorithm="Dassl"), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/GasBoilerBuildingOnly.mos" + "Simulate and plot")); end GasBoilerBuildingOnly; diff --git a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo index 299d8b48..0c248af1 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo @@ -52,5 +52,7 @@ model AfterBufferWithDHW annotation (experiment( StopTime=172800, Interval=600, - __Dymola_Algorithm="Dassl")); + __Dymola_Algorithm="Dassl"), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mos" + "Simulate and plot")); end AfterBufferWithDHW; diff --git a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo index da772cc4..dac21dec 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo @@ -46,5 +46,7 @@ model AfterBufferWithoutDHW annotation (experiment( StopTime=172800, Interval=600, - __Dymola_Algorithm="Dassl")); + __Dymola_Algorithm="Dassl"), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mos" + "Simulate and plot")); end AfterBufferWithoutDHW; diff --git a/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo b/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo index 4af02c7a..1485dbde 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo @@ -43,5 +43,7 @@ model Parallel annotation (experiment( StopTime=172800, Interval=600, - __Dymola_Algorithm="Dassl")); + __Dymola_Algorithm="Dassl"), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Parallel.mos" + "Simulate and plot")); end Parallel; diff --git a/BESMod/Examples/HeatPumpAndBoiler/Serial.mo b/BESMod/Examples/HeatPumpAndBoiler/Serial.mo index 84ef0227..1e5a2ccf 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/Serial.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/Serial.mo @@ -40,5 +40,7 @@ model Serial "Bivalent Heat Pump Systems with serial heat generation" annotation (experiment( StopTime=172800, Interval=600, - __Dymola_Algorithm="Dassl")); + __Dymola_Algorithm="Dassl"), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Serial.mos" + "Simulate and plot")); end Serial; diff --git a/BESMod/Examples/HighOrderModel/BES_HOM.mo b/BESMod/Examples/HighOrderModel/BES_HOM.mo index 9d52aceb..7b696816 100644 --- a/BESMod/Examples/HighOrderModel/BES_HOM.mo +++ b/BESMod/Examples/HighOrderModel/BES_HOM.mo @@ -96,5 +96,7 @@ model BES_HOM annotation (experiment( StopTime=172800, Interval=600, - __Dymola_Algorithm="Dassl")); + __Dymola_Algorithm="Dassl"), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HighOrderModel/BES_HOM.mos" + "Simulate and plot")); end BES_HOM; diff --git a/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo b/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo index 78497883..880eb7ef 100644 --- a/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo +++ b/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo @@ -13,6 +13,8 @@ annotation(experiment( StopTime=864000, Interval=600, Tolerance=1e-06), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos" + "Simulate and plot"), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos" "Simulate and plot")); end BuildingsLibraryRoom; diff --git a/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo b/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo index e3c92fbc..64766176 100644 --- a/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo +++ b/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo @@ -26,6 +26,8 @@ annotation(experiment( StopTime=864000, Interval=600, Tolerance=1e-06), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos" + "Simulate and plot"), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos" "Simulate and plot")); end TEASERBuilding; diff --git a/BESMod/Resources/Scripts/Dymola/Examples/BAUSimStudy/Case1Standard.mos b/BESMod/Resources/Scripts/Dymola/Examples/BAUSimStudy/Case1Standard.mos new file mode 100644 index 00000000..c4245444 --- /dev/null +++ b/BESMod/Resources/Scripts/Dymola/Examples/BAUSimStudy/Case1Standard.mos @@ -0,0 +1,8 @@ + +simulateModel("BESMod.Examples.BAUSimStudy.Case1Standard", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="Case1Standard"); + +createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); +createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); + \ No newline at end of file diff --git a/BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BES.mos b/BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BES.mos new file mode 100644 index 00000000..b7287abf --- /dev/null +++ b/BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BES.mos @@ -0,0 +1,8 @@ + +simulateModel("BESMod.Examples.DesignOptimization.BES", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="BES"); + +createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); +createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); + \ No newline at end of file diff --git a/BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BESNoDHW.mos b/BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BESNoDHW.mos new file mode 100644 index 00000000..8e94b300 --- /dev/null +++ b/BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BESNoDHW.mos @@ -0,0 +1,8 @@ + +simulateModel("BESMod.Examples.DesignOptimization.BESNoDHW", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="BESNoDHW"); + +createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); +createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); + \ No newline at end of file diff --git a/BESMod/Resources/Scripts/Dymola/Examples/GasBoilerBuildingOnly.mos b/BESMod/Resources/Scripts/Dymola/Examples/GasBoilerBuildingOnly.mos new file mode 100644 index 00000000..cd961fff --- /dev/null +++ b/BESMod/Resources/Scripts/Dymola/Examples/GasBoilerBuildingOnly.mos @@ -0,0 +1,8 @@ + +simulateModel("BESMod.Examples.GasBoilerBuildingOnly", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="GasBoilerBuildingOnly"); + +createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"hydraulic.generation.sigBusGen.TBoiOut"}, grid=true, subPlot=2, colors={{238,46,47}}); +createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); + \ No newline at end of file diff --git a/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mos b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mos new file mode 100644 index 00000000..9c5adf75 --- /dev/null +++ b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mos @@ -0,0 +1,8 @@ + +simulateModel("BESMod.Examples.HeatPumpAndBoiler.AfterBufferWithDHW", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="AfterBufferWithDHW"); + +createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); +createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); + \ No newline at end of file diff --git a/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mos b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mos new file mode 100644 index 00000000..2c2c14f9 --- /dev/null +++ b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mos @@ -0,0 +1,8 @@ + +simulateModel("BESMod.Examples.HeatPumpAndBoiler.AfterBufferWithoutDHW", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="AfterBufferWithoutDHW"); + +createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); +createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); + \ No newline at end of file diff --git a/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Parallel.mos b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Parallel.mos new file mode 100644 index 00000000..6f83a176 --- /dev/null +++ b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Parallel.mos @@ -0,0 +1,8 @@ + +simulateModel("BESMod.Examples.HeatPumpAndBoiler.Parallel", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="Parallel"); + +createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); +createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); + \ No newline at end of file diff --git a/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Serial.mos b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Serial.mos new file mode 100644 index 00000000..d7e72ffe --- /dev/null +++ b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Serial.mos @@ -0,0 +1,8 @@ + +simulateModel("BESMod.Examples.HeatPumpAndBoiler.Serial", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="Serial"); + +createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); +createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); + \ No newline at end of file diff --git a/BESMod/Resources/Scripts/Dymola/Examples/HighOrderModel/BES_HOM.mos b/BESMod/Resources/Scripts/Dymola/Examples/HighOrderModel/BES_HOM.mos new file mode 100644 index 00000000..4cd9158d --- /dev/null +++ b/BESMod/Resources/Scripts/Dymola/Examples/HighOrderModel/BES_HOM.mos @@ -0,0 +1,6 @@ +simulateModel("BESMod.Examples.HighOrderModel.BES_HOM", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="BES_HOM"); + +createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); +createPlot(id=1, y={"hydraulic.control.buiMeaBus.TZoneMea[1]", "hydraulic.control.buiMeaBus.TZoneMea[10]"}, grid=true, subPlot=3, colors={{28,108,200},{238,46,47}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); \ No newline at end of file diff --git a/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos b/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos index 8ab1f661..6cd7a262 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos @@ -1,4 +1,8 @@ -simulateModel("BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom", stopTime=864000, method="dassl", tolerance=1e-06, resultFile="BuildingsLibraryRoom"); -createPlot(id=2, position={75, 70, 1210, 240}, y={"electrical.distribution.batterySimple.PLoad","electrical.distribution.batterySimple.PCharge"}, grid=true, subPlot=1, colors={{28,108,200},{238,46,47}}); -createPlot(id=2, position={75, 70, 1210, 240}, y={"hydraulic.distribution.sigBusDistr.TStoDHWTopMea","hydraulic.distribution.sigBusDistr.TStoBufTopMea","hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{28,108,200},{238,46,47},{0,140,72}}); -createPlot(id=2, position={75, 70, 1210, 240}, y={"ventilation.generation.TSup.T","ventilation.generation.weaBus.TDryBul","building.buiMeaBus.TZoneMea[1]"}, grid=true, subPlot=3, colors={{28,108,200},{238,46,47},{0,140,72}}); + +simulateModel("BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="BuildingsLibraryRoom"); + +createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); +createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); + \ No newline at end of file diff --git a/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos b/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos index 91e5b80e..644932c1 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos @@ -1,4 +1,8 @@ -simulateModel("BESMod.Examples.ModelicaConferencePaper.TEASERBuilding", stopTime=864000, method="dassl", tolerance=1e-06, resultFile="TEASERBuilding"); -createPlot(id=2, position={75, 70, 1210, 240}, y={"electrical.distribution.batterySimple.PLoad","electrical.distribution.batterySimple.PCharge"}, grid=true, subPlot=1, colors={{28,108,200},{238,46,47}}); -createPlot(id=2, position={75, 70, 1210, 240}, y={"hydraulic.distribution.sigBusDistr.TStoDHWTopMea","hydraulic.distribution.sigBusDistr.TStoBufTopMea","hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{28,108,200},{238,46,47},{0,140,72}}); -createPlot(id=2, position={75, 70, 1210, 240}, y={"ventilation.generation.TSup.T","ventilation.generation.weaBus.TDryBul","building.buiMeaBus.TZoneMea[1]"}, grid=true, subPlot=3, colors={{28,108,200},{238,46,47},{0,140,72}}); + +simulateModel("BESMod.Examples.ModelicaConferencePaper.TEASERBuilding", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="TEASERBuilding"); + +createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); +createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); + \ No newline at end of file diff --git a/BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalAixLib.mos b/BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalAixLib.mos new file mode 100644 index 00000000..0b74c3f9 --- /dev/null +++ b/BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalAixLib.mos @@ -0,0 +1,8 @@ + +simulateModel("BESMod.Examples.SolarThermalSystem.SolarThermalAixLib", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="SolarThermalAixLib"); + +createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); +createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); + \ No newline at end of file diff --git a/BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalBuildings.mos b/BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalBuildings.mos new file mode 100644 index 00000000..3fab392a --- /dev/null +++ b/BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalBuildings.mos @@ -0,0 +1,8 @@ + +simulateModel("BESMod.Examples.SolarThermalSystem.SolarThermalBuildings", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="SolarThermalBuildings"); + +createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); +createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); + \ No newline at end of file diff --git a/BESMod/Resources/Scripts/Dymola/Examples/TEASERHeatLoadCalculation/Example.mos b/BESMod/Resources/Scripts/Dymola/Examples/TEASERHeatLoadCalculation/Example.mos new file mode 100644 index 00000000..58f241cd --- /dev/null +++ b/BESMod/Resources/Scripts/Dymola/Examples/TEASERHeatLoadCalculation/Example.mos @@ -0,0 +1,8 @@ + +simulateModel("BESMod.Examples.TEASERHeatLoadCalculation.Example", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="Example"); + +createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); +createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); + \ No newline at end of file From 7ff608297013e0e648be34d47e232c09e7a6e2f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Thu, 27 Jun 2024 15:31:16 +0000 Subject: [PATCH 106/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results /62-update-ci-templates/charts/ --- BESMod/unitTests-dymola.log | 296 ++++++++++++++++++++++++++++++++++++ 1 file changed, 296 insertions(+) create mode 100644 BESMod/unitTests-dymola.log diff --git a/BESMod/unitTests-dymola.log b/BESMod/unitTests-dymola.log new file mode 100644 index 00000000..76bf9c21 --- /dev/null +++ b/BESMod/unitTests-dymola.log @@ -0,0 +1,296 @@ +Regression tests are only run for the following package: + BESMod.Examples.TEASERHeatLoadCalculation +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +Regression tests are only run for the following package: + BESMod.Examples.DesignOptimization +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.SolarThermalSystem +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +Regression tests are only run for the following package: + BESMod.Examples.BAUSimStudy +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HeatPumpAndBoiler +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HighOrderModel +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +Regression tests are only run for the following package: + BESMod.Examples.TEASERHeatLoadCalculation +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +Regression tests are only run for the following package: + BESMod.Examples.DesignOptimization +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.SolarThermalSystem +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +Regression tests are only run for the following package: + BESMod.Examples.BAUSimStudy +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HeatPumpAndBoiler +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HighOrderModel +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +Regression tests are only run for the following package: + BESMod.Examples.TEASERHeatLoadCalculation +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +Regression tests are only run for the following package: + BESMod.Examples.DesignOptimization +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.SolarThermalSystem +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +Regression tests are only run for the following package: + BESMod.Examples.BAUSimStudy +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HeatPumpAndBoiler +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HighOrderModel +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +Regression tests are only run for the following package: + BESMod.Examples.TEASERHeatLoadCalculation +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +Regression tests are only run for the following package: + BESMod.Examples.DesignOptimization +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.SolarThermalSystem +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +Regression tests are only run for the following package: + BESMod.Examples.BAUSimStudy +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HeatPumpAndBoiler +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HighOrderModel +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +Regression tests are only run for the following package: + BESMod.Examples.TEASERHeatLoadCalculation +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +Regression tests are only run for the following package: + BESMod.Examples.DesignOptimization +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.SolarThermalSystem +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +Regression tests are only run for the following package: + BESMod.Examples.BAUSimStudy +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HeatPumpAndBoiler +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HighOrderModel +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +Regression tests are only run for the following package: + BESMod.Examples.TEASERHeatLoadCalculation +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +Regression tests are only run for the following package: + BESMod.Examples.DesignOptimization +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.SolarThermalSystem +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +Regression tests are only run for the following package: + BESMod.Examples.BAUSimStudy +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HeatPumpAndBoiler +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HighOrderModel +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +Regression tests are only run for the following package: + BESMod.Examples.TEASERHeatLoadCalculation +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +Regression tests are only run for the following package: + BESMod.Examples.DesignOptimization +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.SolarThermalSystem +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +Regression tests are only run for the following package: + BESMod.Examples.BAUSimStudy +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HeatPumpAndBoiler +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HighOrderModel +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +Regression tests are only run for the following package: + BESMod.Examples.TEASERHeatLoadCalculation +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +Regression tests are only run for the following package: + BESMod.Examples.DesignOptimization +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.SolarThermalSystem +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +Regression tests are only run for the following package: + BESMod.Examples.BAUSimStudy +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HeatPumpAndBoiler +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. +Regression tests are only run for the following package: + BESMod.Examples.HighOrderModel +*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. From 0707f49c0ecea4e3df498016b23acf9cfa15d909 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Fri, 28 Jun 2024 07:23:16 +0200 Subject: [PATCH 107/125] add experiment setup to missing examples --- .../PartialSolarThermalHPS.mo | 8 +- .../SolarThermalSystem/SolarThermalAixLib.mo | 5 +- .../SolarThermalBuildings.mo | 8 +- .../TEASERHeatLoadCalculation/Example.mo | 4 + .../PartialCalculation.mo | 8 +- BESMod/unitTests-dymola.log | 296 ------------------ 6 files changed, 16 insertions(+), 313 deletions(-) delete mode 100644 BESMod/unitTests-dymola.log diff --git a/BESMod/Examples/SolarThermalSystem/PartialSolarThermalHPS.mo b/BESMod/Examples/SolarThermalSystem/PartialSolarThermalHPS.mo index 9c0ecf0f..a2806d0b 100644 --- a/BESMod/Examples/SolarThermalSystem/PartialSolarThermalHPS.mo +++ b/BESMod/Examples/SolarThermalSystem/PartialSolarThermalHPS.mo @@ -61,11 +61,5 @@ partial model PartialSolarThermalHPS constrainedby BESMod.Systems.Hydraulical.Generation.BaseClasses.PartialGeneration annotation (choicesAllMatching=true); - annotation (Icon(graphics, - coordinateSystem(preserveAspectRatio=false)), Diagram(graphics, - coordinateSystem(preserveAspectRatio=false)), - experiment( - StopTime=864000, - Interval=600, - __Dymola_Algorithm="Dassl")); + end PartialSolarThermalHPS; diff --git a/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo b/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo index 7e6d13fc..a0ad1008 100644 --- a/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo +++ b/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo @@ -27,5 +27,8 @@ model SolarThermalAixLib "Solar thermal collector from AixLib" parPumSolThe)); extends Modelica.Icons.Example; - + annotation ( + experiment(stopTime=172800 + Interval=600 + Tolerance=1e-06)); end SolarThermalAixLib; diff --git a/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo b/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo index 2c385db4..8934644c 100644 --- a/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo +++ b/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo @@ -3,7 +3,8 @@ model SolarThermalBuildings "HPS which is supported by a solar thermal collector" extends BESMod.Examples.SolarThermalSystem.PartialSolarThermalHPS(redeclare model hydGeneration = - BESMod.Systems.Hydraulical.Generation.DetailedSolarThermalWithHeatPump ( + BESMod.Systems.Hydraulical.Generation.DetailedSolarThermalWithHeatPump + ( use_eleHea=false, redeclare model PerDataMainHP = AixLib.DataBase.HeatPump.PerformanceData.VCLibMap (refrigerant= @@ -29,5 +30,8 @@ model SolarThermalBuildings parPumSolThe)); extends Modelica.Icons.Example; - + annotation ( + experiment(stopTime=172800 + Interval=600 + Tolerance=1e-06)); end SolarThermalBuildings; diff --git a/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo b/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo index 2b6d8289..79c43a96 100644 --- a/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo +++ b/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo @@ -4,4 +4,8 @@ model Example "Simple example" BESMod.Examples.BAUSimStudy.Buildings.Case_2_retrofit oneZoneParam( heaLoadFacOut=200, heaLoadFacGrd=100)), userProfiles(dTSetBack=3)); extends Modelica.Icons.Example; + annotation ( + experiment(stopTime=172800 + Interval=600 + Tolerance=1e-06)); end Example; diff --git a/BESMod/Examples/TEASERHeatLoadCalculation/PartialCalculation.mo b/BESMod/Examples/TEASERHeatLoadCalculation/PartialCalculation.mo index 4b75df5a..dee81429 100644 --- a/BESMod/Examples/TEASERHeatLoadCalculation/PartialCalculation.mo +++ b/BESMod/Examples/TEASERHeatLoadCalculation/PartialCalculation.mo @@ -26,15 +26,9 @@ model PartialCalculation "Partial model with common interfaces" redeclare BESMod.Systems.Demand.DHW.StandardProfiles DHW( redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum, redeclare BESMod.Systems.Demand.DHW.TappingProfiles.PassThrough calcmFlow, - redeclare BESMod.Systems.Demand.DHW.RecordsCollection.NoDHW DHWProfile), redeclare BESMod.Systems.Demand.Building.TEASERThermalZone building, redeclare BESMod.Systems.RecordsCollection.ParameterStudy.NoStudy parameterStudy); - annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram( - coordinateSystem(preserveAspectRatio=false)), - experiment( - StopTime=172800, - Interval=3600, - __Dymola_Algorithm="Dassl")); + end PartialCalculation; diff --git a/BESMod/unitTests-dymola.log b/BESMod/unitTests-dymola.log deleted file mode 100644 index 76bf9c21..00000000 --- a/BESMod/unitTests-dymola.log +++ /dev/null @@ -1,296 +0,0 @@ -Regression tests are only run for the following package: - BESMod.Examples.TEASERHeatLoadCalculation -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -Regression tests are only run for the following package: - BESMod.Examples.DesignOptimization -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.SolarThermalSystem -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -Regression tests are only run for the following package: - BESMod.Examples.BAUSimStudy -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HeatPumpAndBoiler -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HighOrderModel -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -Regression tests are only run for the following package: - BESMod.Examples.TEASERHeatLoadCalculation -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -Regression tests are only run for the following package: - BESMod.Examples.DesignOptimization -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.SolarThermalSystem -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -Regression tests are only run for the following package: - BESMod.Examples.BAUSimStudy -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HeatPumpAndBoiler -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HighOrderModel -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -Regression tests are only run for the following package: - BESMod.Examples.TEASERHeatLoadCalculation -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -Regression tests are only run for the following package: - BESMod.Examples.DesignOptimization -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.SolarThermalSystem -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -Regression tests are only run for the following package: - BESMod.Examples.BAUSimStudy -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HeatPumpAndBoiler -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HighOrderModel -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -Regression tests are only run for the following package: - BESMod.Examples.TEASERHeatLoadCalculation -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -Regression tests are only run for the following package: - BESMod.Examples.DesignOptimization -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.SolarThermalSystem -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -Regression tests are only run for the following package: - BESMod.Examples.BAUSimStudy -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HeatPumpAndBoiler -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HighOrderModel -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -Regression tests are only run for the following package: - BESMod.Examples.TEASERHeatLoadCalculation -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -Regression tests are only run for the following package: - BESMod.Examples.DesignOptimization -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.SolarThermalSystem -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -Regression tests are only run for the following package: - BESMod.Examples.BAUSimStudy -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HeatPumpAndBoiler -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HighOrderModel -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -Regression tests are only run for the following package: - BESMod.Examples.TEASERHeatLoadCalculation -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -Regression tests are only run for the following package: - BESMod.Examples.DesignOptimization -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.SolarThermalSystem -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -Regression tests are only run for the following package: - BESMod.Examples.BAUSimStudy -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HeatPumpAndBoiler -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HighOrderModel -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -Regression tests are only run for the following package: - BESMod.Examples.TEASERHeatLoadCalculation -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -Regression tests are only run for the following package: - BESMod.Examples.DesignOptimization -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.SolarThermalSystem -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -Regression tests are only run for the following package: - BESMod.Examples.BAUSimStudy -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HeatPumpAndBoiler -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HighOrderModel -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -Regression tests are only run for the following package: - BESMod.Examples.TEASERHeatLoadCalculation -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -Regression tests are only run for the following package: - BESMod.Examples.DesignOptimization -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.SolarThermalSystem -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -Regression tests are only run for the following package: - BESMod.Examples.BAUSimStudy -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/GasBoilerBuildingOnly.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BES.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/DesignOptimization/BESNoDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/TEASERHeatLoadCalculation/Example.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/BAUSimStudy/Case1Standard.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HeatPumpAndBoiler -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Serial.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/Parallel.mo'. -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo'. -Regression tests are only run for the following package: - BESMod.Examples.HighOrderModel -*** Error: Failed to find Tolerance in '/builds/EBC/EBC_all/github_ci/BESMod/BESMod/../BESMod/Examples/HighOrderModel/BES_HOM.mo'. From d1cf597d88dc95b326a937c59ec44af98945f3ff Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Fri, 28 Jun 2024 07:39:02 +0200 Subject: [PATCH 108/125] fix Tolerance --- BESMod/Examples/BAUSimStudy/Case1Standard.mo | 7 +++---- BESMod/Examples/DesignOptimization/BES.mo | 7 +++---- BESMod/Examples/DesignOptimization/BESNoDHW.mo | 7 +++---- BESMod/Examples/GasBoilerBuildingOnly.mo | 7 +++---- BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo | 7 +++---- BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo | 7 +++---- BESMod/Examples/HeatPumpAndBoiler/Parallel.mo | 7 +++---- BESMod/Examples/HeatPumpAndBoiler/Serial.mo | 7 +++---- BESMod/Examples/HighOrderModel/BES_HOM.mo | 7 +++---- .../ModelicaConferencePaper/BuildingsLibraryRoom.mo | 7 +++---- BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo | 7 +++---- BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo | 6 ++++-- .../Examples/SolarThermalSystem/SolarThermalBuildings.mo | 6 ++++-- BESMod/Examples/TEASERHeatLoadCalculation/Example.mo | 6 ++++-- 14 files changed, 45 insertions(+), 50 deletions(-) diff --git a/BESMod/Examples/BAUSimStudy/Case1Standard.mo b/BESMod/Examples/BAUSimStudy/Case1Standard.mo index d3f07a59..0e2a8869 100644 --- a/BESMod/Examples/BAUSimStudy/Case1Standard.mo +++ b/BESMod/Examples/BAUSimStudy/Case1Standard.mo @@ -5,10 +5,9 @@ model Case1Standard systemParameters(QBui_flow_nominal={16308.1}, TOda_nominal=263.15, THydSup_nominal={328.15})); extends Modelica.Icons.Example; - annotation (experiment( - StopTime=86400, - Interval=600, - __Dymola_Algorithm="Dassl"), + annotation (experiment(StopTime=172800 + Interval=600 + Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/BAUSimStudy/Case1Standard.mos" "Simulate and plot")); end Case1Standard; diff --git a/BESMod/Examples/DesignOptimization/BES.mo b/BESMod/Examples/DesignOptimization/BES.mo index 096ab69d..f550576f 100644 --- a/BESMod/Examples/DesignOptimization/BES.mo +++ b/BESMod/Examples/DesignOptimization/BES.mo @@ -111,10 +111,9 @@ model BES extends Modelica.Icons.Example; - annotation (experiment( - StopTime=172800, - Interval=600, - __Dymola_Algorithm="Dassl"), + annotation (experiment(StopTime=172800 + Interval=600 + Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BES.mos" "Simulate and plot")); end BES; diff --git a/BESMod/Examples/DesignOptimization/BESNoDHW.mo b/BESMod/Examples/DesignOptimization/BESNoDHW.mo index 94595336..35193903 100644 --- a/BESMod/Examples/DesignOptimization/BESNoDHW.mo +++ b/BESMod/Examples/DesignOptimization/BESNoDHW.mo @@ -100,10 +100,9 @@ model BESNoDHW "Example to demonstrate usage without DHW" extends Modelica.Icons.Example; - annotation (experiment( - StopTime=172800, - Interval=599.999616, - __Dymola_Algorithm="Dassl"), + annotation (experiment(StopTime=172800 + Interval=600 + Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BESNoDHW.mos" "Simulate and plot")); end BESNoDHW; diff --git a/BESMod/Examples/GasBoilerBuildingOnly.mo b/BESMod/Examples/GasBoilerBuildingOnly.mo index 2fd79215..1f3eff31 100644 --- a/BESMod/Examples/GasBoilerBuildingOnly.mo +++ b/BESMod/Examples/GasBoilerBuildingOnly.mo @@ -54,10 +54,9 @@ model GasBoilerBuildingOnly extends Modelica.Icons.Example; - annotation (experiment( - StopTime=172800, - Interval=900.00288, - __Dymola_Algorithm="Dassl"), + annotation (experiment(StopTime=172800 + Interval=600 + Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/GasBoilerBuildingOnly.mos" "Simulate and plot")); end GasBoilerBuildingOnly; diff --git a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo index 0c248af1..a0964782 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo @@ -49,10 +49,9 @@ model AfterBufferWithDHW extends Modelica.Icons.Example; - annotation (experiment( - StopTime=172800, - Interval=600, - __Dymola_Algorithm="Dassl"), + annotation (experiment(StopTime=172800 + Interval=600 + Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mos" "Simulate and plot")); end AfterBufferWithDHW; diff --git a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo index dac21dec..2be86ec8 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo @@ -43,10 +43,9 @@ model AfterBufferWithoutDHW extends Modelica.Icons.Example; - annotation (experiment( - StopTime=172800, - Interval=600, - __Dymola_Algorithm="Dassl"), + annotation (experiment(StopTime=172800 + Interval=600 + Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mos" "Simulate and plot")); end AfterBufferWithoutDHW; diff --git a/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo b/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo index 1485dbde..5a68b3ed 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo @@ -40,10 +40,9 @@ model Parallel extends Modelica.Icons.Example; - annotation (experiment( - StopTime=172800, - Interval=600, - __Dymola_Algorithm="Dassl"), + annotation (experiment(StopTime=172800 + Interval=600 + Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Parallel.mos" "Simulate and plot")); end Parallel; diff --git a/BESMod/Examples/HeatPumpAndBoiler/Serial.mo b/BESMod/Examples/HeatPumpAndBoiler/Serial.mo index 1e5a2ccf..d9db5a78 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/Serial.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/Serial.mo @@ -37,10 +37,9 @@ model Serial "Bivalent Heat Pump Systems with serial heat generation" extends Modelica.Icons.Example; - annotation (experiment( - StopTime=172800, - Interval=600, - __Dymola_Algorithm="Dassl"), + annotation (experiment(StopTime=172800 + Interval=600 + Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Serial.mos" "Simulate and plot")); end Serial; diff --git a/BESMod/Examples/HighOrderModel/BES_HOM.mo b/BESMod/Examples/HighOrderModel/BES_HOM.mo index 7b696816..ec67b770 100644 --- a/BESMod/Examples/HighOrderModel/BES_HOM.mo +++ b/BESMod/Examples/HighOrderModel/BES_HOM.mo @@ -93,10 +93,9 @@ model BES_HOM redeclare BESMod.Systems.Ventilation.NoVentilation ventilation); extends Modelica.Icons.Example; - annotation (experiment( - StopTime=172800, - Interval=600, - __Dymola_Algorithm="Dassl"), + annotation (experiment(StopTime=172800 + Interval=600 + Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HighOrderModel/BES_HOM.mos" "Simulate and plot")); end BES_HOM; diff --git a/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo b/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo index 880eb7ef..d9f1ec67 100644 --- a/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo +++ b/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo @@ -9,10 +9,9 @@ model BuildingsLibraryRoom "System using the buildings libraries room model" systemParameters(QBui_flow_nominal={2504})); extends Modelica.Icons.Example; -annotation(experiment( - StopTime=864000, - Interval=600, - Tolerance=1e-06), +annotation(experiment(StopTime=172800 + Interval=600 + Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos" "Simulate and plot"), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos" diff --git a/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo b/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo index 64766176..90fc9125 100644 --- a/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo +++ b/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo @@ -22,10 +22,9 @@ initial equation building.thermalZone[1].ROM.roofRC.thermCapExt[1].T = 293.15; -annotation(experiment( - StopTime=864000, - Interval=600, - Tolerance=1e-06), +annotation(experiment(StopTime=172800 + Interval=600 + Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos" "Simulate and plot"), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos" diff --git a/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo b/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo index a0ad1008..491be69f 100644 --- a/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo +++ b/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo @@ -28,7 +28,9 @@ model SolarThermalAixLib "Solar thermal collector from AixLib" extends Modelica.Icons.Example; annotation ( - experiment(stopTime=172800 + experiment(StopTime=172800 Interval=600 - Tolerance=1e-06)); + Tolerance=1e-06), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalAixLib.mos" + "Simulate and plot")); end SolarThermalAixLib; diff --git a/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo b/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo index 8934644c..17825eaf 100644 --- a/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo +++ b/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo @@ -31,7 +31,9 @@ model SolarThermalBuildings extends Modelica.Icons.Example; annotation ( - experiment(stopTime=172800 + experiment(StopTime=172800 Interval=600 - Tolerance=1e-06)); + Tolerance=1e-06), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalBuildings.mos" + "Simulate and plot")); end SolarThermalBuildings; diff --git a/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo b/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo index 79c43a96..a9a2c45b 100644 --- a/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo +++ b/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo @@ -5,7 +5,9 @@ model Example "Simple example" heaLoadFacOut=200, heaLoadFacGrd=100)), userProfiles(dTSetBack=3)); extends Modelica.Icons.Example; annotation ( - experiment(stopTime=172800 + experiment(StopTime=172800 Interval=600 - Tolerance=1e-06)); + Tolerance=1e-06), + __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/TEASERHeatLoadCalculation/Example.mos" + "Simulate and plot")); end Example; From e2df44b952023174a9210e17a96a7d4e406c9efe Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Fri, 28 Jun 2024 08:21:04 +0200 Subject: [PATCH 109/125] revert existing results --- .../ModelicaConferencePaper/BuildingsLibraryRoom.mos | 12 ++++-------- .../ModelicaConferencePaper/TEASERBuilding.mos | 12 ++++-------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos b/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos index 6cd7a262..8ab1f661 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos @@ -1,8 +1,4 @@ - -simulateModel("BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="BuildingsLibraryRoom"); - -createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); -createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); -createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); -createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); - \ No newline at end of file +simulateModel("BESMod.Examples.ModelicaConferencePaper.BuildingsLibraryRoom", stopTime=864000, method="dassl", tolerance=1e-06, resultFile="BuildingsLibraryRoom"); +createPlot(id=2, position={75, 70, 1210, 240}, y={"electrical.distribution.batterySimple.PLoad","electrical.distribution.batterySimple.PCharge"}, grid=true, subPlot=1, colors={{28,108,200},{238,46,47}}); +createPlot(id=2, position={75, 70, 1210, 240}, y={"hydraulic.distribution.sigBusDistr.TStoDHWTopMea","hydraulic.distribution.sigBusDistr.TStoBufTopMea","hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{28,108,200},{238,46,47},{0,140,72}}); +createPlot(id=2, position={75, 70, 1210, 240}, y={"ventilation.generation.TSup.T","ventilation.generation.weaBus.TDryBul","building.buiMeaBus.TZoneMea[1]"}, grid=true, subPlot=3, colors={{28,108,200},{238,46,47},{0,140,72}}); diff --git a/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos b/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos index 644932c1..91e5b80e 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos @@ -1,8 +1,4 @@ - -simulateModel("BESMod.Examples.ModelicaConferencePaper.TEASERBuilding", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="TEASERBuilding"); - -createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); -createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); -createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); -createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); - \ No newline at end of file +simulateModel("BESMod.Examples.ModelicaConferencePaper.TEASERBuilding", stopTime=864000, method="dassl", tolerance=1e-06, resultFile="TEASERBuilding"); +createPlot(id=2, position={75, 70, 1210, 240}, y={"electrical.distribution.batterySimple.PLoad","electrical.distribution.batterySimple.PCharge"}, grid=true, subPlot=1, colors={{28,108,200},{238,46,47}}); +createPlot(id=2, position={75, 70, 1210, 240}, y={"hydraulic.distribution.sigBusDistr.TStoDHWTopMea","hydraulic.distribution.sigBusDistr.TStoBufTopMea","hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{28,108,200},{238,46,47},{0,140,72}}); +createPlot(id=2, position={75, 70, 1210, 240}, y={"ventilation.generation.TSup.T","ventilation.generation.weaBus.TDryBul","building.buiMeaBus.TZoneMea[1]"}, grid=true, subPlot=3, colors={{28,108,200},{238,46,47},{0,140,72}}); From db7f907902da8a9a627a34b2fab7b6333c232bd9 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Fri, 28 Jun 2024 08:31:49 +0200 Subject: [PATCH 110/125] fix commata --- BESMod/Examples/BAUSimStudy/Case1Standard.mo | 4 ++-- BESMod/Examples/DesignOptimization/BES.mo | 4 ++-- BESMod/Examples/DesignOptimization/BESNoDHW.mo | 4 ++-- BESMod/Examples/GasBoilerBuildingOnly.mo | 4 ++-- BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo | 4 ++-- BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo | 4 ++-- BESMod/Examples/HeatPumpAndBoiler/Parallel.mo | 4 ++-- BESMod/Examples/HeatPumpAndBoiler/Serial.mo | 4 ++-- BESMod/Examples/HighOrderModel/BES_HOM.mo | 4 ++-- .../Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo | 4 ++-- BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo | 4 ++-- BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo | 4 ++-- BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo | 4 ++-- BESMod/Examples/TEASERHeatLoadCalculation/Example.mo | 4 ++-- 14 files changed, 28 insertions(+), 28 deletions(-) diff --git a/BESMod/Examples/BAUSimStudy/Case1Standard.mo b/BESMod/Examples/BAUSimStudy/Case1Standard.mo index 0e2a8869..cb34e7c4 100644 --- a/BESMod/Examples/BAUSimStudy/Case1Standard.mo +++ b/BESMod/Examples/BAUSimStudy/Case1Standard.mo @@ -5,8 +5,8 @@ model Case1Standard systemParameters(QBui_flow_nominal={16308.1}, TOda_nominal=263.15, THydSup_nominal={328.15})); extends Modelica.Icons.Example; - annotation (experiment(StopTime=172800 - Interval=600 + annotation (experiment(StopTime=172800, + Interval=600, Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/BAUSimStudy/Case1Standard.mos" "Simulate and plot")); diff --git a/BESMod/Examples/DesignOptimization/BES.mo b/BESMod/Examples/DesignOptimization/BES.mo index f550576f..869e086d 100644 --- a/BESMod/Examples/DesignOptimization/BES.mo +++ b/BESMod/Examples/DesignOptimization/BES.mo @@ -111,8 +111,8 @@ model BES extends Modelica.Icons.Example; - annotation (experiment(StopTime=172800 - Interval=600 + annotation (experiment(StopTime=172800, + Interval=600, Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BES.mos" "Simulate and plot")); diff --git a/BESMod/Examples/DesignOptimization/BESNoDHW.mo b/BESMod/Examples/DesignOptimization/BESNoDHW.mo index 35193903..d4e5d577 100644 --- a/BESMod/Examples/DesignOptimization/BESNoDHW.mo +++ b/BESMod/Examples/DesignOptimization/BESNoDHW.mo @@ -100,8 +100,8 @@ model BESNoDHW "Example to demonstrate usage without DHW" extends Modelica.Icons.Example; - annotation (experiment(StopTime=172800 - Interval=600 + annotation (experiment(StopTime=172800, + Interval=600, Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BESNoDHW.mos" "Simulate and plot")); diff --git a/BESMod/Examples/GasBoilerBuildingOnly.mo b/BESMod/Examples/GasBoilerBuildingOnly.mo index 1f3eff31..65107551 100644 --- a/BESMod/Examples/GasBoilerBuildingOnly.mo +++ b/BESMod/Examples/GasBoilerBuildingOnly.mo @@ -54,8 +54,8 @@ model GasBoilerBuildingOnly extends Modelica.Icons.Example; - annotation (experiment(StopTime=172800 - Interval=600 + annotation (experiment(StopTime=172800, + Interval=600, Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/GasBoilerBuildingOnly.mos" "Simulate and plot")); diff --git a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo index a0964782..dea71a9f 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo @@ -49,8 +49,8 @@ model AfterBufferWithDHW extends Modelica.Icons.Example; - annotation (experiment(StopTime=172800 - Interval=600 + annotation (experiment(StopTime=172800, + Interval=600, Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mos" "Simulate and plot")); diff --git a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo index 2be86ec8..b902a1af 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo @@ -43,8 +43,8 @@ model AfterBufferWithoutDHW extends Modelica.Icons.Example; - annotation (experiment(StopTime=172800 - Interval=600 + annotation (experiment(StopTime=172800, + Interval=600, Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mos" "Simulate and plot")); diff --git a/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo b/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo index 5a68b3ed..0761e168 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo @@ -40,8 +40,8 @@ model Parallel extends Modelica.Icons.Example; - annotation (experiment(StopTime=172800 - Interval=600 + annotation (experiment(StopTime=172800, + Interval=600, Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Parallel.mos" "Simulate and plot")); diff --git a/BESMod/Examples/HeatPumpAndBoiler/Serial.mo b/BESMod/Examples/HeatPumpAndBoiler/Serial.mo index d9db5a78..844d5a27 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/Serial.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/Serial.mo @@ -37,8 +37,8 @@ model Serial "Bivalent Heat Pump Systems with serial heat generation" extends Modelica.Icons.Example; - annotation (experiment(StopTime=172800 - Interval=600 + annotation (experiment(StopTime=172800, + Interval=600, Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Serial.mos" "Simulate and plot")); diff --git a/BESMod/Examples/HighOrderModel/BES_HOM.mo b/BESMod/Examples/HighOrderModel/BES_HOM.mo index ec67b770..640ac41f 100644 --- a/BESMod/Examples/HighOrderModel/BES_HOM.mo +++ b/BESMod/Examples/HighOrderModel/BES_HOM.mo @@ -93,8 +93,8 @@ model BES_HOM redeclare BESMod.Systems.Ventilation.NoVentilation ventilation); extends Modelica.Icons.Example; - annotation (experiment(StopTime=172800 - Interval=600 + annotation (experiment(StopTime=172800, + Interval=600, Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HighOrderModel/BES_HOM.mos" "Simulate and plot")); diff --git a/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo b/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo index d9f1ec67..9d60c613 100644 --- a/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo +++ b/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo @@ -9,8 +9,8 @@ model BuildingsLibraryRoom "System using the buildings libraries room model" systemParameters(QBui_flow_nominal={2504})); extends Modelica.Icons.Example; -annotation(experiment(StopTime=172800 - Interval=600 +annotation(experiment(StopTime=172800, + Interval=600, Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos" "Simulate and plot"), diff --git a/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo b/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo index 90fc9125..f184fb4b 100644 --- a/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo +++ b/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo @@ -22,8 +22,8 @@ initial equation building.thermalZone[1].ROM.roofRC.thermCapExt[1].T = 293.15; -annotation(experiment(StopTime=172800 - Interval=600 +annotation(experiment(StopTime=172800, + Interval=600, Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos" "Simulate and plot"), diff --git a/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo b/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo index 491be69f..5b801698 100644 --- a/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo +++ b/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo @@ -28,8 +28,8 @@ model SolarThermalAixLib "Solar thermal collector from AixLib" extends Modelica.Icons.Example; annotation ( - experiment(StopTime=172800 - Interval=600 + experiment(StopTime=172800, + Interval=600, Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalAixLib.mos" "Simulate and plot")); diff --git a/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo b/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo index 17825eaf..19248618 100644 --- a/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo +++ b/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo @@ -31,8 +31,8 @@ model SolarThermalBuildings extends Modelica.Icons.Example; annotation ( - experiment(StopTime=172800 - Interval=600 + experiment(StopTime=172800, + Interval=600, Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalBuildings.mos" "Simulate and plot")); diff --git a/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo b/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo index a9a2c45b..b6ad4eb1 100644 --- a/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo +++ b/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo @@ -5,8 +5,8 @@ model Example "Simple example" heaLoadFacOut=200, heaLoadFacGrd=100)), userProfiles(dTSetBack=3)); extends Modelica.Icons.Example; annotation ( - experiment(StopTime=172800 - Interval=600 + experiment(StopTime=172800, + Interval=600, Tolerance=1e-06), __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/TEASERHeatLoadCalculation/Example.mos" "Simulate and plot")); From 6513bd964439ee133b4a3198365b1a658c165f4c Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Fri, 28 Jun 2024 09:48:02 +0200 Subject: [PATCH 111/125] merge main and fix scripts and initial conditions --- BESMod/Examples/BAUSimStudy/PartialCase.mo | 3 ++- BESMod/Examples/DesignOptimization/BES.mo | 3 ++- BESMod/Examples/DesignOptimization/BESNoDHW.mo | 3 ++- BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo | 8 ++------ BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo | 5 ----- .../Examples/SolarThermalSystem/PartialSolarThermalHPS.mo | 3 ++- BESMod/Examples/TEASERHeatLoadCalculation/Example.mo | 4 +++- .../Scripts/Dymola/Examples/BAUSimStudy/Case1Standard.mos | 2 +- .../Scripts/Dymola/Examples/DesignOptimization/BES.mos | 2 +- .../Dymola/Examples/DesignOptimization/BESNoDHW.mos | 2 +- .../Scripts/Dymola/Examples/GasBoilerBuildingOnly.mos | 2 +- .../Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mos | 2 +- .../Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mos | 2 +- .../Dymola/Examples/HeatPumpAndBoiler/Parallel.mos | 2 +- .../Scripts/Dymola/Examples/HeatPumpAndBoiler/Serial.mos | 2 +- .../Scripts/Dymola/Examples/HighOrderModel/BES_HOM.mos | 6 ++++-- .../Examples/SolarThermalSystem/SolarThermalAixLib.mos | 2 +- .../Examples/SolarThermalSystem/SolarThermalBuildings.mos | 2 +- .../Dymola/Examples/TEASERHeatLoadCalculation/Example.mos | 7 +++---- BESMod/Systems/Demand/Building/TEASERThermalZone.mo | 2 +- BESMod/package.mo | 2 +- dependencies.json | 2 +- 22 files changed, 33 insertions(+), 35 deletions(-) diff --git a/BESMod/Examples/BAUSimStudy/PartialCase.mo b/BESMod/Examples/BAUSimStudy/PartialCase.mo index cdd95e6e..4f66c2d7 100644 --- a/BESMod/Examples/BAUSimStudy/PartialCase.mo +++ b/BESMod/Examples/BAUSimStudy/PartialCase.mo @@ -6,7 +6,8 @@ partial model PartialCase redeclare BESMod.Systems.Demand.Building.RecordsCollection.RefAachen oneZoneParam(heaLoadFacGrd=0, heaLoadFacOut=0), hBui=sum(building.zoneParam.VAir)^(1/3), - ABui=sum(building.zoneParam.VAir)^(2/3)), + ABui=sum(building.zoneParam.VAir)^(2/3), + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial), redeclare BESMod.Systems.Control.NoControl control, redeclare BESMod.Systems.Hydraulical.HydraulicSystem hydraulic( redeclare Systems.Hydraulical.Generation.HeatPumpAndElectricHeater generation( diff --git a/BESMod/Examples/DesignOptimization/BES.mo b/BESMod/Examples/DesignOptimization/BES.mo index 869e086d..f17e2eba 100644 --- a/BESMod/Examples/DesignOptimization/BES.mo +++ b/BESMod/Examples/DesignOptimization/BES.mo @@ -7,7 +7,8 @@ model BES hBui=sum(building.zoneParam.VAir)^(1/3), ARoo=sum(building.zoneParam.ARoof), redeclare BESMod.Systems.Demand.Building.RecordsCollection.RefAachen - oneZoneParam(heaLoadFacGrd=0, heaLoadFacOut=0)), + oneZoneParam(heaLoadFacGrd=0, heaLoadFacOut=0), + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial), redeclare BESMod.Systems.Control.NoControl control, redeclare BESMod.Systems.Hydraulical.HydraulicSystem hydraulic( redeclare Systems.Hydraulical.Generation.HeatPumpAndElectricHeater generation( diff --git a/BESMod/Examples/DesignOptimization/BESNoDHW.mo b/BESMod/Examples/DesignOptimization/BESNoDHW.mo index d4e5d577..4ef602af 100644 --- a/BESMod/Examples/DesignOptimization/BESNoDHW.mo +++ b/BESMod/Examples/DesignOptimization/BESNoDHW.mo @@ -7,7 +7,8 @@ model BESNoDHW "Example to demonstrate usage without DHW" hBui=sum(building.zoneParam.VAir)^(1/3), ARoo=sum(building.zoneParam.ARoof), redeclare BESMod.Systems.Demand.Building.RecordsCollection.RefAachen - oneZoneParam(heaLoadFacGrd=0, heaLoadFacOut=0)), + oneZoneParam(heaLoadFacGrd=0, heaLoadFacOut=0), + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial), redeclare BESMod.Systems.Control.NoControl control, redeclare BESMod.Systems.Hydraulical.HydraulicSystem hydraulic( redeclare Systems.Hydraulical.Generation.HeatPumpAndElectricHeater generation( diff --git a/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo b/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo index de7e8c9a..a478ebd5 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo @@ -8,7 +8,8 @@ package BaseClasses "Contains partial example case" ABui=sum(building.zoneParam.VAir)^(2/3), hBui=sum(building.zoneParam.VAir)^(1/3), redeclare BESMod.Systems.Demand.Building.RecordsCollection.RefAachen - oneZoneParam(heaLoadFacGrd=0, heaLoadFacOut=0)), + oneZoneParam(heaLoadFacGrd=0, heaLoadFacOut=0), + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial), redeclare BESMod.Systems.Control.NoControl control, redeclare BESMod.Systems.Hydraulical.HydraulicSystem hydraulic(redeclare Systems.Hydraulical.Control.HybridHeatPumpSystem control( @@ -18,16 +19,12 @@ package BaseClasses "Contains partial example case" dTHysBui=5, dTHysDHW=5, meaValPriGen=BESMod.Systems.Hydraulical.Control.Components.BaseClasses.MeasuredValue.GenerationSupplyTemperature, - redeclare model DHWHysteresis = BESMod.Systems.Hydraulical.Control.Components.BivalentOnOffControllers.TimeBasedElectricHeater, - redeclare model BuildingHysteresis = BESMod.Systems.Hydraulical.Control.Components.BivalentOnOffControllers.TimeBasedElectricHeater, - redeclare model DHWSetTemperature = BESMod.Systems.Hydraulical.Control.Components.DHWSetControl.ConstTSet_DHW, - redeclare BESMod.Systems.Hydraulical.Control.RecordsCollection.BasicHeatPumpPI parPIDHeaPum, @@ -50,7 +47,6 @@ package BaseClasses "Contains partial example case" parTra)), redeclare Systems.Demand.DHW.StandardProfiles DHW( redeclare BESMod.Systems.Demand.DHW.RecordsCollection.ProfileM DHWProfile, - redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum, redeclare BESMod.Systems.Demand.DHW.TappingProfiles.calcmFlowEquStatic calcmFlow), diff --git a/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo b/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo index f184fb4b..0da3e488 100644 --- a/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo +++ b/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo @@ -15,11 +15,6 @@ model TEASERBuilding userProfiles, systemParameters(use_hydraulic=true, use_ventilation=true)); extends Modelica.Icons.Example; -initial equation - building.thermalZone[1].ROM.extWallRC.thermCapExt[1].T = 293.15; - building.thermalZone[1].ROM.floorRC.thermCapExt[1].T = 293.15; - building.thermalZone[1].ROM.intWallRC.thermCapInt[1].T = 293.15; - building.thermalZone[1].ROM.roofRC.thermCapExt[1].T = 293.15; annotation(experiment(StopTime=172800, diff --git a/BESMod/Examples/SolarThermalSystem/PartialSolarThermalHPS.mo b/BESMod/Examples/SolarThermalSystem/PartialSolarThermalHPS.mo index a2806d0b..7cafb00a 100644 --- a/BESMod/Examples/SolarThermalSystem/PartialSolarThermalHPS.mo +++ b/BESMod/Examples/SolarThermalSystem/PartialSolarThermalHPS.mo @@ -7,7 +7,8 @@ partial model PartialSolarThermalHPS hBui=sum(building.zoneParam.VAir)^(1/3), ABui=sum(building.zoneParam.VAir)^(2/3), redeclare BESMod.Systems.Demand.Building.RecordsCollection.RefAachen - oneZoneParam(heaLoadFacGrd=0, heaLoadFacOut=0)), + oneZoneParam(heaLoadFacGrd=0, heaLoadFacOut=0), + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial), redeclare BESMod.Systems.Control.NoControl control, redeclare BESMod.Systems.Hydraulical.HydraulicSystem hydraulic( redeclare hydGeneration generation, diff --git a/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo b/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo index b6ad4eb1..64374e70 100644 --- a/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo +++ b/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo @@ -2,8 +2,10 @@ within BESMod.Examples.TEASERHeatLoadCalculation; model Example "Simple example" extends PartialCalculation(building(redeclare BESMod.Examples.BAUSimStudy.Buildings.Case_2_retrofit oneZoneParam( - heaLoadFacOut=200, heaLoadFacGrd=100)), userProfiles(dTSetBack=3)); + heaLoadFacOut=200, heaLoadFacGrd=100), energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial), + userProfiles(dTSetBack=3)); extends Modelica.Icons.Example; + annotation ( experiment(StopTime=172800, Interval=600, diff --git a/BESMod/Resources/Scripts/Dymola/Examples/BAUSimStudy/Case1Standard.mos b/BESMod/Resources/Scripts/Dymola/Examples/BAUSimStudy/Case1Standard.mos index c4245444..f51fde0d 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/BAUSimStudy/Case1Standard.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/BAUSimStudy/Case1Standard.mos @@ -1,7 +1,7 @@ simulateModel("BESMod.Examples.BAUSimStudy.Case1Standard", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="Case1Standard"); -createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={75, 70, 1210, 600}, y={"weaDat.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); diff --git a/BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BES.mos b/BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BES.mos index b7287abf..02e470e4 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BES.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BES.mos @@ -1,7 +1,7 @@ simulateModel("BESMod.Examples.DesignOptimization.BES", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="BES"); -createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={75, 70, 1210, 600}, y={"weaDat.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); diff --git a/BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BESNoDHW.mos b/BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BESNoDHW.mos index 8e94b300..f988bb5f 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BESNoDHW.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BESNoDHW.mos @@ -1,7 +1,7 @@ simulateModel("BESMod.Examples.DesignOptimization.BESNoDHW", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="BESNoDHW"); -createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={75, 70, 1210, 600}, y={"weaDat.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); diff --git a/BESMod/Resources/Scripts/Dymola/Examples/GasBoilerBuildingOnly.mos b/BESMod/Resources/Scripts/Dymola/Examples/GasBoilerBuildingOnly.mos index cd961fff..2347ddaa 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/GasBoilerBuildingOnly.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/GasBoilerBuildingOnly.mos @@ -1,7 +1,7 @@ simulateModel("BESMod.Examples.GasBoilerBuildingOnly", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="GasBoilerBuildingOnly"); -createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={75, 70, 1210, 600}, y={"weaDat.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); createPlot(id=1, y={"hydraulic.generation.sigBusGen.TBoiOut"}, grid=true, subPlot=2, colors={{238,46,47}}); createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); diff --git a/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mos b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mos index 9c5adf75..fb4a1118 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mos @@ -1,7 +1,7 @@ simulateModel("BESMod.Examples.HeatPumpAndBoiler.AfterBufferWithDHW", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="AfterBufferWithDHW"); -createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={75, 70, 1210, 600}, y={"weaDat.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); diff --git a/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mos b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mos index 2c2c14f9..3f370133 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mos @@ -1,7 +1,7 @@ simulateModel("BESMod.Examples.HeatPumpAndBoiler.AfterBufferWithoutDHW", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="AfterBufferWithoutDHW"); -createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={75, 70, 1210, 600}, y={"weaDat.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); diff --git a/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Parallel.mos b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Parallel.mos index 6f83a176..482a52ca 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Parallel.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Parallel.mos @@ -1,7 +1,7 @@ simulateModel("BESMod.Examples.HeatPumpAndBoiler.Parallel", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="Parallel"); -createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={75, 70, 1210, 600}, y={"weaDat.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); diff --git a/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Serial.mos b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Serial.mos index d7e72ffe..2a3cd2d0 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Serial.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Serial.mos @@ -1,7 +1,7 @@ simulateModel("BESMod.Examples.HeatPumpAndBoiler.Serial", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="Serial"); -createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={75, 70, 1210, 600}, y={"weaDat.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); diff --git a/BESMod/Resources/Scripts/Dymola/Examples/HighOrderModel/BES_HOM.mos b/BESMod/Resources/Scripts/Dymola/Examples/HighOrderModel/BES_HOM.mos index 4cd9158d..5546cd1d 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/HighOrderModel/BES_HOM.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/HighOrderModel/BES_HOM.mos @@ -1,6 +1,8 @@ + simulateModel("BESMod.Examples.HighOrderModel.BES_HOM", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="BES_HOM"); -createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={75, 70, 1210, 600}, y={"weaDat.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); createPlot(id=1, y={"hydraulic.control.buiMeaBus.TZoneMea[1]", "hydraulic.control.buiMeaBus.TZoneMea[10]"}, grid=true, subPlot=3, colors={{28,108,200},{238,46,47}}); -createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); \ No newline at end of file +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); + \ No newline at end of file diff --git a/BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalAixLib.mos b/BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalAixLib.mos index 0b74c3f9..4d067c52 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalAixLib.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalAixLib.mos @@ -1,7 +1,7 @@ simulateModel("BESMod.Examples.SolarThermalSystem.SolarThermalAixLib", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="SolarThermalAixLib"); -createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={75, 70, 1210, 600}, y={"weaDat.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); diff --git a/BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalBuildings.mos b/BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalBuildings.mos index 3fab392a..11ef3f54 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalBuildings.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalBuildings.mos @@ -1,7 +1,7 @@ simulateModel("BESMod.Examples.SolarThermalSystem.SolarThermalBuildings", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="SolarThermalBuildings"); -createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, position={75, 70, 1210, 600}, y={"weaDat.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); diff --git a/BESMod/Resources/Scripts/Dymola/Examples/TEASERHeatLoadCalculation/Example.mos b/BESMod/Resources/Scripts/Dymola/Examples/TEASERHeatLoadCalculation/Example.mos index 58f241cd..48ddca91 100644 --- a/BESMod/Resources/Scripts/Dymola/Examples/TEASERHeatLoadCalculation/Example.mos +++ b/BESMod/Resources/Scripts/Dymola/Examples/TEASERHeatLoadCalculation/Example.mos @@ -1,8 +1,7 @@ simulateModel("BESMod.Examples.TEASERHeatLoadCalculation.Example", stopTime=172800, method="dassl", tolerance=1e-06, resultFile="Example"); -createPlot(id=1, position={75, 70, 1210, 600}, y={"hydraulic.generation.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); -createPlot(id=1, y={"hydraulic.generation.sigBusGen.TGenOutMea"}, grid=true, subPlot=2, colors={{238,46,47}}); -createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=3, colors={{0,140,72}}); -createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=4, colors={{28,108,200},{238,46,47}}); +createPlot(id=1, position={75, 70, 1210, 600}, y={"weaDat.weaBus.TDryBul"}, grid=true, subPlot=1, colors={{28,108,200}}); +createPlot(id=1, y={"outputs.building.TZone[1]"}, grid=true, subPlot=2, colors={{0,140,72}}); +createPlot(id=1, y={"electricalGrid.PElecGen","electricalGrid.PElecLoa"}, grid=true, subPlot=3, colors={{28,108,200},{238,46,47}}); \ No newline at end of file diff --git a/BESMod/Systems/Demand/Building/TEASERThermalZone.mo b/BESMod/Systems/Demand/Building/TEASERThermalZone.mo index 4109dc19..42617a44 100644 --- a/BESMod/Systems/Demand/Building/TEASERThermalZone.mo +++ b/BESMod/Systems/Demand/Building/TEASERThermalZone.mo @@ -18,7 +18,7 @@ model TEASERThermalZone parameter Modelica.Units.SI.TemperatureDifference dTComfort=2 "Temperature difference to room set temperature at which the comfort is still acceptable. In DIN EN 15251, all temperatures below 22 °C - 2 K count as discomfort. Hence the default value. If your room set temperature is lower, consider using smaller values."; - parameter Modelica.Fluid.Types.Dynamics energyDynamics=Modelica.Fluid.Types.Dynamics.DynamicFreeInitial + parameter Modelica.Fluid.Types.Dynamics energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial "Type of energy balance: dynamic (3 initialization options) or steady state" annotation (Dialog(tab="Dynamics")); parameter Modelica.Units.SI.Temperature T_start=293.15 diff --git a/BESMod/package.mo b/BESMod/package.mo index 4fdfdccd..8b44b78b 100644 --- a/BESMod/package.mo +++ b/BESMod/package.mo @@ -7,7 +7,7 @@ package BESMod uses( Modelica(version="4.0.0"), SDF(version="0.4.2"), - AixLib(version="1.3.2"), + AixLib(version="1.4.0"), IBPSA(version="4.0.0")), conversion( from( diff --git a/dependencies.json b/dependencies.json index 021b5117..c7427336 100644 --- a/dependencies.json +++ b/dependencies.json @@ -10,7 +10,7 @@ "optional": { "AixLib": { "url": "https://github.com/RWTH-EBC/AixLib", - "commit": "07a4c9b0e0766b5259e2a2caa660d4ab551adab4", + "commit": "c32721d85b83a6952eb70c80af24fc19d347dc64", "default_branch": "development", "mo": "AixLib//package.mo" }, From d9928fc311fab6cb2adafe5cbdd4980f6687e949 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Fri, 28 Jun 2024 09:58:16 +0200 Subject: [PATCH 112/125] fix pages --- ci-tests/config/templates_generator_config.toml | 2 +- .../deploy/ci_pr_interact_comment_file.gitlab-ci.yml | 4 ++-- .../scripts/unit_tests/regression_test.gitlab-ci.yml | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ci-tests/config/templates_generator_config.toml b/ci-tests/config/templates_generator_config.toml index d2059ddb..9b2f05e5 100644 --- a/ci-tests/config/templates_generator_config.toml +++ b/ci-tests/config/templates_generator_config.toml @@ -1,6 +1,6 @@ dymola_image = "registry.git.rwth-aachen.de/ebc/ebc_intern/dymola-docker:Dymola_2022-miniconda" open_modelica_image = "registry.git.rwth-aachen.de/ebc/ebc_intern/openmodelica-docker:main" -page = "https://rwth-ebc.github.io/BESMod/main/docs" +page = "https://rwth-ebc.github.io/BESMod" github_repository = "RWTH-EBC/BESMod" stage_list = [ "html", "style", "check", "simulate", "regression",] library = "BESMod" diff --git a/ci-tests/scripts/deploy/ci_pr_interact_comment_file.gitlab-ci.yml b/ci-tests/scripts/deploy/ci_pr_interact_comment_file.gitlab-ci.yml index 965d5c88..e09f7b85 100644 --- a/ci-tests/scripts/deploy/ci_pr_interact_comment_file.gitlab-ci.yml +++ b/ci-tests/scripts/deploy/ci_pr_interact_comment_file.gitlab-ci.yml @@ -1,7 +1,7 @@ # Variables # ci_stage_post_pr : post_initial_pr_comment # modelicapyci_api_github_module: ModelicaPyCI.api_script.api_github -# arg: --post-initial-pr-comment --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_BRANCH --library BESMod --github-repository RWTH-EBC/BESMod +# arg: --post-initial-pr-comment --page https://rwth-ebc.github.io/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_BRANCH --library BESMod --github-repository RWTH-EBC/BESMod include: 'ci-tests/scripts/utilities.yml' @@ -14,7 +14,7 @@ post_ci_comment: - !reference [.github_ssh_auth, script] - !reference [.activate_python_and_install_requirements, script] script: - - python -m ModelicaPyCI.api_script.api_github --post-initial-pr-comment --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_BRANCH --library BESMod --github-repository RWTH-EBC/BESMod + - python -m ModelicaPyCI.api_script.api_github --post-initial-pr-comment --page https://rwth-ebc.github.io/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_BRANCH --library BESMod --github-repository RWTH-EBC/BESMod rules: - if: $CI_PIPELINE_SOURCE == "external_pull_request_event" when: always diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 398ec178..57426b0d 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -15,8 +15,8 @@ # arg_chart: --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems # packages_per_job: {'Examples': 'Examples', 'Systems': 'Systems', 'Other': 'Tutorial Utilities'} # modelicapyci_api_github_module: ModelicaPyCI.api_script.api_github -# api_github_create_ref_arg: --post-pr-comment-flag --show-plot-flag --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod -# api_github_arg: --post-pr-comment-flag --prepare-plot-flag --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod +# api_github_create_ref_arg: --post-pr-comment-flag --show-plot-flag --page https://rwth-ebc.github.io/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod +# api_github_arg: --post-pr-comment-flag --prepare-plot-flag --page https://rwth-ebc.github.io/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod # library: BESMod # xvfb_flag: xvfb-run -n 77 # modelicapyci_structure_module: ModelicaPyCI.structure.config_structure @@ -51,7 +51,7 @@ stages: fi - !reference [.activate_python_and_install_requirements, script] - python -m ModelicaPyCI.converter.google_charts --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems - - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod + - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --page https://rwth-ebc.github.io/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod - exit 1 artifacts: when: on_failure @@ -78,7 +78,7 @@ stages: fi - !reference [.activate_python_and_install_requirements, script] - python -m ModelicaPyCI.converter.google_charts --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems - - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod + - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --page https://rwth-ebc.github.io/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod - exit 1 artifacts: when: on_failure @@ -178,7 +178,7 @@ RegressionTest_Check_References: - echo $files_to_push > ci-tests/Configfiles/ci_new_created_reference.txt - message="CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results $GITLAB_Page/$CI_COMMIT_REF_NAME/charts/" - python -m ModelicaPyCI.converter.google_charts --new-ref-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems - - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --show-plot-flag --page https://rwth-ebc.github.io/BESMod/main/docs --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod + - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --show-plot-flag --page https://rwth-ebc.github.io/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod - !reference [.git_push, script] - exit 1 ; From 2266fc62f868362e6bfa980110f8e6802952e4d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Fri, 28 Jun 2024 08:27:35 +0000 Subject: [PATCH 113/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results /62-update-ci-templates/charts/ --- ...Mod_Examples_BAUSimStudy_Case1Standard.txt | 20 ++++++++++++++++++ ...BESMod_Examples_DesignOptimization_BES.txt | 20 ++++++++++++++++++ ...d_Examples_DesignOptimization_BESNoDHW.txt | 20 ++++++++++++++++++ .../BESMod_Examples_GasBoilerBuildingOnly.txt | 20 ++++++++++++++++++ ...s_HeatPumpAndBoiler_AfterBufferWithDHW.txt | 20 ++++++++++++++++++ ...eatPumpAndBoiler_AfterBufferWithoutDHW.txt | 20 ++++++++++++++++++ ...od_Examples_HeatPumpAndBoiler_Parallel.txt | 20 ++++++++++++++++++ ...SMod_Examples_HeatPumpAndBoiler_Serial.txt | 20 ++++++++++++++++++ ...BESMod_Examples_HighOrderModel_BES_HOM.txt | 21 +++++++++++++++++++ ..._SolarThermalSystem_SolarThermalAixLib.txt | 20 ++++++++++++++++++ ...larThermalSystem_SolarThermalBuildings.txt | 20 ++++++++++++++++++ ...ples_TEASERHeatLoadCalculation_Example.txt | 17 +++++++++++++++ BESMod/unitTests-dymola.log | 14 +++++++++++++ 13 files changed, 252 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_BAUSimStudy_Case1Standard.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BES.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BESNoDHW.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_GasBoilerBuildingOnly.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_AfterBufferWithDHW.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_AfterBufferWithoutDHW.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_Parallel.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_Serial.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HighOrderModel_BES_HOM.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_SolarThermalSystem_SolarThermalAixLib.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_SolarThermalSystem_SolarThermalBuildings.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_TEASERHeatLoadCalculation_Example.txt create mode 100644 BESMod/unitTests-dymola.log diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_BAUSimStudy_Case1Standard.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_BAUSimStudy_Case1Standard.txt new file mode 100644 index 00000000..8f64c127 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_BAUSimStudy_Case1Standard.txt @@ -0,0 +1,20 @@ +last-generated=2024-06-28 +statistics-initialization= +{ + "linear": "0, 0, 0, 0, 0, 0", + "nonlinear": "5, 7, 1, 2, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "1, 1, 6, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1", + "number of continuous time states": "104", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +weaDat.weaBus.TDryBul=[2.713500061035156e+02, 2.714423522949219e+02, 2.713688049316406e+02, 2.711300048828125e+02, 2.708900146484375e+02, 2.706499938964844e+02, 2.704100036621094e+02, 2.701031188964844e+02, 2.696802062988281e+02, 2.693132629394531e+02, 2.689815979003906e+02, 2.687498474121094e+02, 2.687302856445312e+02, 2.684281311035156e+02, 2.677860412597656e+02, 2.674700012207031e+02, 2.672780151367188e+02, 2.670859985351562e+02, 2.668940124511719e+02, 2.667543640136719e+02, 2.674586791992188e+02, 2.682342834472656e+02, 2.686448669433594e+02, 2.692129211425781e+02, 2.700237121582031e+02, 2.708500061035156e+02, 2.716349792480469e+02, 2.723893127441406e+02, 2.729895324707031e+02, 2.733184814453125e+02, 2.734673461914062e+02, 2.735424194335938e+02, 2.735648498535156e+02, 2.73562255859375e+02, 2.734952392578125e+02, 2.733829650878906e+02, 2.733241271972656e+02, 2.733239440917969e+02, 2.734044799804688e+02, 2.735684204101562e+02, 2.736940002441406e+02, 2.737637023925781e+02, 2.737111511230469e+02, 2.734936828613281e+02, 2.733190002441406e+02, 2.73205322265625e+02, 2.731450805664062e+02, 2.731335754394531e+02, 2.7315283203125e+02, 2.732023315429688e+02, 2.7325e+02, 2.732466735839844e+02, 2.732464294433594e+02, 2.733169860839844e+02, 2.734288940429688e+02, 2.735700073242188e+02, 2.737182312011719e+02, 2.738376770019531e+02, 2.739303588867188e+02, 2.739819946289062e+02, 2.740299987792969e+02, 2.740780029296875e+02, 2.741260070800781e+02, 2.741852416992188e+02, 2.742919921875e+02, 2.743815307617188e+02, 2.744320983886719e+02, 2.744386291503906e+02, 2.742976684570312e+02, 2.742652587890625e+02, 2.743667907714844e+02, 2.744607849121094e+02, 2.74489013671875e+02, 2.745615539550781e+02, 2.748076477050781e+02, 2.751499938964844e+02, 2.755416259765625e+02, 2.759237670898438e+02, 2.761777038574219e+02, 2.763310241699219e+02, 2.764301147460938e+02, 2.764605407714844e+02, 2.7639404296875e+02, 2.762903747558594e+02, 2.7616455078125e+02, 2.760198059082031e+02, 2.758236999511719e+02, 2.755619812011719e+02, 2.753553771972656e+02, 2.751993103027344e+02, 2.751300048828125e+02, 2.750820007324219e+02, 2.750339965820312e+02, 2.749859924316406e+02, 2.749522399902344e+02, 2.751499938964844e+02, 2.753774108886719e+02, 2.755320129394531e+02, 2.756587219238281e+02, 2.756750183105469e+02, 2.755499877929688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.3491748046875e+02, 3.117025146484375e+02, 3.2003955078125e+02, 3.160661926269531e+02, 3.157991333007812e+02, 3.217900390625e+02, 3.165887756347656e+02, 3.160388488769531e+02, 3.170673522949219e+02, 3.165102233886719e+02, 3.175675964355469e+02, 3.168063354492188e+02, 3.177531433105469e+02, 3.237828063964844e+02, 3.185469360351562e+02, 3.242951965332031e+02, 3.185414733886719e+02, 3.246577758789062e+02, 3.185420532226562e+02, 3.186630554199219e+02, 3.182372741699219e+02, 3.175739135742188e+02, 3.173452758789062e+02, 3.178413696289062e+02, 3.175972595214844e+02, 3.175349731445312e+02, 3.321705627441406e+02, 3.151083374023438e+02, 3.163138427734375e+02, 3.168260498046875e+02, 3.172643127441406e+02, 3.176151428222656e+02, 3.178878784179688e+02, 3.180792541503906e+02, 3.181939392089844e+02, 3.182578125e+02, 3.182676391601562e+02, 3.182093200683594e+02, 3.180656433105469e+02, 3.179201965332031e+02, 3.178294067382812e+02, 3.178373413085938e+02, 3.179975280761719e+02, 3.1812548828125e+02, 3.181871337890625e+02, 3.182210083007812e+02, 3.1825146484375e+02, 3.182840576171875e+02, 3.376649780273438e+02, 3.199752197265625e+02, 3.166868591308594e+02, 3.170969848632812e+02, 3.174357299804688e+02, 3.17718017578125e+02, 3.179611206054688e+02, 3.179478454589844e+02, 3.178291625976562e+02, 3.177041625976562e+02, 3.176226501464844e+02, 3.175683898925781e+02, 3.175231628417969e+02, 3.174789428710938e+02, 3.174295654296875e+02, 3.173485412597656e+02, 3.172584838867188e+02, 3.171904602050781e+02, 3.171649169921875e+02, 3.172599487304688e+02, 3.173358764648438e+02, 3.172858581542969e+02, 3.171900634765625e+02, 3.171340637207031e+02, 3.170663452148438e+02, 3.16865966796875e+02, 3.165504760742188e+02, 3.161707763671875e+02, 3.333964538574219e+02, 3.152683410644531e+02, 3.154954528808594e+02, 3.153814086914062e+02, 3.152578735351562e+02, 3.152570495605469e+02, 3.153377685546875e+02, 3.154583129882812e+02, 3.155991516113281e+02, 3.157791137695312e+02, 3.160216369628906e+02, 3.1623974609375e+02, 3.1640380859375e+02, 3.164905395507812e+02, 3.165419616699219e+02, 3.165845947265625e+02, 3.16626708984375e+02, 3.166628112792969e+02, 3.165299377441406e+02, 3.1630615234375e+02, 3.153948974609375e+02, 3.160557861328125e+02, 3.161543273925781e+02, 3.161622619628906e+02] +outputs.building.TZone[1]=[2.931499938964844e+02, 2.855846252441406e+02, 2.868638305664062e+02, 2.885064392089844e+02, 2.890126037597656e+02, 2.888433532714844e+02, 2.887399291992188e+02, 2.889256896972656e+02, 2.88768310546875e+02, 2.890914611816406e+02, 2.888852844238281e+02, 2.892231750488281e+02, 2.890071716308594e+02, 2.893941040039062e+02, 2.893530883789062e+02, 2.900553894042969e+02, 2.899274291992188e+02, 2.904108581542969e+02, 2.904541015625e+02, 2.907707824707031e+02, 2.910675964355469e+02, 2.910899047851562e+02, 2.911188659667969e+02, 2.911732788085938e+02, 2.911599426269531e+02, 2.911141052246094e+02, 2.910724792480469e+02, 2.910037231445312e+02, 2.906785888671875e+02, 2.909722290039062e+02, 2.911710510253906e+02, 2.913765258789062e+02, 2.915086364746094e+02, 2.915978698730469e+02, 2.916346435546875e+02, 2.916394653320312e+02, 2.916270141601562e+02, 2.91595947265625e+02, 2.915389709472656e+02, 2.914346923828125e+02, 2.913528747558594e+02, 2.913603515625e+02, 2.913662719726562e+02, 2.913625183105469e+02, 2.913729553222656e+02, 2.913475341796875e+02, 2.913220825195312e+02, 2.913506469726562e+02, 2.9138232421875e+02, 2.91242919921875e+02, 2.909131774902344e+02, 2.910637512207031e+02, 2.911532287597656e+02, 2.912467651367188e+02, 2.913337707519531e+02, 2.914149780273438e+02, 2.914812622070312e+02, 2.915093688964844e+02, 2.915206909179688e+02, 2.915293884277344e+02, 2.915433959960938e+02, 2.915610961914062e+02, 2.915799560546875e+02, 2.916724853515625e+02, 2.918880004882812e+02, 2.92064697265625e+02, 2.921498107910156e+02, 2.922250671386719e+02, 2.922747497558594e+02, 2.92404296875e+02, 2.92537841796875e+02, 2.926351013183594e+02, 2.927109680175781e+02, 2.927167053222656e+02, 2.926846618652344e+02, 2.926650085449219e+02, 2.926188049316406e+02, 2.925384826660156e+02, 2.923225708007812e+02, 2.924650573730469e+02, 2.92547607421875e+02, 2.925801086425781e+02, 2.925892028808594e+02, 2.926065368652344e+02, 2.926370849609375e+02, 2.926766662597656e+02, 2.927074279785156e+02, 2.927294006347656e+02, 2.927173767089844e+02, 2.926300659179688e+02, 2.92571533203125e+02, 2.925959167480469e+02, 2.926102294921875e+02, 2.926021728515625e+02, 2.92593994140625e+02, 2.925887756347656e+02, 2.925628051757812e+02, 2.922312622070312e+02, 2.924160766601562e+02, 2.925033874511719e+02, 2.925080871582031e+02] +electricalGrid.PElecGen=[0e+00, 0e+00] +electricalGrid.PElecLoa=[3.8241884765625e+03, 5.42628369140625e+03, 2.1143845703125e+04, 2.0953142578125e+04, 4.5540654296875e+03, 4.52993798828125e+03, 1.9449505859375e+04, 4.5468271484375e+03, 4.4995390625e+03, 4.53605029296875e+03, 4.4914326171875e+03, 4.5352373046875e+03, 4.49462841796875e+03, 4.52903125e+03, 2.0089693359375e+04, 4.52357958984375e+03, 2.0031419921875e+04, 4.50414794921875e+03, 1.9998697265625e+04, 4.48740869140625e+03, 4.52824169921875e+03, 4.5446025390625e+03, 4.5301396484375e+03, 4.5457890625e+03, 4.6099541015625e+03, 4.634318359375e+03, 4.6654404296875e+03, 5.390583984375e+03, 4.589375e+03, 4.6676513671875e+03, 4.7024775390625e+03, 4.73055517578125e+03, 4.751734375e+03, 4.76751806640625e+03, 4.7624970703125e+03, 4.74939990234375e+03, 4.72426123046875e+03, 4.669083984375e+03, 4.55525048828125e+03, 4.39196240234375e+03, 4.3148310546875e+03, 4.30247265625e+03, 4.40898388671875e+03, 4.68762109375e+03, 4.7708740234375e+03, 4.7694931640625e+03, 4.768830078125e+03, 4.7701396484375e+03, 4.77286572265625e+03, 5.6442890625e+03, 1.844215625e+04, 4.68537939453125e+03, 4.70843505859375e+03, 4.73075732421875e+03, 4.75186083984375e+03, 4.772138183593748e+03, 4.459993652343747e+03, 4.236755859375002e+03, 4.134638671875e+03, 4.1188310546875e+03, 4.109677734375e+03, 4.090229248046875e+03, 4.06312109375e+03, 4.0186474609375e+03, 3.9034912109375e+03, 3.806002197265625e+03, 3.76783935546875e+03, 3.770680419921875e+03, 3.898453369140626e+03, 3.894447265625001e+03, 3.740066406250001e+03, 3.62373779296875e+03, 3.59533740234375e+03, 3.552313232421875e+03, 3.3972373046875e+03, 3.205173583984375e+03, 3.028298583984375e+03, 5.67096826171875e+03, 4.028885009765625e+03, 3.339818359375e+03, 2.979287109375e+03, 2.886920166015625e+03, 2.931733154296875e+03, 2.999070068359375e+03, 3.060349365234375e+03, 3.1196142578125e+03, 3.2041982421875e+03, 3.328383056640625e+03, 3.40058544921875e+03, 3.446239501953125e+03, 3.443185546875e+03, 3.43184375e+03, 3.4357998046875e+03, 3.45126318359375e+03, 3.4611083984375e+03, 3.306343017578125e+03, 3.166990234375e+03, 4.70334716796875e+03, 4.019149658203125e+03, 3.427455322265625e+03, 3.289242919921875e+03] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BES.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BES.txt new file mode 100644 index 00000000..4740fd26 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BES.txt @@ -0,0 +1,20 @@ +last-generated=2024-06-28 +statistics-initialization= +{ + "linear": "0, 0, 0, 0, 0, 0", + "nonlinear": "5, 7, 2, 0, 0, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 6, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "71", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +weaDat.weaBus.TDryBul=[2.711499938964844e+02, 2.711964111328125e+02, 2.711585388183594e+02, 2.710329895019531e+02, 2.708773498535156e+02, 2.706598205566406e+02, 2.704615478515625e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704904479980469e+02, 2.706648559570312e+02, 2.708219909667969e+02, 2.709660034179688e+02, 2.710835876464844e+02, 2.710487060546875e+02, 2.710967712402344e+02, 2.713839721679688e+02, 2.715577392578125e+02, 2.713986511230469e+02, 2.713771667480469e+02, 2.716394348144531e+02, 2.718602600097656e+02, 2.719464111328125e+02, 2.720499877929688e+02, 2.722364196777344e+02, 2.724353637695312e+02, 2.725456237792969e+02, 2.726259155273438e+02, 2.730393371582031e+02, 2.736041564941406e+02, 2.736746826171875e+02, 2.736636657714844e+02, 2.736180114746094e+02, 2.735700073242188e+02, 2.735389404296875e+02, 2.735155944824219e+02, 2.7335400390625e+02, 2.731619873046875e+02, 2.729700012207031e+02, 2.727780151367188e+02, 2.72593994140625e+02, 2.724955749511719e+02, 2.724342651367188e+02, 2.723796081542969e+02, 2.723463134765625e+02, 2.723376770019531e+02, 2.723522033691406e+02, 2.724003295898438e+02, 2.724500122070312e+02, 2.724666442871094e+02, 2.724525451660156e+02, 2.724020690917969e+02, 2.722803344726562e+02, 2.720899963378906e+02, 2.718980102539062e+02, 2.717059936523438e+02, 2.715140075683594e+02, 2.713631591796875e+02, 2.713411865234375e+02, 2.713729858398438e+02, 2.714293518066406e+02, 2.714556884765625e+02, 2.714446716308594e+02, 2.714856872558594e+02, 2.716668701171875e+02, 2.717514038085938e+02, 2.716672058105469e+02, 2.716678771972656e+02, 2.71758056640625e+02, 2.718697814941406e+02, 2.7200390625e+02, 2.721656494140625e+02, 2.724968872070312e+02, 2.728500061035156e+02, 2.729950561523438e+02, 2.729598999023438e+02, 2.725846862792969e+02, 2.721623229980469e+02, 2.721732788085938e+02, 2.722332153320312e+02, 2.723517456054688e+02, 2.724693908691406e+02, 2.722129516601562e+02, 2.715361633300781e+02, 2.708384399414062e+02, 2.701152648925781e+02, 2.6966552734375e+02, 2.693913269042969e+02, 2.691483459472656e+02, 2.68912841796875e+02, 2.686530456542969e+02, 2.682867126464844e+02, 2.680051879882812e+02, 2.680009765625e+02, 2.679133911132812e+02, 2.676651611328125e+02, 2.674332275390625e+02, 2.672374267578125e+02, 2.670499877929688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.089076232910156e+02, 3.169495239257812e+02, 3.219161376953125e+02, 3.249026489257812e+02, 3.266355590820312e+02, 3.27593505859375e+02, 3.278528137207031e+02, 3.278289489746094e+02, 3.278041381835938e+02, 3.277965087890625e+02, 3.277693481445312e+02, 3.276161193847656e+02, 3.274413757324219e+02, 3.272929382324219e+02, 3.271624755859375e+02, 3.271659851074219e+02, 3.271468200683594e+02, 3.268902587890625e+02, 3.266611938476562e+02, 3.267593688964844e+02, 3.268376159667969e+02, 3.266110229492188e+02, 3.226101684570312e+02, 3.001297912597656e+02, 2.948038330078125e+02, 2.935419006347656e+02, 2.932428588867188e+02, 3.135012207031251e+02, 3.206600646972656e+02, 3.24946044921875e+02, 3.218986511230469e+02, 3.247018127441406e+02, 3.246372985839844e+02, 3.245201416015625e+02, 3.24520751953125e+02, 3.066996765136719e+02, 2.963600463867188e+02, 2.939105834960938e+02, 2.933302307128906e+02, 3.08512451171875e+02, 3.175434265136719e+02, 3.231567993164062e+02, 3.257969970703125e+02, 3.258958435058594e+02, 3.258184509277344e+02, 3.258081359863281e+02, 3.258136901855469e+02, 3.258027038574219e+02, 3.257575988769531e+02, 3.257024536132812e+02, 3.256784362792969e+02, 3.256885986328125e+02, 3.217752685546875e+02, 3.255701599121094e+02, 3.262801818847656e+02, 3.26346435546875e+02, 3.264708557128906e+02, 3.266512145996094e+02, 3.268197021484375e+02, 3.268676452636719e+02, 3.268406677246094e+02, 3.267803649902344e+02, 3.267439270019531e+02, 3.267572937011719e+02, 3.267332153320312e+02, 3.265611267089844e+02, 3.264396057128906e+02, 3.265016784667969e+02, 3.265342407226562e+02, 3.264591369628906e+02, 3.263708801269531e+02, 3.208191223144531e+02, 2.997053833007812e+02, 2.947031555175781e+02, 2.935180053710938e+02, 2.932371826171875e+02, 3.304022827148438e+02, 3.180043640136719e+02, 3.239790344238281e+02, 3.263262939453125e+02, 3.261858215332031e+02, 3.259291381835938e+02, 3.257424011230469e+02, 3.259342346191406e+02, 3.065678100585938e+02, 2.963289184570312e+02, 2.939031372070312e+02, 2.933284301757812e+02, 3.097637023925781e+02, 3.176265258789062e+02, 3.225140686035156e+02, 3.254706420898438e+02, 3.271752319335938e+02, 3.283543090820312e+02, 3.292207336425781e+02, 3.299148864746094e+02, 3.307439270019531e+02, 3.260239562988281e+02, 3.28939697265625e+02, 3.311073913574219e+02] +outputs.building.TZone[1]=[2.931499938964844e+02, 2.88240966796875e+02, 2.888825378417969e+02, 2.893189392089844e+02, 2.895813903808594e+02, 2.897137756347656e+02, 2.897612915039062e+02, 2.897753295898438e+02, 2.897998657226562e+02, 2.898341064453125e+02, 2.898710632324219e+02, 2.899138488769531e+02, 2.899686889648438e+02, 2.901178283691406e+02, 2.90446044921875e+02, 2.907556457519531e+02, 2.909739074707031e+02, 2.911980895996094e+02, 2.913922729492188e+02, 2.915650024414062e+02, 2.916627807617188e+02, 2.917855834960938e+02, 2.91911376953125e+02, 2.920109558105469e+02, 2.910651245117188e+02, 2.902632141113281e+02, 2.896928100585938e+02, 2.892650451660156e+02, 2.901236877441406e+02, 2.9104150390625e+02, 2.917747497558594e+02, 2.917353210449219e+02, 2.921580200195312e+02, 2.922937927246094e+02, 2.922970886230469e+02, 2.92277099609375e+02, 2.918792114257812e+02, 2.908897705078125e+02, 2.901742553710938e+02, 2.895788269042969e+02, 2.895648498535156e+02, 2.904856567382812e+02, 2.911483764648438e+02, 2.91562744140625e+02, 2.916616821289062e+02, 2.916240234375e+02, 2.915882568359375e+02, 2.916249084472656e+02, 2.916652526855469e+02, 2.916847839355469e+02, 2.916996459960938e+02, 2.917323608398438e+02, 2.91769287109375e+02, 2.914434509277344e+02, 2.916419982910156e+02, 2.918683471679688e+02, 2.919217224121094e+02, 2.919584045410156e+02, 2.9200048828125e+02, 2.92046630859375e+02, 2.920934448242188e+02, 2.921352233886719e+02, 2.9217431640625e+02, 2.922938232421875e+02, 2.925662536621094e+02, 2.928145446777344e+02, 2.92960205078125e+02, 2.930818786621094e+02, 2.931609802246094e+02, 2.932504577636719e+02, 2.933277587890625e+02, 2.935517883300781e+02, 2.937270202636719e+02, 2.931527709960938e+02, 2.92513671875e+02, 2.920469055175781e+02, 2.916471862792969e+02, 2.921080932617188e+02, 2.926215515136719e+02, 2.933125610351562e+02, 2.937021179199219e+02, 2.937301635742188e+02, 2.936549377441406e+02, 2.935611267089844e+02, 2.934732971191406e+02, 2.933281860351562e+02, 2.926453247070312e+02, 2.919722290039062e+02, 2.914166259765625e+02, 2.913510131835938e+02, 2.920394592285156e+02, 2.925964050292969e+02, 2.929566650390625e+02, 2.931495666503906e+02, 2.932438659667969e+02, 2.933135375976562e+02, 2.933468627929688e+02, 2.933924255371094e+02, 2.928781433105469e+02, 2.931250915527344e+02, 2.93308349609375e+02] +electricalGrid.PElecGen=[0e+00, 0e+00] +electricalGrid.PElecLoa=[4.1990263671875e+03, 4.4661513671875e+03, 4.8388720703125e+03, 5.11115185546875e+03, 5.26221728515625e+03, 5.33017919921875e+03, 5.36232177734375e+03, 5.0704208984375e+03, 4.96816943359375e+03, 4.95745068359375e+03, 4.95790771484375e+03, 4.9126767578125e+03, 4.75271240234375e+03, 4.649716796875e+03, 4.53889599609375e+03, 4.4406044921875e+03, 4.46455029296875e+03, 4.382242675781249e+03, 4.14623583984375e+03, 4.07030322265625e+03, 4.2204736328125e+03, 4.177609375e+03, 3.966850830078125e+03, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.677972656250003e+03, 5.1249443359375e+03, 4.90781689453125e+03, 5.23628759765625e+03, 3.952099365234375e+03, 3.341921630859375e+03, 3.31706689453125e+03, 3.345742431640625e+03, 0e+00, 0e+00, 0e+00, 0e+00, 4.54120654296875e+03, 4.9401796875e+03, 5.255119140625e+03, 4.4823759765625e+03, 3.84277197265625e+03, 3.79643701171875e+03, 3.817864013671875e+03, 3.819183349609375e+03, 3.8028818359375e+03, 3.771660400390625e+03, 3.750482666015625e+03, 3.749578369140625e+03, 3.7586826171875e+03, 5.1717685546875e+03, 5.33237060546875e+03, 4.104666015624997e+03, 3.973572021484375e+03, 4.038336669921875e+03, 4.1191884765625e+03, 4.164865234375e+03, 4.12631689453125e+03, 4.082140869140625e+03, 4.04368505859375e+03, 4.033084716796875e+03, 4.015913330078125e+03, 3.946594970703125e+03, 3.818010498046875e+03, 3.793596435546875e+03, 3.853033203125e+03, 3.800436279296876e+03, 3.692036132812501e+03, 3.52383837890625e+03, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.65759765625e+03, 4.95947314453125e+03, 5.2790380859375e+03, 3.898479248046875e+03, 3.204798828125e+03, 2.98569970703125e+03, 2.86380224609375e+03, 2.9068466796875e+03, 0e+00, 0e+00, 0e+00, 0e+00, 4.385943359375e+03, 4.78572119140625e+03, 5.0279716796875e+03, 5.15754150390625e+03, 5.206728515625e+03, 5.5066767578125e+03, 5.5530810546875e+03, 5.73770751953125e+03, 6.06149365234375e+03, 6.42652490234375e+03, 6.89448486328125e+03, 7.31361865234375e+03] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BESNoDHW.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BESNoDHW.txt new file mode 100644 index 00000000..e27a74f1 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BESNoDHW.txt @@ -0,0 +1,20 @@ +last-generated=2024-06-28 +statistics-initialization= +{ + "linear": "0, 0, 0, 0, 0, 0", + "nonlinear": "5, 7, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "6, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "54", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +weaDat.weaBus.TDryBul=[2.711499938964844e+02, 2.711964111328125e+02, 2.711585388183594e+02, 2.710329895019531e+02, 2.708773498535156e+02, 2.706598205566406e+02, 2.704615478515625e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704904479980469e+02, 2.706648559570312e+02, 2.708219909667969e+02, 2.709660034179688e+02, 2.710835876464844e+02, 2.710487060546875e+02, 2.710967712402344e+02, 2.713839721679688e+02, 2.715577392578125e+02, 2.713986511230469e+02, 2.713771667480469e+02, 2.716394348144531e+02, 2.718602600097656e+02, 2.719464111328125e+02, 2.720499877929688e+02, 2.722364196777344e+02, 2.724353637695312e+02, 2.725456237792969e+02, 2.726259155273438e+02, 2.730393371582031e+02, 2.736041564941406e+02, 2.736746826171875e+02, 2.736636657714844e+02, 2.736180114746094e+02, 2.735700073242188e+02, 2.735389404296875e+02, 2.735155944824219e+02, 2.7335400390625e+02, 2.731619873046875e+02, 2.729700012207031e+02, 2.727780151367188e+02, 2.72593994140625e+02, 2.724955749511719e+02, 2.724342651367188e+02, 2.723796081542969e+02, 2.723463134765625e+02, 2.723376770019531e+02, 2.723522033691406e+02, 2.724003295898438e+02, 2.724500122070312e+02, 2.724666442871094e+02, 2.724525451660156e+02, 2.724020690917969e+02, 2.722803344726562e+02, 2.720899963378906e+02, 2.718980102539062e+02, 2.717059936523438e+02, 2.715140075683594e+02, 2.713631591796875e+02, 2.713411865234375e+02, 2.713729858398438e+02, 2.714293518066406e+02, 2.714556884765625e+02, 2.714446716308594e+02, 2.714856872558594e+02, 2.716668701171875e+02, 2.717514038085938e+02, 2.716672058105469e+02, 2.716678771972656e+02, 2.71758056640625e+02, 2.718697814941406e+02, 2.7200390625e+02, 2.721656494140625e+02, 2.724968872070312e+02, 2.728500061035156e+02, 2.729950561523438e+02, 2.729598999023438e+02, 2.725846862792969e+02, 2.721623229980469e+02, 2.721732788085938e+02, 2.722332153320312e+02, 2.723517456054688e+02, 2.724693908691406e+02, 2.722129516601562e+02, 2.715361633300781e+02, 2.708384399414062e+02, 2.701152648925781e+02, 2.6966552734375e+02, 2.693913269042969e+02, 2.691483459472656e+02, 2.68912841796875e+02, 2.686530456542969e+02, 2.682867126464844e+02, 2.680051879882812e+02, 2.680009765625e+02, 2.679133911132812e+02, 2.676651611328125e+02, 2.674332275390625e+02, 2.672374267578125e+02, 2.670499877929688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.181809997558594e+02, 3.214120483398438e+02, 3.219838562011719e+02, 3.222320251464844e+02, 3.221575927734375e+02, 3.215950317382812e+02, 3.204244689941406e+02, 3.215842895507812e+02, 3.140051879882812e+02, 3.209786071777344e+02, 3.214479064941406e+02, 3.218185424804688e+02, 3.220513610839844e+02, 3.197554321289062e+02, 3.2209765625e+02, 3.106371765136719e+02, 3.220526123046875e+02, 3.198003234863281e+02, 3.215380249023438e+02, 3.205982666015625e+02, 3.216413879394531e+02, 3.215978393554688e+02, 3.125658264160156e+02, 2.962482604980469e+02, 2.91513671875e+02, 2.897718505859375e+02, 2.889722900390625e+02, 3.157702636718751e+02, 3.200905456542969e+02, 3.204242858886719e+02, 3.19299560546875e+02, 3.197347717285156e+02, 3.191180114746094e+02, 3.196950073242188e+02, 3.19144775390625e+02, 3.008861999511719e+02, 2.93015869140625e+02, 2.903868103027344e+02, 2.892286682128906e+02, 3.118960571289062e+02, 3.20057861328125e+02, 3.201279296875e+02, 3.210229797363281e+02, 3.203886108398438e+02, 3.205703125e+02, 3.207346801757812e+02, 3.208671875e+02, 3.209444274902344e+02, 3.208895568847656e+02, 3.2053857421875e+02, 3.205721130371094e+02, 3.111691589355469e+02, 3.205049438476562e+02, 3.207473754882812e+02, 3.210581359863281e+02, 3.21357177734375e+02, 3.215774230957031e+02, 3.215587463378906e+02, 3.209503173828125e+02, 3.116497802734375e+02, 3.213466186523438e+02, 3.215978393554688e+02, 3.21694580078125e+02, 3.218256530761719e+02, 3.218644409179688e+02, 3.216419372558594e+02, 3.2115576171875e+02, 3.216289672851562e+02, 3.212115783691406e+02, 3.21246826171875e+02, 3.213337097167969e+02, 3.083589172363281e+02, 2.959101867675781e+02, 2.922755432128906e+02, 2.9091015625e+02, 2.902741088867188e+02, 3.195098266601562e+02, 3.200276794433594e+02, 3.208768005371094e+02, 3.207658386230469e+02, 3.208036499023438e+02, 3.210698852539062e+02, 3.20493408203125e+02, 3.212366333007812e+02, 3.020293273925781e+02, 2.940986022949219e+02, 2.914515686035156e+02, 2.903196411132812e+02, 3.086323547363281e+02, 3.193287048339844e+02, 3.2092822265625e+02, 3.219940185546875e+02, 3.205160522460938e+02, 3.222931213378906e+02, 3.203992614746094e+02, 3.227786254882812e+02, 3.127685852050781e+02, 3.24493896484375e+02, 3.233690795898438e+02, 3.259590759277344e+02] +outputs.building.TZone[1]=[2.931499938964844e+02, 2.89399658203125e+02, 2.896904296875e+02, 2.896407775878906e+02, 2.895406799316406e+02, 2.893786926269531e+02, 2.891739807128906e+02, 2.889965209960938e+02, 2.889894104003906e+02, 2.89224609375e+02, 2.892580261230469e+02, 2.892771911621094e+02, 2.892989196777344e+02, 2.89396240234375e+02, 2.896872253417969e+02, 2.900824890136719e+02, 2.900416259765625e+02, 2.904906311035156e+02, 2.901819763183594e+02, 2.908061218261719e+02, 2.904888305664062e+02, 2.909843444824219e+02, 2.908443908691406e+02, 2.910745544433594e+02, 2.890510864257812e+02, 2.884255065917969e+02, 2.881337890625e+02, 2.879306335449219e+02, 2.89507568359375e+02, 2.9073486328125e+02, 2.908570251464844e+02, 2.910895385742188e+02, 2.911534118652344e+02, 2.911989440917969e+02, 2.912229309082031e+02, 2.911712036132812e+02, 2.898201293945312e+02, 2.887379455566406e+02, 2.882771606445312e+02, 2.879116516113281e+02, 2.887514038085938e+02, 2.901202087402344e+02, 2.9013818359375e+02, 2.902523803710938e+02, 2.904193725585938e+02, 2.903854064941406e+02, 2.903483581542969e+02, 2.903619079589844e+02, 2.903534240722656e+02, 2.902852478027344e+02, 2.90180419921875e+02, 2.90181396484375e+02, 2.904303894042969e+02, 2.904734191894531e+02, 2.90505126953125e+02, 2.905298767089844e+02, 2.905354919433594e+02, 2.90502685546875e+02, 2.904244079589844e+02, 2.903764038085938e+02, 2.905815734863281e+02, 2.907115478515625e+02, 2.907441101074219e+02, 2.908487243652344e+02, 2.910880737304688e+02, 2.912744445800781e+02, 2.913201599121094e+02, 2.9132666015625e+02, 2.914375915527344e+02, 2.917208557128906e+02, 2.918155822753906e+02, 2.92087646484375e+02, 2.917970581054688e+02, 2.90294677734375e+02, 2.898959045410156e+02, 2.8972314453125e+02, 2.895511169433594e+02, 2.918167419433594e+02, 2.917071838378906e+02, 2.921648864746094e+02, 2.919017028808594e+02, 2.922956848144531e+02, 2.921524658203125e+02, 2.923513793945312e+02, 2.923143005371094e+02, 2.910263366699219e+02, 2.899254760742188e+02, 2.894939880371094e+02, 2.89183349609375e+02, 2.897873229980469e+02, 2.908772888183594e+02, 2.914870910644531e+02, 2.913696594238281e+02, 2.914526977539062e+02, 2.913630981445312e+02, 2.913684997558594e+02, 2.914031982421875e+02, 2.913201904296875e+02, 2.915740661621094e+02, 2.911759948730469e+02, 2.917055053710938e+02] +electricalGrid.PElecGen=[0e+00, 0e+00] +electricalGrid.PElecLoa=[2.000002563476562e+03, 4.4956533203125e+03, 4.64370361328125e+03, 4.6172841796875e+03, 4.5508779296875e+03, 4.6024287109375e+03, 4.54384423828125e+03, 4.463165527343751e+03, 4.49003955078125e+03, 2.000697875976562e+03, 4.59700830078125e+03, 4.60431005859375e+03, 4.61189306640625e+03, 4.60846533203125e+03, 4.59421142578125e+03, 4.27705810546875e+03, 2.000697875976562e+03, 4.322369140625003e+03, 4.435619140625e+03, 4.21859033203125e+03, 4.50233740234375e+03, 4.45568212890625e+03, 4.02634228515625e+03, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, 4.268853027343755e+03, 4.077674560546875e+03, 3.193986328125e+03, 3.79921142578125e+03, 2.95192333984375e+03, 3.9696767578125e+03, 3.005419189453128e+03, 4.220366699218743e+03, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, 4.206453125e+03, 3.63873388671875e+03, 4.25239013671875e+03, 3.111376708984375e+03, 4.49914453125e+03, 4.21007666015625e+03, 3.962887451171875e+03, 3.7610078125e+03, 3.632060546875e+03, 3.651534912109375e+03, 4.0841181640625e+03, 3.88314599609375e+03, 2.000697875976562e+03, 4.298580078125e+03, 4.063146728515625e+03, 3.911463867187516e+03, 3.828374023437512e+03, 3.884133789062528e+03, 4.29118603515625e+03, 4.50774609375e+03, 2.000697875976562e+03, 4.66818603515625e+03, 4.51143212890625e+03, 4.2141484375e+03, 3.97931103515625e+03, 3.82821923828125e+03, 3.8313818359375e+03, 4.3630322265625e+03, 3.641575927734393e+03, 4.610623046874981e+03, 4.223392089843735e+03, 3.735990234375e+03, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, 3.54166748046875e+03, 4.20432958984375e+03, 3.695828857421875e+03, 4.17923046875e+03, 3.787919189453125e+03, 3.388026611328125e+03, 3.854392333984375e+03, 3.26490673828125e+03, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, 4.062532470703125e+03, 4.37282373046875e+03, 4.5347568359375e+03, 4.4977841796875e+03, 4.4950087890625e+03, 4.73747119140625e+03, 4.73537939453125e+03, 4.919125e+03, 2.847807373046875e+03, 5.78451513671875e+03, 5.9737177734375e+03, 6.48072265625e+03] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_GasBoilerBuildingOnly.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_GasBoilerBuildingOnly.txt new file mode 100644 index 00000000..014dae0d --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_GasBoilerBuildingOnly.txt @@ -0,0 +1,20 @@ +last-generated=2024-06-28 +statistics-initialization= +{ + "linear": "0, 0, 0, 0, 0", + "nonlinear": "5, 7, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "1, 6, 1, 0, 1, 0, 1, 0, 1, 1", + "number of continuous time states": "41", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +weaDat.weaBus.TDryBul=[2.713500061035156e+02, 2.714423522949219e+02, 2.713688049316406e+02, 2.711300048828125e+02, 2.708900146484375e+02, 2.706499938964844e+02, 2.704100036621094e+02, 2.701031188964844e+02, 2.696802062988281e+02, 2.693132629394531e+02, 2.689815979003906e+02, 2.687498474121094e+02, 2.687302856445312e+02, 2.684281311035156e+02, 2.677860412597656e+02, 2.674700012207031e+02, 2.672780151367188e+02, 2.670859985351562e+02, 2.668940124511719e+02, 2.667543640136719e+02, 2.674586791992188e+02, 2.682342834472656e+02, 2.686448669433594e+02, 2.692129211425781e+02, 2.700237121582031e+02, 2.708500061035156e+02, 2.716349792480469e+02, 2.723893127441406e+02, 2.729895324707031e+02, 2.733184814453125e+02, 2.734673461914062e+02, 2.735424194335938e+02, 2.735648498535156e+02, 2.73562255859375e+02, 2.734952392578125e+02, 2.733829650878906e+02, 2.733241271972656e+02, 2.733239440917969e+02, 2.734044799804688e+02, 2.735684204101562e+02, 2.736940002441406e+02, 2.737637023925781e+02, 2.737111511230469e+02, 2.734936828613281e+02, 2.733190002441406e+02, 2.73205322265625e+02, 2.731450805664062e+02, 2.731335754394531e+02, 2.7315283203125e+02, 2.732023315429688e+02, 2.7325e+02, 2.732466735839844e+02, 2.732464294433594e+02, 2.733169860839844e+02, 2.734288940429688e+02, 2.735700073242188e+02, 2.737182312011719e+02, 2.738376770019531e+02, 2.739303588867188e+02, 2.739819946289062e+02, 2.740299987792969e+02, 2.740780029296875e+02, 2.741260070800781e+02, 2.741852416992188e+02, 2.742919921875e+02, 2.743815307617188e+02, 2.744320983886719e+02, 2.744386291503906e+02, 2.742976684570312e+02, 2.742652587890625e+02, 2.743667907714844e+02, 2.744607849121094e+02, 2.74489013671875e+02, 2.745615539550781e+02, 2.748076477050781e+02, 2.751499938964844e+02, 2.755416259765625e+02, 2.759237670898438e+02, 2.761777038574219e+02, 2.763310241699219e+02, 2.764301147460938e+02, 2.764605407714844e+02, 2.7639404296875e+02, 2.762903747558594e+02, 2.7616455078125e+02, 2.760198059082031e+02, 2.758236999511719e+02, 2.755619812011719e+02, 2.753553771972656e+02, 2.751993103027344e+02, 2.751300048828125e+02, 2.750820007324219e+02, 2.750339965820312e+02, 2.749859924316406e+02, 2.749522399902344e+02, 2.751499938964844e+02, 2.753774108886719e+02, 2.755320129394531e+02, 2.756587219238281e+02, 2.756750183105469e+02, 2.755499877929688e+02] +hydraulic.generation.sigBusGen.TBoiOut=[2.931499938964844e+02, 3.135688171386719e+02, 3.202365112304688e+02, 3.246045532226562e+02, 3.265639953613281e+02, 3.269346313476562e+02, 3.272273559570312e+02, 3.275865783691406e+02, 3.280833129882812e+02, 3.285175476074219e+02, 3.289093627929688e+02, 3.29185546875e+02, 3.292109680175781e+02, 3.295597534179688e+02, 3.303141784667969e+02, 3.306959228515625e+02, 3.309231262207031e+02, 3.311487426757812e+02, 3.313746032714844e+02, 3.315420227050781e+02, 3.307281188964844e+02, 3.29808349609375e+02, 3.293170166015625e+02, 3.286499938964844e+02, 3.276954650878906e+02, 3.2672021484375e+02, 3.257929077148438e+02, 3.249019775390625e+02, 3.241908874511719e+02, 3.237990417480469e+02, 3.236222534179688e+02, 3.235337829589844e+02, 3.235072326660156e+02, 3.235101013183594e+02, 3.235878601074219e+02, 3.237200622558594e+02, 3.237909240722656e+02, 3.237921142578125e+02, 3.236983947753906e+02, 3.235054626464844e+02, 3.233558654785156e+02, 3.2327294921875e+02, 3.233326110839844e+02, 3.235870361328125e+02, 3.237953796386719e+02, 3.23930419921875e+02, 3.240023803710938e+02, 3.240166931152344e+02, 3.239943237304688e+02, 3.239360961914062e+02, 3.2387939453125e+02, 3.238822937011719e+02, 3.238832092285156e+02, 3.238013610839844e+02, 3.236698303222656e+02, 3.23503662109375e+02, 3.233285217285156e+02, 3.231869812011719e+02, 3.230770874023438e+02, 3.230156860351562e+02, 3.229592895507812e+02, 3.2290283203125e+02, 3.228462829589844e+02, 3.227771606445312e+02, 3.226528015136719e+02, 3.22546630859375e+02, 3.224857788085938e+02, 3.224768981933594e+02, 3.226408996582031e+02, 3.226833190917969e+02, 3.225658569335938e+02, 3.224540100097656e+02, 3.224194030761719e+02, 3.223346252441406e+02, 3.220469970703125e+02, 3.216441955566406e+02, 3.211830139160156e+02, 3.207315979003906e+02, 3.204310302734375e+02, 3.202507934570312e+02, 3.20136962890625e+02, 3.201005249023438e+02, 3.201744689941406e+02, 3.202945251464844e+02, 3.204415283203125e+02, 3.206117858886719e+02, 3.208399353027344e+02, 3.21147705078125e+02, 3.2138427734375e+02, 3.215681762695312e+02, 3.216567993164062e+02, 3.217160034179688e+02, 3.217725524902344e+02, 3.218287353515625e+02, 3.218690490722656e+02, 3.216398315429688e+02, 3.213709411621094e+02, 3.211878051757812e+02, 3.210378723144531e+02, 3.210162048339844e+02, 3.211617431640625e+02] +outputs.building.TZone[1]=[2.931499938964844e+02, 2.881192016601562e+02, 2.886946105957031e+02, 2.891133728027344e+02, 2.893863830566406e+02, 2.894655151367188e+02, 2.894427490234375e+02, 2.893832702636719e+02, 2.893573608398438e+02, 2.893623352050781e+02, 2.893749389648438e+02, 2.893992919921875e+02, 2.894461975097656e+02, 2.895641479492188e+02, 2.898534851074219e+02, 2.901842651367188e+02, 2.904429016113281e+02, 2.906950988769531e+02, 2.90918701171875e+02, 2.912264404296875e+02, 2.915252380371094e+02, 2.918908386230469e+02, 2.92201171875e+02, 2.922818298339844e+02, 2.921546325683594e+02, 2.921454162597656e+02, 2.920830993652344e+02, 2.91984130859375e+02, 2.920330505371094e+02, 2.921226196289062e+02, 2.922380676269531e+02, 2.923634338378906e+02, 2.924208068847656e+02, 2.924467163085938e+02, 2.924248352050781e+02, 2.923888549804688e+02, 2.923519592285156e+02, 2.923016052246094e+02, 2.922302551269531e+02, 2.921112060546875e+02, 2.920165710449219e+02, 2.920230407714844e+02, 2.920254211425781e+02, 2.920062561035156e+02, 2.919914245605469e+02, 2.919405517578125e+02, 2.918939819335938e+02, 2.919104919433594e+02, 2.919287109375e+02, 2.919258422851562e+02, 2.919183349609375e+02, 2.919274597167969e+02, 2.919427185058594e+02, 2.91961669921875e+02, 2.919792175292969e+02, 2.919950561523438e+02, 2.920090637207031e+02, 2.920211486816406e+02, 2.920333862304688e+02, 2.920458374023438e+02, 2.920605773925781e+02, 2.920761108398438e+02, 2.920918884277344e+02, 2.921880187988281e+02, 2.924333190917969e+02, 2.926493530273438e+02, 2.927654418945312e+02, 2.928688354492188e+02, 2.929411315917969e+02, 2.931249694824219e+02, 2.933370056152344e+02, 2.935135803222656e+02, 2.936620483398438e+02, 2.936881713867188e+02, 2.936364135742188e+02, 2.93610107421875e+02, 2.935646667480469e+02, 2.935097045898438e+02, 2.934701843261719e+02, 2.934329528808594e+02, 2.934086303710938e+02, 2.933533935546875e+02, 2.932774047851562e+02, 2.9322314453125e+02, 2.931900939941406e+02, 2.931734008789062e+02, 2.931552124023438e+02, 2.931420593261719e+02, 2.931044311523438e+02, 2.930535583496094e+02, 2.930401611328125e+02, 2.930755920410156e+02, 2.930923461914062e+02, 2.930883483886719e+02, 2.9308349609375e+02, 2.930841979980469e+02, 2.930783386230469e+02, 2.930850524902344e+02, 2.930903015136719e+02, 2.930743713378906e+02, 2.930587158203125e+02] +electricalGrid.PElecGen=[0e+00, 0e+00] +electricalGrid.PElecLoa=[4.432639479637146e-02, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.217138290405273e+00, 6.207793235778809e+00, 6.190108299255371e+00, 6.163281440734863e+00, 6.127903461456299e+00, 6.069961547851562e+00, 5.98074197769165e+00, 5.846057415008545e+00, 5.626513004302979e+00, 5.258453369140625e+00, 4.775506019592285e+00, 4.315811157226562e+00, 4.024718284606934e+00, 3.868175745010376e+00, 3.787058353424072e+00, 3.73271918296814e+00, 3.745315790176392e+00, 3.809149742126465e+00, 4.02750301361084e+00, 4.434386730194092e+00, 4.756626605987549e+00, 4.866801261901855e+00, 4.957830429077148e+00, 5.082311153411865e+00, 5.216246604919434e+00, 5.337132930755615e+00, 5.454156398773193e+00, 5.535310745239258e+00, 5.599663734436035e+00, 5.680179119110107e+00, 5.759285449981689e+00] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_AfterBufferWithDHW.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_AfterBufferWithDHW.txt new file mode 100644 index 00000000..b6dc61a2 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_AfterBufferWithDHW.txt @@ -0,0 +1,20 @@ +last-generated=2024-06-28 +statistics-initialization= +{ + "linear": "0, 0, 0, 0, 0, 0", + "nonlinear": "0, 0, 5, 7, 2, 2, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "1, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "144", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +weaDat.weaBus.TDryBul=[2.711499938964844e+02, 2.711964111328125e+02, 2.711585388183594e+02, 2.710329895019531e+02, 2.708773498535156e+02, 2.706598205566406e+02, 2.704615478515625e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704904479980469e+02, 2.706648559570312e+02, 2.708219909667969e+02, 2.709660034179688e+02, 2.710835876464844e+02, 2.710487060546875e+02, 2.710967712402344e+02, 2.713839721679688e+02, 2.715577392578125e+02, 2.713986511230469e+02, 2.713771667480469e+02, 2.716394348144531e+02, 2.718602600097656e+02, 2.719464111328125e+02, 2.720499877929688e+02, 2.722364196777344e+02, 2.724353637695312e+02, 2.725456237792969e+02, 2.726259155273438e+02, 2.730393371582031e+02, 2.736041564941406e+02, 2.736746826171875e+02, 2.736636657714844e+02, 2.736180114746094e+02, 2.735700073242188e+02, 2.735389404296875e+02, 2.735155944824219e+02, 2.7335400390625e+02, 2.731619873046875e+02, 2.729700012207031e+02, 2.727780151367188e+02, 2.72593994140625e+02, 2.724955749511719e+02, 2.724342651367188e+02, 2.723796081542969e+02, 2.723463134765625e+02, 2.723376770019531e+02, 2.723522033691406e+02, 2.724003295898438e+02, 2.724500122070312e+02, 2.724666442871094e+02, 2.724525451660156e+02, 2.724020690917969e+02, 2.722803344726562e+02, 2.720899963378906e+02, 2.718980102539062e+02, 2.717059936523438e+02, 2.715140075683594e+02, 2.713631591796875e+02, 2.713411865234375e+02, 2.713729858398438e+02, 2.714293518066406e+02, 2.714556884765625e+02, 2.714446716308594e+02, 2.714856872558594e+02, 2.716668701171875e+02, 2.717514038085938e+02, 2.716672058105469e+02, 2.716678771972656e+02, 2.71758056640625e+02, 2.718697814941406e+02, 2.7200390625e+02, 2.721656494140625e+02, 2.724968872070312e+02, 2.728500061035156e+02, 2.729950561523438e+02, 2.729598999023438e+02, 2.725846862792969e+02, 2.721623229980469e+02, 2.721732788085938e+02, 2.722332153320312e+02, 2.723517456054688e+02, 2.724693908691406e+02, 2.722129516601562e+02, 2.715361633300781e+02, 2.708384399414062e+02, 2.701152648925781e+02, 2.6966552734375e+02, 2.693913269042969e+02, 2.691483459472656e+02, 2.68912841796875e+02, 2.686530456542969e+02, 2.682867126464844e+02, 2.680051879882812e+02, 2.680009765625e+02, 2.679133911132812e+02, 2.676651611328125e+02, 2.674332275390625e+02, 2.672374267578125e+02, 2.670499877929688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.245394897460938e+02, 3.350957946777344e+02, 3.118304443359375e+02, 3.169837951660156e+02, 3.199172668457031e+02, 3.220625915527344e+02, 3.229765625e+02, 3.229881896972656e+02, 3.228804626464844e+02, 3.228187866210938e+02, 3.227675170898438e+02, 3.22606201171875e+02, 3.224334411621094e+02, 3.222836303710938e+02, 3.221546325683594e+02, 3.221596984863281e+02, 3.221351928710938e+02, 3.218752746582031e+02, 3.320315246582031e+02, 3.218241882324219e+02, 3.220244750976562e+02, 3.216925354003906e+02, 3.213760375976562e+02, 3.212333374023438e+02, 3.211253662109375e+02, 3.209453125e+02, 3.20735107421875e+02, 3.206016235351562e+02, 3.205196533203125e+02, 3.201492004394531e+02, 3.195509338378906e+02, 3.193973999023438e+02, 3.194029235839844e+02, 3.194559631347656e+02, 3.195106811523438e+02, 3.195487365722656e+02, 3.195699462890625e+02, 3.19716796875e+02, 3.199164428710938e+02, 3.201213684082031e+02, 3.203252258300781e+02, 3.207994079589844e+02, 3.208019104003906e+02, 3.208400573730469e+02, 3.208157043457031e+02, 3.208130187988281e+02, 3.208144226074219e+02, 3.2080126953125e+02, 3.207558898925781e+02, 3.20701416015625e+02, 3.206767883300781e+02, 3.20686279296875e+02, 3.20202392578125e+02, 3.210560607910156e+02, 3.211631469726562e+02, 3.2128857421875e+02, 3.214601745605469e+02, 3.216543579101562e+02, 3.218229064941406e+02, 3.218688659667969e+02, 3.218415832519531e+02, 3.217808837890625e+02, 3.217432250976562e+02, 3.217525329589844e+02, 3.217260131835938e+02, 3.215579223632812e+02, 3.2144091796875e+02, 3.214977111816406e+02, 3.209167175292969e+02, 3.216477966308594e+02, 3.21459716796875e+02, 3.21238037109375e+02, 3.210333862304688e+02, 3.206873474121094e+02, 3.202982788085938e+02, 3.201165161132812e+02, 3.201397705078125e+02, 3.20487548828125e+02, 3.209494323730469e+02, 3.210118103027344e+02, 3.209517822265625e+02, 3.208345031738281e+02, 3.207016296386719e+02, 3.208998413085938e+02, 3.215475463867188e+02, 3.222877807617188e+02, 3.230612487792969e+02, 3.2359619140625e+02, 3.238978576660156e+02, 3.2413134765625e+02, 3.24002685546875e+02, 3.247429504394531e+02, 3.251238098144531e+02, 3.253805236816406e+02, 3.254094543457031e+02, 3.248877868652344e+02, 3.257372436523438e+02, 3.260375061035156e+02, 3.261962280273438e+02, 3.263520202636719e+02] +outputs.building.TZone[1]=[2.931499938964844e+02, 2.873793640136719e+02, 2.870571899414062e+02, 2.885594177246094e+02, 2.886374206542969e+02, 2.888567199707031e+02, 2.890020446777344e+02, 2.891070861816406e+02, 2.891455993652344e+02, 2.891625671386719e+02, 2.891782836914062e+02, 2.892027587890625e+02, 2.892420654296875e+02, 2.893742980957031e+02, 2.896822204589844e+02, 2.899709777832031e+02, 2.901666259765625e+02, 2.903695983886719e+02, 2.905442504882812e+02, 2.905624084472656e+02, 2.906877746582031e+02, 2.908802185058594e+02, 2.909920654296875e+02, 2.910723876953125e+02, 2.910701599121094e+02, 2.910740661621094e+02, 2.910573120117188e+02, 2.910229187011719e+02, 2.911257629394531e+02, 2.912570495605469e+02, 2.914147644042969e+02, 2.915523376464844e+02, 2.9160009765625e+02, 2.916271667480469e+02, 2.916216735839844e+02, 2.915932006835938e+02, 2.915564270019531e+02, 2.915037536621094e+02, 2.914254150390625e+02, 2.913086547851562e+02, 2.912252197265625e+02, 2.912439575195312e+02, 2.907655029296875e+02, 2.912171630859375e+02, 2.912450866699219e+02, 2.9118212890625e+02, 2.91124755859375e+02, 2.911383666992188e+02, 2.9115673828125e+02, 2.911553955078125e+02, 2.911497497558594e+02, 2.911619567871094e+02, 2.911785278320312e+02, 2.909054260253906e+02, 2.911973266601562e+02, 2.912345275878906e+02, 2.912527770996094e+02, 2.912744445800781e+02, 2.912996826171875e+02, 2.913282775878906e+02, 2.913581848144531e+02, 2.913828125e+02, 2.914046630859375e+02, 2.915056762695312e+02, 2.917579040527344e+02, 2.919869079589844e+02, 2.921149597167969e+02, 2.922173461914062e+02, 2.922757873535156e+02, 2.920428466796875e+02, 2.924262390136719e+02, 2.927106628417969e+02, 2.929747619628906e+02, 2.931434631347656e+02, 2.932249145507812e+02, 2.932479553222656e+02, 2.932057495117188e+02, 2.931593322753906e+02, 2.931388549804688e+02, 2.931669616699219e+02, 2.932199096679688e+02, 2.932557373046875e+02, 2.93266357421875e+02, 2.93260009765625e+02, 2.932528381347656e+02, 2.932706909179688e+02, 2.932928161621094e+02, 2.933026123046875e+02, 2.932620849609375e+02, 2.931403198242188e+02, 2.9305859375e+02, 2.930208740234375e+02, 2.930758361816406e+02, 2.930816345214844e+02, 2.930736999511719e+02, 2.930650329589844e+02, 2.929660339355469e+02, 2.930476989746094e+02, 2.930875854492188e+02, 2.930807495117188e+02, 2.930681762695312e+02] +electricalGrid.PElecGen=[0e+00, 0e+00] +electricalGrid.PElecLoa=[4.20201708984375e+03, 5.17715478515625e+03, 5.2547802734375e+03, 4.46233740234375e+03, 4.7382666015625e+03, 4.8950302734375e+03, 5.013068359375e+03, 4.346478027343749e+03, 3.797909912109375e+03, 3.6442529296875e+03, 3.623126708984375e+03, 3.603502197265625e+03, 3.503537353515625e+03, 3.43550146484375e+03, 3.36528955078125e+03, 3.302672607421875e+03, 3.333591064453125e+03, 3.292964111328125e+03, 3.12983935546875e+03, 5.5775380859375e+03, 3.9952939453125e+03, 3.342094970703125e+03, 3.028721435546875e+03, 2.924011474609375e+03, 2.93195849609375e+03, 2.913839111328125e+03, 2.847402099609375e+03, 2.789449951171875e+03, 2.7779755859375e+03, 2.760609375e+03, 2.597910888671875e+03, 2.42890380859375e+03, 2.4930087890625e+03, 2.533532958984375e+03, 2.5557841796875e+03, 2.568972900390625e+03, 2.57265283203125e+03, 2.580077880859375e+03, 2.64726708984375e+03, 2.7123564453125e+03, 2.7665869140625e+03, 2.8186142578125e+03, 2.754705078125e+03, 3.233087890625e+03, 2.928472900390625e+03, 2.865656005859375e+03, 2.866337646484375e+03, 2.8674873046875e+03, 2.85785986328125e+03, 2.83490087890625e+03, 2.818181640625e+03, 2.82062548828125e+03, 2.833682373046875e+03, 4.39619873046875e+03, 3.193826171875e+03, 3.0231171875e+03, 3.032060546875e+03, 3.0841806640625e+03, 3.139971923828125e+03, 3.17084130859375e+03, 3.1373759765625e+03, 3.0971015625e+03, 3.06340625e+03, 3.055400390625e+03, 3.053078857421875e+03, 3.010671875e+03, 2.906221435546875e+03, 2.879251953125e+03, 2.9387548828125e+03, 4.528652832031238e+03, 3.17470727539063e+03, 2.845803955078125e+03, 2.72681201171875e+03, 2.663227294921875e+03, 2.575211669921875e+03, 2.52378564453125e+03, 2.54669677734375e+03, 2.59080810546875e+03, 2.734192626953125e+03, 2.852154541015625e+03, 2.74913427734375e+03, 2.68420361328125e+03, 2.610195068359375e+03, 2.54805615234375e+03, 2.6512978515625e+03, 2.908369140625e+03, 3.12270703125e+03, 3.314404541015625e+03, 3.340613525390625e+03, 3.34516259765625e+03, 3.42197998046875e+03, 4.721203125e+03, 4.1640517578125e+03, 3.98570849609375e+03, 3.970441650390625e+03, 3.851083740234375e+03, 5.0192958984375e+03, 4.807021484375e+03, 4.5170341796875e+03, 4.4554755859375e+03, 4.5118193359375e+03] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_AfterBufferWithoutDHW.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_AfterBufferWithoutDHW.txt new file mode 100644 index 00000000..30014a98 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_AfterBufferWithoutDHW.txt @@ -0,0 +1,20 @@ +last-generated=2024-06-28 +statistics-initialization= +{ + "linear": "0, 0, 0, 0, 0, 0", + "nonlinear": "0, 0, 5, 7, 2, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "1, 6, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "110", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +weaDat.weaBus.TDryBul=[2.711499938964844e+02, 2.711964111328125e+02, 2.711585388183594e+02, 2.710329895019531e+02, 2.708773498535156e+02, 2.706598205566406e+02, 2.704615478515625e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704904479980469e+02, 2.706648559570312e+02, 2.708219909667969e+02, 2.709660034179688e+02, 2.710835876464844e+02, 2.710487060546875e+02, 2.710967712402344e+02, 2.713839721679688e+02, 2.715577392578125e+02, 2.713986511230469e+02, 2.713771667480469e+02, 2.716394348144531e+02, 2.718602600097656e+02, 2.719464111328125e+02, 2.720499877929688e+02, 2.722364196777344e+02, 2.724353637695312e+02, 2.725456237792969e+02, 2.726259155273438e+02, 2.730393371582031e+02, 2.736041564941406e+02, 2.736746826171875e+02, 2.736636657714844e+02, 2.736180114746094e+02, 2.735700073242188e+02, 2.735389404296875e+02, 2.735155944824219e+02, 2.7335400390625e+02, 2.731619873046875e+02, 2.729700012207031e+02, 2.727780151367188e+02, 2.72593994140625e+02, 2.724955749511719e+02, 2.724342651367188e+02, 2.723796081542969e+02, 2.723463134765625e+02, 2.723376770019531e+02, 2.723522033691406e+02, 2.724003295898438e+02, 2.724500122070312e+02, 2.724666442871094e+02, 2.724525451660156e+02, 2.724020690917969e+02, 2.722803344726562e+02, 2.720899963378906e+02, 2.718980102539062e+02, 2.717059936523438e+02, 2.715140075683594e+02, 2.713631591796875e+02, 2.713411865234375e+02, 2.713729858398438e+02, 2.714293518066406e+02, 2.714556884765625e+02, 2.714446716308594e+02, 2.714856872558594e+02, 2.716668701171875e+02, 2.717514038085938e+02, 2.716672058105469e+02, 2.716678771972656e+02, 2.71758056640625e+02, 2.718697814941406e+02, 2.7200390625e+02, 2.721656494140625e+02, 2.724968872070312e+02, 2.728500061035156e+02, 2.729950561523438e+02, 2.729598999023438e+02, 2.725846862792969e+02, 2.721623229980469e+02, 2.721732788085938e+02, 2.722332153320312e+02, 2.723517456054688e+02, 2.724693908691406e+02, 2.722129516601562e+02, 2.715361633300781e+02, 2.708384399414062e+02, 2.701152648925781e+02, 2.6966552734375e+02, 2.693913269042969e+02, 2.691483459472656e+02, 2.68912841796875e+02, 2.686530456542969e+02, 2.682867126464844e+02, 2.680051879882812e+02, 2.680009765625e+02, 2.679133911132812e+02, 2.676651611328125e+02, 2.674332275390625e+02, 2.672374267578125e+02, 2.670499877929688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.017698669433594e+02, 3.120101318359375e+02, 3.182154846191406e+02, 3.221028442382812e+02, 3.227921752929688e+02, 3.228874206542969e+02, 3.22838134765625e+02, 3.228057861328125e+02, 3.227963256835938e+02, 3.227945556640625e+02, 3.227640686035156e+02, 3.226025085449219e+02, 3.224313354492188e+02, 3.222848510742188e+02, 3.2508935546875e+02, 3.221360168457031e+02, 3.222905883789062e+02, 3.219402465820312e+02, 3.216713562011719e+02, 3.21771728515625e+02, 3.218311767578125e+02, 3.215950622558594e+02, 3.213443298339844e+02, 3.212306823730469e+02, 3.211276245117188e+02, 3.209443969726562e+02, 3.207335205078125e+02, 3.20602783203125e+02, 3.205212707519531e+02, 3.199533386230469e+02, 3.196773681640625e+02, 3.194783325195312e+02, 3.194317626953125e+02, 3.194632568359375e+02, 3.1951171875e+02, 3.195483703613281e+02, 3.195700378417969e+02, 3.197206115722656e+02, 3.199207763671875e+02, 3.201242370605469e+02, 3.203298034667969e+02, 3.205249328613281e+02, 3.284526062011719e+02, 3.207954711914062e+02, 3.208837890625e+02, 3.208471069335938e+02, 3.208246154785156e+02, 3.208027038574219e+02, 3.207544555664062e+02, 3.206997985839844e+02, 3.206769409179688e+02, 3.235260925292969e+02, 3.2078369140625e+02, 3.209853820800781e+02, 3.211030883789062e+02, 3.212650756835938e+02, 3.214554138183594e+02, 3.216550903320312e+02, 3.218236389160156e+02, 3.218648681640625e+02, 3.218361511230469e+02, 3.217766723632812e+02, 3.217424926757812e+02, 3.217555236816406e+02, 3.2290380859375e+02, 3.215614013671875e+02, 3.215857849121094e+02, 3.215684509277344e+02, 3.215416259765625e+02, 3.214437561035156e+02, 3.213307495117188e+02, 3.211925354003906e+02, 3.210293884277344e+02, 3.20703369140625e+02, 3.203193359375e+02, 3.201289367675781e+02, 3.201414489746094e+02, 3.2048974609375e+02, 3.209612426757812e+02, 3.210924377441406e+02, 3.210844116210938e+02, 3.208696594238281e+02, 3.206972045898438e+02, 3.208982543945312e+02, 3.215743408203125e+02, 3.223169250488281e+02, 3.230821838378906e+02, 3.235929565429688e+02, 3.238736572265625e+02, 3.241162414550781e+02, 3.243680419921875e+02, 3.246314697265625e+02, 3.269544982910156e+02, 3.251630859375e+02, 3.25574462890625e+02, 3.255135803222656e+02, 3.256758422851562e+02, 3.259100646972656e+02, 3.261207885742188e+02, 3.263186645507812e+02] +outputs.building.TZone[1]=[2.931499938964844e+02, 2.875409240722656e+02, 2.884169311523438e+02, 2.889537658691406e+02, 2.892936706542969e+02, 2.89383056640625e+02, 2.8932470703125e+02, 2.892697448730469e+02, 2.8926708984375e+02, 2.8928369140625e+02, 2.893034973144531e+02, 2.893287963867188e+02, 2.893649597167969e+02, 2.894952392578125e+02, 2.898027954101562e+02, 2.900908508300781e+02, 2.902506103515625e+02, 2.905005187988281e+02, 2.906681823730469e+02, 2.908127136230469e+02, 2.908916320800781e+02, 2.9099658203125e+02, 2.911015625e+02, 2.911863098144531e+02, 2.911880798339844e+02, 2.911916809082031e+02, 2.911715393066406e+02, 2.911341552734375e+02, 2.912370300292969e+02, 2.913685913085938e+02, 2.914656677246094e+02, 2.916557006835938e+02, 2.917142333984375e+02, 2.917385559082031e+02, 2.917292785644531e+02, 2.916978149414062e+02, 2.9165869140625e+02, 2.916037292480469e+02, 2.915260009765625e+02, 2.914090576171875e+02, 2.91324462890625e+02, 2.913423156738281e+02, 2.913581237792969e+02, 2.913488464355469e+02, 2.913235473632812e+02, 2.912883605957031e+02, 2.91228759765625e+02, 2.912380981445312e+02, 2.912536010742188e+02, 2.9125e+02, 2.912427673339844e+02, 2.912542419433594e+02, 2.91270263671875e+02, 2.912636413574219e+02, 2.913168640136719e+02, 2.913340759277344e+02, 2.913531799316406e+02, 2.913761901855469e+02, 2.914013366699219e+02, 2.914286499023438e+02, 2.914551391601562e+02, 2.914771118164062e+02, 2.914971618652344e+02, 2.915975952148438e+02, 2.918501586914062e+02, 2.920780029296875e+02, 2.921644897460938e+02, 2.923147888183594e+02, 2.923726501464844e+02, 2.924498901367188e+02, 2.92530029296875e+02, 2.927909545898438e+02, 2.930603637695312e+02, 2.932250671386719e+02, 2.932959594726562e+02, 2.933096618652344e+02, 2.932608642578125e+02, 2.932083740234375e+02, 2.931840209960938e+02, 2.932064208984375e+02, 2.932295227050781e+02, 2.932872619628906e+02, 2.93281982421875e+02, 2.932637939453125e+02, 2.932535400390625e+02, 2.932711486816406e+02, 2.932874755859375e+02, 2.932893676757812e+02, 2.932395935058594e+02, 2.931139526367188e+02, 2.930350952148438e+02, 2.930503234863281e+02, 2.930590209960938e+02, 2.930478820800781e+02, 2.929800720214844e+02, 2.93066650390625e+02, 2.93046875e+02, 2.930501708984375e+02, 2.930636291503906e+02, 2.930587463378906e+02, 2.930518188476562e+02] +electricalGrid.PElecGen=[0e+00, 0e+00] +electricalGrid.PElecLoa=[4.20201708984375e+03, 4.4694345703125e+03, 4.46779638671875e+03, 4.81473779296875e+03, 4.97145068359375e+03, 3.8646220703125e+03, 3.660877197265625e+03, 3.5894921875e+03, 3.582838623046875e+03, 3.584656494140625e+03, 3.58557080078125e+03, 3.560153076171875e+03, 3.467745849609375e+03, 3.40613720703125e+03, 3.3313671875e+03, 5.11533056640625e+03, 3.986599853515625e+03, 3.382527832031249e+03, 3.106219970703125e+03, 3.0468984375e+03, 3.1471611328125e+03, 3.127838623046875e+03, 2.992585693359375e+03, 2.92310986328125e+03, 2.92011474609375e+03, 2.892804443359375e+03, 2.8295830078125e+03, 2.77594970703125e+03, 2.7624375e+03, 2.74096728515625e+03, 3.291457275390625e+03, 2.59470556640625e+03, 2.502244873046875e+03, 2.5092626953125e+03, 2.528447509765625e+03, 2.543251220703125e+03, 2.548436279296875e+03, 2.556084228515625e+03, 2.61471875e+03, 2.67014794921875e+03, 2.719424072265625e+03, 2.759202392578125e+03, 2.7981728515625e+03, 5.45473046875e+03, 3.21116650390625e+03, 2.896263427734375e+03, 2.835302001953125e+03, 2.827556884765625e+03, 2.819974853515625e+03, 2.8016787109375e+03, 2.7889658203125e+03, 2.7905439453125e+03, 5.1851708984375e+03, 3.308238525390625e+03, 2.95832568359375e+03, 2.930496337890625e+03, 2.97309619140625e+03, 3.024645751953125e+03, 3.074871826171875e+03, 3.103194580078125e+03, 3.080231689453125e+03, 3.05327783203125e+03, 3.028581787109375e+03, 3.021736572265625e+03, 3.0106533203125e+03, 5.1097919921875e+03, 3.4770439453125e+03, 2.973225341796875e+03, 2.910008056640625e+03, 2.878684814453125e+03, 2.830472412109375e+03, 2.77280615234375e+03, 2.7099912109375e+03, 2.63477392578125e+03, 2.5049248046875e+03, 2.407636962890625e+03, 2.406655029296875e+03, 2.4515947265625e+03, 2.59445703125e+03, 2.678283935546875e+03, 3.017936767578125e+03, 2.571239990234375e+03, 2.468802001953125e+03, 2.4390830078125e+03, 2.550367919921875e+03, 2.740867431640625e+03, 2.879248779296875e+03, 3.025950927734375e+03, 3.060538818359375e+03, 3.13018212890625e+03, 3.240861572265625e+03, 3.326383056640625e+03, 3.436769287109375e+03, 5.14369580078125e+03, 4.835142578125e+03, 3.854007080078125e+03, 3.762649658203125e+03, 3.92897119140625e+03, 4.070297607421875e+03, 4.18237939453125e+03, 4.29715283203125e+03] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_Parallel.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_Parallel.txt new file mode 100644 index 00000000..10a51887 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_Parallel.txt @@ -0,0 +1,20 @@ +last-generated=2024-06-28 +statistics-initialization= +{ + "linear": "0, 0, 0, 0, 0, 0", + "nonlinear": "0, 0, 5, 7, 4, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "3, 6, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "78", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +weaDat.weaBus.TDryBul=[2.711499938964844e+02, 2.711964111328125e+02, 2.711585388183594e+02, 2.710329895019531e+02, 2.708773498535156e+02, 2.706598205566406e+02, 2.704615478515625e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704904479980469e+02, 2.706648559570312e+02, 2.708219909667969e+02, 2.709660034179688e+02, 2.710835876464844e+02, 2.710487060546875e+02, 2.710967712402344e+02, 2.713839721679688e+02, 2.715577392578125e+02, 2.713986511230469e+02, 2.713771667480469e+02, 2.716394348144531e+02, 2.718602600097656e+02, 2.719464111328125e+02, 2.720499877929688e+02, 2.722364196777344e+02, 2.724353637695312e+02, 2.725456237792969e+02, 2.726259155273438e+02, 2.730393371582031e+02, 2.736041564941406e+02, 2.736746826171875e+02, 2.736636657714844e+02, 2.736180114746094e+02, 2.735700073242188e+02, 2.735389404296875e+02, 2.735155944824219e+02, 2.7335400390625e+02, 2.731619873046875e+02, 2.729700012207031e+02, 2.727780151367188e+02, 2.72593994140625e+02, 2.724955749511719e+02, 2.724342651367188e+02, 2.723796081542969e+02, 2.723463134765625e+02, 2.723376770019531e+02, 2.723522033691406e+02, 2.724003295898438e+02, 2.724500122070312e+02, 2.724666442871094e+02, 2.724525451660156e+02, 2.724020690917969e+02, 2.722803344726562e+02, 2.720899963378906e+02, 2.718980102539062e+02, 2.717059936523438e+02, 2.715140075683594e+02, 2.713631591796875e+02, 2.713411865234375e+02, 2.713729858398438e+02, 2.714293518066406e+02, 2.714556884765625e+02, 2.714446716308594e+02, 2.714856872558594e+02, 2.716668701171875e+02, 2.717514038085938e+02, 2.716672058105469e+02, 2.716678771972656e+02, 2.71758056640625e+02, 2.718697814941406e+02, 2.7200390625e+02, 2.721656494140625e+02, 2.724968872070312e+02, 2.728500061035156e+02, 2.729950561523438e+02, 2.729598999023438e+02, 2.725846862792969e+02, 2.721623229980469e+02, 2.721732788085938e+02, 2.722332153320312e+02, 2.723517456054688e+02, 2.724693908691406e+02, 2.722129516601562e+02, 2.715361633300781e+02, 2.708384399414062e+02, 2.701152648925781e+02, 2.6966552734375e+02, 2.693913269042969e+02, 2.691483459472656e+02, 2.68912841796875e+02, 2.686530456542969e+02, 2.682867126464844e+02, 2.680051879882812e+02, 2.680009765625e+02, 2.679133911132812e+02, 2.676651611328125e+02, 2.674332275390625e+02, 2.672374267578125e+02, 2.670499877929688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.090248107910156e+02, 3.168702697753906e+02, 3.217532653808594e+02, 3.226175842285156e+02, 3.226526184082031e+02, 3.227782592773438e+02, 3.227994995117188e+02, 3.227950744628906e+02, 3.227938232421875e+02, 3.227938232421875e+02, 3.227648620605469e+02, 3.226029357910156e+02, 3.224291076660156e+02, 3.222832641601562e+02, 3.221523132324219e+02, 3.221632995605469e+02, 3.221394348144531e+02, 3.218694763183594e+02, 3.271340942382812e+02, 3.219281311035156e+02, 3.220271911621094e+02, 3.216503295898438e+02, 3.213487548828125e+02, 3.212286376953125e+02, 3.211282043457031e+02, 3.209454650878906e+02, 3.2073193359375e+02, 3.206005249023438e+02, 3.205215759277344e+02, 3.201494140625e+02, 3.195390930175781e+02, 3.193984069824219e+02, 3.194100341796875e+02, 3.194603271484375e+02, 3.195122375488281e+02, 3.195492553710938e+02, 3.195695495605469e+02, 3.197196350097656e+02, 3.199216918945312e+02, 3.200027770996094e+02, 3.205206604003906e+02, 3.205909423828125e+02, 3.206534118652344e+02, 3.207066955566406e+02, 3.203235473632812e+02, 3.2078466796875e+02, 3.210531311035156e+02, 3.208778076171875e+02, 3.207674560546875e+02, 3.2069970703125e+02, 3.206758117675781e+02, 3.206871643066406e+02, 3.207352905273438e+02, 3.208519287109375e+02, 3.210462036132812e+02, 3.212505798339844e+02, 3.21453369140625e+02, 3.216551818847656e+02, 3.218248596191406e+02, 3.218658447265625e+02, 3.218356018066406e+02, 3.217757568359375e+02, 3.217409973144531e+02, 3.217548828125e+02, 3.193742980957031e+02, 3.216394958496094e+02, 3.216178283691406e+02, 3.215546264648438e+02, 3.215345764160156e+02, 3.214416809082031e+02, 3.213289794921875e+02, 3.211920471191406e+02, 3.2102197265625e+02, 3.206983337402344e+02, 3.203127136230469e+02, 3.201248779296875e+02, 3.20139892578125e+02, 3.204857177734375e+02, 3.209619140625e+02, 3.210071105957031e+02, 3.209418029785156e+02, 3.208231506347656e+02, 3.205386962890625e+02, 3.210956420898438e+02, 3.216343383789062e+02, 3.223218688964844e+02, 3.230791931152344e+02, 3.235966796875e+02, 3.238815612792969e+02, 3.241184692382812e+02, 3.243663024902344e+02, 3.246326293945312e+02, 3.249971618652344e+02, 3.253211364746094e+02, 3.279804992675781e+02, 3.233953247070312e+02, 3.251112670898438e+02, 3.258213500976562e+02, 3.261360168457031e+02, 3.263204345703125e+02] +outputs.building.TZone[1]=[2.931499938964844e+02, 2.882835693359375e+02, 2.889047241210938e+02, 2.893280639648438e+02, 2.894712219238281e+02, 2.894081420898438e+02, 2.893306579589844e+02, 2.892765197753906e+02, 2.892735290527344e+02, 2.89287841796875e+02, 2.893048095703125e+02, 2.893271789550781e+02, 2.893610229492188e+02, 2.894886779785156e+02, 2.897939453125e+02, 2.900799865722656e+02, 2.90274658203125e+02, 2.904744873046875e+02, 2.906423645019531e+02, 2.907513122558594e+02, 2.908082885742188e+02, 2.909851379394531e+02, 2.910799255371094e+02, 2.91155517578125e+02, 2.911539611816406e+02, 2.911558227539062e+02, 2.911342163085938e+02, 2.910951843261719e+02, 2.911961059570312e+02, 2.913258361816406e+02, 2.914766845703125e+02, 2.916055908203125e+02, 2.916585998535156e+02, 2.916871032714844e+02, 2.916790161132812e+02, 2.916468200683594e+02, 2.916062622070312e+02, 2.915500183105469e+02, 2.914702758789062e+02, 2.9135107421875e+02, 2.911522216796875e+02, 2.91287841796875e+02, 2.913008422851562e+02, 2.91287353515625e+02, 2.912676086425781e+02, 2.912054443359375e+02, 2.910208435058594e+02, 2.911728820800781e+02, 2.911836853027344e+02, 2.911704711914062e+02, 2.911595458984375e+02, 2.911692504882812e+02, 2.911839294433594e+02, 2.911998291015625e+02, 2.912164001464844e+02, 2.912358703613281e+02, 2.912585144042969e+02, 2.912818908691406e+02, 2.913058166503906e+02, 2.913314819335938e+02, 2.913568420410156e+02, 2.913776550292969e+02, 2.913965759277344e+02, 2.914956970214844e+02, 2.917467651367188e+02, 2.919734802246094e+02, 2.92017578125e+02, 2.922092895507812e+02, 2.922619018554688e+02, 2.923369445800781e+02, 2.924172058105469e+02, 2.926783142089844e+02, 2.929470825195312e+02, 2.931190185546875e+02, 2.932037658691406e+02, 2.932290954589844e+02, 2.931916198730469e+02, 2.931478881835938e+02, 2.93130126953125e+02, 2.931594848632812e+02, 2.932079467773438e+02, 2.93244140625e+02, 2.932566833496094e+02, 2.931499938964844e+02, 2.932681579589844e+02, 2.932918701171875e+02, 2.933110046386719e+02, 2.933206787109375e+02, 2.932774047851562e+02, 2.931493530273438e+02, 2.930625610351562e+02, 2.930721435546875e+02, 2.930775756835938e+02, 2.930657653808594e+02, 2.930596923828125e+02, 2.930462646484375e+02, 2.92825439453125e+02, 2.929654235839844e+02, 2.930483093261719e+02, 2.930562438964844e+02, 2.930422973632812e+02] +electricalGrid.PElecGen=[0e+00, 0e+00] +electricalGrid.PElecLoa=[4.20362353515625e+03, 4.471041015625e+03, 4.86541064453125e+03, 5.13148388671875e+03, 3.66936572265625e+03, 3.556167236328125e+03, 3.63441650390625e+03, 3.6143056640625e+03, 3.61505859375e+03, 3.6172255859375e+03, 3.6185283203125e+03, 3.590744873046875e+03, 3.494703369140625e+03, 3.43863818359375e+03, 3.36627685546875e+03, 3.307221435546875e+03, 3.33012939453125e+03, 3.27566748046875e+03, 3.125226806640625e+03, 5.43733349609375e+03, 3.807646728515625e+03, 3.183425537109375e+03, 2.995205078125e+03, 2.946872802734375e+03, 2.954909912109375e+03, 2.924976806640625e+03, 2.85731640625e+03, 2.8069931640625e+03, 2.7986298828125e+03, 2.7753720703125e+03, 2.605499755859375e+03, 2.462804443359375e+03, 2.526998291015625e+03, 2.548854248046875e+03, 2.563388671875e+03, 2.57494580078125e+03, 2.578337158203125e+03, 2.5872333984375e+03, 2.650744140625e+03, 2.70470849609375e+03, 3.6070537109375e+03, 2.86196630859375e+03, 2.8160615234375e+03, 2.827759033203125e+03, 2.842254150390625e+03, 5.0497490234375e+03, 3.845266845703125e+03, 2.934046630859375e+03, 2.834384033203125e+03, 2.82601171875e+03, 2.82228125e+03, 2.827476318359375e+03, 2.838045166015625e+03, 2.85895947265625e+03, 2.906783447265625e+03, 2.9704248046875e+03, 3.021210693359375e+03, 3.070188720703125e+03, 3.119541015625e+03, 3.145575927734375e+03, 3.1193564453125e+03, 3.093815673828125e+03, 3.07073486328125e+03, 3.0670380859375e+03, 3.057243408203125e+03, 5.02806640625e+03, 3.548989013671875e+03, 2.935156494140625e+03, 2.93439111328125e+03, 2.917670654296875e+03, 2.86979833984375e+03, 2.814140869140625e+03, 2.750242431640625e+03, 2.68895166015625e+03, 2.5653818359375e+03, 2.479210205078125e+03, 2.486592529296875e+03, 2.535535888671875e+03, 2.69156298828125e+03, 2.7750263671875e+03, 2.68718896484375e+03, 2.644281982421875e+03, 2.5916806640625e+03, 3.473271484375e+03, 2.75255615234375e+03, 2.8825634765625e+03, 3.05272705078125e+03, 3.21664599609375e+03, 3.238412109375e+03, 3.28690234375e+03, 3.392053955078125e+03, 3.488700439453125e+03, 3.598470703125e+03, 3.775531982421875e+03, 3.87162646484375e+03, 4.97945166015625e+03, 3.912188720703125e+03, 4.4374248046875e+03, 4.42291748046875e+03, 4.40739599609375e+03, 4.44775634765625e+03] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_Serial.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_Serial.txt new file mode 100644 index 00000000..2276980f --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HeatPumpAndBoiler_Serial.txt @@ -0,0 +1,20 @@ +last-generated=2024-06-28 +statistics-initialization= +{ + "linear": "0, 0, 0, 0, 0, 0", + "nonlinear": "0, 0, 5, 7, 2, 0, 0, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 6, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "77", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +weaDat.weaBus.TDryBul=[2.711499938964844e+02, 2.711964111328125e+02, 2.711585388183594e+02, 2.710329895019531e+02, 2.708773498535156e+02, 2.706598205566406e+02, 2.704615478515625e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704904479980469e+02, 2.706648559570312e+02, 2.708219909667969e+02, 2.709660034179688e+02, 2.710835876464844e+02, 2.710487060546875e+02, 2.710967712402344e+02, 2.713839721679688e+02, 2.715577392578125e+02, 2.713986511230469e+02, 2.713771667480469e+02, 2.716394348144531e+02, 2.718602600097656e+02, 2.719464111328125e+02, 2.720499877929688e+02, 2.722364196777344e+02, 2.724353637695312e+02, 2.725456237792969e+02, 2.726259155273438e+02, 2.730393371582031e+02, 2.736041564941406e+02, 2.736746826171875e+02, 2.736636657714844e+02, 2.736180114746094e+02, 2.735700073242188e+02, 2.735389404296875e+02, 2.735155944824219e+02, 2.7335400390625e+02, 2.731619873046875e+02, 2.729700012207031e+02, 2.727780151367188e+02, 2.72593994140625e+02, 2.724955749511719e+02, 2.724342651367188e+02, 2.723796081542969e+02, 2.723463134765625e+02, 2.723376770019531e+02, 2.723522033691406e+02, 2.724003295898438e+02, 2.724500122070312e+02, 2.724666442871094e+02, 2.724525451660156e+02, 2.724020690917969e+02, 2.722803344726562e+02, 2.720899963378906e+02, 2.718980102539062e+02, 2.717059936523438e+02, 2.715140075683594e+02, 2.713631591796875e+02, 2.713411865234375e+02, 2.713729858398438e+02, 2.714293518066406e+02, 2.714556884765625e+02, 2.714446716308594e+02, 2.714856872558594e+02, 2.716668701171875e+02, 2.717514038085938e+02, 2.716672058105469e+02, 2.716678771972656e+02, 2.71758056640625e+02, 2.718697814941406e+02, 2.7200390625e+02, 2.721656494140625e+02, 2.724968872070312e+02, 2.728500061035156e+02, 2.729950561523438e+02, 2.729598999023438e+02, 2.725846862792969e+02, 2.721623229980469e+02, 2.721732788085938e+02, 2.722332153320312e+02, 2.723517456054688e+02, 2.724693908691406e+02, 2.722129516601562e+02, 2.715361633300781e+02, 2.708384399414062e+02, 2.701152648925781e+02, 2.6966552734375e+02, 2.693913269042969e+02, 2.691483459472656e+02, 2.68912841796875e+02, 2.686530456542969e+02, 2.682867126464844e+02, 2.680051879882812e+02, 2.680009765625e+02, 2.679133911132812e+02, 2.676651611328125e+02, 2.674332275390625e+02, 2.672374267578125e+02, 2.670499877929688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.090487670898438e+02, 3.168935852050781e+02, 3.217958679199219e+02, 3.226178894042969e+02, 3.226543884277344e+02, 3.227796020507812e+02, 3.227996520996094e+02, 3.227951049804688e+02, 3.227938232421875e+02, 3.227938232421875e+02, 3.227648315429688e+02, 3.226026916503906e+02, 3.224290466308594e+02, 3.222830505371094e+02, 3.221512756347656e+02, 3.221631774902344e+02, 3.221392822265625e+02, 3.218690490722656e+02, 3.205316467285156e+02, 3.220064392089844e+02, 3.219710998535156e+02, 3.2162939453125e+02, 3.213449401855469e+02, 3.212284545898438e+02, 3.211282043457031e+02, 3.209452514648438e+02, 3.207311096191406e+02, 3.206003112792969e+02, 3.205214233398438e+02, 3.2014892578125e+02, 3.195387878417969e+02, 3.193987121582031e+02, 3.19409912109375e+02, 3.194602355957031e+02, 3.1951220703125e+02, 3.195492248535156e+02, 3.195695190429688e+02, 3.197197875976562e+02, 3.193099365234375e+02, 3.203279418945312e+02, 3.204205017089844e+02, 3.205466003417969e+02, 3.20644287109375e+02, 3.207061462402344e+02, 3.178677368164062e+02, 3.207840881347656e+02, 3.210453186035156e+02, 3.208776245117188e+02, 3.207676391601562e+02, 3.206996154785156e+02, 3.206760559082031e+02, 3.206877136230469e+02, 3.207354736328125e+02, 3.208520202636719e+02, 3.210462951660156e+02, 3.212506408691406e+02, 3.214534606933594e+02, 3.216552734375e+02, 3.218249206542969e+02, 3.218657531738281e+02, 3.218356018066406e+02, 3.217757263183594e+02, 3.217410278320312e+02, 3.217548217773438e+02, 3.193630065917969e+02, 3.216268310546875e+02, 3.216121215820312e+02, 3.215553283691406e+02, 3.215350036621094e+02, 3.214416809082031e+02, 3.21328125e+02, 3.211915893554688e+02, 3.210218811035156e+02, 3.206968994140625e+02, 3.203115234375e+02, 3.201242980957031e+02, 3.201394653320312e+02, 3.204855651855469e+02, 3.20961181640625e+02, 3.210057678222656e+02, 3.209409484863281e+02, 3.208223571777344e+02, 3.2053466796875e+02, 3.21086669921875e+02, 3.216329650878906e+02, 3.223208618164062e+02, 3.230783386230469e+02, 3.235964660644531e+02, 3.238833618164062e+02, 3.241200561523438e+02, 3.243671264648438e+02, 3.246333618164062e+02, 3.249982299804688e+02, 3.253220825195312e+02, 3.3025048828125e+02, 3.254267578125e+02, 3.257269287109375e+02, 3.259378662109375e+02, 3.261300659179688e+02, 3.263252258300781e+02] +outputs.building.TZone[1]=[2.931499938964844e+02, 2.882675476074219e+02, 2.88887451171875e+02, 2.893132629394531e+02, 2.894578552246094e+02, 2.8939599609375e+02, 2.893182678222656e+02, 2.892637939453125e+02, 2.892604370117188e+02, 2.892743835449219e+02, 2.892909545898438e+02, 2.8931298828125e+02, 2.893466491699219e+02, 2.894740295410156e+02, 2.897789306640625e+02, 2.900645446777344e+02, 2.902587890625e+02, 2.904581909179688e+02, 2.906260070800781e+02, 2.905675964355469e+02, 2.908322143554688e+02, 2.909649353027344e+02, 2.910594177246094e+02, 2.911369018554688e+02, 2.911359252929688e+02, 2.911376647949219e+02, 2.911159973144531e+02, 2.910768737792969e+02, 2.91177490234375e+02, 2.913068237304688e+02, 2.914577026367188e+02, 2.915869750976562e+02, 2.916394958496094e+02, 2.916674499511719e+02, 2.916590576171875e+02, 2.916267395019531e+02, 2.915860900878906e+02, 2.915297546386719e+02, 2.9144970703125e+02, 2.912003784179688e+02, 2.912362365722656e+02, 2.91266845703125e+02, 2.912727355957031e+02, 2.912630615234375e+02, 2.912447204589844e+02, 2.911827087402344e+02, 2.909937438964844e+02, 2.911466979980469e+02, 2.9115966796875e+02, 2.911466979980469e+02, 2.911355590820312e+02, 2.911450805664062e+02, 2.911595458984375e+02, 2.911752014160156e+02, 2.911914672851562e+02, 2.912105712890625e+02, 2.9123291015625e+02, 2.912559814453125e+02, 2.912796630859375e+02, 2.913050842285156e+02, 2.913303527832031e+02, 2.913511047363281e+02, 2.913699340820312e+02, 2.914688720703125e+02, 2.917196350097656e+02, 2.919461669921875e+02, 2.919847717285156e+02, 2.921792602539062e+02, 2.922334899902344e+02, 2.923085021972656e+02, 2.923887329101562e+02, 2.92649658203125e+02, 2.929185791015625e+02, 2.930906372070312e+02, 2.931789245605469e+02, 2.932068176269531e+02, 2.931714477539062e+02, 2.931292114257812e+02, 2.931125183105469e+02, 2.931431884765625e+02, 2.931940307617188e+02, 2.932328186035156e+02, 2.932479248046875e+02, 2.931367492675781e+02, 2.932606506347656e+02, 2.932894897460938e+02, 2.933121337890625e+02, 2.933251037597656e+02, 2.932850036621094e+02, 2.931575317382812e+02, 2.930693359375e+02, 2.930779418945312e+02, 2.93082763671875e+02, 2.930701293945312e+02, 2.930632934570312e+02, 2.930482788085938e+02, 2.930115356445312e+02, 2.930487976074219e+02, 2.930615234375e+02, 2.930521545410156e+02, 2.930361022949219e+02] +electricalGrid.PElecGen=[0e+00, 0e+00] +electricalGrid.PElecLoa=[4.20362744140625e+03, 4.471044921875e+03, 4.847287109375e+03, 5.1147333984375e+03, 3.637419921875e+03, 3.521126953125e+03, 3.5953017578125e+03, 3.575740966796875e+03, 3.57644921875e+03, 3.5786328125e+03, 3.5799931640625e+03, 3.552403564453125e+03, 3.4579052734375e+03, 3.40240380859375e+03, 3.3312392578125e+03, 3.276461669921875e+03, 3.299012939453125e+03, 3.245068603515625e+03, 3.096777587890625e+03, 5.07842236328125e+03, 3.46897900390625e+03, 3.127746337890625e+03, 2.973083251953125e+03, 2.923095947265625e+03, 2.92881494140625e+03, 2.8988134765625e+03, 2.832078369140625e+03, 2.784881591796875e+03, 2.776739990234375e+03, 2.753713623046875e+03, 2.5853125e+03, 2.44426953125e+03, 2.506927978515625e+03, 2.529224365234375e+03, 2.543919189453125e+03, 2.55545458984375e+03, 2.558793212890625e+03, 2.567755615234375e+03, 2.630581787109375e+03, 4.09625048828125e+03, 2.88644677734375e+03, 2.76573095703125e+03, 2.799524658203125e+03, 2.8099501953125e+03, 2.81963916015625e+03, 4.94146337890625e+03, 3.786684326171875e+03, 2.916386962890625e+03, 2.81301123046875e+03, 2.80405029296875e+03, 2.80082861328125e+03, 2.805243408203125e+03, 2.814146484375e+03, 2.834767822265625e+03, 2.882228271484375e+03, 2.945217529296875e+03, 2.995615966796875e+03, 3.044125732421875e+03, 3.092972412109375e+03, 3.118593505859375e+03, 3.092765869140625e+03, 3.067318359375e+03, 3.044424560546875e+03, 3.0407529296875e+03, 3.0312001953125e+03, 5.08237158203125e+03, 3.512428466796875e+03, 2.918014404296875e+03, 2.91139111328125e+03, 2.8934345703125e+03, 2.846165771484375e+03, 2.7932861328125e+03, 2.730447021484375e+03, 2.6695361328125e+03, 2.550340087890625e+03, 2.467130859375e+03, 2.4753916015625e+03, 2.5249326171875e+03, 2.680850830078125e+03, 2.765341796875e+03, 2.6814091796875e+03, 2.640205322265625e+03, 2.589394775390625e+03, 3.4439228515625e+03, 2.7613896484375e+03, 2.88910546875e+03, 3.06073193359375e+03, 3.22766455078125e+03, 3.2516650390625e+03, 3.29487451171875e+03, 3.39584423828125e+03, 3.49084130859375e+03, 3.59869287109375e+03, 3.772313720703125e+03, 3.865770751953125e+03, 5.09802197265625e+03, 4.211849609375e+03, 4.1171201171875e+03, 4.19758642578125e+03, 4.30052685546875e+03, 4.40503173828125e+03] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HighOrderModel_BES_HOM.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HighOrderModel_BES_HOM.txt new file mode 100644 index 00000000..e3e1d11c --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_HighOrderModel_BES_HOM.txt @@ -0,0 +1,21 @@ +last-generated=2024-06-28 +statistics-initialization= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "5, 5, 5, 5, 5, 5, 5, 2, 5, 5, 2, 0, 0, 8, 7, 8, 7, 8, 9, 8, 9, 8, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 8, 7, 8, 7, 8, 9, 8, 9, 8, 9, 10, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1", + "number of continuous time states": "377", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +weaDat.weaBus.TDryBul=[2.711499938964844e+02, 2.711964111328125e+02, 2.711585388183594e+02, 2.710329895019531e+02, 2.708773498535156e+02, 2.706598205566406e+02, 2.704615478515625e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704904479980469e+02, 2.706648559570312e+02, 2.708219909667969e+02, 2.709660034179688e+02, 2.710835876464844e+02, 2.710487060546875e+02, 2.710967712402344e+02, 2.713839721679688e+02, 2.715577392578125e+02, 2.713986511230469e+02, 2.713771667480469e+02, 2.716394348144531e+02, 2.718602600097656e+02, 2.719464111328125e+02, 2.720499877929688e+02, 2.722364196777344e+02, 2.724353637695312e+02, 2.725456237792969e+02, 2.726259155273438e+02, 2.730393371582031e+02, 2.736041564941406e+02, 2.736746826171875e+02, 2.736636657714844e+02, 2.736180114746094e+02, 2.735700073242188e+02, 2.735389404296875e+02, 2.735155944824219e+02, 2.7335400390625e+02, 2.731619873046875e+02, 2.729700012207031e+02, 2.727780151367188e+02, 2.72593994140625e+02, 2.724955749511719e+02, 2.724342651367188e+02, 2.723796081542969e+02, 2.723463134765625e+02, 2.723376770019531e+02, 2.723522033691406e+02, 2.724003295898438e+02, 2.724500122070312e+02, 2.724666442871094e+02, 2.724525451660156e+02, 2.724020690917969e+02, 2.722803344726562e+02, 2.720899963378906e+02, 2.718980102539062e+02, 2.717059936523438e+02, 2.715140075683594e+02, 2.713631591796875e+02, 2.713411865234375e+02, 2.713729858398438e+02, 2.714293518066406e+02, 2.714556884765625e+02, 2.714446716308594e+02, 2.714856872558594e+02, 2.716668701171875e+02, 2.717514038085938e+02, 2.716672058105469e+02, 2.716678771972656e+02, 2.71758056640625e+02, 2.718697814941406e+02, 2.7200390625e+02, 2.721656494140625e+02, 2.724968872070312e+02, 2.728500061035156e+02, 2.729950561523438e+02, 2.729598999023438e+02, 2.725846862792969e+02, 2.721623229980469e+02, 2.721732788085938e+02, 2.722332153320312e+02, 2.723517456054688e+02, 2.724693908691406e+02, 2.722129516601562e+02, 2.715361633300781e+02, 2.708384399414062e+02, 2.701152648925781e+02, 2.6966552734375e+02, 2.693913269042969e+02, 2.691483459472656e+02, 2.68912841796875e+02, 2.686530456542969e+02, 2.682867126464844e+02, 2.680051879882812e+02, 2.680009765625e+02, 2.679133911132812e+02, 2.676651611328125e+02, 2.674332275390625e+02, 2.672374267578125e+02, 2.670499877929688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.093565368652344e+02, 3.229222106933594e+02, 3.234674377441406e+02, 3.236371459960938e+02, 3.238032531738281e+02, 3.239726867675781e+02, 3.240011291503906e+02, 3.239976501464844e+02, 3.239949645996094e+02, 3.239938354492188e+02, 3.239693298339844e+02, 3.238400573730469e+02, 3.237039184570312e+02, 3.235838012695312e+02, 3.235336608886719e+02, 3.235342102050781e+02, 3.234913940429688e+02, 3.22888671875e+02, 3.230000305175781e+02, 3.226450500488281e+02, 3.227793579101562e+02, 3.230761413574219e+02, 3.228890686035156e+02, 3.227847595214844e+02, 3.226984558105469e+02, 3.225520629882812e+02, 3.2303466796875e+02, 3.217946472167969e+02, 3.225873107910156e+02, 3.220470275878906e+02, 3.214743041992188e+02, 3.213490600585938e+02, 3.213561401367188e+02, 3.213902282714844e+02, 3.214331970214844e+02, 3.214884948730469e+02, 3.215110168457031e+02, 3.216861267089844e+02, 3.218431091308594e+02, 3.218229370117188e+02, 3.212530517578125e+02, 3.218063354492188e+02, 3.223728637695312e+02, 3.224020385742188e+02, 3.22428466796875e+02, 3.189721374511719e+02, 3.229010620117188e+02, 3.2266015625e+02, 3.224547729492188e+02, 3.223721313476562e+02, 3.223501586914062e+02, 3.223600769042969e+02, 3.223989868164062e+02, 3.224917297363281e+02, 3.226437683105469e+02, 3.228016052246094e+02, 3.229577331542969e+02, 3.231136779785156e+02, 3.232434692382812e+02, 3.232711791992188e+02, 3.232455444335938e+02, 3.231978759765625e+02, 3.231702575683594e+02, 3.231766662597656e+02, 3.232014770507812e+02, 3.231207275390625e+02, 3.226885681152344e+02, 3.227188415527344e+02, 3.22807861328125e+02, 3.221397399902344e+02, 3.224505615234375e+02, 3.228079833984375e+02, 3.227198181152344e+02, 3.224737854003906e+02, 3.261825561523438e+02, 3.223711853027344e+02, 3.221650390625e+02, 3.222274169921875e+02, 3.225570678710938e+02, 3.226227416992188e+02, 3.225663146972656e+02, 3.224550170898438e+02, 3.22339111328125e+02, 3.2243994140625e+02, 3.230191040039062e+02, 3.237958679199219e+02, 3.242962951660156e+02, 3.245877685546875e+02, 3.250166625976562e+02, 3.248580322265625e+02, 3.2469775390625e+02, 3.251273193359375e+02, 3.258812866210938e+02, 3.260281066894531e+02, 3.109534301757812e+02, 3.322037963867188e+02, 3.264500732421875e+02, 3.268112487792969e+02, 3.267018127441406e+02, 3.267722473144531e+02] +hydraulic.control.buiMeaBus.TZoneMea[1]=[2.951099853515625e+02, 2.894295349121094e+02, 2.91299560546875e+02, 2.9169189453125e+02, 2.918677673339844e+02, 2.919853820800781e+02, 2.920858459472656e+02, 2.921773071289062e+02, 2.922559509277344e+02, 2.923292236328125e+02, 2.923995056152344e+02, 2.924682922363281e+02, 2.925339660644531e+02, 2.925916748046875e+02, 2.926476135253906e+02, 2.927037963867188e+02, 2.927688598632812e+02, 2.928282165527344e+02, 2.816566467285156e+02, 2.889656066894531e+02, 2.922814331054688e+02, 2.926274108886719e+02, 2.928617248535156e+02, 2.93006591796875e+02, 2.930958557128906e+02, 2.931829223632812e+02, 2.93270263671875e+02, 2.932245788574219e+02, 2.92930419921875e+02, 2.933915710449219e+02, 2.934743347167969e+02, 2.934909362792969e+02, 2.9348779296875e+02, 2.934959106445312e+02, 2.935018920898438e+02, 2.935227661132812e+02, 2.947620849609375e+02, 2.949692687988281e+02, 2.950735473632812e+02, 2.828692321777344e+02, 2.934571533203125e+02, 2.952957153320312e+02, 2.955338439941406e+02, 2.956411437988281e+02, 2.954769592285156e+02, 2.954198913574219e+02, 2.940205383300781e+02, 2.939609069824219e+02, 2.941138610839844e+02, 2.941329956054688e+02, 2.94158203125e+02, 2.94190673828125e+02, 2.942267456054688e+02, 2.942644653320312e+02, 2.943032531738281e+02, 2.943448791503906e+02, 2.943892211914062e+02, 2.944338989257812e+02, 2.94478515625e+02, 2.945238037109375e+02, 2.945674133300781e+02, 2.946056213378906e+02, 2.946406860351562e+02, 2.946737060546875e+02, 2.947073669433594e+02, 2.947452087402344e+02, 2.947943420410156e+02, 2.948065795898438e+02, 2.825572814941406e+02, 2.90169952392578e+02, 2.941666564941406e+02, 2.945005798339844e+02, 2.96156005859375e+02, 2.969669494628906e+02, 2.966786804199219e+02, 2.959287719726562e+02, 2.951492919921875e+02, 2.949174194335938e+02, 2.94799560546875e+02, 2.947761840820312e+02, 2.948533020019531e+02, 2.950330505371094e+02, 2.9499072265625e+02, 2.949921264648438e+02, 2.9499072265625e+02, 2.950100708007812e+02, 2.959410400390625e+02, 2.956083984375e+02, 2.953937683105469e+02, 2.807231140136719e+02, 2.942712097167969e+02, 2.959104614257812e+02, 2.956317749023438e+02, 2.953841552734375e+02, 2.951177978515625e+02, 2.951738891601562e+02, 2.940583190917969e+02, 2.945369262695312e+02, 2.948499755859375e+02, 2.949556579589844e+02, 2.950263977050781e+02] +hydraulic.control.buiMeaBus.TZoneMea[10]=[2.951099853515625e+02, 2.901929321289062e+02, 2.917223815917969e+02, 2.921303405761719e+02, 2.924017639160156e+02, 2.926197204589844e+02, 2.928101806640625e+02, 2.929778442382812e+02, 2.931246643066406e+02, 2.932589721679688e+02, 2.933843994140625e+02, 2.935031433105469e+02, 2.936132507324219e+02, 2.937136535644531e+02, 2.938099060058594e+02, 2.934764709472656e+02, 2.93481689453125e+02, 2.93035400390625e+02, 2.922273864746094e+02, 2.934007568359375e+02, 2.837171325683594e+02, 2.895255126953125e+02, 2.928280029296875e+02, 2.931189880371094e+02, 2.933041381835938e+02, 2.93455810546875e+02, 2.935873107910156e+02, 2.936100769042969e+02, 2.934463500976562e+02, 2.938261108398438e+02, 2.946622619628906e+02, 2.947973022460938e+02, 2.9489794921875e+02, 2.949923400878906e+02, 2.943563232421875e+02, 2.943365173339844e+02, 2.959716186523438e+02, 2.961124572753906e+02, 2.93896484375e+02, 2.937648315429688e+02, 2.943712463378906e+02, 2.843280639648438e+02, 2.93404296875e+02, 2.9510791015625e+02, 2.948638916015625e+02, 2.948939208984375e+02, 2.946150512695312e+02, 2.950228576660156e+02, 2.951737365722656e+02, 2.952431640625e+02, 2.953035888671875e+02, 2.953559265136719e+02, 2.953987731933594e+02, 2.95431396484375e+02, 2.954537658691406e+02, 2.954668884277344e+02, 2.954695739746094e+02, 2.954605407714844e+02, 2.954407958984375e+02, 2.954129333496094e+02, 2.953787841796875e+02, 2.953407287597656e+02, 2.953038940429688e+02, 2.952711181640625e+02, 2.952446594238281e+02, 2.94865478515625e+02, 2.949346313476562e+02, 2.945710144042969e+02, 2.938165893554688e+02, 2.948780517578125e+02, 2.849646301269532e+02, 2.913163452148438e+02, 2.948489379882812e+02, 2.954320068359375e+02, 2.957348022460938e+02, 2.957948913574219e+02, 2.9569482421875e+02, 2.956255798339844e+02, 2.954634094238281e+02, 2.9533837890625e+02, 2.957020874023438e+02, 2.954520568847656e+02, 2.952848205566406e+02, 2.951925659179688e+02, 2.947276611328125e+02, 2.948990478515625e+02, 2.96201416015625e+02, 2.958549499511719e+02, 2.940491943359375e+02, 2.943603210449219e+02, 2.950325012207031e+02, 2.833538513183594e+02, 2.944213562011719e+02, 2.959861450195312e+02, 2.955201110839844e+02, 2.954767761230469e+02, 2.95369384765625e+02, 2.953279724121094e+02, 2.953599853515625e+02, 2.952939453125e+02, 2.952437133789062e+02] +electricalGrid.PElecGen=[0e+00, 0e+00] +electricalGrid.PElecLoa=[2.467245361328125e+03, 2.62419775390625e+03, 2.044160766601562e+03, 1.862458618164062e+03, 1.838702026367188e+03, 1.851822265625e+03, 1.857337524414062e+03, 1.827200561523438e+03, 1.811484375e+03, 1.79972216796875e+03, 1.788910278320312e+03, 1.76815771484375e+03, 1.724471801757812e+03, 1.6979638671875e+03, 1.674513061523438e+03, 1.600779663085938e+03, 1.556399047851562e+03, 1.553100341796874e+03, 1.8540380859375e+03, 1.791607421875e+03, 1.559284912109375e+03, 1.853821899414062e+03, 1.66378125e+03, 1.582773193359375e+03, 1.5684794921875e+03, 1.547366577148438e+03, 1.514246459960938e+03, 3.083111083984375e+03, 2.785989746093739e+03, 1.5353740234375e+03, 1.3808515625e+03, 1.3337275390625e+03, 1.361357543945312e+03, 1.36822705078125e+03, 1.377797485351562e+03, 1.382031616210938e+03, 1.354317260742188e+03, 1.319017211914062e+03, 1.260711303710938e+03, 1.190723388671875e+03, 1.352115234375e+03, 1.30036181640625e+03, 1.728627197265625e+03, 1.42957568359375e+03, 1.374728393554688e+03, 1.361256958007812e+03, 2.9427109375e+03, 1.684033203125e+03, 1.419209350585938e+03, 1.399697875976562e+03, 1.392105102539062e+03, 1.382605224609375e+03, 1.372162841796875e+03, 1.363757568359375e+03, 1.3632041015625e+03, 1.366957885742188e+03, 1.367306762695312e+03, 1.368727294921875e+03, 1.371145263671875e+03, 1.366975952148438e+03, 1.349217651367188e+03, 1.333970703125e+03, 1.320712158203125e+03, 1.314989990234375e+03, 1.312349731445312e+03, 1.249144409179688e+03, 1.082930908203125e+03, 1.369064331054688e+03, 1.534464721679686e+03, 1.632247802734385e+03, 1.445951782226565e+03, 1.596026123046875e+03, 1.439200073242188e+03, 1.263317138671875e+03, 1.083363647460938e+03, 3.19609375e+03, 1.35132763671875e+03, 1.086228271484375e+03, 1.167404296875e+03, 1.22111474609375e+03, 1.138234985351562e+03, 1.106782592773438e+03, 1.084621215820312e+03, 1.083810668945312e+03, 1.21923193359375e+03, 1.300404296875e+03, 1.128001953125e+03, 1.106176635742188e+03, 1.199318481445312e+03, 1.02395751953125e+03, 1.416553833007812e+03, 1.524494262695312e+03, 1.681920288085938e+03, 1.325583618164062e+03, 1.264395263671875e+03, 2.559898681640625e+03, 3.16513623046875e+03, 2.1511494140625e+03, 1.448778198242188e+03, 1.4152744140625e+03, 1.431885009765625e+03] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_SolarThermalSystem_SolarThermalAixLib.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_SolarThermalSystem_SolarThermalAixLib.txt new file mode 100644 index 00000000..655da0bf --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_SolarThermalSystem_SolarThermalAixLib.txt @@ -0,0 +1,20 @@ +last-generated=2024-06-28 +statistics-initialization= +{ + "linear": "0, 0, 0, 0, 0, 0", + "nonlinear": "5, 2, 7, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1", + "number of continuous time states": "237", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +weaDat.weaBus.TDryBul=[2.711499938964844e+02, 2.711964111328125e+02, 2.711585388183594e+02, 2.710329895019531e+02, 2.708773498535156e+02, 2.706598205566406e+02, 2.704615478515625e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704904479980469e+02, 2.706648559570312e+02, 2.708219909667969e+02, 2.709660034179688e+02, 2.710835876464844e+02, 2.710487060546875e+02, 2.710967712402344e+02, 2.713839721679688e+02, 2.715577392578125e+02, 2.713986511230469e+02, 2.713771667480469e+02, 2.716394348144531e+02, 2.718602600097656e+02, 2.719464111328125e+02, 2.720499877929688e+02, 2.722364196777344e+02, 2.724353637695312e+02, 2.725456237792969e+02, 2.726259155273438e+02, 2.730393371582031e+02, 2.736041564941406e+02, 2.736746826171875e+02, 2.736636657714844e+02, 2.736180114746094e+02, 2.735700073242188e+02, 2.735389404296875e+02, 2.735155944824219e+02, 2.7335400390625e+02, 2.731619873046875e+02, 2.729700012207031e+02, 2.727780151367188e+02, 2.72593994140625e+02, 2.724955749511719e+02, 2.724342651367188e+02, 2.723796081542969e+02, 2.723463134765625e+02, 2.723376770019531e+02, 2.723522033691406e+02, 2.724003295898438e+02, 2.724500122070312e+02, 2.724666442871094e+02, 2.724525451660156e+02, 2.724020690917969e+02, 2.722803344726562e+02, 2.720899963378906e+02, 2.718980102539062e+02, 2.717059936523438e+02, 2.715140075683594e+02, 2.713631591796875e+02, 2.713411865234375e+02, 2.713729858398438e+02, 2.714293518066406e+02, 2.714556884765625e+02, 2.714446716308594e+02, 2.714856872558594e+02, 2.716668701171875e+02, 2.717514038085938e+02, 2.716672058105469e+02, 2.716678771972656e+02, 2.71758056640625e+02, 2.718697814941406e+02, 2.7200390625e+02, 2.721656494140625e+02, 2.724968872070312e+02, 2.728500061035156e+02, 2.729950561523438e+02, 2.729598999023438e+02, 2.725846862792969e+02, 2.721623229980469e+02, 2.721732788085938e+02, 2.722332153320312e+02, 2.723517456054688e+02, 2.724693908691406e+02, 2.722129516601562e+02, 2.715361633300781e+02, 2.708384399414062e+02, 2.701152648925781e+02, 2.6966552734375e+02, 2.693913269042969e+02, 2.691483459472656e+02, 2.68912841796875e+02, 2.686530456542969e+02, 2.682867126464844e+02, 2.680051879882812e+02, 2.680009765625e+02, 2.679133911132812e+02, 2.676651611328125e+02, 2.674332275390625e+02, 2.672374267578125e+02, 2.670499877929688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 2.976235656738281e+02, 2.98460205078125e+02, 2.989369201660156e+02, 2.992698974609375e+02, 2.995438842773438e+02, 2.998116455078125e+02, 3.001185302734375e+02, 3.004570007324219e+02, 3.008104553222656e+02, 3.011520690917969e+02, 3.014708557128906e+02, 3.017720947265625e+02, 3.020525817871094e+02, 3.023432922363281e+02, 3.0148583984375e+02, 3.024211120605469e+02, 3.027059936523438e+02, 3.029380187988281e+02, 3.031518859863281e+02, 3.03341796875e+02, 3.036251220703125e+02, 3.03735107421875e+02, 3.040588989257812e+02, 3.040740051269531e+02, 3.0435986328125e+02, 3.045631103515625e+02, 3.046571350097656e+02, 3.04857666015625e+02, 3.050440979003906e+02, 3.052525329589844e+02, 3.054298706054688e+02, 3.056427307128906e+02, 3.057525634765625e+02, 3.058958435058594e+02, 3.0596435546875e+02, 3.060804748535156e+02, 3.061780700683594e+02, 3.061997680664062e+02, 3.061729736328125e+02, 3.061642761230469e+02, 3.062226867675781e+02, 3.062634582519531e+02, 3.059176635742188e+02, 3.0614208984375e+02, 3.047901611328125e+02, 3.057672729492188e+02, 3.059272766113281e+02, 3.060142211914062e+02, 3.060795288085938e+02, 3.061302490234375e+02, 3.061634521484375e+02, 3.061827087402344e+02, 3.061916198730469e+02, 3.061894226074219e+02, 3.061753234863281e+02, 3.06156005859375e+02, 3.061331176757812e+02, 3.06106689453125e+02, 3.060803527832031e+02, 3.060663452148438e+02, 3.060614318847656e+02, 3.060617370605469e+02, 3.060658874511719e+02, 3.060984191894531e+02, 3.046855163574219e+02, 3.056379089355469e+02, 3.057669067382812e+02, 3.057775268554688e+02, 3.057783203125e+02, 3.058291625976562e+02, 3.060416259765625e+02, 3.060557250976562e+02, 3.063152465820312e+02, 3.062750244140625e+02, 3.065892333984375e+02, 3.068048400878906e+02, 3.068406677246094e+02, 3.069092407226562e+02, 3.068928527832031e+02, 3.068950500488281e+02, 3.0685498046875e+02, 3.06927734375e+02, 3.069446716308594e+02, 3.06991455078125e+02, 3.069185485839844e+02, 3.068718566894531e+02, 3.067860107421875e+02, 3.066572570800781e+02, 3.065080261230469e+02, 3.063880615234375e+02, 3.063470764160156e+02, 3.062850036621094e+02, 3.058017578125e+02, 3.059133911132812e+02, 3.044535217285156e+02, 3.053607788085938e+02, 3.0540869140625e+02, 3.053730163574219e+02, 3.053112487792969e+02, 3.052338256835938e+02] +outputs.building.TZone[1]=[2.931499938964844e+02, 2.876079711914062e+02, 2.875114440917969e+02, 2.873834228515625e+02, 2.872423706054688e+02, 2.870897521972656e+02, 2.869350280761719e+02, 2.868129577636719e+02, 2.867485046386719e+02, 2.867051696777344e+02, 2.866676940917969e+02, 2.866376647949219e+02, 2.866298828125e+02, 2.867181701660156e+02, 2.869739074707031e+02, 2.872061767578125e+02, 2.873018798828125e+02, 2.874342041015625e+02, 2.875485534667969e+02, 2.876580200195312e+02, 2.876941528320312e+02, 2.877355346679688e+02, 2.878079528808594e+02, 2.878725891113281e+02, 2.878696594238281e+02, 2.878544311523438e+02, 2.878323669433594e+02, 2.877972412109375e+02, 2.878682556152344e+02, 2.87959228515625e+02, 2.880843811035156e+02, 2.882245788574219e+02, 2.882890319824219e+02, 2.88301025390625e+02, 2.882832336425781e+02, 2.882425231933594e+02, 2.881978454589844e+02, 2.881403198242188e+02, 2.880395202636719e+02, 2.878701477050781e+02, 2.877347106933594e+02, 2.877018127441406e+02, 2.876693725585938e+02, 2.876160888671875e+02, 2.875446472167969e+02, 2.874618225097656e+02, 2.873477783203125e+02, 2.873363952636719e+02, 2.873318176269531e+02, 2.873068237304688e+02, 2.872791442871094e+02, 2.87267578125e+02, 2.872562561035156e+02, 2.872417907714844e+02, 2.872217407226562e+02, 2.871947326660156e+02, 2.871655883789062e+02, 2.871354370117188e+02, 2.871046142578125e+02, 2.870751647949219e+02, 2.870549926757812e+02, 2.870412902832031e+02, 2.870315856933594e+02, 2.870987548828125e+02, 2.873068542480469e+02, 2.874874572753906e+02, 2.875330505371094e+02, 2.876119689941406e+02, 2.876309204101562e+02, 2.876658630371094e+02, 2.877298889160156e+02, 2.879807739257812e+02, 2.882511291503906e+02, 2.884246520996094e+02, 2.885433044433594e+02, 2.886123962402344e+02, 2.886204223632812e+02, 2.885912170410156e+02, 2.885403442382812e+02, 2.885006408691406e+02, 2.885050354003906e+02, 2.885196533203125e+02, 2.885340576171875e+02, 2.885394287109375e+02, 2.885439147949219e+02, 2.88527587890625e+02, 2.884933471679688e+02, 2.884364624023438e+02, 2.883256530761719e+02, 2.881178283691406e+02, 2.879477233886719e+02, 2.878845825195312e+02, 2.878209838867188e+02, 2.877237243652344e+02, 2.87607421875e+02, 2.875287170410156e+02, 2.874161376953125e+02, 2.873554992675781e+02, 2.872944946289062e+02, 2.872086791992188e+02, 2.871170654296875e+02] +electricalGrid.PElecGen=[0e+00, 0e+00] +electricalGrid.PElecLoa=[1.627543579101562e+03, 1.7388779296875e+03, 1.738241577148438e+03, 1.73612646484375e+03, 1.7334931640625e+03, 1.729794921875e+03, 1.726401733398438e+03, 1.726202758789062e+03, 1.726202758789062e+03, 1.726202758789062e+03, 1.726202758789062e+03, 1.726895141601562e+03, 1.729876220703125e+03, 1.732551025390625e+03, 1.734991455078125e+03, 1.736978515625e+03, 1.736390502929688e+03, 1.737198608398438e+03, 1.742019287109375e+03, 1.744921020507812e+03, 1.74226904296875e+03, 1.741906127929688e+03, 1.74627587890625e+03, 1.74993359375e+03, 1.75135400390625e+03, 1.753056640625e+03, 1.756109252929688e+03, 1.759350952148438e+03, 1.761141235351562e+03, 1.762440063476562e+03, 1.769081665039062e+03, 1.778270629882812e+03, 1.779417114257812e+03, 1.7792392578125e+03, 1.778498657226562e+03, 1.77771923828125e+03, 1.7772138671875e+03, 1.776833984375e+03, 1.774200317382812e+03, 1.771053466796875e+03, 1.76797998046875e+03, 1.764896606445312e+03, 1.761926147460938e+03, 1.760331176757812e+03, 1.759335571289062e+03, 1.758446411132812e+03, 1.757904296875e+03, 1.757763427734375e+03, 1.757999877929688e+03, 1.758782836914062e+03, 1.759590454101562e+03, 1.75986083984375e+03, 1.759632446289062e+03, 1.758812255859375e+03, 1.756829223632812e+03, 1.75371630859375e+03, 1.750558837890625e+03, 1.747384887695312e+03, 1.744194213867188e+03, 1.741674682617188e+03, 1.7413056640625e+03, 1.741837890625e+03, 1.74277978515625e+03, 1.743220092773438e+03, 1.743036499023438e+03, 1.743719116210938e+03, 1.746732666015625e+03, 1.7481357421875e+03, 1.746740478515625e+03, 1.746750244140625e+03, 1.748244506835938e+03, 1.750090698242188e+03, 1.752299560546875e+03, 1.754952026367188e+03, 1.760347900390625e+03, 1.766050659179688e+03, 1.768378662109375e+03, 1.767817504882812e+03, 1.761780151367188e+03, 1.754901123046875e+03, 1.755078491210938e+03, 1.756058471679688e+03, 1.75799072265625e+03, 1.759905151367188e+03, 1.755733154296875e+03, 1.744568481445312e+03, 1.732839111328125e+03, 1.720439208984375e+03, 1.7125986328125e+03, 1.707770629882812e+03, 1.703461791992188e+03, 1.6992568359375e+03, 1.69458740234375e+03, 1.687942260742188e+03, 1.682941650390625e+03, 1.682867431640625e+03, 1.681353637695312e+03, 1.677035400390625e+03, 1.6729736328125e+03, 1.669524536132812e+03, 1.666205200195312e+03] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_SolarThermalSystem_SolarThermalBuildings.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_SolarThermalSystem_SolarThermalBuildings.txt new file mode 100644 index 00000000..a2e0e178 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_SolarThermalSystem_SolarThermalBuildings.txt @@ -0,0 +1,20 @@ +last-generated=2024-06-28 +statistics-initialization= +{ + "linear": "0, 0, 0, 0, 0, 0", + "nonlinear": "5, 7, 1, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1", + "number of continuous time states": "239", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +weaDat.weaBus.TDryBul=[2.711499938964844e+02, 2.711964111328125e+02, 2.711585388183594e+02, 2.710329895019531e+02, 2.708773498535156e+02, 2.706598205566406e+02, 2.704615478515625e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704904479980469e+02, 2.706648559570312e+02, 2.708219909667969e+02, 2.709660034179688e+02, 2.710835876464844e+02, 2.710487060546875e+02, 2.710967712402344e+02, 2.713839721679688e+02, 2.715577392578125e+02, 2.713986511230469e+02, 2.713771667480469e+02, 2.716394348144531e+02, 2.718602600097656e+02, 2.719464111328125e+02, 2.720499877929688e+02, 2.722364196777344e+02, 2.724353637695312e+02, 2.725456237792969e+02, 2.726259155273438e+02, 2.730393371582031e+02, 2.736041564941406e+02, 2.736746826171875e+02, 2.736636657714844e+02, 2.736180114746094e+02, 2.735700073242188e+02, 2.735389404296875e+02, 2.735155944824219e+02, 2.7335400390625e+02, 2.731619873046875e+02, 2.729700012207031e+02, 2.727780151367188e+02, 2.72593994140625e+02, 2.724955749511719e+02, 2.724342651367188e+02, 2.723796081542969e+02, 2.723463134765625e+02, 2.723376770019531e+02, 2.723522033691406e+02, 2.724003295898438e+02, 2.724500122070312e+02, 2.724666442871094e+02, 2.724525451660156e+02, 2.724020690917969e+02, 2.722803344726562e+02, 2.720899963378906e+02, 2.718980102539062e+02, 2.717059936523438e+02, 2.715140075683594e+02, 2.713631591796875e+02, 2.713411865234375e+02, 2.713729858398438e+02, 2.714293518066406e+02, 2.714556884765625e+02, 2.714446716308594e+02, 2.714856872558594e+02, 2.716668701171875e+02, 2.717514038085938e+02, 2.716672058105469e+02, 2.716678771972656e+02, 2.71758056640625e+02, 2.718697814941406e+02, 2.7200390625e+02, 2.721656494140625e+02, 2.724968872070312e+02, 2.728500061035156e+02, 2.729950561523438e+02, 2.729598999023438e+02, 2.725846862792969e+02, 2.721623229980469e+02, 2.721732788085938e+02, 2.722332153320312e+02, 2.723517456054688e+02, 2.724693908691406e+02, 2.722129516601562e+02, 2.715361633300781e+02, 2.708384399414062e+02, 2.701152648925781e+02, 2.6966552734375e+02, 2.693913269042969e+02, 2.691483459472656e+02, 2.68912841796875e+02, 2.686530456542969e+02, 2.682867126464844e+02, 2.680051879882812e+02, 2.680009765625e+02, 2.679133911132812e+02, 2.676651611328125e+02, 2.674332275390625e+02, 2.672374267578125e+02, 2.670499877929688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 2.976658020019531e+02, 2.986680297851562e+02, 2.992571716308594e+02, 2.996145629882812e+02, 2.998484497070312e+02, 3.0003857421875e+02, 3.002480163574219e+02, 3.00486572265625e+02, 3.00755615234375e+02, 3.010447082519531e+02, 3.013450927734375e+02, 3.01657470703125e+02, 3.019657897949219e+02, 3.022986145019531e+02, 3.01447509765625e+02, 3.023903503417969e+02, 3.026644897460938e+02, 3.02913330078125e+02, 3.031400146484375e+02, 3.033462524414062e+02, 3.036559753417969e+02, 3.037683715820312e+02, 3.0410107421875e+02, 3.04111328125e+02, 3.04371826171875e+02, 3.045624694824219e+02, 3.046466674804688e+02, 3.048308410644531e+02, 3.050296020507812e+02, 3.052560729980469e+02, 3.054393615722656e+02, 3.056636047363281e+02, 3.057797546386719e+02, 3.059302062988281e+02, 3.059888000488281e+02, 3.060965576171875e+02, 3.061875e+02, 3.061871032714844e+02, 3.061185913085938e+02, 3.060863952636719e+02, 3.061424255371094e+02, 3.061993713378906e+02, 3.058380737304688e+02, 3.060273742675781e+02, 3.046216430664062e+02, 3.055628051757812e+02, 3.057413940429688e+02, 3.059208984375e+02, 3.060669860839844e+02, 3.061704406738281e+02, 3.062319946289062e+02, 3.062569580078125e+02, 3.062528686523438e+02, 3.062255249023438e+02, 3.061801147460938e+02, 3.061297302246094e+02, 3.0608251953125e+02, 3.060423583984375e+02, 3.060131225585938e+02, 3.06005126953125e+02, 3.060124206542969e+02, 3.060275268554688e+02, 3.060460205078125e+02, 3.060948791503906e+02, 3.046148071289062e+02, 3.05497314453125e+02, 3.055957641601562e+02, 3.056467590332031e+02, 3.056920166015625e+02, 3.058018798828125e+02, 3.062581787109375e+02, 3.049449157714844e+02, 3.047086791992188e+02, 3.048539733886719e+02, 3.057863464355469e+02, 3.065919189453125e+02, 3.069486999511719e+02, 3.070852966308594e+02, 3.067285766601562e+02, 3.064871826171875e+02, 3.062529907226562e+02, 3.061860046386719e+02, 3.061512145996094e+02, 3.062293701171875e+02, 3.062393188476562e+02, 3.063037414550781e+02, 3.063284912109375e+02, 3.062643737792969e+02, 3.061253967285156e+02, 3.060105895996094e+02, 3.059766845703125e+02, 3.0593017578125e+02, 3.054310913085938e+02, 3.054974670410156e+02, 3.04007080078125e+02, 3.048669128417969e+02, 3.049464721679688e+02, 3.05016845703125e+02, 3.050485229492188e+02, 3.050275573730469e+02] +outputs.building.TZone[1]=[2.931499938964844e+02, 2.876071472167969e+02, 2.875175170898438e+02, 2.874015502929688e+02, 2.8726904296875e+02, 2.871190795898438e+02, 2.869621887207031e+02, 2.868347778320312e+02, 2.867630920410156e+02, 2.867120666503906e+02, 2.866679992675781e+02, 2.86633544921875e+02, 2.866239013671875e+02, 2.867125244140625e+02, 2.869701843261719e+02, 2.872058715820312e+02, 2.873030700683594e+02, 2.874338684082031e+02, 2.875478515625e+02, 2.876584777832031e+02, 2.876961975097656e+02, 2.877391357421875e+02, 2.878133544921875e+02, 2.878787841796875e+02, 2.878761901855469e+02, 2.878599853515625e+02, 2.878360900878906e+02, 2.877998962402344e+02, 2.878694458007812e+02, 2.87959716796875e+02, 2.880858154296875e+02, 2.882271728515625e+02, 2.882924499511719e+02, 2.883052368164062e+02, 2.882882995605469e+02, 2.882478942871094e+02, 2.882025451660156e+02, 2.8814453125e+02, 2.88042724609375e+02, 2.878704833984375e+02, 2.877318420410156e+02, 2.876966552734375e+02, 2.876639099121094e+02, 2.876115112304688e+02, 2.875379333496094e+02, 2.874519958496094e+02, 2.873348693847656e+02, 2.873173828125e+02, 2.873149719238281e+02, 2.872969970703125e+02, 2.872760620117188e+02, 2.87269287109375e+02, 2.872607116699219e+02, 2.872470092773438e+02, 2.872260131835938e+02, 2.871968688964844e+02, 2.871649780273438e+02, 2.871320190429688e+02, 2.87098876953125e+02, 2.870679321289062e+02, 2.870472412109375e+02, 2.870338134765625e+02, 2.870250244140625e+02, 2.870933532714844e+02, 2.873027954101562e+02, 2.874847106933594e+02, 2.875263977050781e+02, 2.875961303710938e+02, 2.876125793457031e+02, 2.876499938964844e+02, 2.877185668945312e+02, 2.879772338867188e+02, 2.882306518554688e+02, 2.883175354003906e+02, 2.883886413574219e+02, 2.8847021484375e+02, 2.88527099609375e+02, 2.885458374023438e+02, 2.885226440429688e+02, 2.884881591796875e+02, 2.884660949707031e+02, 2.884560852050781e+02, 2.884488830566406e+02, 2.884388427734375e+02, 2.884351196289062e+02, 2.884188842773438e+02, 2.883898010253906e+02, 2.8834130859375e+02, 2.882380981445312e+02, 2.8803369140625e+02, 2.878644714355469e+02, 2.878010559082031e+02, 2.877376708984375e+02, 2.876405944824219e+02, 2.875213623046875e+02, 2.874387817382812e+02, 2.873233642578125e+02, 2.872565612792969e+02, 2.871980285644531e+02, 2.871200561523438e+02, 2.870358581542969e+02] +electricalGrid.PElecGen=[0e+00, 0e+00] +electricalGrid.PElecLoa=[1.627543579101562e+03, 1.7388779296875e+03, 1.738241577148438e+03, 1.73612646484375e+03, 1.7334931640625e+03, 1.729794921875e+03, 1.726401733398438e+03, 1.726202758789062e+03, 1.726202758789062e+03, 1.726202758789062e+03, 1.726202758789062e+03, 1.726895141601562e+03, 1.729876220703125e+03, 1.732551025390625e+03, 1.734991455078125e+03, 1.736978515625e+03, 1.736390502929688e+03, 1.737198608398438e+03, 1.742019287109375e+03, 1.744921020507812e+03, 1.74226904296875e+03, 1.741906005859375e+03, 1.74627587890625e+03, 1.74993359375e+03, 1.75135400390625e+03, 1.753056640625e+03, 1.756109252929688e+03, 1.759350952148438e+03, 1.761141235351562e+03, 1.762440063476562e+03, 1.769081665039062e+03, 1.778270629882812e+03, 1.779417114257812e+03, 1.7792392578125e+03, 1.778498657226562e+03, 1.77771923828125e+03, 1.7772138671875e+03, 1.776834594726562e+03, 1.774200317382812e+03, 1.771053466796875e+03, 1.76797998046875e+03, 1.764896606445312e+03, 1.76192626953125e+03, 1.760331176757812e+03, 1.759335571289062e+03, 1.758446411132812e+03, 1.757904296875e+03, 1.757763427734375e+03, 1.757999755859375e+03, 1.758782836914062e+03, 1.75959033203125e+03, 1.75986083984375e+03, 1.759632446289062e+03, 1.7588125e+03, 1.756829711914062e+03, 1.75371630859375e+03, 1.750558837890625e+03, 1.747384887695312e+03, 1.744194213867188e+03, 1.741674560546875e+03, 1.741305786132812e+03, 1.741837768554688e+03, 1.74277978515625e+03, 1.743220092773438e+03, 1.743036987304688e+03, 1.743719116210938e+03, 1.746732666015625e+03, 1.7481357421875e+03, 1.746740478515625e+03, 1.746750244140625e+03, 1.748244506835938e+03, 1.750090698242188e+03, 1.752299560546875e+03, 1.754952026367188e+03, 1.760347900390625e+03, 1.766050659179688e+03, 1.768378662109375e+03, 1.767817504882812e+03, 1.761779663085938e+03, 1.754901123046875e+03, 1.755078491210938e+03, 1.756058471679688e+03, 1.75799072265625e+03, 1.759905151367188e+03, 1.755733154296875e+03, 1.744568481445312e+03, 1.732839111328125e+03, 1.720439453125e+03, 1.7125986328125e+03, 1.707770629882812e+03, 1.703461791992188e+03, 1.6992568359375e+03, 1.694587280273438e+03, 1.687942260742188e+03, 1.682941528320312e+03, 1.682867431640625e+03, 1.681353637695312e+03, 1.677035400390625e+03, 1.6729736328125e+03, 1.669524536132812e+03, 1.666205200195312e+03] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_TEASERHeatLoadCalculation_Example.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_TEASERHeatLoadCalculation_Example.txt new file mode 100644 index 00000000..8699b8fb --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_TEASERHeatLoadCalculation_Example.txt @@ -0,0 +1,17 @@ +last-generated=2024-06-28 +statistics-initialization= +{ + "linear": "7" +} +statistics-simulation= +{ + "linear": "10, 0, 0", + "nonlinear": "1, 0, 1, 0, 1, 0, 1", + "number of continuous time states": "20", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +weaDat.weaBus.TDryBul=[2.713500061035156e+02, 2.714423522949219e+02, 2.713688049316406e+02, 2.711300048828125e+02, 2.708900146484375e+02, 2.706499938964844e+02, 2.704100036621094e+02, 2.701031188964844e+02, 2.696802062988281e+02, 2.693132629394531e+02, 2.689815979003906e+02, 2.687498474121094e+02, 2.687302856445312e+02, 2.684281311035156e+02, 2.677860412597656e+02, 2.674700012207031e+02, 2.672780151367188e+02, 2.670859985351562e+02, 2.668940124511719e+02, 2.667543640136719e+02, 2.674586791992188e+02, 2.682342834472656e+02, 2.686448669433594e+02, 2.692129211425781e+02, 2.700237121582031e+02, 2.708500061035156e+02, 2.716349792480469e+02, 2.723893127441406e+02, 2.729895324707031e+02, 2.733184814453125e+02, 2.734673461914062e+02, 2.735424194335938e+02, 2.735648498535156e+02, 2.73562255859375e+02, 2.734952392578125e+02, 2.733829650878906e+02, 2.733241271972656e+02, 2.733239440917969e+02, 2.734044799804688e+02, 2.735684204101562e+02, 2.736940002441406e+02, 2.737637023925781e+02, 2.737111511230469e+02, 2.734936828613281e+02, 2.733190002441406e+02, 2.73205322265625e+02, 2.731450805664062e+02, 2.731335754394531e+02, 2.7315283203125e+02, 2.732023315429688e+02, 2.7325e+02, 2.732466735839844e+02, 2.732464294433594e+02, 2.733169860839844e+02, 2.734288940429688e+02, 2.735700073242188e+02, 2.737182312011719e+02, 2.738376770019531e+02, 2.739303588867188e+02, 2.739819946289062e+02, 2.740299987792969e+02, 2.740780029296875e+02, 2.741260070800781e+02, 2.741852416992188e+02, 2.742919921875e+02, 2.743815307617188e+02, 2.744320983886719e+02, 2.744386291503906e+02, 2.742976684570312e+02, 2.742652587890625e+02, 2.743667907714844e+02, 2.744607849121094e+02, 2.74489013671875e+02, 2.745615539550781e+02, 2.748076477050781e+02, 2.751499938964844e+02, 2.755416259765625e+02, 2.759237670898438e+02, 2.761777038574219e+02, 2.763310241699219e+02, 2.764301147460938e+02, 2.764605407714844e+02, 2.7639404296875e+02, 2.762903747558594e+02, 2.7616455078125e+02, 2.760198059082031e+02, 2.758236999511719e+02, 2.755619812011719e+02, 2.753553771972656e+02, 2.751993103027344e+02, 2.751300048828125e+02, 2.750820007324219e+02, 2.750339965820312e+02, 2.749859924316406e+02, 2.749522399902344e+02, 2.751499938964844e+02, 2.753774108886719e+02, 2.755320129394531e+02, 2.756587219238281e+02, 2.756750183105469e+02, 2.755499877929688e+02] +outputs.building.TZone[1]=[2.931499938964844e+02, 2.931821594238281e+02, 2.931440124511719e+02, 2.931449584960938e+02, 2.93144775390625e+02, 2.931447143554688e+02, 2.931446533203125e+02, 2.93141845703125e+02, 2.931540832519531e+02, 2.931559143066406e+02, 2.931568298339844e+02, 2.931609191894531e+02, 2.931628723144531e+02, 2.932030334472656e+02, 2.932010192871094e+02, 2.931893615722656e+02, 2.931892395019531e+02, 2.931822814941406e+02, 2.931827392578125e+02, 2.931803283691406e+02, 2.931814270019531e+02, 2.931876831054688e+02, 2.931740417480469e+02, 2.93153076171875e+02, 2.931479187011719e+02, 2.931508178710938e+02, 2.931431884765625e+02, 2.931416320800781e+02, 2.931690063476562e+02, 2.931655578613281e+02, 2.9316748046875e+02, 2.931649780273438e+02, 2.931495056152344e+02, 2.93149658203125e+02, 2.931390991210938e+02, 2.931411743164062e+02, 2.931378173828125e+02, 2.931392211914062e+02, 2.931310729980469e+02, 2.931312561035156e+02, 2.931519165039062e+02, 2.931514282226562e+02, 2.931466064453125e+02, 2.931451110839844e+02, 2.931411743164062e+02, 2.931396484375e+02, 2.918351135253906e+02, 2.909276428222656e+02, 2.908532104492188e+02, 2.907676696777344e+02, 2.906834411621094e+02, 2.906234741210938e+02, 2.905701293945312e+02, 2.905232849121094e+02, 2.904812927246094e+02, 2.904426574707031e+02, 2.904060668945312e+02, 2.903684692382812e+02, 2.903297424316406e+02, 2.902886657714844e+02, 2.902473754882812e+02, 2.902066345214844e+02, 2.901664428710938e+02, 2.934631042480469e+02, 2.931927185058594e+02, 2.931685791015625e+02, 2.931671447753906e+02, 2.931585388183594e+02, 2.93159423828125e+02, 2.931661376953125e+02, 2.931632385253906e+02, 2.931625366210938e+02, 2.9315869140625e+02, 2.931488647460938e+02, 2.93150390625e+02, 2.93152099609375e+02, 2.931493530273438e+02, 2.931492919921875e+02, 2.931531677246094e+02, 2.931538391113281e+02, 2.9315771484375e+02, 2.931553649902344e+02, 2.931505126953125e+02, 2.931507873535156e+02, 2.931510009765625e+02, 2.931512756347656e+02, 2.93146484375e+02, 2.931466064453125e+02, 2.931280212402344e+02, 2.931287536621094e+02, 2.931506652832031e+02, 2.931504821777344e+02, 2.931468811035156e+02, 2.931464233398438e+02, 2.931468200683594e+02, 2.931485900878906e+02, 2.921778869628906e+02, 2.914781188964844e+02, 2.914222412109375e+02, 2.913445129394531e+02, 2.912581481933594e+02] +electricalGrid.PElecGen=[0e+00, 0e+00] +electricalGrid.PElecLoa=[0e+00, 7.94113916015625e+03, 8.01014892578125e+03, 8.08948681640625e+03, 8.1639423828125e+03, 8.2398046875e+03, 8.316478515625e+03, 8.4085107421875e+03, 8.3975048828125e+03, 8.3224951171875e+03, 8.2297421875e+03, 8.11173828125e+03, 7.92496826171875e+03, 7.54983056640625e+03, 6.823652343749998e+03, 6.09450439453125e+03, 5.5368486328125e+03, 4.992851074218749e+03, 4.5405634765625e+03, 4.015431640625e+03, 3.59484130859375e+03, 3.0435498046875e+03, 2.6047529296875e+03, 2.445219970703125e+03, 2.579023681640625e+03, 2.5474970703125e+03, 2.640173583984375e+03, 2.7625576171875e+03, 2.545524414062499e+03, 2.301639404296875e+03, 2.054718017578125e+03, 1.82189990234375e+03, 1.751370483398438e+03, 1.750782592773438e+03, 1.845105224609376e+03, 1.98095849609375e+03, 2.1270498046875e+03, 2.289830322265625e+03, 2.482501708984375e+03, 2.750784912109375e+03, 2.940921142578125e+03, 2.910523681640625e+03, 2.909634765625e+03, 2.977997314453125e+03, 3.054855712890625e+03, 3.21123876953125e+03, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.6864345703125e+03, 3.75241943359375e+03, 3.25103857421875e+03, 3.001033935546875e+03, 2.788374267578125e+03, 2.679852294921874e+03, 2.464555664062502e+03, 2.239625244140627e+03, 2.050875244140625e+03, 1.898574340820312e+03, 1.8789228515625e+03, 1.921133911132812e+03, 1.90447509765625e+03, 1.915225952148438e+03, 1.922805541992188e+03, 1.883202270507812e+03, 1.835259399414062e+03, 1.73676953125e+03, 1.647532470703125e+03, 1.614908081054688e+03, 1.603034545898438e+03, 1.591032470703125e+03, 1.573591064453125e+03, 1.585214965820312e+03, 1.634187744140625e+03, 1.77666552734375e+03, 2.083842529296875e+03, 2.300395263671875e+03, 2.287618896484375e+03, 2.291545654296875e+03, 2.344634033203125e+03, 2.39546826171875e+03, 2.42413330078125e+03, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/BESMod/unitTests-dymola.log b/BESMod/unitTests-dymola.log new file mode 100644 index 00000000..3b7bc5e7 --- /dev/null +++ b/BESMod/unitTests-dymola.log @@ -0,0 +1,14 @@ +Regression tests are only run for the following package: + BESMod.Examples.TEASERHeatLoadCalculation +Regression tests are only run for the following package: + BESMod.Examples.HighOrderModel +Regression tests are only run for the following package: + BESMod.Examples.HeatPumpAndBoiler +Regression tests are only run for the following package: + BESMod.Examples.DesignOptimization +Regression tests are only run for the following package: + BESMod.Examples.SolarThermalSystem +Regression tests are only run for the following package: + BESMod.Examples.BAUSimStudy +Regression tests are only run for the following package: + BESMod.Examples From 929520ccca35e0557fae24f5a23daf2f8a600546 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Fri, 28 Jun 2024 12:22:07 +0200 Subject: [PATCH 114/125] fix initial conditions in example with ufh --- .../TimeConstantEstimation/UnderfloorHeating/Partial.mo | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/BESMod/Utilities/TimeConstantEstimation/UnderfloorHeating/Partial.mo b/BESMod/Utilities/TimeConstantEstimation/UnderfloorHeating/Partial.mo index 5185b0b2..0cebb35a 100644 --- a/BESMod/Utilities/TimeConstantEstimation/UnderfloorHeating/Partial.mo +++ b/BESMod/Utilities/TimeConstantEstimation/UnderfloorHeating/Partial.mo @@ -25,7 +25,8 @@ partial model Partial "Estimate UFH time constants" P=0.05, timeInt=100))), systemParameters(THydSup_nominal={308.15}, - use_dhw=false)); + use_dhw=false), + building(energyDynamics=Modelica.Fluid.Types.Dynamics.DynamicFreeInitial)); annotation (experiment( StopTime=864000, Interval=600, From e1a4046dd649e49e59d1bbc90797986bda5c6498 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Fri, 28 Jun 2024 16:19:19 +0200 Subject: [PATCH 115/125] rm --- BESMod/unitTests-dymola.log | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 BESMod/unitTests-dymola.log diff --git a/BESMod/unitTests-dymola.log b/BESMod/unitTests-dymola.log deleted file mode 100644 index 3b7bc5e7..00000000 --- a/BESMod/unitTests-dymola.log +++ /dev/null @@ -1,14 +0,0 @@ -Regression tests are only run for the following package: - BESMod.Examples.TEASERHeatLoadCalculation -Regression tests are only run for the following package: - BESMod.Examples.HighOrderModel -Regression tests are only run for the following package: - BESMod.Examples.HeatPumpAndBoiler -Regression tests are only run for the following package: - BESMod.Examples.DesignOptimization -Regression tests are only run for the following package: - BESMod.Examples.SolarThermalSystem -Regression tests are only run for the following package: - BESMod.Examples.BAUSimStudy -Regression tests are only run for the following package: - BESMod.Examples From 021f2c698058a9d3f1c4f62baf3898623f9cd6bf Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 1 Jul 2024 08:29:29 +0200 Subject: [PATCH 116/125] fix initial conditions --- BESMod/Utilities/TimeConstantEstimation/Radiator/Partial.mo | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BESMod/Utilities/TimeConstantEstimation/Radiator/Partial.mo b/BESMod/Utilities/TimeConstantEstimation/Radiator/Partial.mo index b3fa44d1..fa39f7e2 100644 --- a/BESMod/Utilities/TimeConstantEstimation/Radiator/Partial.mo +++ b/BESMod/Utilities/TimeConstantEstimation/Radiator/Partial.mo @@ -12,7 +12,6 @@ partial model Partial "Estimate UFH time constants" BESMod.Utilities.TimeConstantEstimation.BaseClasses.CustomRadiator transfer( f_design=QBuiNoRetrofit_flow_nominal ./ systemParameters.QBui_flow_nominal, - redeclare BESMod.Systems.Hydraulical.Transfer.RecordsCollection.SteelRadiatorStandardPressureLossData parTra, @@ -28,7 +27,8 @@ partial model Partial "Estimate UFH time constants" P=0.05, timeInt=100))), systemParameters(THydSup_nominal={328.15}, - use_dhw=false)); + use_dhw=false), + building(energyDynamics=Modelica.Fluid.Types.Dynamics.DynamicFreeInitial)); parameter Modelica.Units.SI.HeatFlowRate QBuiNoRetrofit_flow_nominal[systemParameters.nZones] "Nominal heat flow rate before possible retrofits"; From 97d8dc354e60f7528b7adb0492dd5fc0bb7ea87b Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 1 Jul 2024 12:04:49 +0200 Subject: [PATCH 117/125] fixed initial conditions --- BESMod/Examples/BAUSimStudy/PartialCase.mo | 2 ++ BESMod/Examples/DesignOptimization/BES.mo | 2 ++ .../Examples/DesignOptimization/BESNoDHW.mo | 2 ++ BESMod/Examples/GasBoilerBuildingOnly.mo | 2 ++ .../Examples/HeatPumpAndBoiler/BaseClasses.mo | 4 +++- .../PartialSolarThermalHPS.mo | 2 ++ ...ModelicaConferencePaper_TEASERBuilding.txt | 23 ------------------- 7 files changed, 13 insertions(+), 24 deletions(-) delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Examples/BAUSimStudy/PartialCase.mo b/BESMod/Examples/BAUSimStudy/PartialCase.mo index 4f66c2d7..4bf58b54 100644 --- a/BESMod/Examples/BAUSimStudy/PartialCase.mo +++ b/BESMod/Examples/BAUSimStudy/PartialCase.mo @@ -10,6 +10,7 @@ partial model PartialCase energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial), redeclare BESMod.Systems.Control.NoControl control, redeclare BESMod.Systems.Hydraulical.HydraulicSystem hydraulic( + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, redeclare Systems.Hydraulical.Generation.HeatPumpAndElectricHeater generation( redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum, redeclare package Medium_eva = AixLib.Media.Air, @@ -81,6 +82,7 @@ partial model PartialCase parTra, redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum)), redeclare Systems.Demand.DHW.StandardProfiles DHW( + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, redeclare BESMod.Systems.Demand.DHW.RecordsCollection.ProfileM DHWProfile, redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum, redeclare BESMod.Systems.Demand.DHW.TappingProfiles.calcmFlowEquStatic diff --git a/BESMod/Examples/DesignOptimization/BES.mo b/BESMod/Examples/DesignOptimization/BES.mo index f17e2eba..8cbaf964 100644 --- a/BESMod/Examples/DesignOptimization/BES.mo +++ b/BESMod/Examples/DesignOptimization/BES.mo @@ -11,6 +11,7 @@ model BES energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial), redeclare BESMod.Systems.Control.NoControl control, redeclare BESMod.Systems.Hydraulical.HydraulicSystem hydraulic( + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, redeclare Systems.Hydraulical.Generation.HeatPumpAndElectricHeater generation( redeclare model PerDataRevHP = AixLib.DataBase.Chiller.PerformanceData.PolynomalApproach (redeclare @@ -98,6 +99,7 @@ model BES BESMod.Systems.Hydraulical.Transfer.RecordsCollection.SteelRadiatorStandardPressureLossData parTra)), redeclare Systems.Demand.DHW.StandardProfiles DHW( + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, redeclare BESMod.Systems.Demand.DHW.RecordsCollection.ProfileM DHWProfile, redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum, redeclare BESMod.Systems.Demand.DHW.TappingProfiles.calcmFlowEquStatic diff --git a/BESMod/Examples/DesignOptimization/BESNoDHW.mo b/BESMod/Examples/DesignOptimization/BESNoDHW.mo index 4ef602af..9a45039c 100644 --- a/BESMod/Examples/DesignOptimization/BESNoDHW.mo +++ b/BESMod/Examples/DesignOptimization/BESNoDHW.mo @@ -11,6 +11,7 @@ model BESNoDHW "Example to demonstrate usage without DHW" energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial), redeclare BESMod.Systems.Control.NoControl control, redeclare BESMod.Systems.Hydraulical.HydraulicSystem hydraulic( + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, redeclare Systems.Hydraulical.Generation.HeatPumpAndElectricHeater generation( redeclare model PerDataRevHP = AixLib.DataBase.Chiller.PerformanceData.PolynomalApproach (redeclare @@ -86,6 +87,7 @@ model BESNoDHW "Example to demonstrate usage without DHW" BESMod.Systems.Hydraulical.Transfer.RecordsCollection.SteelRadiatorStandardPressureLossData parTra)), redeclare Systems.Demand.DHW.StandardProfiles DHW( + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, redeclare BESMod.Systems.Demand.DHW.RecordsCollection.ProfileM DHWProfile, redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum, redeclare BESMod.Systems.Demand.DHW.TappingProfiles.calcmFlowEquStatic diff --git a/BESMod/Examples/GasBoilerBuildingOnly.mo b/BESMod/Examples/GasBoilerBuildingOnly.mo index 65107551..4a1f6187 100644 --- a/BESMod/Examples/GasBoilerBuildingOnly.mo +++ b/BESMod/Examples/GasBoilerBuildingOnly.mo @@ -10,6 +10,7 @@ model GasBoilerBuildingOnly redeclare BESMod.Systems.Control.NoControl control, redeclare BESMod.Systems.Ventilation.NoVentilation ventilation, redeclare BESMod.Systems.Hydraulical.HydraulicSystem hydraulic( + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, redeclare BESMod.Systems.Hydraulical.Generation.GasBoiler generation( dTTra_nominal={10}, redeclare @@ -38,6 +39,7 @@ model GasBoilerBuildingOnly BESMod.Systems.Hydraulical.Transfer.RecordsCollection.RadiatorTransferData parRad)), redeclare BESMod.Systems.Demand.DHW.StandardProfiles DHW( + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum, redeclare BESMod.Systems.Demand.DHW.RecordsCollection.ProfileM DHWProfile, redeclare BESMod.Systems.Demand.DHW.TappingProfiles.PassThrough calcmFlow), diff --git a/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo b/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo index a478ebd5..82d36c57 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo @@ -11,7 +11,8 @@ package BaseClasses "Contains partial example case" oneZoneParam(heaLoadFacGrd=0, heaLoadFacOut=0), energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial), redeclare BESMod.Systems.Control.NoControl control, - redeclare BESMod.Systems.Hydraulical.HydraulicSystem hydraulic(redeclare + redeclare BESMod.Systems.Hydraulical.HydraulicSystem hydraulic( + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, redeclare Systems.Hydraulical.Control.HybridHeatPumpSystem control( redeclare BESMod.Systems.Hydraulical.Control.Components.ThermostaticValveController.ThermostaticValvePIControlled @@ -46,6 +47,7 @@ package BaseClasses "Contains partial example case" BESMod.Systems.Hydraulical.Transfer.RecordsCollection.SteelRadiatorStandardPressureLossData parTra)), redeclare Systems.Demand.DHW.StandardProfiles DHW( + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, redeclare BESMod.Systems.Demand.DHW.RecordsCollection.ProfileM DHWProfile, redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum, redeclare BESMod.Systems.Demand.DHW.TappingProfiles.calcmFlowEquStatic diff --git a/BESMod/Examples/SolarThermalSystem/PartialSolarThermalHPS.mo b/BESMod/Examples/SolarThermalSystem/PartialSolarThermalHPS.mo index 7cafb00a..17a1b9de 100644 --- a/BESMod/Examples/SolarThermalSystem/PartialSolarThermalHPS.mo +++ b/BESMod/Examples/SolarThermalSystem/PartialSolarThermalHPS.mo @@ -11,6 +11,7 @@ partial model PartialSolarThermalHPS energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial), redeclare BESMod.Systems.Control.NoControl control, redeclare BESMod.Systems.Hydraulical.HydraulicSystem hydraulic( + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, redeclare hydGeneration generation, redeclare BESMod.Systems.Hydraulical.Control.MonoenergeticHeatPumpSystem control( @@ -44,6 +45,7 @@ partial model PartialSolarThermalHPS parTra, redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum)), redeclare Systems.Demand.DHW.StandardProfiles DHW( + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, redeclare BESMod.Systems.Demand.DHW.RecordsCollection.ProfileM DHWProfile, redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum, redeclare Systems.Demand.DHW.TappingProfiles.calcmFlowEquStatic calcmFlow), diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt deleted file mode 100644 index f1e7d669..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt +++ /dev/null @@ -1,23 +0,0 @@ -last-generated=2024-06-21 -statistics-initialization= -{ - "linear": "0", - "nonlinear": "5, 2, 0, 0, 1, 1, 5, 1, 0, 1, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", - "number of continuous time states": "84", - "numerical Jacobians": "0" -} -time=[0e+00, 8.64e+05] -electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.33490771484375e+03, 4.3512900390625e+03, 4.0921806640625e+03, 3.970196533203125e+03, 6.30210107421875e+03, 3.312131103515625e+03, 3.034364013671875e+03, 3.41242138671875e+03, 3.67372802734375e+03, 3.662413818359375e+03, 3.81852001953125e+03, 3.963828125e+03, 3.739712646484375e+03, 3.020140624999999e+03, 2.581547607421875e+03, 2.269099853515625e+03, 2.692094482421875e+03, 3.455965576171875e+03, 3.997334716796875e+03, 4.52013818359375e+03, 4.8091982421875e+03, 4.76216162109375e+03, 4.71285009765625e+03, 3.81256298828125e+03, 6.42457177734375e+03, 2.4950390625e+03, 2.958464599609376e+03, 3.709577636718751e+03, 4.12850439453125e+03, 4.049660400390625e+03, 4.19853173828125e+03, 3.998056884765625e+03, 3.668410888671875e+03, 3.1371005859375e+03, 4.1649619140625e+03, 2.480983642578125e+03, 2.3728115234375e+03, 2.49396533203125e+03, 2.576850830078125e+03, 2.656408203125e+03, 2.686517578125e+03, 2.65044580078125e+03, 2.475453369140625e+03, 2.077083740234375e+03, 2.532001953125e+03, 1.790303833007812e+03, 1.790153930664062e+03, 2.050327880859375e+03, 2.247240478515625e+03, 5.22676123046875e+03, 2.25623193359375e+03, 2.20314501953125e+03, 1.971637817382812e+03, 1.558161499023436e+03, 1.824257446289028e+03, 1.373239990234374e+03, 1.349220703125001e+03, 1.612211425781248e+03, 1.740614013671875e+03, 1.8916259765625e+03, 1.8398359375e+03, 1.957430908203125e+03, 4.51442138671875e+03, 1.575939819335938e+03, 1.264510009765625e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.8950703125e+03, 4.126525390625e+03, 2.513596435546875e+03, 2.538822265625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.287680786132812e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.112168701171875e+03, 4.72302685546875e+03, 1.752811889648438e+03, 1.368743286132812e+03, 1.408338500976562e+03, 1.448330078125e+03, 1.933385009765625e+03, 4.11730859375e+03, 2.524497802734375e+03, 2.4396923828125e+03, 2.57137548828125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047241210938e+03, 1.373419311523438e+03, 1.916524780273438e+03, 1.675905029296875e+03, 4.25720654296875e+03, 1.675593994140625e+03] -electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] -hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324159240722656e+02, 3.312860717773438e+02, 3.287839660644531e+02, 3.253984985351562e+02, 3.288045654296875e+02, 3.320787658691406e+02, 3.306276245117188e+02, 3.290182189941406e+02, 3.206750183105469e+02, 3.188941345214844e+02, 3.325358581542969e+02, 3.313905944824219e+02, 3.283414001464844e+02, 3.247552185058594e+02, 3.334142150878906e+02, 3.31927734375e+02, 3.304664611816406e+02, 3.288200073242188e+02, 3.202286682128906e+02, 3.18448974609375e+02, 3.325276184082031e+02, 3.313877868652344e+02, 3.285264892578125e+02, 3.25004150390625e+02, 3.299681701660156e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.207655334472661e+02, 3.189847717285156e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] -hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.217067565917969e+02, 3.220357971191406e+02, 3.214468994140625e+02, 3.210304870605469e+02, 3.1631689453125e+02, 3.197584838867188e+02, 3.192779541015625e+02, 3.196666870117188e+02, 3.201047058105469e+02, 3.200395202636719e+02, 3.203280334472656e+02, 3.211601867675781e+02, 3.212822265625e+02, 3.214100952148438e+02, 3.202566833496094e+02, 3.209819030761719e+02, 3.213964233398438e+02, 3.239574279785156e+02, 3.252372436523438e+02, 3.261040344238281e+02, 3.259692687988281e+02, 3.258506774902344e+02, 3.254657592773438e+02, 3.269980163574219e+02, 3.219867858886719e+02, 3.215994567871094e+02, 3.223942565917969e+02, 3.240304260253906e+02, 3.250342102050781e+02, 3.24409423828125e+02, 3.236939392089844e+02, 3.230561828613281e+02, 3.234299926757812e+02, 3.222492980957031e+02, 3.183071899414062e+02, 3.196488037109375e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.1711279296875e+02, 3.168662414550781e+02, 3.170023193359375e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.1497802734375e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806457519531e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120771179199219e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.139626159667969e+02, 3.141998596191406e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.225185852050781e+02, 3.227925720214844e+02, 3.221540222167969e+02, 3.21761474609375e+02, 3.366685791015625e+02, 3.201875305175781e+02, 3.195229797363281e+02, 3.200911865234375e+02, 3.207463989257812e+02, 3.206997375488281e+02, 3.210518798828125e+02, 3.218682250976562e+02, 3.217672729492188e+02, 3.215079956054688e+02, 3.205125427246094e+02, 3.210061340332031e+02, 3.215389404296875e+02, 3.240691833496094e+02, 3.2536474609375e+02, 3.263295288085938e+02, 3.263212280273438e+02, 3.261638488769531e+02, 3.258239440917969e+02, 3.269283752441406e+02, 3.380326538085938e+02, 3.216250915527344e+02, 3.224975891113281e+02, 3.241805725097656e+02, 3.252051696777344e+02, 3.245939331054688e+02, 3.2405224609375e+02, 3.233934020996094e+02, 3.235729675292969e+02, 3.223343505859375e+02, 3.170472106933594e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827209472656e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143257446289062e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] -ventilation.generation.TSup.T=[2.931499938964844e+02, 2.874144287109375e+02, 2.872437744140625e+02, 2.879594116210938e+02, 2.886515808105469e+02, 2.888141479492188e+02, 2.893283081054688e+02, 2.893325805664062e+02, 2.8891552734375e+02, 2.888216552734375e+02, 2.88795166015625e+02, 2.887434692382812e+02, 2.886882629394531e+02, 2.891245727539062e+02, 2.89114013671875e+02, 2.891768493652344e+02, 2.889263916015625e+02, 2.887974853515625e+02, 2.882192993164062e+02, 2.880493774414062e+02, 2.878735656738281e+02, 2.879114990234375e+02, 2.876330261230469e+02, 2.877733459472656e+02, 2.879860534667969e+02, 2.887655944824219e+02, 2.888922119140625e+02, 2.886289672851562e+02, 2.881930541992188e+02, 2.880802307128906e+02, 2.88200927734375e+02, 2.883916015625e+02, 2.884980773925781e+02, 2.887344665527344e+02, 2.887823791503906e+02, 2.890131530761719e+02, 2.892212524414062e+02, 2.893662719726562e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999328613281e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.89999755859375e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] -ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] -building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.916024475097656e+02, 2.914422912597656e+02, 2.921798706054688e+02, 2.929653930664062e+02, 2.929985046386719e+02, 2.934014892578125e+02, 2.93272705078125e+02, 2.929021911621094e+02, 2.929318237304688e+02, 2.9288134765625e+02, 2.92906982421875e+02, 2.930252380371094e+02, 2.935348205566406e+02, 2.934527587890625e+02, 2.932579650878906e+02, 2.931148376464844e+02, 2.931128234863281e+02, 2.929874572753906e+02, 2.930614929199219e+02, 2.930794372558594e+02, 2.931828002929688e+02, 2.930972900390625e+02, 2.933588562011719e+02, 2.932990417480469e+02, 2.932444763183594e+02, 2.932161865234375e+02, 2.9311376953125e+02, 2.929808959960938e+02, 2.930628051757812e+02, 2.930635070800781e+02, 2.931701049804688e+02, 2.9314794921875e+02, 2.934541625976562e+02, 2.932477416992188e+02, 2.931527404785156e+02, 2.931654357910156e+02, 2.931543579101562e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880004882812e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From db3c826fd60732685686cecd13e122965267789a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Mon, 1 Jul 2024 10:11:52 +0000 Subject: [PATCH 118/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results /62-update-ci-templates/charts/ --- ...ModelicaConferencePaper_TEASERBuilding.txt | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt new file mode 100644 index 00000000..eb927d36 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_ModelicaConferencePaper_TEASERBuilding.txt @@ -0,0 +1,23 @@ +last-generated=2024-07-01 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 7, 2, 0, 0, 1, 1, 1, 0, 1, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "2, 1, 1, 6, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "84", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+05] +electrical.distribution.batterySimple.PLoad=[2.135427001953125e+03, 4.47995361328125e+03, 4.46833056640625e+03, 4.36281494140625e+03, 4.20900390625e+03, 6.30185498046875e+03, 3.56653466796875e+03, 3.5011611328125e+03, 3.720252685546875e+03, 3.834575927734375e+03, 3.79071484375e+03, 3.942838623046875e+03, 4.077826171875e+03, 3.950693359375e+03, 3.709188232421874e+03, 3.73304638671875e+03, 2.633401123046875e+03, 2.938392578125e+03, 3.62526123046875e+03, 4.13344921875e+03, 4.62547314453125e+03, 4.75055615234375e+03, 4.63270849609375e+03, 4.51950634765625e+03, 4.6438115234375e+03, 6.424775390625e+03, 2.496562255859375e+03, 2.955569335937501e+03, 3.707226806640626e+03, 4.12660498046875e+03, 4.048317138671875e+03, 4.19738330078125e+03, 3.997242431640625e+03, 3.667635009765625e+03, 3.136692626953125e+03, 4.16498486328125e+03, 2.480868896484375e+03, 2.37273681640625e+03, 2.49392236328125e+03, 2.5768193359375e+03, 2.656386962890625e+03, 2.686499267578125e+03, 2.650428955078125e+03, 2.475436767578125e+03, 2.0770732421875e+03, 2.531997802734375e+03, 1.790302124023438e+03, 1.790155517578125e+03, 2.0503271484375e+03, 2.24723974609375e+03, 5.22676220703125e+03, 2.2562314453125e+03, 2.20314453125e+03, 1.9716376953125e+03, 1.558156982421873e+03, 1.824257202148403e+03, 1.373240478515624e+03, 1.349212280273438e+03, 1.612211669921873e+03, 1.740629516601562e+03, 1.891625732421875e+03, 1.839836303710938e+03, 1.957431640625e+03, 4.514421875e+03, 1.575940795898438e+03, 1.264509887695312e+03, 1.305475219726562e+03, 1.120994186401367e+02, 1.89505078125e+03, 4.126525390625e+03, 2.513596923828125e+03, 2.538822509765625e+03, 2.633843017578125e+03, 4.61169091796875e+03, 1.969733642578125e+03, 1.303910888671875e+03, 1.316678100585938e+03, 1.2876806640625e+03, 1.87595361328125e+03, 4.1624287109375e+03, 2.145264892578125e+03, 2.080975341796875e+03, 2.1121689453125e+03, 4.72302685546875e+03, 1.7528115234375e+03, 1.368743286132812e+03, 1.408338623046875e+03, 1.448330200195312e+03, 1.933385131835938e+03, 4.11730859375e+03, 2.524498046875e+03, 2.4396923828125e+03, 2.571374267578125e+03, 4.6139677734375e+03, 2.263805908203125e+03, 1.324047119140625e+03, 1.373419189453125e+03, 1.916526489257812e+03, 1.675905151367188e+03, 4.25720654296875e+03, 1.675593994140625e+03] +electrical.distribution.batterySimple.PCharge=[0e+00, 0e+00, 0e+00, 0e+00, 1.373916625976562e+02, 4.424331359863281e+02, 3.614790344238281e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 3.117859497070343e+02, 1.355197021484375e+03, 4.340064392089844e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.962879486083984e+02, 1.17838671875e+03, 8.831699829101562e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.132767333984375e+02, 3.282506713867188e+02, 3.45608154296875e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 7.848101043701172e+01, 4.093669128417969e+02, 3.108592834472656e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.251091918945329e+02, 2.335591125488297e+02, 3.569707031249969e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 2.269563446044922e+02, 6.538319702148438e+02, 4.359191589355469e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.521343383789062e+02, 1.300943725585938e+03, 2.515860290527344e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.450899047851562e+02, 5.276746826171875e+02, 4.921898803710938e+02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.932261657714844e+02, 1.391678466796875e+03, 7.0428857421875e+02, 0e+00, 0e+00, 0e+00, 0e+00] +hydraulic.distribution.sigBusDistr.TStoDHWTopMea=[3.231499938964844e+02, 3.324158935546875e+02, 3.31285888671875e+02, 3.287838745117188e+02, 3.253984680175781e+02, 3.288024597167969e+02, 3.320787658691406e+02, 3.306276550292969e+02, 3.290182800292969e+02, 3.206752014160156e+02, 3.188943481445312e+02, 3.325361938476562e+02, 3.313908996582031e+02, 3.283415832519531e+02, 3.247553405761719e+02, 3.33414306640625e+02, 3.319278564453125e+02, 3.304666748046875e+02, 3.288203430175781e+02, 3.202295532226562e+02, 3.184498596191406e+02, 3.325276184082031e+02, 3.313876342773438e+02, 3.285263671875e+02, 3.250038146972656e+02, 3.299695739746094e+02, 3.320758666992188e+02, 3.306386108398438e+02, 3.290482177734375e+02, 3.20765502929688e+02, 3.189847412109375e+02, 3.325269165039062e+02, 3.313855895996094e+02, 3.284731140136719e+02, 3.249318237304688e+02, 3.335232849121094e+02, 3.320349731445312e+02, 3.30585693359375e+02, 3.289765014648438e+02, 3.206253051757812e+02, 3.188450927734375e+02, 3.325276184082031e+02, 3.313794250488281e+02, 3.28232421875e+02, 3.246143188476562e+02, 3.333856811523438e+02, 3.318667602539062e+02, 3.303650207519531e+02, 3.286611633300781e+02, 3.198681945800781e+02, 3.2044384765625e+02, 3.32455322265625e+02, 3.313084106445312e+02, 3.28146484375e+02, 3.245272521972656e+02, 3.332818908691406e+02, 3.317374572753906e+02, 3.302045288085938e+02, 3.284585876464844e+02, 3.195389404296875e+02, 3.282238159179688e+02, 3.271847534179688e+02, 3.261846923828125e+02, 3.225004272460938e+02, 3.314703979492188e+02, 3.297868347167969e+02, 3.280750122070312e+02, 3.2619287109375e+02, 3.238330383300781e+02, 3.134141235351562e+02, 3.276167297363281e+02, 3.266058349609375e+02, 3.25632568359375e+02, 3.223292846679688e+02, 3.31540283203125e+02, 3.298855590820312e+02, 3.281965942382812e+02, 3.263351745605469e+02, 3.239973754882812e+02, 3.135263977050781e+02, 3.276128234863281e+02, 3.266004028320312e+02, 3.256256713867188e+02, 3.221805114746094e+02, 3.314796752929688e+02, 3.298001708984375e+02, 3.280909423828125e+02, 3.262099304199219e+02, 3.238519592285156e+02, 3.133995056152344e+02, 3.27618408203125e+02, 3.266074829101562e+02, 3.256341857910156e+02, 3.223190612792969e+02, 3.315321044921875e+02, 3.298739318847656e+02, 3.281820373535156e+02, 3.263188171386719e+02, 3.239772338867188e+02, 3.137076721191406e+02, 3.276051025390625e+02] +hydraulic.distribution.sigBusDistr.TStoBufTopMea=[2.931499938964844e+02, 3.212180786132812e+02, 3.212088012695312e+02, 3.214093933105469e+02, 3.209888916015625e+02, 3.158982238769531e+02, 3.195904235839844e+02, 3.188431396484375e+02, 3.193964233398438e+02, 3.200549621582031e+02, 3.200167236328125e+02, 3.203017883300781e+02, 3.211404724121094e+02, 3.210367126464844e+02, 3.209654541015625e+02, 3.194432373046875e+02, 3.209748840332031e+02, 3.213802490234375e+02, 3.239423828125e+02, 3.252083740234375e+02, 3.260706787109375e+02, 3.254591369628906e+02, 3.246849365234375e+02, 3.237217102050781e+02, 3.265161743164062e+02, 3.219005737304688e+02, 3.216014404296875e+02, 3.223946533203125e+02, 3.240307312011719e+02, 3.2503466796875e+02, 3.24409912109375e+02, 3.236948852539062e+02, 3.230567932128906e+02, 3.234303283691406e+02, 3.222493591308594e+02, 3.183075256347656e+02, 3.196488342285156e+02, 3.188019104003906e+02, 3.181051940917969e+02, 3.174376525878906e+02, 3.171963500976562e+02, 3.171128234863281e+02, 3.168662719726562e+02, 3.170023498535156e+02, 3.172291259765625e+02, 3.167228698730469e+02, 3.163240966796875e+02, 3.161105651855469e+02, 3.160719299316406e+02, 3.16107177734375e+02, 3.149780578613281e+02, 3.154870300292969e+02, 3.149855651855469e+02, 3.147172241210938e+02, 3.138975219726562e+02, 3.135088195800782e+02, 3.133309326171875e+02, 3.133806762695312e+02, 3.132249145507812e+02, 3.126752014160156e+02, 3.127221984863281e+02, 3.120770874023438e+02, 3.122515563964844e+02, 3.127204284667969e+02, 3.133255310058594e+02, 3.128136596679688e+02, 3.143326110839844e+02, 3.13962646484375e+02, 3.141999206542969e+02, 3.148293151855469e+02, 3.159743041992188e+02, 3.155686950683594e+02, 3.158112487792969e+02, 3.157803649902344e+02, 3.160188293457031e+02, 3.149610900878906e+02, 3.155105285644531e+02, 3.142392883300781e+02, 3.142092590332031e+02, 3.1374169921875e+02, 3.137513122558594e+02, 3.132081604003906e+02, 3.129958801269531e+02, 3.126703491210938e+02, 3.133313903808594e+02, 3.12690185546875e+02, 3.140552673339844e+02, 3.136625671386719e+02, 3.147835388183594e+02, 3.150120849609375e+02, 3.15304931640625e+02, 3.147729187011719e+02, 3.150426940917969e+02, 3.151403198242188e+02, 3.163287963867188e+02, 3.158452758789062e+02, 3.173148498535156e+02, 3.132345886230469e+02, 3.135290222167969e+02, 3.121973571777344e+02, 3.114513549804688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.220247497558594e+02, 3.2199365234375e+02, 3.221690979003906e+02, 3.217630920410156e+02, 3.366665649414062e+02, 3.20172119140625e+02, 3.195110473632812e+02, 3.201190795898438e+02, 3.207625732421875e+02, 3.207008361816406e+02, 3.210507507324219e+02, 3.218691101074219e+02, 3.217328186035156e+02, 3.214653930664062e+02, 3.200375671386719e+02, 3.210239868164062e+02, 3.2154541015625e+02, 3.2407861328125e+02, 3.25368896484375e+02, 3.263327331542969e+02, 3.258415832519531e+02, 3.25081298828125e+02, 3.241954956054688e+02, 3.267381591796875e+02, 3.380343017578125e+02, 3.216271362304688e+02, 3.224976806640625e+02, 3.241804809570312e+02, 3.252051086425781e+02, 3.245938415527344e+02, 3.240523071289062e+02, 3.233933715820312e+02, 3.235729675292969e+02, 3.223343200683594e+02, 3.170474853515625e+02, 3.196741638183594e+02, 3.188475646972656e+02, 3.181842956542969e+02, 3.175942687988281e+02, 3.174306640625e+02, 3.17390380859375e+02, 3.171518859863281e+02, 3.171832885742188e+02, 3.172629089355469e+02, 3.170065307617188e+02, 3.163485412597656e+02, 3.161522216796875e+02, 3.161393432617188e+02, 3.162286987304688e+02, 3.270950622558594e+02, 3.156535949707031e+02, 3.15173828125e+02, 3.148207702636719e+02, 3.139150695800781e+02, 3.136847229003906e+02, 3.13353759765625e+02, 3.133827514648438e+02, 3.13263671875e+02, 3.127901916503906e+02, 3.12932373046875e+02, 3.123673095703125e+02, 3.126573181152344e+02, 3.199217529296875e+02, 3.133545532226562e+02, 3.128702087402344e+02, 3.144125671386719e+02, 3.167593994140625e+02, 3.143258056640625e+02, 3.158177185058594e+02, 3.162833862304688e+02, 3.160073547363281e+02, 3.163293762207031e+02, 3.21721923828125e+02, 3.160564575195312e+02, 3.150056762695312e+02, 3.155024719238281e+02, 3.142106018066406e+02, 3.143121643066406e+02, 3.160316467285156e+02, 3.140609130859375e+02, 3.136082763671875e+02, 3.134651489257812e+02, 3.224154663085938e+02, 3.134444274902344e+02, 3.127227478027344e+02, 3.140231628417969e+02, 3.136991577148438e+02, 3.148502502441406e+02, 3.157375183105469e+02, 3.157339477539062e+02, 3.152723388671875e+02, 3.156076049804688e+02, 3.216741027832031e+02, 3.165010986328125e+02, 3.158830871582031e+02, 3.174266967773438e+02, 3.13302978515625e+02, 3.135718078613281e+02, 3.166967163085938e+02, 3.116650390625e+02] +ventilation.generation.TSup.T=[2.931499938964844e+02, 2.859515991210938e+02, 2.858675231933594e+02, 2.867267150878906e+02, 2.874771118164062e+02, 2.87723876953125e+02, 2.883582458496094e+02, 2.886298217773438e+02, 2.882432556152344e+02, 2.881243896484375e+02, 2.881412048339844e+02, 2.881346740722656e+02, 2.881255798339844e+02, 2.886752014160156e+02, 2.890507507324219e+02, 2.893086547851562e+02, 2.889747924804688e+02, 2.88816650390625e+02, 2.882238159179688e+02, 2.880534973144531e+02, 2.878787841796875e+02, 2.878944396972656e+02, 2.875970764160156e+02, 2.877426452636719e+02, 2.8809619140625e+02, 2.887997741699219e+02, 2.888978881835938e+02, 2.886294250488281e+02, 2.881930541992188e+02, 2.880802001953125e+02, 2.882008666992188e+02, 2.883915405273438e+02, 2.884979858398438e+02, 2.887342529296875e+02, 2.887822570800781e+02, 2.890131225585938e+02, 2.892212219238281e+02, 2.893662414550781e+02, 2.893263244628906e+02, 2.895024719238281e+02, 2.895642700195312e+02, 2.896366271972656e+02, 2.896917114257812e+02, 2.899533081054688e+02, 2.897843627929688e+02, 2.897864074707031e+02, 2.898390197753906e+02, 2.898699951171875e+02, 2.897172241210938e+02, 2.897662048339844e+02, 2.898124084472656e+02, 2.899465637207031e+02, 2.900490417480469e+02, 2.903778381347656e+02, 2.904035034179688e+02, 2.904494934082031e+02, 2.904220886230469e+02, 2.903999633789062e+02, 2.902438049316406e+02, 2.903731689453125e+02, 2.904244995117188e+02, 2.905009155273438e+02, 2.904703979492188e+02, 2.907452697753906e+02, 2.906912231445312e+02, 2.907544555664062e+02, 2.90777587890625e+02, 2.906898193359375e+02, 2.899997863769531e+02, 2.898597106933594e+02, 2.897141723632812e+02, 2.897911376953125e+02, 2.897592468261719e+02, 2.901233825683594e+02, 2.902593994140625e+02, 2.903743896484375e+02, 2.902421875e+02, 2.903054809570312e+02, 2.900029296875e+02, 2.900878601074219e+02, 2.901140747070312e+02, 2.902445678710938e+02, 2.9025537109375e+02, 2.90671875e+02, 2.906780395507812e+02, 2.906279907226562e+02, 2.90366943359375e+02, 2.903052368164062e+02, 2.899090881347656e+02, 2.8979541015625e+02, 2.897880554199219e+02, 2.899022827148438e+02, 2.898206176757812e+02, 2.901926879882812e+02, 2.901647644042969e+02, 2.9035595703125e+02, 2.90578369140625e+02, 2.90369140625e+02, 2.901572265625e+02, 2.904220886230469e+02, 2.905657653808594e+02] +ventilation.generation.weaBus.TDryBul=[2.711499938964844e+02, 2.706598205566406e+02, 2.704500122070312e+02, 2.710835876464844e+02, 2.713986511230469e+02, 2.720499877929688e+02, 2.730393371582031e+02, 2.735700073242188e+02, 2.729700012207031e+02, 2.723796081542969e+02, 2.724500122070312e+02, 2.720899963378906e+02, 2.713411865234375e+02, 2.714856872558594e+02, 2.71758056640625e+02, 2.728500061035156e+02, 2.721732788085938e+02, 2.715361633300781e+02, 2.691483459472656e+02, 2.680009765625e+02, 2.670499877929688e+02, 2.668262023925781e+02, 2.657754821777344e+02, 2.654322509765625e+02, 2.667328796386719e+02, 2.708500061035156e+02, 2.715960083007812e+02, 2.706900024414062e+02, 2.6904345703125e+02, 2.681499938964844e+02, 2.6875e+02, 2.692776794433594e+02, 2.698986511230469e+02, 2.698555908203125e+02, 2.7092041015625e+02, 2.724500122070312e+02, 2.734451904296875e+02, 2.742142639160156e+02, 2.747942810058594e+02, 2.753908081054688e+02, 2.755499877929688e+02, 2.75614013671875e+02, 2.758299865722656e+02, 2.758448791503906e+02, 2.757672424316406e+02, 2.761499938964844e+02, 2.765899963378906e+02, 2.767610473632812e+02, 2.767300109863281e+02, 2.766708068847656e+02, 2.768500061035156e+02, 2.772636108398438e+02, 2.7771533203125e+02, 2.781019897460938e+02, 2.789319152832031e+02, 2.794500122070312e+02, 2.794466247558594e+02, 2.794279174804688e+02, 2.794849243164062e+02, 2.799500122070312e+02, 2.800499877929688e+02, 2.803680114746094e+02, 2.800899963378906e+02, 2.797099914550781e+02, 2.795200500488281e+02, 2.806499938964844e+02, 2.810128784179688e+02, 2.810320129394531e+02, 2.784481201171875e+02, 2.775330505371094e+02, 2.766499938964844e+02, 2.768958740234375e+02, 2.766292114257812e+02, 2.766669616699219e+02, 2.769802551269531e+02, 2.786499938964844e+02, 2.78731689453125e+02, 2.791405029296875e+02, 2.784546508789062e+02, 2.786761779785156e+02, 2.7875e+02, 2.792179870605469e+02, 2.793362731933594e+02, 2.796307983398438e+02, 2.793832702636719e+02, 2.800499877929688e+02, 2.789285583496094e+02, 2.790899963378906e+02, 2.779700012207031e+02, 2.77250732421875e+02, 2.771499938964844e+02, 2.77614013671875e+02, 2.772754516601562e+02, 2.772228088378906e+02, 2.764660034179688e+02, 2.784500122070312e+02, 2.800023193359375e+02, 2.797099914550781e+02, 2.791930847167969e+02, 2.803331909179688e+02, 2.810499877929688e+02] +building.buiMeaBus.TZoneMea[1]=[2.931499938964844e+02, 2.897740173339844e+02, 2.897221374511719e+02, 2.9063916015625e+02, 2.914974670410156e+02, 2.916348876953125e+02, 2.921893615722656e+02, 2.923945922851562e+02, 2.920617065429688e+02, 2.920601806640625e+02, 2.920640258789062e+02, 2.921461181640625e+02, 2.923219299316406e+02, 2.929737243652344e+02, 2.933743591308594e+02, 2.934225463867188e+02, 2.931752624511719e+02, 2.931367797851562e+02, 2.929930419921875e+02, 2.930666198730469e+02, 2.930859375e+02, 2.93161376953125e+02, 2.930523376464844e+02, 2.933205261230469e+02, 2.934375e+02, 2.932869873046875e+02, 2.932232360839844e+02, 2.931143493652344e+02, 2.929809265136719e+02, 2.930627136230469e+02, 2.930634460449219e+02, 2.931700134277344e+02, 2.931477966308594e+02, 2.934539184570312e+02, 2.932475891113281e+02, 2.931527099609375e+02, 2.931654052734375e+02, 2.931543273925781e+02, 2.929596862792969e+02, 2.930304565429688e+02, 2.930677795410156e+02, 2.93142333984375e+02, 2.931571655273438e+02, 2.9348046875e+02, 2.932884216308594e+02, 2.931956176757812e+02, 2.931513977050781e+02, 2.931472778320312e+02, 2.929644470214844e+02, 2.930401306152344e+02, 2.930520324707031e+02, 2.931173706054688e+02, 2.931325073242188e+02, 2.934468078613281e+02, 2.93271240234375e+02, 2.931995544433594e+02, 2.93166015625e+02, 2.931429748535156e+02, 2.929338989257812e+02, 2.929789428710938e+02, 2.930181579589844e+02, 2.930341796875e+02, 2.930655212402344e+02, 2.935045471191406e+02, 2.934837646484375e+02, 2.932803649902344e+02, 2.932190856933594e+02, 2.931036071777344e+02, 2.928880615234375e+02, 2.929409484863281e+02, 2.929800720214844e+02, 2.930149536132812e+02, 2.93041748046875e+02, 2.934880676269531e+02, 2.935790405273438e+02, 2.933051147460938e+02, 2.931198425292969e+02, 2.930968322753906e+02, 2.92890380859375e+02, 2.929404602050781e+02, 2.92955078125e+02, 2.930013427734375e+02, 2.929851684570312e+02, 2.934327087402344e+02, 2.935014343261719e+02, 2.932723083496094e+02, 2.932270202636719e+02, 2.9310888671875e+02, 2.928942260742188e+02, 2.929310302734375e+02, 2.929476013183594e+02, 2.929743041992188e+02, 2.929569396972656e+02, 2.934357604980469e+02, 2.935895385742188e+02, 2.9333154296875e+02, 2.932225341796875e+02, 2.930354614257812e+02, 2.928988037109375e+02, 2.92944091796875e+02, 2.929446411132812e+02] From 96f9956cbfbf6116927252c3346f6c3dc6a91adc Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 1 Jul 2024 14:36:09 +0200 Subject: [PATCH 119/125] fix initial conditions --- BESMod/Examples/DesignOptimization/BESNoDHW.mo | 4 +--- BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo | 2 +- BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo | 2 +- BESMod/Examples/HighOrderModel/BES_HOM.mo | 4 ++++ .../Generation/DetailedSolarThermalWithHeatPump.mo | 1 + 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/BESMod/Examples/DesignOptimization/BESNoDHW.mo b/BESMod/Examples/DesignOptimization/BESNoDHW.mo index 9a45039c..be87c6ab 100644 --- a/BESMod/Examples/DesignOptimization/BESNoDHW.mo +++ b/BESMod/Examples/DesignOptimization/BESNoDHW.mo @@ -19,9 +19,7 @@ model BESNoDHW "Example to demonstrate usage without DHW" AixLib.DataBase.HeatPump.Functions.Characteristics.ConstantCoP ( powerCompressor=2000, CoP=2)), redeclare - BESMod.Systems.Hydraulical.Components.Frosting.ZhuIceFacCalculation - frost(density=200, redeclare function frostMapFunc = - BESMod.Systems.Hydraulical.Components.Frosting.Functions.ZhuFrostingMapCico), + BESMod.Systems.Hydraulical.Components.Frosting.NoFrosting frost, redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum, redeclare package Medium_eva = AixLib.Media.Air, redeclare diff --git a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo index dea71a9f..5d80202d 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo @@ -30,7 +30,7 @@ model AfterBufferWithDHW distribution( redeclare BESMod.Systems.RecordsCollection.TemperatureSensors.DefaultSensor - parTemSen, + parTemSen(initType=Modelica.Blocks.Types.Init.InitialOutput), redeclare BESMod.Systems.Hydraulical.Distribution.RecordsCollection.BufferStorage.DefaultDetailedStorage parStoBuf(VPerQ_flow=parameterStudy.VPerQFlow), diff --git a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo index b902a1af..9b5e5c0c 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo @@ -30,7 +30,7 @@ model AfterBufferWithoutDHW distribution( redeclare BESMod.Systems.RecordsCollection.TemperatureSensors.DefaultSensor - parTemSen, + parTemSen(initType=Modelica.Blocks.Types.Init.InitialOutput), redeclare BESMod.Systems.Hydraulical.Distribution.RecordsCollection.BufferStorage.DefaultDetailedStorage parStoBuf(VPerQ_flow=parameterStudy.VPerQFlow), diff --git a/BESMod/Examples/HighOrderModel/BES_HOM.mo b/BESMod/Examples/HighOrderModel/BES_HOM.mo index 640ac41f..e29ad71d 100644 --- a/BESMod/Examples/HighOrderModel/BES_HOM.mo +++ b/BESMod/Examples/HighOrderModel/BES_HOM.mo @@ -3,6 +3,8 @@ model BES_HOM extends BESMod.Systems.BaseClasses.PartialBuildingEnergySystem( redeclare BESMod.Systems.Electrical.DirectGridConnectionSystem electrical, redeclare BESMod.Systems.Demand.Building.AixLibHighOrder building( + energyDynamicsWalls=Modelica.Fluid.Types.Dynamics.FixedInitial, + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, useConstVentRate=false, TimeCorrection=0, DiffWeatherDataTime=Modelica.Units.Conversions.to_hour(weaDat.timZon), @@ -17,6 +19,7 @@ model BES_HOM HOMBuiEnv), redeclare BESMod.Systems.Control.NoControl control, redeclare BESMod.Systems.Hydraulical.HydraulicSystem hydraulic( + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, redeclare BESMod.Systems.Hydraulical.Generation.HeatPumpAndElectricHeater generation( redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum, @@ -77,6 +80,7 @@ model BES_HOM BESMod.Systems.Hydraulical.Transfer.RecordsCollection.SteelRadiatorStandardPressureLossData parTra)), redeclare BESMod.Systems.Demand.DHW.StandardProfiles DHW( + energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, redeclare BESMod.Systems.Demand.DHW.RecordsCollection.ProfileM DHWProfile, redeclare BESMod.Systems.RecordsCollection.Movers.DefaultMover parPum, redeclare BESMod.Systems.Demand.DHW.TappingProfiles.calcmFlowEquStatic diff --git a/BESMod/Systems/Hydraulical/Generation/DetailedSolarThermalWithHeatPump.mo b/BESMod/Systems/Hydraulical/Generation/DetailedSolarThermalWithHeatPump.mo index 5a464c2c..de9f2ac4 100644 --- a/BESMod/Systems/Hydraulical/Generation/DetailedSolarThermalWithHeatPump.mo +++ b/BESMod/Systems/Hydraulical/Generation/DetailedSolarThermalWithHeatPump.mo @@ -22,6 +22,7 @@ model DetailedSolarThermalWithHeatPump Placement(transformation(extent={{-80,-158},{-66,-144}}))); Buildings.Fluid.SolarCollectors.EN12975 solCol( redeclare final package Medium = Medium, + final energyDynamics=energyDynamics, final allowFlowReversal=true, final m_flow_small=1E-4*abs(solarThermalParas.m_flow_nominal), final show_T=false, From 26b37dfde4644ef2f6b3513e918918250955f128 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 1 Jul 2024 15:57:09 +0200 Subject: [PATCH 120/125] use parameters in boiler --- .../PartialTwoStorageParallelWithHeaters.mo | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/BESMod/Systems/Hydraulical/Distribution/BaseClasses/PartialTwoStorageParallelWithHeaters.mo b/BESMod/Systems/Hydraulical/Distribution/BaseClasses/PartialTwoStorageParallelWithHeaters.mo index 6ce14532..5e7bf495 100644 --- a/BESMod/Systems/Hydraulical/Distribution/BaseClasses/PartialTwoStorageParallelWithHeaters.mo +++ b/BESMod/Systems/Hydraulical/Distribution/BaseClasses/PartialTwoStorageParallelWithHeaters.mo @@ -26,7 +26,8 @@ partial model PartialTwoStorageParallelWithHeaters replaceable parameter BESMod.Systems.Hydraulical.Generation.RecordsCollection.AutoparameterBoiler parBoi if heaAftBufTyp == BESMod.Systems.Hydraulical.Distribution.Types.HeaterType.Boiler - constrainedby AixLib.DataBase.Boiler.General.BoilerTwoPointBaseDataDefinition( + constrainedby + AixLib.DataBase.Boiler.General.BoilerTwoPointBaseDataDefinition( Q_nom=max(11000, QHeaAftBuf_flow_nominal)) "Parameters for Boiler" annotation(Placement(transformation(extent={{64,124},{80,140}})), @@ -69,8 +70,11 @@ partial model PartialTwoStorageParallelWithHeaters final m_flow_nominal=m_flow_nominal[1], final m_flow_small=1E-4*abs(m_flow_nominal[1]), final show_T=show_T, - final initType=Modelica.Blocks.Types.Init.NoInit, - final transferHeat=false, + final tau=parTemSen.tau, + final initType=parTemSen.initType, + final transferHeat=parTemSen.transferHeat, + final TAmb=parTemSen.TAmb, + final tauHeaTra=parTemSen.tauHeaTra, final rho_default=rho, final p_start=p_start, final T_start=T_start, From 950d030fc0320d3a333dddd0214bb67fc9ec1e75 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Mon, 1 Jul 2024 16:57:04 +0200 Subject: [PATCH 121/125] fix initial conditions --- .../Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo | 2 +- .../Distribution/TwoStoragesBoilerWithDHW.mo | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo index 5d80202d..dea71a9f 100644 --- a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo +++ b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo @@ -30,7 +30,7 @@ model AfterBufferWithDHW distribution( redeclare BESMod.Systems.RecordsCollection.TemperatureSensors.DefaultSensor - parTemSen(initType=Modelica.Blocks.Types.Init.InitialOutput), + parTemSen, redeclare BESMod.Systems.Hydraulical.Distribution.RecordsCollection.BufferStorage.DefaultDetailedStorage parStoBuf(VPerQ_flow=parameterStudy.VPerQFlow), diff --git a/BESMod/Systems/Hydraulical/Distribution/TwoStoragesBoilerWithDHW.mo b/BESMod/Systems/Hydraulical/Distribution/TwoStoragesBoilerWithDHW.mo index 10a68907..1ae76ff9 100644 --- a/BESMod/Systems/Hydraulical/Distribution/TwoStoragesBoilerWithDHW.mo +++ b/BESMod/Systems/Hydraulical/Distribution/TwoStoragesBoilerWithDHW.mo @@ -19,7 +19,8 @@ model TwoStoragesBoilerWithDHW annotation(Dialog(group="Component data")); replaceable parameter BESMod.Systems.Hydraulical.Generation.RecordsCollection.AutoparameterBoiler - parBoi constrainedby AixLib.DataBase.Boiler.General.BoilerTwoPointBaseDataDefinition( + parBoi constrainedby + AixLib.DataBase.Boiler.General.BoilerTwoPointBaseDataDefinition( Q_nom=max(11000, Q_flow_nominal[1])) "Parameters for Boiler" annotation(Placement(transformation(extent={{44,124},{58,138}})), @@ -68,12 +69,15 @@ model TwoStoragesBoilerWithDHW final m_flow_nominal=m_flow_nominal[1], final m_flow_small=1E-4*abs(m_flow_nominal[1]), final show_T=show_T, - final initType=Modelica.Blocks.Types.Init.NoInit, - final transferHeat=false, final dp_nominal=m_flow_nominal[1]^2*boi.a/(rho^2), final rho_default=rho, final p_start=p_start, final T_start=T_start, + final tau=parTemSen.tau, + final initType=parTemSen.initType, + final transferHeat=parTemSen.transferHeat, + final TAmb=parTemSen.TAmb, + final tauHeaTra=parTemSen.tauHeaTra, final etaLoadBased=parBoi.eta, final G=0.003*parBoi.Q_nom/50, final C=1.5*parBoi.Q_nom, From 229cd48b34869f698620cb5c395f81aa0bcfbf55 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Tue, 2 Jul 2024 08:12:10 +0200 Subject: [PATCH 122/125] fix packages in plots --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index 57426b0d..e30e556b 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -12,7 +12,7 @@ # expire_in_time : 7h # arg_PR: --batch --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod # arg_push: --changed-flag --batch --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod -# arg_chart: --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems +# arg_chart: --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages $lib_package # packages_per_job: {'Examples': 'Examples', 'Systems': 'Systems', 'Other': 'Tutorial Utilities'} # modelicapyci_api_github_module: ModelicaPyCI.api_script.api_github # api_github_create_ref_arg: --post-pr-comment-flag --show-plot-flag --page https://rwth-ebc.github.io/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod @@ -44,13 +44,13 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] script: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --batch --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --changed-flag --batch --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod after_script: - if ! cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then exit 0; fi - !reference [.activate_python_and_install_requirements, script] - - python -m ModelicaPyCI.converter.google_charts --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems + - python -m ModelicaPyCI.converter.google_charts --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages $lib_package - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --page https://rwth-ebc.github.io/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod - exit 1 artifacts: @@ -77,7 +77,7 @@ stages: exit 0; fi - !reference [.activate_python_and_install_requirements, script] - - python -m ModelicaPyCI.converter.google_charts --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages Examples Tutorial Utilities Systems + - python -m ModelicaPyCI.converter.google_charts --funnel-comp-flag --error-flag --templates-url https://github.com/RWTH-EBC/MoCITempGen.git@03_openModelica --library BESMod --packages $lib_package - python -m ModelicaPyCI.api_script.api_github --post-pr-comment-flag --prepare-plot-flag --page https://rwth-ebc.github.io/BESMod --github-token ${GITHUB_API_TOKEN} --main-branch main --working-branch $CI_COMMIT_REF_NAME --library BESMod --github-repository RWTH-EBC/BESMod - exit 1 artifacts: From 4993096b3bb21a6bd062a8d28ee1baefa7b49d86 Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Tue, 2 Jul 2024 08:50:34 +0200 Subject: [PATCH 123/125] revert wrong change --- ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml index e30e556b..b537119e 100644 --- a/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml +++ b/ci-tests/scripts/unit_tests/regression_test.gitlab-ci.yml @@ -44,7 +44,7 @@ stages: - !reference [.custom_install_additional_modelica_libraries, script] script: - export CI_PYTHON_CONFIG_FILE="../ci-tests/config/modelica_py_ci_config.toml" - - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --changed-flag --batch --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod + - cd BESMod && xvfb-run -n 77 python -m ModelicaPyCI.unittest.reference_check --batch --startup-mos startup.mos --min-number-of-unused-licences 5 --dymola-version 2022 --tool dymola --number-of-processors 4 --path . --library-root .. --packages $lib_package --library BESMod after_script: - if ! cat ci-tests/Configfiles/exit.sh | grep "FAIL"; then exit 0; From e17e0073336cb9d0a6ddd0ea4347afcb691684dd Mon Sep 17 00:00:00 2001 From: "fabian.wuellhorst" Date: Tue, 2 Jul 2024 15:44:15 +0200 Subject: [PATCH 124/125] update reference results --- ...d_Examples_DesignOptimization_BESNoDHW.txt | 20 ------------------- .../BESMod_Examples_GasBoilerBuildingOnly.txt | 20 ------------------- 2 files changed, 40 deletions(-) delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BESNoDHW.txt delete mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_GasBoilerBuildingOnly.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BESNoDHW.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BESNoDHW.txt deleted file mode 100644 index e27a74f1..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BESNoDHW.txt +++ /dev/null @@ -1,20 +0,0 @@ -last-generated=2024-06-28 -statistics-initialization= -{ - "linear": "0, 0, 0, 0, 0, 0", - "nonlinear": "5, 7, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "6, 1, 0, 1, 0, 1, 0, 1, 1, 1", - "number of continuous time states": "54", - "numerical Jacobians": "0" -} -time=[0e+00, 1.728e+05] -weaDat.weaBus.TDryBul=[2.711499938964844e+02, 2.711964111328125e+02, 2.711585388183594e+02, 2.710329895019531e+02, 2.708773498535156e+02, 2.706598205566406e+02, 2.704615478515625e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704904479980469e+02, 2.706648559570312e+02, 2.708219909667969e+02, 2.709660034179688e+02, 2.710835876464844e+02, 2.710487060546875e+02, 2.710967712402344e+02, 2.713839721679688e+02, 2.715577392578125e+02, 2.713986511230469e+02, 2.713771667480469e+02, 2.716394348144531e+02, 2.718602600097656e+02, 2.719464111328125e+02, 2.720499877929688e+02, 2.722364196777344e+02, 2.724353637695312e+02, 2.725456237792969e+02, 2.726259155273438e+02, 2.730393371582031e+02, 2.736041564941406e+02, 2.736746826171875e+02, 2.736636657714844e+02, 2.736180114746094e+02, 2.735700073242188e+02, 2.735389404296875e+02, 2.735155944824219e+02, 2.7335400390625e+02, 2.731619873046875e+02, 2.729700012207031e+02, 2.727780151367188e+02, 2.72593994140625e+02, 2.724955749511719e+02, 2.724342651367188e+02, 2.723796081542969e+02, 2.723463134765625e+02, 2.723376770019531e+02, 2.723522033691406e+02, 2.724003295898438e+02, 2.724500122070312e+02, 2.724666442871094e+02, 2.724525451660156e+02, 2.724020690917969e+02, 2.722803344726562e+02, 2.720899963378906e+02, 2.718980102539062e+02, 2.717059936523438e+02, 2.715140075683594e+02, 2.713631591796875e+02, 2.713411865234375e+02, 2.713729858398438e+02, 2.714293518066406e+02, 2.714556884765625e+02, 2.714446716308594e+02, 2.714856872558594e+02, 2.716668701171875e+02, 2.717514038085938e+02, 2.716672058105469e+02, 2.716678771972656e+02, 2.71758056640625e+02, 2.718697814941406e+02, 2.7200390625e+02, 2.721656494140625e+02, 2.724968872070312e+02, 2.728500061035156e+02, 2.729950561523438e+02, 2.729598999023438e+02, 2.725846862792969e+02, 2.721623229980469e+02, 2.721732788085938e+02, 2.722332153320312e+02, 2.723517456054688e+02, 2.724693908691406e+02, 2.722129516601562e+02, 2.715361633300781e+02, 2.708384399414062e+02, 2.701152648925781e+02, 2.6966552734375e+02, 2.693913269042969e+02, 2.691483459472656e+02, 2.68912841796875e+02, 2.686530456542969e+02, 2.682867126464844e+02, 2.680051879882812e+02, 2.680009765625e+02, 2.679133911132812e+02, 2.676651611328125e+02, 2.674332275390625e+02, 2.672374267578125e+02, 2.670499877929688e+02] -hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.181809997558594e+02, 3.214120483398438e+02, 3.219838562011719e+02, 3.222320251464844e+02, 3.221575927734375e+02, 3.215950317382812e+02, 3.204244689941406e+02, 3.215842895507812e+02, 3.140051879882812e+02, 3.209786071777344e+02, 3.214479064941406e+02, 3.218185424804688e+02, 3.220513610839844e+02, 3.197554321289062e+02, 3.2209765625e+02, 3.106371765136719e+02, 3.220526123046875e+02, 3.198003234863281e+02, 3.215380249023438e+02, 3.205982666015625e+02, 3.216413879394531e+02, 3.215978393554688e+02, 3.125658264160156e+02, 2.962482604980469e+02, 2.91513671875e+02, 2.897718505859375e+02, 2.889722900390625e+02, 3.157702636718751e+02, 3.200905456542969e+02, 3.204242858886719e+02, 3.19299560546875e+02, 3.197347717285156e+02, 3.191180114746094e+02, 3.196950073242188e+02, 3.19144775390625e+02, 3.008861999511719e+02, 2.93015869140625e+02, 2.903868103027344e+02, 2.892286682128906e+02, 3.118960571289062e+02, 3.20057861328125e+02, 3.201279296875e+02, 3.210229797363281e+02, 3.203886108398438e+02, 3.205703125e+02, 3.207346801757812e+02, 3.208671875e+02, 3.209444274902344e+02, 3.208895568847656e+02, 3.2053857421875e+02, 3.205721130371094e+02, 3.111691589355469e+02, 3.205049438476562e+02, 3.207473754882812e+02, 3.210581359863281e+02, 3.21357177734375e+02, 3.215774230957031e+02, 3.215587463378906e+02, 3.209503173828125e+02, 3.116497802734375e+02, 3.213466186523438e+02, 3.215978393554688e+02, 3.21694580078125e+02, 3.218256530761719e+02, 3.218644409179688e+02, 3.216419372558594e+02, 3.2115576171875e+02, 3.216289672851562e+02, 3.212115783691406e+02, 3.21246826171875e+02, 3.213337097167969e+02, 3.083589172363281e+02, 2.959101867675781e+02, 2.922755432128906e+02, 2.9091015625e+02, 2.902741088867188e+02, 3.195098266601562e+02, 3.200276794433594e+02, 3.208768005371094e+02, 3.207658386230469e+02, 3.208036499023438e+02, 3.210698852539062e+02, 3.20493408203125e+02, 3.212366333007812e+02, 3.020293273925781e+02, 2.940986022949219e+02, 2.914515686035156e+02, 2.903196411132812e+02, 3.086323547363281e+02, 3.193287048339844e+02, 3.2092822265625e+02, 3.219940185546875e+02, 3.205160522460938e+02, 3.222931213378906e+02, 3.203992614746094e+02, 3.227786254882812e+02, 3.127685852050781e+02, 3.24493896484375e+02, 3.233690795898438e+02, 3.259590759277344e+02] -outputs.building.TZone[1]=[2.931499938964844e+02, 2.89399658203125e+02, 2.896904296875e+02, 2.896407775878906e+02, 2.895406799316406e+02, 2.893786926269531e+02, 2.891739807128906e+02, 2.889965209960938e+02, 2.889894104003906e+02, 2.89224609375e+02, 2.892580261230469e+02, 2.892771911621094e+02, 2.892989196777344e+02, 2.89396240234375e+02, 2.896872253417969e+02, 2.900824890136719e+02, 2.900416259765625e+02, 2.904906311035156e+02, 2.901819763183594e+02, 2.908061218261719e+02, 2.904888305664062e+02, 2.909843444824219e+02, 2.908443908691406e+02, 2.910745544433594e+02, 2.890510864257812e+02, 2.884255065917969e+02, 2.881337890625e+02, 2.879306335449219e+02, 2.89507568359375e+02, 2.9073486328125e+02, 2.908570251464844e+02, 2.910895385742188e+02, 2.911534118652344e+02, 2.911989440917969e+02, 2.912229309082031e+02, 2.911712036132812e+02, 2.898201293945312e+02, 2.887379455566406e+02, 2.882771606445312e+02, 2.879116516113281e+02, 2.887514038085938e+02, 2.901202087402344e+02, 2.9013818359375e+02, 2.902523803710938e+02, 2.904193725585938e+02, 2.903854064941406e+02, 2.903483581542969e+02, 2.903619079589844e+02, 2.903534240722656e+02, 2.902852478027344e+02, 2.90180419921875e+02, 2.90181396484375e+02, 2.904303894042969e+02, 2.904734191894531e+02, 2.90505126953125e+02, 2.905298767089844e+02, 2.905354919433594e+02, 2.90502685546875e+02, 2.904244079589844e+02, 2.903764038085938e+02, 2.905815734863281e+02, 2.907115478515625e+02, 2.907441101074219e+02, 2.908487243652344e+02, 2.910880737304688e+02, 2.912744445800781e+02, 2.913201599121094e+02, 2.9132666015625e+02, 2.914375915527344e+02, 2.917208557128906e+02, 2.918155822753906e+02, 2.92087646484375e+02, 2.917970581054688e+02, 2.90294677734375e+02, 2.898959045410156e+02, 2.8972314453125e+02, 2.895511169433594e+02, 2.918167419433594e+02, 2.917071838378906e+02, 2.921648864746094e+02, 2.919017028808594e+02, 2.922956848144531e+02, 2.921524658203125e+02, 2.923513793945312e+02, 2.923143005371094e+02, 2.910263366699219e+02, 2.899254760742188e+02, 2.894939880371094e+02, 2.89183349609375e+02, 2.897873229980469e+02, 2.908772888183594e+02, 2.914870910644531e+02, 2.913696594238281e+02, 2.914526977539062e+02, 2.913630981445312e+02, 2.913684997558594e+02, 2.914031982421875e+02, 2.913201904296875e+02, 2.915740661621094e+02, 2.911759948730469e+02, 2.917055053710938e+02] -electricalGrid.PElecGen=[0e+00, 0e+00] -electricalGrid.PElecLoa=[2.000002563476562e+03, 4.4956533203125e+03, 4.64370361328125e+03, 4.6172841796875e+03, 4.5508779296875e+03, 4.6024287109375e+03, 4.54384423828125e+03, 4.463165527343751e+03, 4.49003955078125e+03, 2.000697875976562e+03, 4.59700830078125e+03, 4.60431005859375e+03, 4.61189306640625e+03, 4.60846533203125e+03, 4.59421142578125e+03, 4.27705810546875e+03, 2.000697875976562e+03, 4.322369140625003e+03, 4.435619140625e+03, 4.21859033203125e+03, 4.50233740234375e+03, 4.45568212890625e+03, 4.02634228515625e+03, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, 4.268853027343755e+03, 4.077674560546875e+03, 3.193986328125e+03, 3.79921142578125e+03, 2.95192333984375e+03, 3.9696767578125e+03, 3.005419189453128e+03, 4.220366699218743e+03, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, 4.206453125e+03, 3.63873388671875e+03, 4.25239013671875e+03, 3.111376708984375e+03, 4.49914453125e+03, 4.21007666015625e+03, 3.962887451171875e+03, 3.7610078125e+03, 3.632060546875e+03, 3.651534912109375e+03, 4.0841181640625e+03, 3.88314599609375e+03, 2.000697875976562e+03, 4.298580078125e+03, 4.063146728515625e+03, 3.911463867187516e+03, 3.828374023437512e+03, 3.884133789062528e+03, 4.29118603515625e+03, 4.50774609375e+03, 2.000697875976562e+03, 4.66818603515625e+03, 4.51143212890625e+03, 4.2141484375e+03, 3.97931103515625e+03, 3.82821923828125e+03, 3.8313818359375e+03, 4.3630322265625e+03, 3.641575927734393e+03, 4.610623046874981e+03, 4.223392089843735e+03, 3.735990234375e+03, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, 3.54166748046875e+03, 4.20432958984375e+03, 3.695828857421875e+03, 4.17923046875e+03, 3.787919189453125e+03, 3.388026611328125e+03, 3.854392333984375e+03, 3.26490673828125e+03, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, 4.062532470703125e+03, 4.37282373046875e+03, 4.5347568359375e+03, 4.4977841796875e+03, 4.4950087890625e+03, 4.73747119140625e+03, 4.73537939453125e+03, 4.919125e+03, 2.847807373046875e+03, 5.78451513671875e+03, 5.9737177734375e+03, 6.48072265625e+03] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_GasBoilerBuildingOnly.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_GasBoilerBuildingOnly.txt deleted file mode 100644 index 014dae0d..00000000 --- a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_GasBoilerBuildingOnly.txt +++ /dev/null @@ -1,20 +0,0 @@ -last-generated=2024-06-28 -statistics-initialization= -{ - "linear": "0, 0, 0, 0, 0", - "nonlinear": "5, 7, 1, 1", - "numerical Jacobians": "0" -} -statistics-simulation= -{ - "linear": "0, 0, 0, 0, 0, 0, 0, 0", - "nonlinear": "1, 6, 1, 0, 1, 0, 1, 0, 1, 1", - "number of continuous time states": "41", - "numerical Jacobians": "0" -} -time=[0e+00, 1.728e+05] -weaDat.weaBus.TDryBul=[2.713500061035156e+02, 2.714423522949219e+02, 2.713688049316406e+02, 2.711300048828125e+02, 2.708900146484375e+02, 2.706499938964844e+02, 2.704100036621094e+02, 2.701031188964844e+02, 2.696802062988281e+02, 2.693132629394531e+02, 2.689815979003906e+02, 2.687498474121094e+02, 2.687302856445312e+02, 2.684281311035156e+02, 2.677860412597656e+02, 2.674700012207031e+02, 2.672780151367188e+02, 2.670859985351562e+02, 2.668940124511719e+02, 2.667543640136719e+02, 2.674586791992188e+02, 2.682342834472656e+02, 2.686448669433594e+02, 2.692129211425781e+02, 2.700237121582031e+02, 2.708500061035156e+02, 2.716349792480469e+02, 2.723893127441406e+02, 2.729895324707031e+02, 2.733184814453125e+02, 2.734673461914062e+02, 2.735424194335938e+02, 2.735648498535156e+02, 2.73562255859375e+02, 2.734952392578125e+02, 2.733829650878906e+02, 2.733241271972656e+02, 2.733239440917969e+02, 2.734044799804688e+02, 2.735684204101562e+02, 2.736940002441406e+02, 2.737637023925781e+02, 2.737111511230469e+02, 2.734936828613281e+02, 2.733190002441406e+02, 2.73205322265625e+02, 2.731450805664062e+02, 2.731335754394531e+02, 2.7315283203125e+02, 2.732023315429688e+02, 2.7325e+02, 2.732466735839844e+02, 2.732464294433594e+02, 2.733169860839844e+02, 2.734288940429688e+02, 2.735700073242188e+02, 2.737182312011719e+02, 2.738376770019531e+02, 2.739303588867188e+02, 2.739819946289062e+02, 2.740299987792969e+02, 2.740780029296875e+02, 2.741260070800781e+02, 2.741852416992188e+02, 2.742919921875e+02, 2.743815307617188e+02, 2.744320983886719e+02, 2.744386291503906e+02, 2.742976684570312e+02, 2.742652587890625e+02, 2.743667907714844e+02, 2.744607849121094e+02, 2.74489013671875e+02, 2.745615539550781e+02, 2.748076477050781e+02, 2.751499938964844e+02, 2.755416259765625e+02, 2.759237670898438e+02, 2.761777038574219e+02, 2.763310241699219e+02, 2.764301147460938e+02, 2.764605407714844e+02, 2.7639404296875e+02, 2.762903747558594e+02, 2.7616455078125e+02, 2.760198059082031e+02, 2.758236999511719e+02, 2.755619812011719e+02, 2.753553771972656e+02, 2.751993103027344e+02, 2.751300048828125e+02, 2.750820007324219e+02, 2.750339965820312e+02, 2.749859924316406e+02, 2.749522399902344e+02, 2.751499938964844e+02, 2.753774108886719e+02, 2.755320129394531e+02, 2.756587219238281e+02, 2.756750183105469e+02, 2.755499877929688e+02] -hydraulic.generation.sigBusGen.TBoiOut=[2.931499938964844e+02, 3.135688171386719e+02, 3.202365112304688e+02, 3.246045532226562e+02, 3.265639953613281e+02, 3.269346313476562e+02, 3.272273559570312e+02, 3.275865783691406e+02, 3.280833129882812e+02, 3.285175476074219e+02, 3.289093627929688e+02, 3.29185546875e+02, 3.292109680175781e+02, 3.295597534179688e+02, 3.303141784667969e+02, 3.306959228515625e+02, 3.309231262207031e+02, 3.311487426757812e+02, 3.313746032714844e+02, 3.315420227050781e+02, 3.307281188964844e+02, 3.29808349609375e+02, 3.293170166015625e+02, 3.286499938964844e+02, 3.276954650878906e+02, 3.2672021484375e+02, 3.257929077148438e+02, 3.249019775390625e+02, 3.241908874511719e+02, 3.237990417480469e+02, 3.236222534179688e+02, 3.235337829589844e+02, 3.235072326660156e+02, 3.235101013183594e+02, 3.235878601074219e+02, 3.237200622558594e+02, 3.237909240722656e+02, 3.237921142578125e+02, 3.236983947753906e+02, 3.235054626464844e+02, 3.233558654785156e+02, 3.2327294921875e+02, 3.233326110839844e+02, 3.235870361328125e+02, 3.237953796386719e+02, 3.23930419921875e+02, 3.240023803710938e+02, 3.240166931152344e+02, 3.239943237304688e+02, 3.239360961914062e+02, 3.2387939453125e+02, 3.238822937011719e+02, 3.238832092285156e+02, 3.238013610839844e+02, 3.236698303222656e+02, 3.23503662109375e+02, 3.233285217285156e+02, 3.231869812011719e+02, 3.230770874023438e+02, 3.230156860351562e+02, 3.229592895507812e+02, 3.2290283203125e+02, 3.228462829589844e+02, 3.227771606445312e+02, 3.226528015136719e+02, 3.22546630859375e+02, 3.224857788085938e+02, 3.224768981933594e+02, 3.226408996582031e+02, 3.226833190917969e+02, 3.225658569335938e+02, 3.224540100097656e+02, 3.224194030761719e+02, 3.223346252441406e+02, 3.220469970703125e+02, 3.216441955566406e+02, 3.211830139160156e+02, 3.207315979003906e+02, 3.204310302734375e+02, 3.202507934570312e+02, 3.20136962890625e+02, 3.201005249023438e+02, 3.201744689941406e+02, 3.202945251464844e+02, 3.204415283203125e+02, 3.206117858886719e+02, 3.208399353027344e+02, 3.21147705078125e+02, 3.2138427734375e+02, 3.215681762695312e+02, 3.216567993164062e+02, 3.217160034179688e+02, 3.217725524902344e+02, 3.218287353515625e+02, 3.218690490722656e+02, 3.216398315429688e+02, 3.213709411621094e+02, 3.211878051757812e+02, 3.210378723144531e+02, 3.210162048339844e+02, 3.211617431640625e+02] -outputs.building.TZone[1]=[2.931499938964844e+02, 2.881192016601562e+02, 2.886946105957031e+02, 2.891133728027344e+02, 2.893863830566406e+02, 2.894655151367188e+02, 2.894427490234375e+02, 2.893832702636719e+02, 2.893573608398438e+02, 2.893623352050781e+02, 2.893749389648438e+02, 2.893992919921875e+02, 2.894461975097656e+02, 2.895641479492188e+02, 2.898534851074219e+02, 2.901842651367188e+02, 2.904429016113281e+02, 2.906950988769531e+02, 2.90918701171875e+02, 2.912264404296875e+02, 2.915252380371094e+02, 2.918908386230469e+02, 2.92201171875e+02, 2.922818298339844e+02, 2.921546325683594e+02, 2.921454162597656e+02, 2.920830993652344e+02, 2.91984130859375e+02, 2.920330505371094e+02, 2.921226196289062e+02, 2.922380676269531e+02, 2.923634338378906e+02, 2.924208068847656e+02, 2.924467163085938e+02, 2.924248352050781e+02, 2.923888549804688e+02, 2.923519592285156e+02, 2.923016052246094e+02, 2.922302551269531e+02, 2.921112060546875e+02, 2.920165710449219e+02, 2.920230407714844e+02, 2.920254211425781e+02, 2.920062561035156e+02, 2.919914245605469e+02, 2.919405517578125e+02, 2.918939819335938e+02, 2.919104919433594e+02, 2.919287109375e+02, 2.919258422851562e+02, 2.919183349609375e+02, 2.919274597167969e+02, 2.919427185058594e+02, 2.91961669921875e+02, 2.919792175292969e+02, 2.919950561523438e+02, 2.920090637207031e+02, 2.920211486816406e+02, 2.920333862304688e+02, 2.920458374023438e+02, 2.920605773925781e+02, 2.920761108398438e+02, 2.920918884277344e+02, 2.921880187988281e+02, 2.924333190917969e+02, 2.926493530273438e+02, 2.927654418945312e+02, 2.928688354492188e+02, 2.929411315917969e+02, 2.931249694824219e+02, 2.933370056152344e+02, 2.935135803222656e+02, 2.936620483398438e+02, 2.936881713867188e+02, 2.936364135742188e+02, 2.93610107421875e+02, 2.935646667480469e+02, 2.935097045898438e+02, 2.934701843261719e+02, 2.934329528808594e+02, 2.934086303710938e+02, 2.933533935546875e+02, 2.932774047851562e+02, 2.9322314453125e+02, 2.931900939941406e+02, 2.931734008789062e+02, 2.931552124023438e+02, 2.931420593261719e+02, 2.931044311523438e+02, 2.930535583496094e+02, 2.930401611328125e+02, 2.930755920410156e+02, 2.930923461914062e+02, 2.930883483886719e+02, 2.9308349609375e+02, 2.930841979980469e+02, 2.930783386230469e+02, 2.930850524902344e+02, 2.930903015136719e+02, 2.930743713378906e+02, 2.930587158203125e+02] -electricalGrid.PElecGen=[0e+00, 0e+00] -electricalGrid.PElecLoa=[4.432639479637146e-02, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.217138290405273e+00, 6.207793235778809e+00, 6.190108299255371e+00, 6.163281440734863e+00, 6.127903461456299e+00, 6.069961547851562e+00, 5.98074197769165e+00, 5.846057415008545e+00, 5.626513004302979e+00, 5.258453369140625e+00, 4.775506019592285e+00, 4.315811157226562e+00, 4.024718284606934e+00, 3.868175745010376e+00, 3.787058353424072e+00, 3.73271918296814e+00, 3.745315790176392e+00, 3.809149742126465e+00, 4.02750301361084e+00, 4.434386730194092e+00, 4.756626605987549e+00, 4.866801261901855e+00, 4.957830429077148e+00, 5.082311153411865e+00, 5.216246604919434e+00, 5.337132930755615e+00, 5.454156398773193e+00, 5.535310745239258e+00, 5.599663734436035e+00, 5.680179119110107e+00, 5.759285449981689e+00] From a19d7f189e2cab28bf49c251edc67cb82f9d9105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCllhorst?= Date: Tue, 2 Jul 2024 14:05:51 +0000 Subject: [PATCH 125/125] CI message from ebc-aixlib-bot. Automatic push of CI with new regression reference files. Please pull the new files before push again. Plottet Results /62-update-ci-templates/charts/ --- ...d_Examples_DesignOptimization_BESNoDHW.txt | 20 +++++++++++++++++++ .../BESMod_Examples_GasBoilerBuildingOnly.txt | 19 ++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BESNoDHW.txt create mode 100644 BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_GasBoilerBuildingOnly.txt diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BESNoDHW.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BESNoDHW.txt new file mode 100644 index 00000000..8330a13c --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_DesignOptimization_BESNoDHW.txt @@ -0,0 +1,20 @@ +last-generated=2024-07-02 +statistics-initialization= +{ + "linear": "0", + "nonlinear": "5, 7, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "6, 1, 0, 1, 0, 1, 0, 1, 1, 1", + "number of continuous time states": "52", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +weaDat.weaBus.TDryBul=[2.711499938964844e+02, 2.711964111328125e+02, 2.711585388183594e+02, 2.710329895019531e+02, 2.708773498535156e+02, 2.706598205566406e+02, 2.704615478515625e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704500122070312e+02, 2.704904479980469e+02, 2.706648559570312e+02, 2.708219909667969e+02, 2.709660034179688e+02, 2.710835876464844e+02, 2.710487060546875e+02, 2.710967712402344e+02, 2.713839721679688e+02, 2.715577392578125e+02, 2.713986511230469e+02, 2.713771667480469e+02, 2.716394348144531e+02, 2.718602600097656e+02, 2.719464111328125e+02, 2.720499877929688e+02, 2.722364196777344e+02, 2.724353637695312e+02, 2.725456237792969e+02, 2.726259155273438e+02, 2.730393371582031e+02, 2.736041564941406e+02, 2.736746826171875e+02, 2.736636657714844e+02, 2.736180114746094e+02, 2.735700073242188e+02, 2.735389404296875e+02, 2.735155944824219e+02, 2.7335400390625e+02, 2.731619873046875e+02, 2.729700012207031e+02, 2.727780151367188e+02, 2.72593994140625e+02, 2.724955749511719e+02, 2.724342651367188e+02, 2.723796081542969e+02, 2.723463134765625e+02, 2.723376770019531e+02, 2.723522033691406e+02, 2.724003295898438e+02, 2.724500122070312e+02, 2.724666442871094e+02, 2.724525451660156e+02, 2.724020690917969e+02, 2.722803344726562e+02, 2.720899963378906e+02, 2.718980102539062e+02, 2.717059936523438e+02, 2.715140075683594e+02, 2.713631591796875e+02, 2.713411865234375e+02, 2.713729858398438e+02, 2.714293518066406e+02, 2.714556884765625e+02, 2.714446716308594e+02, 2.714856872558594e+02, 2.716668701171875e+02, 2.717514038085938e+02, 2.716672058105469e+02, 2.716678771972656e+02, 2.71758056640625e+02, 2.718697814941406e+02, 2.7200390625e+02, 2.721656494140625e+02, 2.724968872070312e+02, 2.728500061035156e+02, 2.729950561523438e+02, 2.729598999023438e+02, 2.725846862792969e+02, 2.721623229980469e+02, 2.721732788085938e+02, 2.722332153320312e+02, 2.723517456054688e+02, 2.724693908691406e+02, 2.722129516601562e+02, 2.715361633300781e+02, 2.708384399414062e+02, 2.701152648925781e+02, 2.6966552734375e+02, 2.693913269042969e+02, 2.691483459472656e+02, 2.68912841796875e+02, 2.686530456542969e+02, 2.682867126464844e+02, 2.680051879882812e+02, 2.680009765625e+02, 2.679133911132812e+02, 2.676651611328125e+02, 2.674332275390625e+02, 2.672374267578125e+02, 2.670499877929688e+02] +hydraulic.generation.sigBusGen.TGenOutMea=[2.931499938964844e+02, 3.215202941894531e+02, 3.219565124511719e+02, 3.221394958496094e+02, 3.223133544921875e+02, 3.225346069335938e+02, 3.227500305175781e+02, 3.227832946777344e+02, 3.227899475097656e+02, 3.227926940917969e+02, 3.227936096191406e+02, 3.227616271972656e+02, 3.225937194824219e+02, 3.224303588867188e+02, 3.222870788574219e+02, 3.221586608886719e+02, 3.22175048828125e+02, 3.221385192871094e+02, 3.218602294921875e+02, 3.216575317382812e+02, 3.217870788574219e+02, 3.218324279785156e+02, 3.215806884765625e+02, 3.126929321289062e+02, 2.964081115722656e+02, 2.916763916015625e+02, 2.8993359375e+02, 2.891322937011719e+02, 3.201445922851562e+02, 3.204699401855469e+02, 3.201241760253906e+02, 3.195368041992188e+02, 3.194237060546875e+02, 3.19423095703125e+02, 3.194651489257812e+02, 3.195135803222656e+02, 3.01478515625e+02, 2.933348693847656e+02, 2.906322021484375e+02, 2.894480285644531e+02, 3.135838928222656e+02, 3.20224365234375e+02, 3.205013732910156e+02, 3.206305847167969e+02, 3.207018432617188e+02, 3.2076025390625e+02, 3.207975158691406e+02, 3.208114013671875e+02, 3.207996826171875e+02, 3.207524719238281e+02, 3.206996459960938e+02, 3.20679443359375e+02, 3.206910400390625e+02, 3.207395324707031e+02, 3.208587341308594e+02, 3.210523376464844e+02, 3.212527160644531e+02, 3.214534301757812e+02, 3.216529235839844e+02, 3.2181884765625e+02, 3.218563537597656e+02, 3.218304748535156e+02, 3.217745361328125e+02, 3.21745849609375e+02, 3.217613220214844e+02, 3.217269897460938e+02, 3.215445251464844e+02, 3.214408569335938e+02, 3.215133056640625e+02, 3.215235900878906e+02, 3.214359130859375e+02, 3.213305358886719e+02, 3.123632202148438e+02, 2.971321716308594e+02, 2.928616333007812e+02, 2.913024597167969e+02, 2.9059375e+02, 3.199228820800781e+02, 3.204760437011719e+02, 3.209529724121094e+02, 3.209825134277344e+02, 3.209297790527344e+02, 3.2081494140625e+02, 3.206853637695312e+02, 3.209090576171875e+02, 3.021502380371094e+02, 2.943196411132812e+02, 2.916966857910156e+02, 2.90571044921875e+02, 3.139537048339844e+02, 3.23824951171875e+02, 3.243091735839844e+02, 3.246210632324219e+02, 3.249992980957031e+02, 3.253718566894531e+02, 3.253740844726562e+02, 3.254739685058594e+02, 3.2577392578125e+02, 3.260267333984375e+02, 3.262257690429688e+02, 3.264139404296875e+02] +outputs.building.TZone[1]=[2.931499938964844e+02, 2.896968688964844e+02, 2.897545776367188e+02, 2.896888427734375e+02, 2.896223449707031e+02, 2.895513305664062e+02, 2.894822692871094e+02, 2.894268798828125e+02, 2.894242858886719e+02, 2.894393310546875e+02, 2.894568786621094e+02, 2.894791564941406e+02, 2.895105285644531e+02, 2.896391296386719e+02, 2.899462585449219e+02, 2.902334899902344e+02, 2.904323425292969e+02, 2.9063232421875e+02, 2.907960815429688e+02, 2.909470825195312e+02, 2.910342102050781e+02, 2.911355895996094e+02, 2.912329406738281e+02, 2.912338256835938e+02, 2.89213623046875e+02, 2.885853271484375e+02, 2.882908630371094e+02, 2.880851135253906e+02, 2.905428466796875e+02, 2.909561767578125e+02, 2.911372375488281e+02, 2.912803039550781e+02, 2.913558044433594e+02, 2.913960571289062e+02, 2.91397216796875e+02, 2.913740234375e+02, 2.900783996582031e+02, 2.889523620605469e+02, 2.884799499511719e+02, 2.881097106933594e+02, 2.889940185546875e+02, 2.905068664550781e+02, 2.905892028808594e+02, 2.906141052246094e+02, 2.906183166503906e+02, 2.905764770507812e+02, 2.905378112792969e+02, 2.905628662109375e+02, 2.9059033203125e+02, 2.905967102050781e+02, 2.905994262695312e+02, 2.906211853027344e+02, 2.906472473144531e+02, 2.906744079589844e+02, 2.907029724121094e+02, 2.907344970703125e+02, 2.90767578125e+02, 2.908012084960938e+02, 2.90835205078125e+02, 2.908702087402344e+02, 2.909026184082031e+02, 2.909317932128906e+02, 2.909595642089844e+02, 2.910679321289062e+02, 2.91327392578125e+02, 2.915599975585938e+02, 2.916867980957031e+02, 2.917959594726562e+02, 2.91866455078125e+02, 2.919538269042969e+02, 2.920411987304688e+02, 2.923094177246094e+02, 2.924203186035156e+02, 2.906716613769531e+02, 2.901900024414062e+02, 2.899935302734375e+02, 2.898120727539062e+02, 2.921451110839844e+02, 2.92321533203125e+02, 2.923946838378906e+02, 2.924658203125e+02, 2.925298156738281e+02, 2.925703125e+02, 2.925924987792969e+02, 2.926271057128906e+02, 2.912697143554688e+02, 2.901798095703125e+02, 2.89748291015625e+02, 2.89435791015625e+02, 2.903063049316406e+02, 2.919293212890625e+02, 2.920674133300781e+02, 2.921182250976562e+02, 2.921345825195312e+02, 2.921494445800781e+02, 2.92146728515625e+02, 2.921365661621094e+02, 2.9216455078125e+02, 2.921914978027344e+02, 2.921918029785156e+02, 2.921875610351562e+02] +electricalGrid.PElecGen=[0e+00, 0e+00] +electricalGrid.PElecLoa=[3.88858251953125e+03, 3.321498046875e+03, 3.200403564453125e+03, 3.259399658203125e+03, 3.32228857421875e+03, 3.408383544921875e+03, 3.4815146484375e+03, 3.491694580078125e+03, 3.498161376953125e+03, 3.500087646484375e+03, 3.501178466796875e+03, 3.4817919921875e+03, 3.41734765625e+03, 3.36034326171875e+03, 3.28178125e+03, 3.214536376953125e+03, 3.2073349609375e+03, 3.16120654296875e+03, 3.049912353515625e+03, 2.99240966796875e+03, 3.036968505859375e+03, 3.017434326171875e+03, 2.929090576171875e+03, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, 2.970831054687495e+03, 2.72154345703125e+03, 2.589751220703125e+03, 2.4594482421875e+03, 2.449735595703125e+03, 2.448956298828125e+03, 2.456535888671875e+03, 2.466309326171875e+03, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, 4.206453125e+03, 2.741622802734375e+03, 2.776778564453125e+03, 2.795714599609375e+03, 2.8094384765625e+03, 2.825131591796875e+03, 2.835739013671875e+03, 2.835485595703125e+03, 2.8283876953125e+03, 2.814026611328125e+03, 2.8018232421875e+03, 2.797045166015625e+03, 2.799046630859375e+03, 2.810447509765625e+03, 2.841068359375e+03, 2.88695361328125e+03, 2.932269775390625e+03, 2.9788291015625e+03, 3.031046142578125e+03, 3.06817236328125e+03, 3.06691015625e+03, 3.05261865234375e+03, 3.032236328125e+03, 3.018029296875e+03, 2.994607666015625e+03, 2.9533271484375e+03, 2.89047705078125e+03, 2.864356201171875e+03, 2.880515380859375e+03, 2.8645712890625e+03, 2.8301552734375e+03, 2.77352880859375e+03, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, 2.597523193359375e+03, 2.60923779296875e+03, 2.695148193359375e+03, 2.675523681640625e+03, 2.65410400390625e+03, 2.6171904296875e+03, 2.5904228515625e+03, 2.667017822265625e+03, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, -4.200777038931847e-04, 4.062532470703125e+03, 3.6893447265625e+03, 3.733939208984375e+03, 3.840103271484375e+03, 3.999489013671875e+03, 4.2173876953125e+03, 4.190279296875e+03, 4.3127646484375e+03, 4.58503759765625e+03, 4.82617236328125e+03, 5.03649755859375e+03, 5.2537021484375e+03] diff --git a/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_GasBoilerBuildingOnly.txt b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_GasBoilerBuildingOnly.txt new file mode 100644 index 00000000..b6c70b44 --- /dev/null +++ b/BESMod/Resources/ReferenceResults/Dymola/BESMod_Examples_GasBoilerBuildingOnly.txt @@ -0,0 +1,19 @@ +last-generated=2024-07-02 +statistics-initialization= +{ + "nonlinear": "5, 7, 1, 1", + "numerical Jacobians": "0" +} +statistics-simulation= +{ + "linear": "0, 0, 0, 0, 0, 0, 0, 0", + "nonlinear": "1, 6, 1, 0, 1, 0, 1, 0, 1, 1", + "number of continuous time states": "41", + "numerical Jacobians": "0" +} +time=[0e+00, 1.728e+05] +weaDat.weaBus.TDryBul=[2.713500061035156e+02, 2.714423522949219e+02, 2.713688049316406e+02, 2.711300048828125e+02, 2.708900146484375e+02, 2.706499938964844e+02, 2.704100036621094e+02, 2.701031188964844e+02, 2.696802062988281e+02, 2.693132629394531e+02, 2.689815979003906e+02, 2.687498474121094e+02, 2.687302856445312e+02, 2.684281311035156e+02, 2.677860412597656e+02, 2.674700012207031e+02, 2.672780151367188e+02, 2.670859985351562e+02, 2.668940124511719e+02, 2.667543640136719e+02, 2.674586791992188e+02, 2.682342834472656e+02, 2.686448669433594e+02, 2.692129211425781e+02, 2.700237121582031e+02, 2.708500061035156e+02, 2.716349792480469e+02, 2.723893127441406e+02, 2.729895324707031e+02, 2.733184814453125e+02, 2.734673461914062e+02, 2.735424194335938e+02, 2.735648498535156e+02, 2.73562255859375e+02, 2.734952392578125e+02, 2.733829650878906e+02, 2.733241271972656e+02, 2.733239440917969e+02, 2.734044799804688e+02, 2.735684204101562e+02, 2.736940002441406e+02, 2.737637023925781e+02, 2.737111511230469e+02, 2.734936828613281e+02, 2.733190002441406e+02, 2.73205322265625e+02, 2.731450805664062e+02, 2.731335754394531e+02, 2.7315283203125e+02, 2.732023315429688e+02, 2.7325e+02, 2.732466735839844e+02, 2.732464294433594e+02, 2.733169860839844e+02, 2.734288940429688e+02, 2.735700073242188e+02, 2.737182312011719e+02, 2.738376770019531e+02, 2.739303588867188e+02, 2.739819946289062e+02, 2.740299987792969e+02, 2.740780029296875e+02, 2.741260070800781e+02, 2.741852416992188e+02, 2.742919921875e+02, 2.743815307617188e+02, 2.744320983886719e+02, 2.744386291503906e+02, 2.742976684570312e+02, 2.742652587890625e+02, 2.743667907714844e+02, 2.744607849121094e+02, 2.74489013671875e+02, 2.745615539550781e+02, 2.748076477050781e+02, 2.751499938964844e+02, 2.755416259765625e+02, 2.759237670898438e+02, 2.761777038574219e+02, 2.763310241699219e+02, 2.764301147460938e+02, 2.764605407714844e+02, 2.7639404296875e+02, 2.762903747558594e+02, 2.7616455078125e+02, 2.760198059082031e+02, 2.758236999511719e+02, 2.755619812011719e+02, 2.753553771972656e+02, 2.751993103027344e+02, 2.751300048828125e+02, 2.750820007324219e+02, 2.750339965820312e+02, 2.749859924316406e+02, 2.749522399902344e+02, 2.751499938964844e+02, 2.753774108886719e+02, 2.755320129394531e+02, 2.756587219238281e+02, 2.756750183105469e+02, 2.755499877929688e+02] +hydraulic.generation.sigBusGen.TBoiOut=[2.931499938964844e+02, 3.135688171386719e+02, 3.202365112304688e+02, 3.246045532226562e+02, 3.265639953613281e+02, 3.269346313476562e+02, 3.272273559570312e+02, 3.275865783691406e+02, 3.280833129882812e+02, 3.285175476074219e+02, 3.289093627929688e+02, 3.29185546875e+02, 3.292109680175781e+02, 3.295597534179688e+02, 3.303141784667969e+02, 3.306959228515625e+02, 3.309231262207031e+02, 3.311487426757812e+02, 3.313746032714844e+02, 3.315420227050781e+02, 3.307281188964844e+02, 3.29808349609375e+02, 3.293170166015625e+02, 3.286499938964844e+02, 3.276954650878906e+02, 3.2672021484375e+02, 3.257929077148438e+02, 3.249019775390625e+02, 3.241908874511719e+02, 3.237990417480469e+02, 3.236222534179688e+02, 3.235337829589844e+02, 3.235072326660156e+02, 3.235101013183594e+02, 3.235878601074219e+02, 3.237200622558594e+02, 3.237909240722656e+02, 3.237921142578125e+02, 3.236983947753906e+02, 3.235054626464844e+02, 3.233558654785156e+02, 3.2327294921875e+02, 3.233326110839844e+02, 3.235870361328125e+02, 3.237953796386719e+02, 3.23930419921875e+02, 3.240023803710938e+02, 3.240166931152344e+02, 3.239943237304688e+02, 3.239360961914062e+02, 3.2387939453125e+02, 3.238822937011719e+02, 3.238832092285156e+02, 3.238013610839844e+02, 3.236698303222656e+02, 3.23503662109375e+02, 3.233285217285156e+02, 3.231869812011719e+02, 3.230770874023438e+02, 3.230156860351562e+02, 3.229592895507812e+02, 3.2290283203125e+02, 3.228462829589844e+02, 3.227771606445312e+02, 3.226528015136719e+02, 3.22546630859375e+02, 3.224857788085938e+02, 3.224768981933594e+02, 3.226408996582031e+02, 3.226833190917969e+02, 3.225658569335938e+02, 3.224540100097656e+02, 3.224194030761719e+02, 3.223346252441406e+02, 3.220469970703125e+02, 3.216441955566406e+02, 3.211830139160156e+02, 3.207315979003906e+02, 3.204310302734375e+02, 3.202507934570312e+02, 3.20136962890625e+02, 3.201005249023438e+02, 3.201744689941406e+02, 3.202945251464844e+02, 3.204415283203125e+02, 3.206117858886719e+02, 3.208399353027344e+02, 3.21147705078125e+02, 3.2138427734375e+02, 3.215681762695312e+02, 3.216567993164062e+02, 3.217160034179688e+02, 3.217725524902344e+02, 3.218287353515625e+02, 3.218690490722656e+02, 3.216398315429688e+02, 3.213709411621094e+02, 3.211878051757812e+02, 3.210378723144531e+02, 3.210162048339844e+02, 3.211617431640625e+02] +outputs.building.TZone[1]=[2.931499938964844e+02, 2.881192016601562e+02, 2.886946105957031e+02, 2.891133728027344e+02, 2.893863830566406e+02, 2.894655151367188e+02, 2.894427490234375e+02, 2.893832702636719e+02, 2.893573608398438e+02, 2.893623352050781e+02, 2.893749389648438e+02, 2.893992919921875e+02, 2.894461975097656e+02, 2.895641479492188e+02, 2.898534851074219e+02, 2.901842651367188e+02, 2.904429016113281e+02, 2.906950988769531e+02, 2.90918701171875e+02, 2.912264404296875e+02, 2.915252380371094e+02, 2.918908386230469e+02, 2.92201171875e+02, 2.922818298339844e+02, 2.921546325683594e+02, 2.921454162597656e+02, 2.920830993652344e+02, 2.91984130859375e+02, 2.920330505371094e+02, 2.921226196289062e+02, 2.922380676269531e+02, 2.923634338378906e+02, 2.924208068847656e+02, 2.924467163085938e+02, 2.924248352050781e+02, 2.923888549804688e+02, 2.923519592285156e+02, 2.923016052246094e+02, 2.922302551269531e+02, 2.921112060546875e+02, 2.920165710449219e+02, 2.920230407714844e+02, 2.920254211425781e+02, 2.920062561035156e+02, 2.919914245605469e+02, 2.919405517578125e+02, 2.918939819335938e+02, 2.919104919433594e+02, 2.919287109375e+02, 2.919258422851562e+02, 2.919183349609375e+02, 2.919274597167969e+02, 2.919427185058594e+02, 2.91961669921875e+02, 2.919792175292969e+02, 2.919950561523438e+02, 2.920090637207031e+02, 2.920211486816406e+02, 2.920333862304688e+02, 2.920458374023438e+02, 2.920605773925781e+02, 2.920761108398438e+02, 2.920918884277344e+02, 2.921880187988281e+02, 2.924333190917969e+02, 2.926493530273438e+02, 2.927654418945312e+02, 2.928688354492188e+02, 2.929411315917969e+02, 2.931249694824219e+02, 2.933370056152344e+02, 2.935135803222656e+02, 2.936620483398438e+02, 2.936881713867188e+02, 2.936364135742188e+02, 2.93610107421875e+02, 2.935646667480469e+02, 2.935097045898438e+02, 2.934701843261719e+02, 2.934329528808594e+02, 2.934086303710938e+02, 2.933533935546875e+02, 2.932774047851562e+02, 2.9322314453125e+02, 2.931900939941406e+02, 2.931734008789062e+02, 2.931552124023438e+02, 2.931420593261719e+02, 2.931044311523438e+02, 2.930535583496094e+02, 2.930401611328125e+02, 2.930755920410156e+02, 2.930923461914062e+02, 2.930883483886719e+02, 2.9308349609375e+02, 2.930841979980469e+02, 2.930783386230469e+02, 2.930850524902344e+02, 2.930903015136719e+02, 2.930743713378906e+02, 2.930587158203125e+02] +electricalGrid.PElecGen=[0e+00, 0e+00] +electricalGrid.PElecLoa=[4.432639479637146e-02, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.221918106079102e+00, 6.217138290405273e+00, 6.207793235778809e+00, 6.190108299255371e+00, 6.163281440734863e+00, 6.127903461456299e+00, 6.069961547851562e+00, 5.98074197769165e+00, 5.846057415008545e+00, 5.626513004302979e+00, 5.258453369140625e+00, 4.775506019592285e+00, 4.315811157226562e+00, 4.024718284606934e+00, 3.868175745010376e+00, 3.787058353424072e+00, 3.73271918296814e+00, 3.745315790176392e+00, 3.809149742126465e+00, 4.02750301361084e+00, 4.434386730194092e+00, 4.756626605987549e+00, 4.866801261901855e+00, 4.957830429077148e+00, 5.082311153411865e+00, 5.216246604919434e+00, 5.337132930755615e+00, 5.454156398773193e+00, 5.535310745239258e+00, 5.599663734436035e+00, 5.680179119110107e+00, 5.759285449981689e+00]

    -dtoYmRkt{u9gNwQ;G7=hARptmJF8g1Y{*R1ro-zjT>3j~9CF z=cnq2tw6nN%A_byt+)vB(bF(clj@?Ao`MS@p)jHw3QB@QyQNfW0i72uEa*IEo-!rs zDNq)Reohqu^mvb=oLbkBz@y@>LY?bYZ7aHGkiF?b;dCA+l^e-YIfyIC3rxFGI^rK{ z5hs~ZDN>$WTRu1t8A8KoT(pYF@!nw78z=d^i5~)hF&->i#X1}>gw_MHGhw?FYaULQ zUiZC7(q1c|=rsijU0U^+lj6R{PCMTdJp-m!4X?Gjd2zb0yx+X{{5&NV!i%D_BBzPC zH7j#g?%wk`r`CH@9<#~q2%cY%AATA->YJtfB{_BIr~R$l?33b9tWY7SEiNgj%f1-N zaZx7w`CUtFyoifgb_GeH6m=lSxiXP{8}xNVwV{8LGB#3yMdC!gweBNgychO+h(*#` zq*|eb&^Nra37Bh>yP+*^+Gl>wi#IDa0{+%4f6n(s@* zvYOplM_eXUQ9RkTsY5coWH~k!r7NFJE61ZKyjLU#P#D*1l^g-U&~Qny3kmVswMfC{ zO%W66Ts}Xj_W%-MC3y*phOpdgWqC@OE)--PJ3_q)=1c7*(NsIMh#3{1qP0s6ser4~ zq%LEwUAf2@GFTVt+%Q-&7G-gyB5piyimg`5JoL*q63Y^Eqep^Ua;+jZI;6F^7Z+Rp zp7|OfZR|OulpKvTr84k2)fIw}$qgYmCQWcm;8wDU2YVGdo{#suf_^Ow$J#P{FUHxk z%fLKfdOogex1VfHg(3bCrCgrVPg)9smb-*5coQtsiX<`_)gcC2%C#Y>s`yk z!ht-BX!n$3{7)MI2Qb00K_)mRb>e%rP#tdpZ!wP7!~*M2^11k*4m9W4@03(gR#7?+ z%Bz9*w~XEdO>m9%_ui0Z1+v^porBg~>xGXK6cgaaYF{IAzt3BrfL4F&8T{W>;=MxE z*GfCBxW-%_*WfkAYrB|V+{`?~sxnwguYUfSn-+@zL3N?a6lRq>jCz*KPxFF~-Va)- zwMI45_@YXiVUtAR&`MG<4^eZGxuj^3QZG8LjOaUlnR8RY(r|bL;(5KC17-ii_y7s^0XK z*A%}I4R0#PUz@a4pY@og0li(V_X8MKrEYf!mh=<}-qWhPyk*ieK+ zr@s~MDK-Er2KAm)rHk8zy{(xWbzHuxyy-cT_1lR=M6(!|T%f3RqM;ykI(v0jDPQ7q zeUdZ;fbyKpk{p_dOW#{kskxo3R@Ji95YuW(Vg9D6G{4Wtmz2+RxMw&|& zUwlU_Z7=m6kRDX=qupNXlAS}|D&K44VJwjxjl!W2fFS^3Xgth&D=_(eu^2+&2jdhK z9Mc3$6KEKi`SzW4tSe3X7{gg=ZQaS3V^lBsA_wCUcn+OusIOGoc1D!O~JckeahrX(Hn1a=M8j(e$y!`*_X3^SzX2lJQ___cxOT zwe(fwsTtH5JeLS9a^t<(5zwDHa&ZKwk^}_%f0x%5ufvyRT5X^)R&=ZYZoCHh(Axxl2nMKo-A96O`Z%%SF zdskgX@2I_B3{wZ%AGnsNUJ1D&zpq&>@2$qZMV%&+qx0MBxi6gFF1cZ?kUSAi%JDAA zfgiuW*u3_>U$aX_Yv%+(tBlu{ZEM$tDlP$%k%gsaq9H!n=#gDVY??clX}LRHTE-WX z_;Y21J|WkNUmz?0=*`Kbcsm4sPdQqQ37J5tgN_=aqx*aP+^&ggn;xxbn5ly`Bx`eA zQA9!Ja*&i@b{whPL)7AnRj6r~Sgjm2*JI;eR2(yEvw~FW{BPwgz{JwfeFcihAl3GO znji=WA#Tlz#(j0YwpwC?Y>gNomJCw2_PpK0QH ziHi!KusrVch@{oV!OY;M35|;6=;W;@eP2`mFZB#~Epk%IU`_>77}qP(kQ4=2?(-GF z6mopYx)AceL`u{u4pME5h&nByqv&YG9hs}bmWs)`lmtnaCFVnVv@}rYSop_pYHcfG7J4a)l+`x0}|O0%RZ(* zRC#T*z?EGuFN)dZyOQHdAmoNtaO`0S4%s!I>$!)Jo;-=%(eXafsN>d3<-0^je*13o^PF<9=-9%%;70Ya z-#dNj-fLv^g>2#V(mQAPEKb}BZJ+v9eoUU$8V6y8K~xyF4XL{__^5G>S$_C6iS1^L zi)R{24VSFCJUZyf^b>hR?X>COkT&|IHu_WE)XS0^^~I6o1FfHy;$KwmME%c~l)Bca z2-!e^5Qb37Z5!<;q$I1IXmq>{YV1&>l^ttUe~Xz|AUD!t&;mKsT0lrlh;9Rl>?oRu za{uV0zgFMsUm9b?5K0SnPT6xIncG}*bCTmNp%oklWP;;l363qI?+SjtDU;)+pvE#D z>#05Xeb+QS^QLb+aA_MRbbnFlToa)1y+E%_btl5|KOp(cT6dM=AtWnP{66h}o>o(8 zxoG>oFE9aqjxnTao-g zJ=(z4pVPCKOrEvjtHyCcbaR1wvGD8EZ%%Z_2et>dhg9_LKHUc*ed@5ORP~AvpGk1jhq1!LfrA9F7+O z4*_AR6}{D<(2Au1)Dwd%8niAlrLQR6Rl15v%mu5Hv&M+|EJTNp9P*tQy^|s{qC7PF zz@j8Ow4wZxSYxnVvMTV}b-tKhdV4j2jz-`4{`&gHOrgz@9aY;{GNQgizSsD-zvOkR z`yfw%^>?~-UZNN(l|`N2s%Dx}?zRF#8(o!D{l)7sWFtp&9z`-kX$%x@5OVB{Vj#-= zsd@bwQhpB9d9QCCX8zBXqm+qG?}~D#3;MAwLo0i?$5okakQ=jQ7|eT7N3@K*Xv}K@ zf>0kjM|>6aqL1fmg{0;POBs2O4!e z9h$jqG5gnwYaN_glyRD)JYxmuyQJMr?&i{ZX|#C>{3Po<>iqQ17#2ZK7~(D|L6aOh zje6zjHTJmzEEp zjKmkZ?o!##=CwR7^DYaM;7~iq@#>~3yO)?mS8f`m(UDf7d)!--Sfl!5C=G&S%%mp0 zqD^$md*MW*>Z`7`pa``5Nq9-)r4=8+s%925R-R95pGk_45{*WY)5JS;R_vR7qLVh= zHx)Ud7Y<6&z!ZAXK6>w$izpUQnURoR)vh{CBpF0`q|Cnpp_~8oUXeSx45(Aqv)8H$ z3l(`lRDNgLRf`A3;(EV`-S^^3ZvQh0LthI*p9>a>nA zXwf2p({D56nxE)+6@UN4=+MqE&R5$1*XkII;XsLb9J_pwWOFUQL~kNcD329In=lJT={%c8^|rT=SEZNAk2Y;`bO@E}Od>325m2X3 zksLC95S4A_N0@)S9|*y5Ms`nm1oIll4S;)O1;=eX$hV4hynnpXBKymyvoVp%TS@SEZhq4w;X|xEUc3XqpgY;!5CvQ*!-+)F5_MnM@S(M!Le!{=jP0 zUsWV;KmlFL9i3w3(H|HpOspyGhSLh^s1U< zfFu0~8(-ojVkPtw=Qqb4_WKI$>Jy#9=usOS$s_SXn0 z2^4i;hIK^cl4Y+kJAYNAmt4EmmTX!>osXiVbRgIGnKbEU%g~fhL74m~i!AR4R>AQA z<~0g}BLMgSCpaAM8KL{Z9M@pCm+;a9R`0npXB+qrBFx(qDlvBBxgpR{dD~dlk&ZqL6!s zng0BmZW2AnWbCzEnw}G%WofKztz6EoQrQ)`PCLm7V+}sQ>q{&QDt5d8akqMDD@zZT7Vnipx1!bR1*XoQ7jc1V6E7Sz0eUNs>J2B2vHLCPk>5+A3ZDm|3 zGzzyAx?tQhZCKhz=_RJes)k}Cgu2{>WHHS(t)?ME!$K^9g;)EN6BRo`@MV}(-H#L4W+VD^&Ude7fL>y%0Q`3a(pj{dP4$?ih83U zICfyKrAIiy;rJo2)}Xk+@VL}K>d8gB$6is$BZPoXcU5MlPDn^bDI!wsQ5otD!EpvKA}cs_pwZQf z6%NOnp+#=!_iF~3CEr@0oD9vTrE&h8d{m%Us;c=M6@zH?u-9z0Jap&MnpkHU{GVXp zh0b^1dr()C=QIK9kx0+I$LnSUojvnj39m>Pyl65l5s05_;_y^*lFJ!kqTa-*UC)WktkY4@CQ)Q+7i zir5xgYc(Yor6!_V?RjQ?T9lhQ-p-q=Dk&OYyBf@g0CP@NUY4AW8Pw#4CMB8#W^WO| z=DGJf9IpdmyjnY`bP0|JWCh0wS;Y}I-2vc4hvQPrPBQ7~gFtui@1$XYZ0=s$p1b&P z>Lj9)#D;PrqTlEhsHYMSOB1iTw5_>cSorN(s*v8KqI3M*s;7PEHEp=1N#iR*7Urm& zUEp8HajrH=7oeqOp4b)O-+o*VbNl#our0t)M_k#0M7bd(l$ z#eJb{TWjBIL5p9+ujO&26&yB6Rz+av62*JUvi-*MwE4^_`b5XLT_mPV+8cpCLx?J> zN*SRI*@ZEy^(@y$tUXpOi1ceQsvWd~fTrjMJJp80t%erC(Jb4AVv~GCVyW)FH18Ue z%Di1xNvY6M?CCxe0zzoSez`QZNXlY#2h>HP=f297CKF0kA@VX^kC@a-k6t>0sFQ-E zDwC4+?M$9$UUT>!ixxi?bb*R`Tq z=G?XI55**Og#x1p%%mP-vqZ_#M7Y1&pa=F~S?}2g*UEC6$#-I~Ta&-mN>`_di}VC6 z5AYY2pCTtNxvq9E(rryEUqWl*vF4gD1%9w5g}gNcUIQV_e{Q95$;eqvjCG8##bRpp zh3~y${R+2!4vLkr&dRtXHz3EBC=?Za#l8yPd#}E?UveF1ktkjZrNxf&bA3rUr^4cO>d(e6~>v4K~>58f%aIT`!he3ax?{% z)-|Ze38}OC{4^8Nst9dRT2+fCwOV{mePxrdoX?y@%H&m`T=wF=B;_sSMmHY|Wzxytgr$Tz%C{yg6hXq8iE z<~cJtel?^CdML?_?`1%@;=9OC`rX>LHh;7B{Vygt?4+<~VK>rx>65JT2R65QQa$Mo zc|rbr>C?uN&9+Kw9x_z>Z*~Pkg3O^XoHfJ-hq>!_$DKyMFsq!EOQF2CE(oE% zzx}3ttA;^Y$(iR#yl`QiH~VCRywG-OwRn(>Ba>4d+0xh=i$=OFA8Is#-U5LxD|sHO zwvvp_Rc@h*#BX(jmLb|QFtlM}#+pL1UJ&`{biGEwk^N1R4h;e#lzp@!VbW zc*;-ZH&r!IehHDGdq%LmVr}znluOyqWGGMrK#i?Ri?~6i?PxNqDsrvdk;|L0QoBx})z0EQrh% z7E+j&+>rPiI>_kbCcYss!67axLU0JlF`{fXUMr4u&=VgsbYFxct?8wp*L z_F{#xISYLz^kh5~b4E)}7kXtP-EuiovvLzEsbptJ$yKcgbd6ZV8R5`Ks zw^BgN^1;3G?Uqd_>oDYr~Ax>I;K&7GAK6YX|3`t-oN@>^{0TQ0(I;SaZj_8pAviYi!mi?QETiR1dx@<4k^x}$9-ZUY_^8VO9n^Wi<>W@|zEvP3 zDG#$c)FL^aip5F2sk1e)KUUa%tI;z47S9Rw!@XLinJW{Zkp5bd=IyzL>qM(vTuNev z-j_4i==OmHqOx^J=dk8+Pf6<~<*@oP3zlX809joN#mZk$6XUenR7k8z4S3YQeQ`fM zW|&nk-H)C$Ze4iJk`dlpP3zuU8y%J)Dc`S(2|Poj6e^OmBH!p=s=Nz>EuE_p*Bi$w zw+u0g&1bn*VT7+36W2cb8!Mni`4;V{u`0W^dGz84SY?lWzE=tkWrW+Z({luBBs38m z`9Ir%JtK+gXPG61beS3BP#eR!Z$_%lmUp8p3ZvhSAH8y#uY|e|Oq*e$3-u07VZp#zp7)Qj4kZD3z&)7^Y!1fPKLZ>nx%3zq{8q!Mt)R+hLo^8#( z8RAe>?h*wM!Z4JiP+IuV&yxTId7k8Clw3n+OdE!>tTnl8iGfOS7wT?O-lX_f7l>lO z>=@db*Nf^~FeP$EeRsRhVzyb^tQ7owejjbu0B?o|!=A07&+S%L?(5X#Z)2 zv3JfT6U{|}>#3whm_K%@tSrgVOxq8N&LlrCQc(I_PPkv9d}dZSX48za@2oqpf9!>; z(=Uf7+_-s)TAkJh$wYY=_%#j)VaSHkc>>O7eiaks6$EbjKK*G-s@3E#wynHIss?95 zRB<#`B5CISTApu76m5)Hp|*e zn&L5H1muu!}hgsQh#PTKCw?IYJo86c2~ zL)e^Z5DLm5EDRt^paA9X#h4@SZGBmTtZp*p`L^DvZX>!)6z$NIzo`pu8xt^1pz{Pw zXM`zUe;9yqOon1XxTWh;;YN_#fZSUVAb`n3Y=7yRu_sSc(Qk`wUR!BU<;rbKWp-%Q z-;|G&B38+05&*qGLcdBBV^g#UZqxT$d8K&YRBuWRqlzhC>pb!CRUhdPc9LJ)Zlw%{ z5c@gbHw=d4DDp(9O=yF=Bo$O!F4}IW>op!4ivBf}1f43c5X&p*egJ(xLYOEMd6EYG zY#N8$hKIql8*bl0wzExSjt=aqiNg@f!u0d1AvDS+rCVLLL#(B*TjOEqeQ5M6{l5h# zI$F>KM~~bP9^+vX-vo1jCOJgKF`yh?9F7`xH6fy$7jziY-nE*BDUYn8Y#@C+P)Bml zlyLcAEFJvR^>sRCCd5^m4QJ9iz>a%WuqZoOR}%=y0%}9lp4~N}daLgp$@9`MtI6#3 zn7QhbTBXyj_@_>rX|2*#IqiS^DbQG@$-kvPPsfuLR=SUN46WV@&6*@XIa|*qd^-Jb z_7v)WU##{G+3?wn*#MGbPp4R{Q;gpxBuB##*9LV=r?yR)I8pabDugNC&KPn<{ZRZT zlV;?}WzSbxY*B5n1j+<}9)L;Zjg(@gFs2&@hh817$Zh$i^9)G$Q|Z$#6k^PbV=^Kr zAR0?tH(`GOPG`Q)W&>nMF^>M-Q{l704@ zRaxlb6vIr6l4&Z5o#|YzN<%4-bX^Sr7)Caf#z+FCHmK@B(j{b(s!Kf&3A&F}&k&uQ zQ1%nce)L>wQXNexZNc_kA)KJ=F_zKk3>=TZ;RKo{ZbQ3mUIkaH;iS`I%fl)ug2a9@ za~)|X;wFGNw~FcoD#};4F-5>x#ZEL()3^`_$?h>ia7p`6=_2XRM6pk+b|-n?AU&7DMiF%JI)Ns>SC~}y zv15_#Z{>JXk3+Fabv+mL*_w)n`hV;P^06Eh?eV$~LJ^Eq*IAdCaYP8gp#zIr&y)1o z5*+qmAvt#7I2_|!=gx7(Xmrj(4y)yldLm8p*H|<0FCM=7oTmR=b$0pDG8D~ps?Q-* zgW_6~rl6B&aec>;G7kYvV>snO}2!ufFG23X$tS*lR5* zQFQq}7i*Lw*Md3u?^3>=QzjQ5J4a68jR~ojYB*R&auoTF9Z(Fnab$yd95cDG*&vAV z2LRIS)!(jzfe)=ja3Dc2s5%TDSE00yap5jYLN`OJpJW&{bz zF^qY2HyOi`AQGZrno2{iwL+=OeH={vN!sljGEuahns4J(*HswTC22Zup5bH{B7ukZo#*q6&LAt4DxV_gj0q3BMEHwrv z_XIgP?&u+T9;RHbVc<4#v*Xux8{3i)JX0pkidFC2K2xdn#(PbY4$C9x)`ONuG z?UhOcwg;(eJx-7I#eGH-97WkB@*s}0lS)THu#y>5%W)trI41Q-P8a8Y6BU3l&Yje~ zs(0O9F%iP~44h7&Oc|a!lK`M-uD56xk*oE6T#%E=eB5<_pja8t;=OZTFei}rF!-A028$IPl zdTqc2#(=gDi=1!+c2l|HnY!bu5CZ1+~bey=3-& zontEX1sO)&q^(%pLGv12^d>P&iizH}deU+GzUlK>JYlP^W^SBM&=XuMBNTRBlN(W0f76_&4nCB1{Kjg#v86<~2buGz}R>Z)QsofU1xk1?7@cTG957975B*N*0a5x~j zVNjgtoe>ofKpJg0y0>Y{)l0kPa6c*HK8=Ab?Y_g#ka{IvH0D9c# zdKm`{H8pfemh$vJJz5ZuaK0&oDO(c$EZu6GF&@L}f?pZ?O3{sZy z=7GyCjLI+?LT*cP-RN3IQ(V>FY!Gg4xXo<0ssGV=LO7j3rz4m3>74VQ)H5AuFow#vyFGSES!zsXnxt4KZ?BQYR^7kWy}n1j z<`f=1!|65C{oMSmZ6C$)-vO5RTtk*>18m$N+};A8J|TSg!0&gwqO0Au=zK;v9zpv( zXc(d&b?j85+ANJwu1bkNx)=gNY~0)++}`m2?Us$(Y2pdn<0I(d0pZ~>k{svq`aoxl zGS7hKF$7>N$3RWY*s>gl^4hKTtX2iZkj>I`-th%?wXPVCq?{zZMaGZJ4e>yX1 za)<`Y;lMLRob&aqp%&XmkTwz(24NThnm`9`9~i$yqUFeivx#kMEM@sgsVD|%a%F%r z7*4Dxus-^Qv8x-ODjU@vf>o@@WrhJ14Z*P8M&oRoSKHMJws!eS?g7fUp_pFo6W}se zEB8UUC={fftjLoXVXWW?+a0&5FmP;)*vIks2ppmTm57d*)QJ#uN3?D~+en_=-Np8? zLl{RMa%2pV{(U%PW7#TGQsWnbs4nxmZf5#vY7{xWA+TXFiG zzu4Fp13!~H`Fc^spk1nz@+i68wZ<9UmItMR8;3|}YJy`Z%ZqXvD5c}XV}R7levfcG z^0Au@=V=@BFiqT-A0L5-2ktZDnCtrHCgy*e2o6?~grpRs^O?sg<-(&06gr*aIB`HY z9+KK4==QZ45jOE2Fnm9d&18~>_NAAxdmRA^TyNT~D=_tpX&;0C>msS&okkul` z6Q?uY591iets6B)4|QLR&(qYu0M3sc^Ma~3A(xI!@P>y6(8D9=_dJztMcRo2K;fPu zT!rQ-bXbiefYU~up!bq}0C2BPJj7#u<~2^o8idZnO9np3yv$5IlN?ZocO~P z%9TsXXH|O4n}W-15FNd8mI?bX@TBU)2MmAt3&O9zAbkADlhkqKzM_r5XqZd@PgLWi zkEThvJ&-bP&&YxI;zWG618#2-?(XF_Y{WEpX+6_*K-nPbdKi(!nDVR5?wKw{7sBTmw#h=^nu zNE%Z4MRI7jV?!$DU77XC_z9wl&?*9`dO93H_xDV;pU!Mt2w@{eC4pygvU(o^8$KUC zAbk47b-3N-I40+4Y#ie%{o^C({yrN>XAS~c#19Z+LyX0nTfS~IoG>y0M*BVJ>o?BA zbOw%G*5T%cjcKJ8ND3H9vnF^ZN(K?_9}yn+oHm+j*BA-VnO0k4VT*B;RDV-jHa-k& zJPB!Ycax35WK?A$gTy65TpC1uaXRrT`*F;qpI+78jM>Q5>VaX%)0u$0QY>lMZ1{(B z?Bn7k~Xhp%K;x-`1f6(ffX)0qo#MN@?r#VhUEF?{C1Xm(A;|J~w zADGZ#Qec}`@uQKSVoV5GrSp3}M-o6Qc#zA#6>}jO=b|EEVuh6hn^+Fzc&J^{D7Gm& z9zYM=N2mLH;Bn6f-`-%j`@r?N;WkGPkHFV2DeYksiOyd>A$<6VaGTpyNMm3u)=0pL ziYUZ>k%)y!2o5G%=x~T?5L({ann1WF&z$|hX>H(2H5WtF%ooNu+Ir;v$4LC zl1UM9cz6VzjwvtR&;3)?iM=PCC4sEP!i zcc;cYHMUC-X*!-jkB>kcv%~q!N)9QfaVQBjZR`Bp5Cz8pncNVrLaR4U0451`1Nd>HkN4l8>t z)<+1HYsp-Z>I~cXA$Fz1N>SzpL2Kl%Y_M@uP$*3Yo)nI*1ZNnR3|K|u*)%{TJ4iVTDO^a zl^r1(l^;GJ{Q3)qfB6>-zxiHO%n@+T<1GAoaA# zE&@RmFhY7r+dwRXafoD6BwAwq(D8)n@d32mVoJ&#ZCn#T14!7$pyOJNr;uGHBGCg;W}Mmm zf@C3AuDjiq?f{K=2Vt6kv5rk4u6^N_369~{UwJJ1z=VL*LE(y|$%Pa{;hc82!4!!< zJ^e_oQ!#L+o^J}_s^VUxS5%H9@ zFcE?F2UZ~Lw%qT2`4z*jzhJn#%LIpsuSA;20hru~$Ay6vL_#b~kB^z)01}Z_<~6(j z(D8)u_=ssUf`-6(AnvDOCv~9+10j{8s*2S&QAtP>lO^{Ln6_KcII=Q?rZ}!L`H!ez z;n-A1CMCC99-BXYLiqGC6BUVMq%`(~hX=m)IP$Q4dyDYPCk!7yBHZ5b;zNk_Cxq1D z$Ry5Y#57HjK#umgECi@$W6G;D93sdNp5hxyf+LX|0BB=QS|T{!+3eqOJxKC{^uE|{ zJRMf9Y7%67IAvVRal!1(4wQy_yn_B$C8_ucOwa@HF6Pey>1 zij)t}CHEjr{#4t(HcvGx%bD4!3o@<3E({I5dnR(?i6lpAM^evv1xMecyrnLmV2O^W z8m+B%{M}qrQ1^pIyJ+V9DS3YNd^OrscR|0e#M18zBDK{Q>^U!92GSo5i5m28DsAZ= zo%~5$1VqE(_7=m(PZ)n?gJih7i$<5YFdRUKeKdp#)A_`c+w(cQr-(rvSK-3$035bF zc^?N}$r5to<3|jiK4JLfR}8;=Lb&_DM%MX+X}9C+9gmm}`y|CDAt0>#Na1#|Fs6(9 zh;|L2Nhuc&*|-uzDG?5vGB!y-&g=2W5@jM@wcKubvMdwo=^SO?8-&9c<6WGx!X>)- zh>;(5+o;SiD{(?B+}-kI`1S_a?s%dv#)JeHOllM5u23jLxNavgHqU2{dvZQUgVzuo z#{=gF;QNaL=a*l&E=6TQ#7cmu-Vjm@#Hx;PKJkb>o!OWWcboVUB}TZr!w^ZZ;lqbS zaD?5CXQ0PJj2UtSZf==N5Uq= zxB$7HH^63FToW;lL7_qzB&a9X-SFWqx%XrvCK4Pf_#=}W(KtV`D}j(4TEQW0GYGLJ z#&uE==zbzb-7cv}GQn{~xR2zh4a$< zVmrBKLiFYa;qF7(S7RL&?M|szGQkns>}JDb7EPFrN6_OVx0C%o5gb9~Q&b#5+$f{s zVjAN$gcPAjIP7jRnW(p~jp~lDQ+;6^LDLk=WXs$F;@Cix6(?X)n`F!*Lf9VD^DX=m z)k`W1#h=MX=G(nICsid_`L7e`eDl-hb$HpGMDDp(kXyoyW`M_`wNFcv`rMHVfphEsIckw9@ez#hN`%_$nl zhhq^$kBKJY>)+la;v!9M^|L@$BV+s$2@0EK>0@4D9E?$$@*ba?L>x$RlZ`-}PfTJR zVx5W~KT-BYCyEkmUTGXYe#H3c6Q_HO^6nGMrs;5C^+pJoh%gXwyn~w?HrT~LmSCb1 z!yx*whr2rrA3pGXwp)G%#r8qR0~_Gy6T;068Ms&cDQ?MD#X?c;EScme2@VqFo5Y3KjGWiII}9IGTfMzyqdJZog=<7o zZ&-rkoW{4-@I`8?>SD1Ws4ZE?Qo#{4;Tb|rmc%wSZMV5koX;R}txKc@6C4!#KRrHz z?(R5P>@B;J4Ie&WjN?Hf%|=B&8-hbzM~X6vF<_?cChe4>U5|Kt8Y?vV3Y`AaU-ZHWG zDXPzIZqrUWOzbkzONtB@QX<^laan$pF>jZMc#0}OIvfh6+;ooHwr{t<<37i%ibSjf zK;|mu2#ym}ywHt0QQTCt^g~`kaHxHC9FCRH6V}SOR>oPd2j_p;2r4I&J?Z4N%DR|-XTopwlw6Y#id8g7|P89sf)`0*o8?4sd11*AZ8;dI0h z0vlP6`_c_W8o6fQ9-TNG1XcGDvWL#;qfs_niYW(-6RlQL4sNp&IXIP6{raN z+D}|aYl-Y118uSl`+%_DXKC|hlUIZ9Zkb$>0D297@gTbhY@;!=8B3C**cHZ*J0clB zoibSiu;Flb$ARpmttH?1BZ5qtw_8@;{KAuXUbVi7fj|j#K7o!~R!4}TGY+8b26T7J zZY#%Q84y*k)^C)N9*vLTX2-=HLNXAOQMB77Lz7)ph8)yTkzzU?0!>jR6aymC&5n%+ zS-}?N3y^n85Mwl!O_tyz`_&&Jk#&;5nTTzl37p~fCdDa8##j-AvUHE2b0j;a{J)6t zA?Z-7+IsgHCIb}VCC6>HISm^Qx|>{yqJkle1E$*>CgV;j|K}5@E2TjK2#Hohf}@I)p@Y0iyagdNcClV}HyC07*F-)R3XXFMw#ol_ybNOe+hPfa9A5!^K}m49g2Pec5`$Qy2%KX`feYeQsFTb&Yur=p>a0=% z6mchd=htot%X$$}qXgxl(J8}=T?bGqWOUld+_QfHRW8w$q0(ELYp+S~OAg4kyo@~` zmd;&s+^X~v77Db!-m4J|CJ}O*&I2*5O~)nWuojn=L04F$38c=2b4!^da<-QMyfFp?!C@djw(cng~m*ggRJ=t8pDuv?1+^-FOK zkPU%=9Fro&rzp!nh=*wxS1={`LQ>W?2XDVAJRwyciWMgwEF<4O4ACk`TbI7Wl%6j#RM zK&B zb?Pg+t&j~KDnyy|r|9x>;J|@ti(?fGG7(cZyTVu(`FhfD5|S~Sc4krEr3RP!-GE|C zPid!e?QuxKX2US%{w~U-=*mGGQ4Fy%gl={iqS7e2&crQ3DZ0<3b|Tl@?YJ&Pr4{?P z5F9iF&JWm#47)9+n;X#mEeE=cu?|vsX;Pyg@YGl)uT;m9=e$D=#c~vPn4~z7a%sg` zO2J8|B4z~+NB%z%x9!^-47+W1x7et77&30?7#uN;Db~$-;H|6E_ROmNDdLt?092BI zv`N_!o5eJN!dc~kfFSX1ggA)mg%Q9IFlhJ7VZd;A%fH{=#=gzt^Avad7(RReefq?a zShicP>qrm`5@1z`M0tFr`k|!A7-HO*uw{}d04h!$fd=Ftqq;0a&2T!#KF2PUGNvNN zI!dmHQXi2FmNpcmjYU#_(CRNR(LNlaaw)p!rE8^al_PmA?uOA#YcK(PLnPxwS;Fx< zHcVJdJ5G-%*KThMMG54&e`dwVG%B~G-4=9rhv~xy(ATe^uiu!A2?2zC-l3>B7x+0K z@j{QtB8(QnktSt5fvV{i(7Vo>yjAB233fr5v?gJ%1;hMb^f+v~jP=N@S5P?= z`HwX@?YLRnwMohmq?Dz1f-yETj#4)zWMZ09z#XuK4#-55j!b3 zBO3+7ZU>6S52h*SEp5YRlyu1u3t7oAvirwyn^)b#FoHI5@)uW$L4;{w<-#NZGpC7N z8Dap+K>`@cgfmU*#gG}4qCu5OTt%k+frFaL7PZsFtHqx_Vff2mF#P%puT09eeM883 zQEHGPz^7K?so-$K;ebhY2zYqpfSC`E2mftbXM*AAPJSEggU54}pxt}+~VhFyRHw<}SF-0axk z759y(fC`|zC2LfkgdLwlyB((8j$ODAjnkws*`#Vea+fkbpSc{O5g+2;Fa!|A;Kf0Wxq2~A zNRAkcR+CNK#}y$HPPr`z;VQ}`Ax34~4*{Z!2%8uqXc(BRxV^=&yNUHR00&mz(Z`SR z_)XgNqfi8eypvJ+v{!9&91GQnurvc@SDmEbkhyXk)97^KG4$Iv9!K|&JeJFjRw=%P zQnDmaG)*zMXjFEk zV5p@Eh{wD*-X(&gd`=I$9j03*MyAaMQ{3(uq7XU|0JR3U`4KfcqIXhRyJqS5nP6fgB&1jqK%vyoY;H@vp=|5M&GPk{0S1v5NaR5`cO6AK zglI%j%ZO2id3nE@WGPn2Ed!ENBBo4=GHehdHB$siB!|9V==V@#q>?uLiu862uO-aJ zf5>?toeWhZtFBX}bp@;(bS+`i{r&>g!rbvM;l?t{?5MoY=I6q4XtmR|-M{*%3 zu7kqx$OZ_?u{wShiTofgG2&Jrli4X66e7VTj!gjK32$0i6#wv>T{c>+yGS(ZwOdLe zI8H}QySOFd@rd)|o?UKsQD*$cfh}xAUr~q~WC=3x%aD>C2gXcxxe~QxY zu-PP8|M)2enUe{3;aU=^It+25Tx_|BSXO7{rlAN9HmIUe8z;+jbHizsSOB7kQ3?(^ zpV^4p?Ku8MT)hpuEgMi1fyNWU$bl*8ya8>u2&Y{Nl1KXkru}0<2GBu_6G|kJjx8{V zj9rY#aRA-ia4D$O{vf**L~?^pQ6UnbR_j$9j`JCGzG36F*vX=Ph6eq-m2MG@N;>im zG1G=uWof_3?kuAw7qY^l2#}i$(NM%qC=^2ydq5Fg1^K0kH9g*??Knlrkyo&b-H(O= z6XK;uj=hnT8)^$%iaW|M8K&|W6&zwLvTIRPH^@q~p0^E=>>S4!2W7+U07%zLF=jMD z2^4*>Ac$1?B;}YQh6++h%2oy6O=%Od^qdI}ah;p?yGU{zb6Qg@pmMA$h)DwXyD5`Y zlw#rxaa<2&j0xTE#n6rJ3KI}rGERxmE7#&w8HsvnGqMXwKy?ps2NdN|GWs{HaGOFv zxH(|Bx#1Wb(J&uwZZK?jX^cz+YEqV%=X@k|gqY*LF6F@Fz%Wgih=az;bvO*&83c~G zGTqc!1^DfqzJi92I6G2lbtu|XeQ{20@?0T4Yei_qZCyfKbc?3z!o$Us+6F0XptJ323 zvvfGJTN_ca#dC9x@#8|s4ZRV{H)JmpAvlUK8k^1qEIV?KdJC4U8*{S5QJ`8nhn8bj znCqm}`9klOVM!I`j?py`EMcKl4_38N7&7X(Zqrw)3Tl;wdS6Vm%sp4TG~~TR>Vh*5 zYJKfi89l|&UUE?hCeKB(^vVnsi}6px%He3SNasi_DvNh@dJU0ful*d7BehHYMMJId zlm}yIw4p9}@azg~=dG)v(nMK^gdG~Hrc1~adwWC9Hru$#cG2V)%DSiESe0IxG@BLS zpwg_#faHoY8dZThSFWoJhtTTd;v2o&C24mu)@TAwJJ9WIGE#>azXHc2a2m3U%Uuk} z76}pnr5nKziV1vB>0sg^DnCvq&?B#y;do>c=k_)QUL8KDdnn>Y$3DnLDXMa#(}@j- z&B*`9k=w>ZaS}h~-E5+&Ww`qgjf+~AFT_J?H{xQVb{1g2?t$g%qGE^vA=9?9(RG6& zxkcMe+Qu=H8$t%1a)3zyVYg*sGMTRptkB2|MLMzF(Xn;330a(>9_|3%(Uo%wAqJj>Qluy)ktP0g-;p#9+0{h5pcL*Xsom-JQSZ1B6sb{^fr|e@0EW$o z30rO#<5&i_j0QiQPQ2TNNb?cNL@^knp*Dz-7S#>%gbg4>8VXYYzb8&7#UP~O)|3LJ z>M=yuiFU`)s)wKnj!YV8(jhCY%=jlalc1PFmZi2kVj4!!c;J4fiN)Aw0-1OkQa8}= z8{>Qk1^E;-fg|V0SbUy9f!#4Onb+7VG`1xgM+Dk}BxZ^{8`IbrUAac?gX})CO}i=$ z)5I}rWY>`x2PechHkE=5r4me@D`j6QpF6s*4>W975+hW{ z-{@_GlCb$-fBR1Wz<>PPzef#B6`}MV z{a_3_fQgGK$K^<|Ae14Oh>x_2bws#1B0TbBkH!s>OG2Dz4-yo06oR8POtULvnaw~O zmI(u_ptxaqFzt@%+VbMvCe(JIl1~-8BpKfXq#X*>>UMVXVmbIUP3)R-K6Cm~zBlTX z4F{+gCptz$ay?1vj3^CHfi?|kC2duYClVWF2po7&o?pu4hfb%won_!UNUQTP_JDrg zajXSNOGpZmVHiLl-j?=wOa>9@U3dz&OPGL)xqV5NBo>LdR_XeuL`dbA#310b5iku1 zhfO zRPNLfB3VOHo@y7Bij>rC1H39t;@Uz|XsX?vP8h}wXxt>#6&rrJ%?=VW{HuVauTB}gd8R3WZ(xx|2|Qr0Bo z6%n}E1cY-=3lDQs-U(;o{u3xZ^JR`z#c@)7(HQ@wG9{0(c{^96?S-X(66uFfNNp{I zz+@gxiBl}si)z9xx!fRtlDo&46gw$6aM3QKV@lD!)%-qPx4vZ}-R0RpaRG}EU3n<0 zm^2wR@ED34R&NB^At)&=boa^%3LTRJ!w}m(l6%~+-6iEe&^SBgLU8#I_jDXLeN)GHRQjNi>eU+lwaN_1xgcg(xyk zVD4cLCNpMtdKF%yr{HK^;30m0h{pu5ibIqf4#zxNt)#28STHHXAGg>d)DSE3>?0t| zUa!CEpBHSYb6R}p6}P7R5Ug%t4BOV~Pa=tClmboFggK|Wc_*L2UWdxldfj_YT5rFv z)FbjQpHm7D-iV>D>SHGVb1o`jq0E}@Pfs<@8)Qpj=Co0v@>0BSv?c1C*S!5R6hLd+ zko?wCIMo-$;`q@k$AXBEPF;TAEs28Ih<}0^lR89e`qmN+mD)=EmSpmIhN=6L_=hKd z`{OZh-KbZ%v^#{jg~V0WpjX8RQ8961Utlqs2~px3BjyJnOl+(UTXt<2HXBSy5?uPu zClWwhIpUyOtiJ0PpkionISe37hg}Zvc05*FZKi;Mrq3ngQ%H`e7QhLZpyC$9fUbGR z5<)mn2*(q`@x)b=f`^Jh$OMpGt(PZK&;*AfaoC{EtB2W`5`_dsvMHcw?;*t9HsVKR zSRlHx2 z=rDvh`;-_J0ick7m!7M)m=!s_-i1f{*)T9^wcYYIvd2?gT^~|AfihO|wxcoL$3*Nd zIuQq9gz8HwetT2z)&WiU|NyZZDEvQObk?$*mT-tmKt;ff-`_g%ATlifh$4 zvMX5}Q;Ka$(<=9v%Ph7V6{)RWDV0x1_r*A5a!joEFyvS+ z8`VxDc`Li6027lsgKDe#nIeSUhE)(CVwVopC&X}_&L<3~4QO-DWQQ^^>+z`^(=!R8 z%1KBLglOoWx&KDvn`8^$qHhd&oi4R%c{Ihkh;v*fvU8jrA*V^&mLf@ocp-@~V#u@f zyix5fKd&@#Z{`mnr%~=hLtv6E$e@(R{$a;TKl6&7>3E?Ni!=&q?g7~A}Dz>HKcm!|*ZXVI`$l);P za|VrLpV(0;5A>u5Tzg+V5NKO}kkeBvM7psmcd>Kvw=0?K$VmyjE#EK+MWlfcy^$7^{<8lHo*ed!pL z4X7M}9(gQky zATyT9C%vt zKE?JuP02N{h;c&PCwbvhs(Qq*0SDE#brp~ZXo>5Q2u7TlsFY{8axs$U9L07_V1i1k z0SnSah%wb>in1+SePX>2k(4T2baKr+X$|LnK?n{}Z)kEua}%u?p#W+Hhg@tx_H${G z95=}7jYz9G(cv)AWP<*me!sMbwv2;#VP(8gWfUwJO+7=_o>Lfhayub6%(41GWYZ61 zMz?vKDz9dGXTGP-0bMsBdj3GUwjOnUby>FZ`cx&roJ&aMnneA&Um`c=Z17%M)b9n! zv9^7-j!WfeE%FBOV+jtCtQK`p8U~i!D35qPxsl34Ut=xFVaJnVWgeHeYg>%riH|kq zGD3P>f{x9j%Pq8Tqm3b*lGJVnU{uGc2^5{qm}Hey$c?z;1vc!~LA$A55l%)&jDZlx z*0{MXuezrl7*6aGFpQW^?0$kF8ZT+;tS4?j(TE^qh!82pz#9lO#XE~(6jz$Ldg8X6 zLr6h3v+871u6$XQQZ&ees5J_?xw!S5ld(X@xWX;>NUQQ=S_RcBpQP@SCis~-(v_Tl zkoptFgKTL!Wfemv5=gD`BDy(@r9vjQm7x23AjtNrV%X&Xj!4(1>6}T4BKF5n6eF~M zdQ!SbaMK~VE=U{1I3i3OYbmKyK$)Zqs`bRSo3`XV)lH4m4#Knxa zWsQV}HsC`j(n9A+1rI&(BYqrt8_{9pvXa$%DRS8vA}N3xI~GZrQ#^}P?w7JXup$+b zLQGsBkVzd<9fH;;65?e@!mGdc+B9`Eo0*}oy4ibSzH5O7RNkrM%MdG0(b&^^H%1osq zO{Nq)7(^UXbRmjAh zjM-;fXXS95Tyu20pCb7m2@yclFqBE%R3B6y%1G0Vp4w7L_4hPCm=) zN5(#_ZWv?msj~kyE7PRjJi!kx=!x*+`NlY}RtM{%DajaP{MqAPa=e^1P8;R*9CAaK zU8@Y6q`*@%OXYh~|6hyV?Yb~^%B<(Y(IGc#x0N;Jqb3zkEzhQl)rx%Tb3z(e>g&8j zd!8e~dTCP<;Hq3|9DGI>0mLE||Y+OosMbU0vo-1GLMA+TB_DhFs% zlULg|)MG2I?}-CJ+0E>#-W1DBDP**Pk=!+OFimlr(W~X+iV%(8@{yXK1BqCiSP4u( z+F@f7<%$ps5;#yK{Sve>ksIfj{%DAvvjSr}91!+v&z7RWifj+8-0BJcgXgm>QCA>jD(ZmnNfpi1Pj-MvxpE%QeLQj`7SYA1NFpM#PskEz!5_yo+ zN%A@z__|>LHjxNaoi`wUjz&HcuOTW>IAG@_TUQ^CvArX2jlG#-kl~?%DQ5#82mVpTx-bIQ)bdF@v zCI(ABWg>P`3N$G%yTg%`p&=DS@q-Y@E){>NP!B3%o|4)^f;~%MWtG44Ij?`7PlbDy zo}cU3D>&;hNYBj;`SIgJ_z3G!(h8e#Lf#@a71E}0K}&Mj9aX*pxB~|o-Qg!IamR%y zR#cVRqTnmcw&`D+Pe82}%ov^3@h$S9XRtL4 zB3p#=Ryd`edLkXZkWZWTrxHi4>s?ybOX#Id+rx`CJeB9A?>l8>EthHn+qibOjXne2 zdjg9jOfwy70<7{L(%TFAM^`N)>ASQ|H3-uc*}NEYNE}T9 zBts}FHTHWP#~KzCXl5ZDc1ijz(W)W-&YULg!)48bLF zB~GWfI)BcF#~~YAbmFZ6>3l{wo%6P($0MhSC{IeY!ErodIvm-zoOpMGDS!h)4k5ac z9FxJtllBof#xgk^vOhDBRU4_z1xz4L6M*S>Oy$OTWn&?nCtx=v6+vN~9FLs#X&a4E zJ0UfO<)l{h^hEj`W1OV;36#59tkX34j`0=J7O`r#3o-7}WIQ#%ObAm52-6vK9+iwNZD~%X!aqCq8QRx%Zie)rJHYZG{F~wlu9R-e{1Gi^h z*^bAGK`pELqOef?hzS%b)B+TMa2nDIf8Mzxq<)m!(OKPxpgjz@?xMkRR4NyM+v9mm ztIR+qA~^q9dY*!fCW7UxR`uhSwNlPg+{GbnpE@MIMq_KH8pV>H{CN7JI2Tb?(y#4JcDmRX86gIK! zA0BvIdwk@+C1Ya@hCD?@Lad0aiqLf%6%k2wk>bZlpJM`r$$_aP;sCDm(;1?=DHL}q z*r$|rYB!NAq|Ju6B}UxoNV~4dIACMj$g@(lKZJm3IwMSHgmaAbK}H#r+#?lvt`&Mh zLUs_ov<+?s$d=*6~RR<{2LncU%yn2Vt1|d%Pr~7+M-@an{`VDkE#6W;? za!SCkI~IQbQcrXmIasFzr<*1w8RA5oPAA^BFe)|Zc*L;X#)KuHzH2=D;fieQ!!9I_dw14H>eDTD8H&a3mx=(wUSn!<*_*vXyV>9roJiVF&z$Ze7@&# z$2FE5!huG@U{F1Ez=jNN^kwh7r>gpS0&Q!gd=;?*~j@ zzhe6O6?E7mj7*q_;Xa&BYCGrhnN`e2#nnme48(C@P9^C)MWxwLmOqa%d1n)uKNV!V zxbGZ&qxjF07n5=0Dq*q_VHdp_|;e#oVg=%ozW3tMJ$06S&INXXc!X z^I*xeM!TQ8@7!mLOVtepxdCN&2QBM?xQ-Rd0!?mcbyO?gtCTRhP3LFO<$*hUb-;NE z_WMh*)*UG2OR_TGCyIWX7WJ3NtVod9`~>@+Cv`ZTK>J5b_xA`lH{1r}WR@NtFn#%T zePuvYTle?SJ+#CO-J*01Af1D>bfEpRzl@a?i@Fk1uEm5+XeR{Y7oy{;LtK zdt&^n3y}xDwRl^8Lsb%<((l*#nRZ%y&d@XVdfKhI{Rnt%`i8(wimyX2tW0k{o!649 zch1*SC@P1OISDrmw#ap-Uyi7)%a4=jS-io4H*ey4BdggKkDBfgyRWjLI^OYSQH=`m z9assr9U44k!rmzwvJSaZHWzb}9Er!@QYmabk23@zhzwb&TSGK>A4! zM4WjNjczDYL)RubYv;B^-YiOe8i`S+)3%b*elkA=eYOy@7NFJ5-u!$^d8K98hDtdo z-axRg>{f!1jjFNxmY?_MMO`EGsOUpu$hX6Llh2emC?8w15#hhc-c8UA5c1G5-`Ax)rf4WDC}p3Z()PuGAvEWZ}f7eAYad5_a)Uil|GB!_8NPcup5=G zz&Zh=BnA#ZK;wh$oU%5`|Ut)p7`|!Ke-> z^*ljeZbLh@DX7iQNq%zr+8cW7MxIjUm?B)eFT6>ku#}+e(G3QmBBX0>LsYpU;n}<2 z`5y^06dy(Fgbqo3|6caGtuaOK!b)o3o&Ie`A3UY%*StPWy<2i@4__sINzP3>dc-dF zQr($6h~=t7s+7+q^1hzP71b5k4aw|JZ{ z3LmeSs~(lB)qa75a?Z4?gCqxn6I^Y+l!d)2tnroQytA!5*XF>C`B0+1B3?-t`Wp#Y z)jR^<&*~^!FVJ;%#2AnnYs$Ed{0_@?Mc@?DOlm}qWz)XSgoG?7VF7R zhVT+BKHErlx2A+^(Fln{gYeSWq_iS&lPEtf_f3`I`tEp7F>D{<#P2V?n|@@Io(Eu2 zw?j#0NL;8T#h9mbKXIxQN5L1kX?E?SyN0YQ0?YE$_uNb}vz5!{8ZBUR6THBY4OD9kn`km zg2koYX)w?7A0G(Nc&!jB$Au)(H7n_#aT<#BlU}0fWoXFjj8U)C28e?)Y~EhI{C0N= z_d!&?SjFJSLCvV>0ITJyDUQv&n|dBjNpz(Jd+ul%Eh7T~fBtdVo`uz6nkZJYo0n8WT%>c5YaE^6}|& zPioWG2YR^_L87wRul0jYo5s~}nO+p%RQO^&`4{PI?STcqJDtGp^kUxnUmFqk+q||L zhnf6^y#3vho*IP*neg9)?QXHA^)+EcX`y!Qk!@ivs=mz&bAx>I2#}|z@#yJlB{_FK zne4>U4=s09P(q9U^b-Buy2TgP6s!~G`4?{~IH=wMr+R!9xHgXlT2<)C;$zbqot2|(Zw)O1n=9|-I>%5&C3ZDOZSk{9`F)BO6nIW{Du0Z#n?=1VF4QG#E#QP zTnsMkVZu@7MOXeu_V?1;JEEZ%QEQ*a&4n;aO|NjEG_u&@6JPWYJ}u znp|E>EF4j2b`C)zb{y8iWYiBT9F<&ierqvj|716$(SD}Tk3+R-qr8%wi6g^l%7_nQ zf0aZTb>3tA+~=Y)<&mf;;)oo02@ku6qYZbIaQ)GcegH%0ptpEE^tA`(Z&N(^oko&Q z2Qn5k;{^{uq#*OLX0}BM0nMEpRi9Sw6Upu<-6Ma=n4t$8vOK_pNIvkk324OpVkAL1 z=x97hUFM6{HLcP;OA-r7y>0$A1k{j-fN)> zh8@Ht58I0~7b8+cV`Hhz4Ld_a$Jmjd zoP7gU?E7Adk(KOE*q!8u(uGv1!Qeb(G92T?YZgZh9B5krPLgilaPX&%7LL;?fkVay zC6}dM?DKZ_`hDikH4S;Q%oJ!mo;!NunK`?YF&#YH#EFX*O1Z~$!z7-Pvg5MDP5T*< z_`oh39zL%$cSrFNJ2eA+Lc1Zsjj@Sa)6Pf+YQXPQ1rJo(vt?>7f!IFwg>NqUw~$*B zj!up(KJRXS&zO6(XNFT(^Jdt*_C}=a+Bn(xUvogD+QKC3?qqYMi7p*C1{v~Kk4_U| zi&~K7g_F==>*e95gur3%>yI1drSnD%oNpSkvL7Vy=w5O^eYVymPjl>hKYxEAa!`&n zD*)J;7N7Z1hBPN@{N!a)brWlzsR^<1SnKP?Phf`Zn)*R4w#3P0cIzY-&~Qdz!(|<%LH`?=`NBnpd*y>9r6r*F$c`d#ZkzaZa@- z&Pj2i*YS3N=5K<;5kC|Z7DKK&Xbu_q#d_|e=hJ{weu0uNQ%fmRtDpOgC#+SAofm{r zbBTW}D`@0TJm{38H5?XhR;Rs_jekvzP_mei+8$A-D)B$%21E3RHi3uKSU_|`V zk3EADsZDe-)`Q&QH+nxcp2*o}H3XN%v1-I=(=5f8HvhTN+h|YJXJS#rMsXjhO3R8U zwO71oEVpM86*O=he2CmOk=Yd%d>13qxd%io7<~iVR~~!<{;IT74iCd&WlPJ8KjSG) zd)I}t&?l5+u`tRGlOTa$9w7(w=*+l3KF8-sTnc>rI2sWgT{Y#xDR@|3JSoQ-5$bD5 z9TnYyMKEJJ)S^EmC*XY=o?-bEmRxn!aTArUXUHnxqgSeE{F}GuUWgxe&xvOS{k3f;UH-Y(_ZK$=$^HP);5LoKqCIZEnEcs;qwJ0dC5^6I-ahK{AQV zi_<4N%t$(ggLNB5wmi1ol%y0!avI8(pxbFx5v!?G7hlyol_7=mRD}`X{Y=w$IetH> z`kO3mjIEIG=*1Go*_&Bj4-(VRZ6omW=wzuW1!k4~O!)l*6Xf9NvSJLqNFR#yeN2ER z7)t4G|4g~a6iw@v4FC86sc;8c5w-l1v>cI!|5|;)LP*&?fSp85O1vqnt4QN`xvM znbdcK#22_Mw2`316cCIx(wmk-Y;46CqTT$eI4raO!#Qt{s?07@y2mHCD{{kx7!{{Q zb4Q^dV~b9ldtkza9!7MQ7$|yZSCCb+uAZ)&wHdE*>ivpmna0&5o*<=>jdEH+zo>Zf zly_=OWnp0(crzG*f;m8OgpR z>EiC|vkb-_?~UaTQLJb##U~6|bVgIALY9twY^Y5mAEXd?@(oWVYUVrG5m*3r|4*f*+9)o9HDi2Dqk6a{H>_+kjJqTq z6Gu0KKU5d1)=Ir0wrLz3Kgcta4b#Uol1<1Q3K}`5G!85v<`t?IY(6+|=FU(gy9J5r zG$qgtP~;;PlYZ@8RM(cH?$f{Jv@*1(4v$6Ekl+4h-Pp#z>~wJn|+DxGv|a6^K^QXfp49frAI2D=2`j*Z-kvpB3fvE#-k*= zd+%zk&2i6(c+#_QS#wR0NmMlb?A^%;cwXx;`Pb${86d`X`=G$|88Sp+<7MvEROt$d zg~bSG&g@69<#KJkHE@AOsQ*xFoI8*bRDaJ%huzanh8&Mql&;5x zs88tb94w5y-;Li9Fg>!tBbE=^mqXgx1W3=*B$UK934C&(kAex(KEBGO-|g1GREw^kdZ2O)?Tb zoE#phuWzS}(bbm-(6*C%E;bUwwfrfa*w6-(0E1}bnx==VxMnXt=3Bb#DCyL+hnT2E z55!HY_M8fAycsx67d5yBSH;T@mPzJh)+%~B2(UvK|7P)KvD2PEP?ZZfl z9L1iSy{Pk2pukx`IFp>fOiRnu+qO&-{XV^jibh7#B-OfR#&wD6c^>F-X1s(~!b;~O zdHgMzVL_$JiNLWxa;gLe`|($zpR*oM$7)4|To9g~K8?;(P!MzDh*2}3ohq??=lsP~ z!&WRx2O=tVQ7@YPxnAt#usihO2RxfWpF3!?v%{sfWxbOAXH6RVdlP>VPtWc@+}n%a zJ?RTO>gtFc3d?rh|29BT?n#W3)(GxCf-LdYayM}(b<3-zQ{vIaI~H^Gie!RjITn5I zb9##N)j5)*Q=k(p8iyO zcO_9_*r?B>sy|ulSz0cY*_#jM@WjncU8`M-Go8v{iB5l{yZqhg&0EVacZ@7mEWRhr zJU|9Of>Kmlh2xXc<2K)MPmz$Wxi)OL4C5G9GdR8q0XCcwqNzBG&-49ptDn3c_>Q)@ z`7R~>fq}DNPa})YM{o(nb7vb)-w{1|p6ZveH1Zlf^+3Rt_Rd+f(R}e`RBtQI`y&52 zrW(hBv(2i4fN1FWp18Zh;JvU|;LcK95lfZrxEOwE=aqE%nqVYY{Unwa3;$s?;W{_NAD zbzyz{d30j-aOPbjIw$gD-jni-y9XW)F)M@VvlDd3ypMl2ej2N=UdE@IagX?5MMV9w zkXCkO&_vUKDa8bl!sNv^kx5@e!tbY;GQr||b$jQO1_<}p+UU5djugMN)5wcTUuWJ_ zZ!^?8FMZ6Mwlx4M-9RIgDR5OAnAXqVC9y@oqo=HR`#F`V{F+ne8^b|up?LBNOBv1_ zPo1CAf47e%0)e=u;A+aoEzGyd-}+inivOCcR%^5tp#qT-U_Tqe`gnY_& z{MXaFKLJ|U6q@iN(>dl@+xBcAhk#A84Tz?gxrmlHd0Bb1IPPbK!%?FF%iSb@`Mg@I z!Jo{btYRO-HiMtSKif%e*x$D<8?LN))mzc~Tis4-a5fuH1>riL?q!c!5ENUncM3Op z)=X7qi0IQ*@8OUJQpGeyeshSz2w_lgT-QQCX#7C#@<8s4C@IsaOp`2KB!SCfVRV^W zLo5arA`g;ckw#{VcnTfY^L*E4VHB0gZGjXiU>vTbJa106Lv;8t$5#J zU!#e9A_HNe{y{LcYB|}*#mH3Y-mKFyerqsXNPMYBZH@LEf&G-)KI&~vqnf{-(cOwXo0bM(0H^%nc1VlEe5$!tzc6( z2!^r!XMB}R0SkW(-34%nQOo)G8Ihh~=^|l4O0_V$!D~YU61hteQ=kPOH_cqRel$=wS4BkfW=e(%Xm)Flx^(B&Bng19tftMWTUJMuM_Wey| zmww=wWLfS>g0JJSn2jJZep@TGMGu*evBs)qO;CtqFa=nt+P z{GU^(Mriymv^*^ITt855+|MENLvDRWv8`v&8P+=$nsE?4{1B}X_Oj|pUOVy_j>R2Y ztG+62dp6xpRP4t-F1f{CSgW3XD+ivM86r92h3qPEy|u>a6uKA6ci|WOcuL`&A1_IF zg{d>`1Uy`N+ib^o#x!M0TynVdvzTv1WrDme`G8Eh%Wp?=la*sJu{C7kAcdPMZ5?KI z-6Fs(|I|ULPlXg%wlL)wx?}spSa(Xf+cv)CQF!Y=Ia!9nMA>krBTS%HB0m=XUbs3A zS}hA4mMBYZ(&dNfvRiQb&J-*Ne_8d*W24rOuBO`Ma?xR4NtupgR+XEj^ef(4v`Sg9 zw6B(RpYA8l7Z{5Q+TnnDtqDIYOb`$0Mk;-qg5MBTa<`3~q#AKcoexzqqFPb{ZZ4zH zgX6M^tXq>g^em~Y z$TjGPq5RKd-`~Gkl{T$6nd({Vd+=H>#C7rq`^WRmdXUGu?A_%dq|317*jW3R8y7TuwYyoqHi~xN<=xqteK6LPdj0g^^)W9Nc3)^jRqOnH!QqKgB1?-l zM|Ulz*stD?hHL$5^h$5{>`!VFq!=^DY~ofY#F~CyE)1T_IGnqu&co$CAZH0x@vE!p z?l16DP>%1^)K#osbH9aKdGq)tE1{&&2nRp&QTJk?x&Is6)?ZU=PeXm{Lu~@ei|jqx zUbMB-Jsx*U>W^L*G$Lw+F{xiV>z5KbeB(-Za&~th>wD;1Lq)E)QuPx1FH%jch07pp z!CODxjvyEIoTAZAp$|P5{73QQ{B#4QI&=Be@JEA3v^f=u$1x}2DyaVdT7qP?pV2SN zwBjP`9Z5c)9_>v*ef4)ReIRDm$Isn=-(;-f!xW3C?ajFz5`EpriC(xRP6Wm!g*%2q zr#J2y+h!ZkSer)XVw=qAJ0E{8GUHW*%*xKqIgtmMo~oQ(Jepm(z5lcEMjx>&HiWct zSElWX^d}Ux2fN*v*~0^z(|3`H%%ampOh>|#^g&@sBnie65vAK>f7~o!se>_PpR!?E zcBJlnH0Oo{RxEYgGHmHEd@!ag>cH0XN2VqX>h#~?!dV&6ifCIUzM+1DIaOL}!U;9W=Jfd&@^FA;} zF4i)X;eCTvWtwmkG~f0ojT!x;uQ7;5Sy!WC_V@~=^*8Io-4@>}?#j1^#$g}kIN9B5 z;us$3MXtO)1M)`0jyiJmp9+aIOO|!do$vvrNxjGEo)rOUCgf@b+|u?@SO(A)(g*T_ zQ3V=7IrH~4!;HysIza9!0QTC?7+ID?Ju>#Pc1XSXK`Z($7Sm!m8Oum6x^xUtp;x_c zfJ4uMD*dFrxFCZamqdjs8U`X+Iabv~wJ3D56= z`|cSNV3;g=szpi8$W0$lvt#Co5mA3H%ir37%BHsD<|v^EB;g0eM+3JY-`xXDyJ5)B&A`a&|1{3ivAWJhQAU>J@@X~)~O>N(w#8nfdI(_dlGIgG6JbjJiSa6pHKMtQ|2GhMZ z0b%Q0>b2`si|byXO6}^W_}A#6#7*8Rrd}Zgn5h%K%=r@{;D_`l&0AehkgzHOWZ~zN z-12w;tn=`kEc5+udL4i_)A`@?z9x4pMk#q3ZDSUWmj-E%#CpXC4~zi}s_>OIs8rmu za|*cbiRy=}X*xtMz2fG71^)MAR=B%M^(3;=UO!n8-4J^LwX?&DKC71gzUUa$MR<7f zN7MEyWumiQfJ_m@s$5wo1c40n9Ll{X|AG5|#JJbSv7V%v-u&)7R>$+4DLhySETpZJ z=GD0RQ+PR#6F<%#zgG0q@Ht*f{y@A=gx2eS4FbBuCL7Yj*0(3c{j)c_Z-Aop@j#E& zr~2Jgd?GX)CI4srBcqeH(ex0xDzeWWcgC^*75v|iy|CPdrx&C@aWBF1UVB$wfX(B4 zVRH4smJoyc$HE>$&`UK4)TLZcq~RNo%l(K~xWR1<_v zK6z#8wYqT!!axm`n#br6^31Q|P3XE1@rrqN3?$iMH}K3`mHVbXpML$|0#}miAkM|ZE~6}4MW4|_)goW`8V;dz@`FWG^PT=gMR1dGp~a*s)}$zcpq+Lu%`Uq=jnGeqRPs6q>EkANrP{E&AES(f;h`UWudJ+HFsT#9Wh z1cWA@c@Fq}{1MviTGC2gL|<5a%{`=_;ct9in8x8`@r!@f{ExRlZN#{Xa4M^ZYc}03 zYkYT30!-Y)!H!^%m&Q^-^lH!R3cO^Wzmkc=0aJ*!fO5cMzM<{&<(#GISpr7?c87m= zhneaiq#tW83L~Ut4%Yc!Eq4Z&&7J!k2d1D!KuE}gKrpS3?UFnqSdw4oA( znvE{JnfH~kqo9`v#Fm2f0d40kUQ(#lP+XTm&R2Pt)me5^2_X zJc}Buk><+$c0!@!84~Z7>ZI1hQ4J$>cI>_;MKESVdC^l#=P$3msm@Dj*mi8O)Fmj5 zjk2#=y6sgk>F$M%aSka_-{#;>Uvo*Hs1jJ}W^;Lf&cBS>mcg=>V^4yugS%I;qgv`x zyv^6ZuzWfb-74Ki*47ZE%78|-oH7NP(F?>-LqmSu2z)@FL$0)bO^k8aWe%%PtSSC# z7v!ey=Q}4g%Ide9_H6cAfpQAM)wj@%Ijc_24>Bl$LUtUAA!p{-b;0(AWjedEdV8eP zqjN%2ch|#MeELxQ;75RlH>X19lGt7GX;My@rR|T?lR=lb^WmVAcF;MHiu&g_=v*HZ zo`ji>7-LmI!v0I#{;R16xlW!?bbr#IeO>PrL&p`Q;jH1sftH0|jllnhC3miX&55z#_4TT&h& z=WmmM*}bG`JGhBDoO{90VC)S*QYjztm*(>;=Km!l7j_l=gr+@6<~P9juT%irAuv<( z1bONI32IT{FTJ@ZwRgY-e8G$`VQH&HUe^?1yz0MtB$xGfQ9%9)wtaCUyAOcfMb8$d zil_6Lqv7xu;5#=5l5W@3I6>N{I0R*4$NZmMhdz#@Mtpku@$|XQ^`t9Yz<)us4|};X z$$xK8bsp``5Ti^DQWyh_830bmwXY|jVjJ&+1qYgC2!uV)$&dKAILxCa7HM{j1f|1> z1SKy~I_~EzGTXg)K9Ccv%D+@slMQFN zm#v0=bEnwJ^Fv>fc!g43uD1u^NXP;xc?AnPdNXZ*$S>nRAABv>E_Z!7Tvb1*K|7XW zO+3!M00!res2Wm4Mf6MGyR6DnCi(gCzzW zIZhhns?hd|gjeOY*U*-A9pRbQbCm}$Q|DJ;(YdRwK3r~B?2xc zy{3*~V1U?=@SpMxMC66v+qr^l*6h>YVh@mBBHV2w29rc_DySOuDPIVk?P|LNhy1Aa z!Gilf|AIb6PHuE@3)nt6UJ=m9_Iz^w(>Z%djMrXf@KU+`TDf@b4Kp}mRf*^3YB602 zFrHUs05cYk&ass;Dw|o1YT5%FQzO77ZaU^W zl-ki(q|Te;;F_h*TBxV7M~Rz99SDQM2xwW9W_`Y2LsS$S1cZnT7MFHiF;5KHD+C-VKTB27=onky<30ia z6`=D~9v2mkp5`qNqVV|flHaC;#&Aar0M-Fo2V`p-=f(AR#Oyx;MjexTkbO3-%1&vB zr0y8Jd*>pgHFg` zN4-}h^K&@obJz{Qp8{#u7)?+Ee*)OhzvWrYH41~#C*t5LBkIC4Z`$Mg^NNToyO0aM z%;^&rnV+%vbmjIQh>PErd$aUVX8a1{gle30t4ZS0IwG?ZAR$aJlXyr$L(lUXLSZL4 zq_%O&Ccky6h2s%XUO+M@&@)D1$(RsTrmqWe9m#44kWA(Pmye5;#sNf+( z{;1XD0Xniy5k5UlfpTh3$$7&5}bZ}`rln!(By`xrEruaiE9&JSOYg+ z;RKeNv%LOAj{2)wxqKBde9c6lb9k~#Q7yhL6yA4#Q|Pz?)MOqV0Lf0VF;Z(1T_7R` zaI#tQyBQ%XL1sZC4($!L&QA3!`i?7nBDRb6j!4ZbA{hUg-JfmHZ1;gQKOXuz`s_`9 zi&WbZ60qwSNSsT-dJs45+1U?c2Lm?o_D!qkXPuOWZiJ};_;JER5>rUpH}ypu3nY^J zZgz45yRy|rWw7maAi*4W;Mcny3JJWNIN_U+U*6#dly5mUK=idRuxIWXR6-DApBQIH zPHVBEvxG?$PUCB+srI*TVJ9Kifq9QS{?NO^Lc}`v=Ij@-kM7tydb~Cuq~!taNVWAcpX-o< zFXjl{hHg^)wqYLO$`lO-5%Fg{A7j0@UEsYgSeT~OM$B`LhvOmH?9 zpXTDdF@#x>tkZ#mLd&eNSR`heiV1xp6RJGxvdmER5{qX(RQ+rvDCB<_wt%q4wTMt; zk26GX*;#d}T`{$vQOL~3##q66HZIanEJ(mP)1I2d6e_cRn#}1EH-BF#0)dN9iEB0% zum5}$`==|6C2*?x#*Zsd8bdn=Eo7g@2&=yo0HNfU?mKbY6Q_kvvMeV;BbFn+WY*cz zB$#H3Zt>OOVOAzOW=#IClen&-*jp8Bh9C1o2x*yW;1^1B3qkcsxvaYgKLc(+qq&w+LI zPy{X1gE+rl(=*+&JU2A|k`%0PI(~9W572#lB97K)<8+e$8z%x5#;Vg-&FT^dY(hRQ z>i^lO>3C}G8W_5pJF0%-fi?Z?a3>Q9WvGox))C}S?-5U&W#j~MY*iTa+m#pxBf!iTpZ5B>p3Uk zg@qAdmeK45K^S@xwU5eh-~TCO9QLDqbX>hu0f2yx5Tq4g_wBF7A5>iw_fz~h`BY7# zhp+~_bssg8$Y{iAC39UC%xC#l9!fA4@7zfR!AA-!~H z5qibL`Y1YHwrLL^*10F)Dv807F^$7VQQzNwaRSgZyKl4J%M8vxhICuv8Y{1lE65)E z$kj+S{@EbEzXo-xDlIcjmp5g-AWv*Q=0^bM>-hlY?ohR;WF$A77zF{`Dc%H+x)w^Y zgW^oEQS`2wwc8iXbZ=P==RB@21=q(YjJFtQ;<_gchL=H`2Uy= z*2O+LR<9T@?%`Ohspm9Tb6$uBst71RKFHrsVdy>q%2SG--<{9hSRh5MbV+rX&Kt5I zdTT-e$73E;Efcdj5xJpLDi`w$;d5=cLYjiE#qKwAw_rc&O)!%uguKF+t}O~&g3=%4 z21ISA#+Zf4`Czt0!=l^@anHrJI^WFei)8JQxZFbNuU}~%etag(A@6)l-$C*Z1_8Dd z0Pc>hjfrhc(~8FdbiGnIY256Iwcyv-G)N^r&>N*}NyYZ9Aj%~<=ek%lOFR2ceO?Aj zd$AJ=;2XH(%O~Hn{t1)<@e6M4opy?C96=A2mlgVQ_|H3J=oI+!0$LCJnPfQZ6A zVSh-!ytFANp(_L zux-3riu>p(|JKt)^p@?RX=RN?jGx@^#Fj|4N1AlHuB&HFK3Mt%jV*Bwz&ius-CBm2 z4+OxORqi-^Zu(SJLD;3^?6a3xr#rS<;DnKCWu|mrC3w)pd;x3m|4gjK%yl?|xe|!> zvWOcJQPBISHs=vnJ6vtp82;MM1gy`-)oK_IsX$pV9{^dMmz0V~x)0{z+!3C4ZJE?n zcYF+BPN@uFA%r}8xzTBs``2TXdv9~_Vve-PAtJ_U%#%Fo027W_HA}DH|IX9XJC10f z2J|`jHTJ5>zJSKwc=1Vy`}vDG4-q3n|LGiFg(V)U>lA$!Z*!ZkmB881)wM9TrMp#a zlyQHqjdiri=QhNtYcCd%xGXyhOBMQ55l?Z(T^)mDY#7rgR8&T*zsU_<|d zE#LrZ2}pBkok+s(;u!guQU@m%@uzy7cDbMqXs@cgV}DOfQOK5%sE z-|F@}nBWM(rhL~Wcdmgrk<~kwguFW3(p%Em$_(P9+Ah&q{cE^_U$!E4dTLK^9v^cSy=^bX z5A9^}84s9|ux;SS22SkwCtXcus5gID9iIrG$TW*^B_3Mf{y#_NeX;sp{3jiw=~D-i z#90)dWp1_Rt8d@BV=uq9fqxe6IL#PBcZl^6EsDe>?1}Hr83dl2TJ+sbqj~wOv31@B zo+?=o$0NJczT_nGo90?{#ah}@NI>4Pt3>=(?hu!FPzm`))bQzSiKr!hY^WPeFV?k1 z6+q&)oaof`d0D;>HcB5L3A}P;FI91$+b+)LRSq$eyH~Ni3G4n)M@YdZ^$+Vn9Y^z+ z(UnfFQbTSVb#JxLBUOOu~0h^@D<3`zT`ZtiNZ@tVnWsg~K_h6X+9h1OkD0eAUf;ogI8#WSx9mfCorSL{#RssK{** zDPvI)SqTwYQE5RDF#$1kNST~dj*&P diff --git a/bin/Documentation/Images/Register_Runner.PNG b/bin/Documentation/Images/Register_Runner.PNG deleted file mode 100644 index 0e559d7dc9f2e3fdc29947aada93525a2c26c595..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47452 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