From 5f8fd1fda92a8592f7aa940eed9481553c1fe688 Mon Sep 17 00:00:00 2001 From: KienTTran Date: Mon, 14 Oct 2024 15:39:19 -0400 Subject: [PATCH] 1. Added raster files in sample_inputs 2. Added classes with tests: - SimulationTimeframe - SpatialSettings - SeasonalitySettings - MovementSettings - ParasiteParameters - ImmuneSystemParameters - EpidemiologicalParameters --- promts/generate_gtest.md | 95 ++++- sample_inputs/input.yml | 10 +- sample_inputs/kag_beta_r1.asc | 137 +++++++ sample_inputs/kag_district.asc | 137 +++++++ sample_inputs/kag_init_pop.asc | 137 +++++++ sample_inputs/kag_treatment.asc | 137 +++++++ src/CMakeLists.txt | 7 + src/Configuration/Config.cpp | 23 +- src/Configuration/Config.h | 23 ++ src/Configuration/ConfigData.h | 14 + src/Configuration/EpidemiologicalParameters.h | 307 +++++++++++++++ src/Configuration/ImmuneSystemParameters.h | 126 ++++++ src/Configuration/MovementSettings.h | 299 ++++++++++++++ src/Configuration/ParasiteParameters.h | 154 ++++++++ src/Configuration/SeasonalitySettings.h | 196 ++++++++++ src/Configuration/SimulationTimeFrame.h | 108 ++++++ src/Configuration/SpatialSettings.h | 364 ++++++++++++++++++ tests/CMakeLists.txt | 7 + ...emiological_parameters_conversion_test.cpp | 119 ++++++ ...mune_system_parameters_conversion_test.cpp | 89 +++++ ...yaml_movement_settings_conversion_test.cpp | 100 +++++ ...ml_parasite_parameters_conversion_test.cpp | 85 ++++ ...l_seasonality_settings_conversion_test.cpp | 89 +++++ ...l_simulation_timeframe_conversion_test.cpp | 70 ++++ .../yaml_spatial_settings_conversion_test.cpp | 94 +++++ 25 files changed, 2920 insertions(+), 7 deletions(-) create mode 100644 sample_inputs/kag_beta_r1.asc create mode 100644 sample_inputs/kag_district.asc create mode 100644 sample_inputs/kag_init_pop.asc create mode 100644 sample_inputs/kag_treatment.asc create mode 100644 src/Configuration/EpidemiologicalParameters.h create mode 100644 src/Configuration/ImmuneSystemParameters.h create mode 100644 src/Configuration/MovementSettings.h create mode 100644 src/Configuration/ParasiteParameters.h create mode 100644 src/Configuration/SeasonalitySettings.h create mode 100644 src/Configuration/SimulationTimeFrame.h create mode 100644 src/Configuration/SpatialSettings.h create mode 100644 tests/Configuration/yaml_epidemiological_parameters_conversion_test.cpp create mode 100644 tests/Configuration/yaml_immune_system_parameters_conversion_test.cpp create mode 100644 tests/Configuration/yaml_movement_settings_conversion_test.cpp create mode 100644 tests/Configuration/yaml_parasite_parameters_conversion_test.cpp create mode 100644 tests/Configuration/yaml_seasonality_settings_conversion_test.cpp create mode 100644 tests/Configuration/yaml_simulation_timeframe_conversion_test.cpp create mode 100644 tests/Configuration/yaml_spatial_settings_conversion_test.cpp diff --git a/promts/generate_gtest.md b/promts/generate_gtest.md index f283ea3..837761b 100644 --- a/promts/generate_gtest.md +++ b/promts/generate_gtest.md @@ -1,4 +1,97 @@ -``` +```angular2html +Here is example unit test code + +#include +#include + +#include "Configuration/ModelSettings.h" + +class ModelSettingsTest : public ::testing::Test { + protected: + ModelSettings default_settings; + + void SetUp() override { + // Initialize default ModelSettings object using setters + default_settings.set_days_between_stdout_output(10); + default_settings.set_initial_seed_number(123); + default_settings.set_record_genome_db(true); + default_settings.set_starting_date( + date::year_month_day{date::year{2024}, date::month{10}, date::day{1}}); +default_settings.set_start_of_comparison_period( +date::year_month_day{date::year{2024}, date::month{10}, date::day{1}}); +default_settings.set_ending_date( +date::year_month_day{date::year{2024}, date::month{10}, date::day{2}}); +default_settings.set_start_collect_data_day(1); +} + }; + +// Test encoding functionality +TEST_F(ModelSettingsTest, EncodeModelSettings) { +YAML::Node node = YAML::convert::encode(default_settings); + +EXPECT_EQ(node["days_between_stdout_output"].as(), +default_settings.get_days_between_stdout_output()); +EXPECT_EQ(node["initial_seed_number"].as(), +default_settings.get_initial_seed_number()); +EXPECT_EQ(node["record_genome_db"].as(), +default_settings.get_record_genome_db()); +EXPECT_EQ(node["starting_date"].as(), +default_settings.get_starting_date()); +EXPECT_EQ(node["start_of_comparison_period"].as(), +default_settings.get_start_of_comparison_period()); +EXPECT_EQ(node["ending_date"].as(), +default_settings.get_ending_date()); +EXPECT_EQ(node["start_collect_data_day"].as(), +default_settings.get_start_collect_data_day()); +} + +// Test decoding functionality +TEST_F(ModelSettingsTest, DecodeModelSettings) { +YAML::Node node; +node["days_between_stdout_output"] = 10; +node["initial_seed_number"] = 123; +node["record_genome_db"] = true; +node["starting_date"] = +date::year_month_day{date::year{2024}, date::month{10}, date::day{1}}; +node["start_of_comparison_period"] = +date::year_month_day{date::year{2024}, date::month{10}, date::day{1}}; +node["ending_date"] = +date::year_month_day{date::year{2024}, date::month{10}, date::day{2}}; +node["start_collect_data_day"] = 1; + +ModelSettings decoded_settings; +EXPECT_NO_THROW(YAML::convert::decode(node, decoded_settings)); + +EXPECT_EQ(decoded_settings.get_days_between_stdout_output(), 10); +EXPECT_EQ(decoded_settings.get_initial_seed_number(), 123); +EXPECT_EQ(decoded_settings.get_record_genome_db(), true); + +auto expected_starting_date = +date::year_month_day{date::year{2024}, date::month{10}, date::day{1}}; +EXPECT_EQ(decoded_settings.get_starting_date(), expected_starting_date); + +auto expected_start_of_comparison_period = +date::year_month_day{date::year{2024}, date::month{10}, date::day{1}}; +EXPECT_EQ(decoded_settings.get_start_of_comparison_period(), +expected_start_of_comparison_period); + +auto expected_ending_date = +date::year_month_day{date::year{2024}, date::month{10}, date::day{2}}; +EXPECT_EQ(decoded_settings.get_ending_date(), expected_ending_date); + +EXPECT_EQ(decoded_settings.get_start_collect_data_day(), 1); +} + +// Test missing fields during decoding +TEST_F(ModelSettingsTest, DecodeModelSettingsMissingField) { +YAML::Node node; +node["initial_seed_number"] = 123; // intentionally omit other fields + +ModelSettings decoded_settings; +EXPECT_THROW(YAML::convert::decode(node, decoded_settings), +std::runtime_error); +} + As an expert in C++ programming, would you mind help me to write a gtest for the following function. Suggest me a test file name and using Test Fixture class. diff --git a/sample_inputs/input.yml b/sample_inputs/input.yml index d1dd72e..6487c95 100644 --- a/sample_inputs/input.yml +++ b/sample_inputs/input.yml @@ -7,7 +7,7 @@ # --------------------------------------------------------------- # 1. Execution Settings # --------------------------------------------------------------- -execution_settings: +model_settings: # The number of days between each output to the standard output (stdout). # This variable defines the frequency at which notifications or logs # are sent to stdout, measured in days. @@ -87,8 +87,8 @@ spatial_settings: district_raster: "../input/kag_district.asc" # Raster files defining treatment probabilities (comment these out for beta calibration) - p_treatment_under_5: "../input/kag_treatment.asc" - p_treatment_over_5: "../input/kag_treatment.asc" + p_treatment_under_5_raster: "../input/kag_treatment.asc" + p_treatment_over_5_raster: "../input/kag_treatment.asc" # Probability that an infected and symptomatic person receives treatment; single value for the entire country # If set to '-1', these values are read from 'pr_treatment_under5' and 'pr_treatment_over5' above @@ -244,7 +244,7 @@ genotype_parameters: mutation_mask: "||||111||1111111,0||||||000000000010|1" # Daily probability that a parasite will mutate at a given locus when drug concentration is not zero - mutation_probability_by_locus: 0.001 + mutation_probability_per_locus: 0.001 pf_genotype_info: - chromosome: 5 @@ -826,7 +826,7 @@ epidemiological_parameters: # Relapse rate used to increase parasite density after treatment failure # Multiply by sqrt(20) per day - relapseRate: 4.4721 + relapse_rate: 4.4721 # Minimum update frequency for a host's attributes (especially parasite density) # NOTE: consider remove this value as Person will be updated daily diff --git a/sample_inputs/kag_beta_r1.asc b/sample_inputs/kag_beta_r1.asc new file mode 100644 index 0000000..92f0194 --- /dev/null +++ b/sample_inputs/kag_beta_r1.asc @@ -0,0 +1,137 @@ +ncols 96 +nrows 131 +xllcorner 778531.14341826 +yllcorner 9239327.8621242 +cellsize 5000 +NODATA_value -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.11913433 0.05292636 0.05251230 0.05245172 0.05007513 0.04959693 0.04966152 0.04992613 0.04930019 0.04894097 0.05060013 0.05064517 0.05046384 0.05091397 0.05023658 0.04927159 0.04931714 0.04687623 0.04819706 0.04836131 0.04942516 0.05072570 0.05098249 0.04806227 0.04872313 0.05365287 0.05413933 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05661585 0.05733150 -9999 0.05424974 0.05380621 0.05352571 0.05356661 0.05170082 0.05210992 0.05089268 0.05130426 0.05231686 0.05003032 0.04981187 0.05016989 0.05157575 0.05114768 0.04732876 0.04771886 0.04962579 0.05671971 0.05061023 0.05053462 0.04974291 0.04860693 0.04936831 0.04845235 0.04913142 0.04962099 0.04967673 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05309103 0.05866551 0.05771801 0.05643820 0.05503247 0.05417992 0.05467534 0.05325996 0.05298921 0.05236950 0.05320543 0.05309400 0.05157691 0.05262252 0.04976056 0.04993432 0.05088926 0.05158754 0.04969087 0.04814656 0.04814276 0.05020241 0.04845663 0.04893092 0.04906157 0.04899461 0.05055972 0.04869025 0.05024625 0.05062284 0.04969454 0.04965098 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05414235 0.05836559 0.05572240 0.05536715 0.05378555 0.05418000 0.05378453 0.05234628 0.05342538 0.05231269 0.05319035 0.05289157 0.05054534 0.04964580 0.04877161 0.04975447 0.04905245 0.05015670 0.04808860 0.04795645 0.05069739 0.05075522 0.05157619 0.05112141 0.05041869 0.05096191 0.04933408 0.04979931 0.05165248 0.05162809 0.05029356 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05512143 0.05471049 0.05558418 0.05554955 0.05534088 0.05679209 0.05697495 0.05368770 0.05101614 0.05289590 0.05237070 0.05463257 0.05374060 0.05539766 0.05681484 0.05170868 0.05037000 0.05061414 0.04946256 0.04867736 0.05032022 0.04977900 0.05097150 0.05079212 0.05144010 0.05075384 0.05067617 0.05128934 0.05328428 0.05065176 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05241385 0.05447421 0.05516819 0.05782981 0.05422862 0.05862898 0.05465202 0.05306440 0.05177088 0.05516608 0.05317681 0.05250661 0.05482964 0.05497280 0.05519305 0.05495843 0.05135208 0.05207949 0.05096468 0.04908525 0.05262831 0.05066261 0.05015220 0.05075644 0.05127824 0.05175558 0.05067479 0.05310101 0.05405001 0.05183022 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05365999 0.05371793 0.05456327 0.05604227 0.05411822 0.05365071 0.05631266 0.05342234 0.05272180 0.05424037 0.05325699 0.05303516 0.05255453 0.05506872 0.05583517 0.05564669 0.05440521 0.05545530 0.05067128 0.05231919 0.05124895 0.05057214 0.05133119 0.05137072 0.05077837 0.05215981 0.05013674 0.05494447 0.05237730 0.05894755 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05302654 0.05571909 0.05618516 0.05544432 0.05345923 0.05548321 0.05599897 0.05415636 0.05517868 0.05447387 0.05387862 0.05403598 0.05463370 0.05540956 0.05590372 0.05344596 0.05413313 0.05327162 0.05341247 0.04967847 0.05065499 0.05183727 0.04998572 0.05404514 0.05234678 0.05244144 0.05365568 0.05447954 0.10306084 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.04709378 0.05475794 0.05377540 0.05514646 0.05448794 0.05485090 0.05408214 0.05202334 0.05455861 0.05343604 0.05486802 0.05350575 0.05482257 0.05629083 0.05486679 0.05539672 0.05753416 0.05513120 0.05157930 0.04965786 0.05007708 0.05188655 0.05216345 0.05219617 0.05249910 0.05428693 0.05588645 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05561006 0.05553825 0.05663233 0.05527955 0.05628070 0.05471598 0.05430453 0.05416230 0.05499543 0.05276528 0.05439012 0.05458883 0.05426158 0.05509796 0.05637804 0.05340298 0.05018071 0.05066345 0.05138720 0.05152548 0.05081601 0.05174312 0.05405525 0.05517868 0.06135662 -9999 -9999 -9999 -9999 -9999 -9999 0.08494559 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05610640 0.05674355 0.05394052 0.05507070 0.05430450 0.05347575 0.05558426 0.05483966 0.05419743 0.05621112 0.05800304 0.05527750 0.05854159 0.05294831 0.05359319 0.05375532 0.05272670 0.05691526 0.05191625 0.05446590 0.05306349 0.05441792 0.06193197 0.06428744 -9999 -9999 -9999 -9999 -9999 -9999 0.10033183 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.09707021 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05622302 0.05883305 0.06008120 0.05952988 0.05818918 0.05673536 0.05798786 0.05302457 0.05348032 0.05770801 0.05792605 0.05599524 0.05821444 0.05465060 0.05608891 0.05267184 0.05140128 0.05247170 0.05462166 0.05295320 0.05597887 0.05748760 0.06648114 0.10359672 -9999 -9999 -9999 0.09120042 -9999 -9999 0.01948177 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.04779887 0.05757457 0.05881250 0.05895175 0.05911949 0.05824208 0.05785787 0.05518248 0.05461391 0.05586489 0.05983500 0.05851832 0.05894256 0.05551067 0.05488810 0.05404143 0.05168575 0.05523620 0.05458059 0.05547193 0.05956769 0.05863423 0.07470874 -9999 0.09769784 0.10172891 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05077535 0.06167527 0.05589213 0.05821282 0.05742229 0.05732843 0.05841759 0.05644569 0.05764704 0.05677504 0.05873715 0.05719030 0.06173315 0.05752300 0.05728434 0.05703202 0.05913817 0.05910238 0.05885310 0.06393077 0.05989080 0.07737492 -9999 0.08171892 0.07304118 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06009504 0.05738386 0.05658132 0.06135737 0.06009001 0.05791173 0.05704378 0.05840407 0.05724184 0.06106666 0.06014862 0.06330589 0.06152474 0.05919579 0.05744128 0.05930388 0.05778288 0.06017418 0.06445964 0.06626774 -9999 -9999 0.07752381 0.07625649 0.01948177 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.01948177 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05829986 0.05694001 0.05717975 0.05721822 0.06053397 0.05972211 0.05857155 0.05777654 0.05685310 0.05956847 0.06654089 0.06551239 0.06386766 0.06444386 0.06184299 0.06211988 0.06027871 0.05979606 0.06265838 0.06809393 0.06678170 -9999 -9999 0.08151732 0.01948177 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.07016551 0.09049309 0.10836948 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05818301 0.06175432 0.05860005 0.05669166 0.05959393 0.06055894 0.05734545 0.05870927 0.05712048 0.06488674 0.06620498 0.06711303 0.06673020 0.06909139 0.06354783 0.06156583 0.06259738 0.06227259 0.06550102 0.06310574 0.07516927 -9999 -9999 0.09110934 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.01969581 0.01938916 0.01948177 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06201746 0.06025395 0.06006149 0.06077155 0.06068452 0.05765755 0.05971097 0.05737192 0.06310001 0.06688656 0.06906379 0.06731035 0.06924381 0.06649094 0.06290946 0.06248736 0.06374671 0.06811374 0.06409721 0.01948177 -9999 0.09892894 0.12739183 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.11890424 -9999 -9999 -9999 -9999 0.03831010 0.03387549 0.03713824 -9999 -9999 -9999 -9999 -9999 0.07218175 0.07112811 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05791370 0.06065120 0.05983321 0.05992166 0.06115418 0.06161427 0.05906589 0.05853358 0.05968505 0.06449391 0.06765652 0.07100421 0.07272733 0.07002129 0.07217273 0.06820119 0.06817339 0.06634505 0.07218764 0.06660567 0.01948177 -9999 0.01948177 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.18067026 0.11130482 0.07329762 -9999 -9999 0.03640955 0.03334430 0.03893992 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06952737 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05922778 0.05867000 0.05955761 0.06199624 0.06273649 0.05992481 0.06198258 0.06176383 0.06126089 0.06868459 0.06844016 0.06980031 0.07128206 0.06730428 0.07116055 0.07271007 0.07133593 0.06850362 0.07312602 0.07599757 0.01948177 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.15934576 0.03876977 0.04160987 -9999 0.04566282 0.04557728 0.00587959 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06080588 0.05995192 0.05990612 0.06180084 0.06118153 0.06046348 0.06376173 0.06458739 0.06245303 0.06408656 0.06755796 0.06997378 0.07105659 0.06502182 0.07189077 0.07375981 0.07663009 0.07518128 0.07265076 0.09654554 -9999 0.15906338 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03425877 0.03144923 0.03742971 -9999 -9999 0.03673155 -9999 0.03845235 0.11721098 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06016619 0.06075003 0.05870322 0.06595807 0.06151936 0.06239860 0.06458225 0.06297832 0.06430815 0.06575038 0.06492058 0.06628521 0.06349067 0.06726197 0.07363355 0.07537963 0.06846029 0.09201391 -9999 -9999 0.09063492 0.09401741 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.14291261 0.04223296 0.03532356 0.02950815 0.03581916 0.04042811 0.03198666 0.03299155 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06083254 0.06546795 0.06153990 0.06656244 0.06651566 0.06183570 0.06941753 0.06345808 0.07292275 0.06961724 0.06473283 0.07299714 0.06333519 0.06979523 0.07626688 0.08272040 0.07378360 0.09388049 0.08083170 0.01948177 0.08965129 0.10939970 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03540882 0.03041652 0.03032693 0.03532163 0.03396007 0.03396504 0.03392685 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05975038 0.06035953 0.06329423 0.06734956 0.06383368 0.07152014 0.06277433 0.06305930 0.07265087 0.06997783 0.07398820 0.06992999 0.07093238 0.07944220 0.07055187 0.07415910 0.07202348 0.07618881 0.01948177 0.13174475 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03610883 0.02968085 0.02962395 0.03292730 0.03432272 0.03333669 0.02615689 0.03312828 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06358579 0.06246021 0.06698086 0.06525938 0.06771733 0.06748197 0.06952797 0.06891629 0.06439983 0.07095200 0.06958427 0.06954642 0.07164051 0.07484111 0.07458706 0.06760104 0.07190839 0.07309498 0.11040122 0.09239778 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.16031123 0.01948177 -9999 0.03531449 0.03859603 0.03594802 0.02890025 0.02605278 0.02492837 0.02639763 0.03472302 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06355922 0.06719295 0.06225559 0.06770547 0.06656190 0.07389599 0.07658138 0.06659380 0.07908206 0.06861298 0.07518691 0.07083782 0.07340418 0.07686122 0.07965091 0.07421074 0.07446383 0.07361062 0.07646733 0.13505334 0.08703909 0.08924202 -9999 -9999 -9999 -9999 -9999 -9999 0.03643130 0.00587959 -9999 -9999 -9999 0.07509771 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03667299 -9999 -9999 0.04406819 0.03873823 0.03226364 0.02551773 0.03330698 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.07180187 0.07005103 0.06886749 0.07061255 0.07046510 0.06519030 0.06311791 0.06653687 0.06977699 0.06160845 0.06799901 0.07097506 0.07812700 0.07740215 0.07834396 0.08401251 0.07375035 0.07470161 0.09285688 0.17714712 0.12199721 0.03718137 -9999 -9999 -9999 -9999 -9999 0.05360476 0.00587959 0.03655730 -9999 0.03620841 0.03528279 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03676973 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06756093 0.06655828 0.06490988 0.06800093 0.07147205 0.06617095 0.06471118 0.06890093 0.07059189 0.06114241 0.06545559 0.07062592 0.07081547 0.06786592 0.07707064 0.08909397 0.07320997 0.07378558 0.10422230 0.01948177 0.05850764 0.03855718 0.03517371 -9999 -9999 0.02859057 0.02846194 0.00587959 -9999 0.03783962 0.03038183 -9999 0.02756198 -9999 -9999 -9999 -9999 0.03608319 0.03783535 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06547785 0.06858666 0.06899304 0.07278081 0.06999044 0.07091649 0.06581883 0.06919155 0.07381324 0.06768448 0.06447577 0.06825613 0.07639530 0.07807360 0.07493377 0.08741390 0.07952746 0.07810628 0.01948177 0.04476484 0.05657641 0.05151286 0.03573168 0.03470156 0.03808641 0.02909812 0.02834857 0.00587959 -9999 -9999 0.02637722 0.02699737 0.02445945 -9999 0.03219221 0.02453859 0.02992860 0.02621764 0.03606151 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.00587959 0.00587959 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06767042 0.07287409 0.06985780 0.07314071 0.07652594 0.07085759 0.07091120 0.07429471 0.07199334 0.06999649 0.06399266 0.06729389 0.07397049 0.07621945 0.07844754 0.07372556 0.08408458 0.08911774 -9999 0.03248675 0.04172583 0.05497091 0.05058954 0.03458006 0.04077834 0.03063653 0.03500553 0.05038098 -9999 0.02757185 0.02628425 0.02595471 0.02322446 0.03139752 0.03089498 0.02476237 0.02568008 0.02620589 -9999 -9999 0.03625775 0.04083004 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06056236 0.06003541 -9999 0.06810873 0.06860658 0.06962909 0.07352593 0.07312194 0.07398208 0.07763640 0.07732131 0.06963134 0.07039783 0.08006561 0.06679463 0.08278695 0.07946885 0.08123743 0.08390683 0.08027686 0.07476060 0.03582410 0.03295161 0.03316307 0.04256712 0.00905438 0.04816931 0.04802613 0.04703235 0.00587959 0.02881221 0.02513249 0.02658563 0.02426233 0.02625930 0.02969251 0.02593681 0.02809253 0.03793594 0.02562731 0.02449612 0.02921374 -9999 -9999 0.03321859 0.00587959 -9999 -9999 -9999 -9999 -9999 0.02685113 0.02357618 0.02260421 0.02295123 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05904436 0.06232545 0.06160482 0.06516861 0.06677117 0.06602955 0.06734322 0.06951814 0.06844445 0.06650345 0.07111709 0.07229925 0.08118771 0.06755591 0.07107757 0.07673620 0.07493674 0.07323739 0.08685154 0.07872389 0.08282542 0.08093640 0.03982452 0.03861581 0.03554989 0.03693467 0.03346426 0.03056239 0.04824224 0.05153023 0.04673280 0.05144208 0.05123196 0.03215882 0.02580016 0.02681586 0.02371810 0.02648544 0.03145914 0.02531662 0.02365805 0.02843846 0.02730238 0.03680077 0.03470331 -9999 0.02676869 0.02486870 0.03093109 0.02806852 -9999 -9999 -9999 0.02462875 0.02544649 0.02488607 0.02526230 0.02385921 0.02388144 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.07048442 0.06957544 0.06543513 0.06556094 0.07075685 0.06455576 0.06865289 0.07225838 0.06861138 0.06805631 0.07434769 0.07297183 0.06996670 0.07254431 0.08016560 0.07977353 0.07831352 0.08190021 0.09091048 0.07857840 0.08796196 0.08158154 0.08088294 0.04122777 0.03519245 0.03576502 0.03394668 0.03671557 0.04086289 0.05430012 0.00905438 0.00905438 0.04410637 0.04745239 0.03293379 0.02731998 0.02415050 0.02454361 0.02614195 0.02673771 0.02780078 0.02753407 0.02368025 0.02429098 0.02476296 -9999 0.02366377 0.02343811 0.03340232 0.03312079 0.02955982 -9999 0.02374822 0.02466179 0.02500648 0.02351461 0.02386779 0.02296257 0.02030278 -9999 -9999 -9999 -9999 0.02595887 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06393669 0.06870926 0.06681532 0.06484208 0.06587260 0.06885013 0.06424419 0.07119387 0.07191021 0.06644928 0.07067954 0.07396059 0.07633829 0.07520561 0.07474623 0.08013914 0.08315329 0.07806320 0.07560240 0.07845989 0.08365225 0.08546425 0.08194890 0.08136042 0.03737095 0.03391525 0.03491099 0.03902449 0.04208895 0.05147175 -9999 -9999 -9999 0.04008626 0.03741185 0.04279324 0.04953402 0.02701925 0.02560963 0.02736919 0.02907132 0.02677386 0.02698899 0.02821116 0.03004587 0.02656385 0.02364855 0.02582524 0.02247718 0.02271741 0.02378080 0.02315148 0.03025405 0.02248901 0.02457512 0.02311016 0.02423133 0.02230359 0.02222562 0.02078955 0.02057103 0.02029410 0.02321382 0.02139608 0.02109679 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06786245 0.07239700 0.07047270 0.06694210 0.06437707 0.06814980 0.06863608 0.06795491 0.07255385 0.07029546 0.06985996 0.07752030 0.07720604 0.07775843 0.07502883 0.08130100 0.08381373 0.07342091 0.07997828 0.08012832 0.07870654 0.04711924 0.04127223 0.03564061 0.03260005 0.03132357 0.03422475 0.03069492 -9999 -9999 -9999 -9999 -9999 0.03780589 0.04774739 0.03699757 0.03656004 0.03808161 0.04615730 0.02894730 0.02762953 0.02766967 0.02730011 0.02554483 0.02905465 0.02250613 0.02833818 0.02809258 0.02747484 0.02660418 0.02624562 0.02254989 0.02757676 0.02552644 0.02529339 0.02431527 0.02393733 0.02229549 0.02286360 0.02317414 0.02224722 0.01996705 0.01949773 0.01962494 0.01880320 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.07461808 0.07148819 0.06776444 0.07074040 0.07195698 0.07196596 0.06936483 0.06526856 0.06681263 0.07417953 0.07089031 0.07460945 0.07795069 0.07565100 0.07583341 0.08057644 0.08041592 0.07308006 0.07713475 0.08076744 0.03859565 0.03490522 0.03450304 0.03239672 0.03454258 0.03685856 0.03635263 0.02931615 0.04192345 0.03930701 0.04158871 -9999 0.04267937 0.03742264 0.04114430 0.03900499 0.04178158 0.04048983 0.04078265 0.02913206 0.02997569 0.02892840 0.02721102 0.02797269 0.02762498 0.02558160 0.02676104 0.02706299 0.02906088 0.02557198 0.02370514 0.02324912 0.02692924 0.02426591 0.02726279 0.02790466 0.02532237 0.02405540 0.02403652 0.02317927 0.02380582 0.02276244 0.02173240 0.02175699 0.02159293 0.01995788 0.02050996 0.02054466 0.02025601 0.01991014 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.07624858 -9999 0.07303864 0.07552071 0.07711772 0.07729875 0.07721753 0.07434310 0.06969585 0.07187643 0.07311990 0.07609108 0.07813540 0.08330210 0.08410230 0.08441913 0.08011130 0.07857631 0.07600079 0.07326274 0.07641688 0.07262317 0.03437573 0.03488522 0.03806904 0.03726169 0.03381491 0.03539359 0.03379817 0.03065376 0.03187872 0.04494666 0.04270688 0.04375031 0.04509055 0.04536794 0.04167163 0.04169335 0.04438477 0.04332074 0.04445105 0.04479009 0.04602574 0.04462260 0.04690228 0.04085302 0.02834448 0.02603190 0.02427830 0.02622930 0.02548650 0.02403560 0.02289588 0.02784616 0.02349109 0.02403142 0.02376295 0.02356926 0.02463319 0.02367249 0.02122597 0.02321286 0.02275742 0.02187638 0.02103061 0.02106644 0.02141674 0.02164890 0.02203280 0.02072172 0.01985308 0.02167356 0.02239328 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.07710778 0.07953140 0.08353553 0.08211056 0.07898442 0.07867591 0.07961075 0.07444222 0.07997755 0.07682934 0.08197077 0.08545116 0.08513089 0.08515220 0.08786157 0.08503283 0.08030013 0.07744331 0.07341783 0.08354392 0.07679608 0.03642962 0.03414680 0.03649916 0.03690678 0.03608432 0.03386035 0.03081400 0.03111894 0.04211104 0.03847375 0.04026548 0.03844316 0.03817340 0.04608009 0.04466561 0.04417502 0.04090439 0.04353754 0.04346195 0.04349478 0.04407189 0.04431439 0.02430331 0.02599044 0.02819190 0.02668782 0.02785864 0.02660440 0.02502110 0.02400001 0.01976119 0.02854694 0.02592000 0.02212480 0.02556425 0.02329264 0.02381510 0.02255195 0.02207303 0.02175651 0.02212097 0.02224867 0.02129599 0.02186717 0.02175601 0.02216750 0.02223777 0.02343967 0.02239868 0.02196259 0.02311202 0.02289140 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.08280676 0.08331686 0.09220449 0.08971292 0.08203342 0.07709466 0.07622944 0.08325143 0.07586172 0.08387952 0.07901419 0.08234508 0.07855080 0.08401617 0.08685085 0.08669024 0.08894065 0.07626038 0.07500669 0.07884115 0.08334467 0.08010379 0.08053254 0.08107303 0.07331441 0.03495159 0.03751351 0.03193853 0.03504488 0.02806648 0.04329210 0.03611034 0.03697391 0.04231950 0.03885506 0.03602947 0.03682533 0.04307847 0.03951373 0.03719648 0.03893556 0.04298285 0.04199651 0.04168912 0.02381294 0.02522800 0.02908489 0.02743207 0.02460728 0.02720151 0.02357276 0.02225498 0.01943656 0.02025849 0.02396457 0.02279334 0.02549135 0.02329695 0.02263145 0.02204494 0.02198409 0.02174634 0.02151667 0.02260194 0.02185073 0.02233043 0.02254730 0.02250645 0.02352071 0.02262663 0.02232889 0.02270183 0.02270423 0.02236697 0.02076395 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.09214195 0.09585876 0.09330753 0.08943280 0.08243278 0.08227410 0.07752366 0.08171283 0.08855878 0.09239218 0.09277401 0.08993006 0.08241427 0.08190653 0.08735916 0.09080457 0.08540198 0.07924205 0.07801006 0.07690485 0.08176752 0.08339381 0.08099514 0.08344797 0.03315553 0.03211594 0.03252480 0.03086613 0.03315588 0.02885750 0.04213931 0.03524150 0.03950130 0.04305206 0.03854474 0.03332611 0.03693036 0.03819784 0.03648420 0.03844426 0.03656532 0.03857415 0.03537757 0.03967326 0.03065343 0.02666508 0.02495855 0.02518233 0.02457507 0.02423485 0.02284404 0.02243606 0.02232005 0.02014853 0.02618268 0.02370400 0.02117602 0.02361871 0.02360494 0.02186954 0.02252961 0.02289769 0.02472484 0.02297320 0.02335972 0.02261866 0.02209977 0.02283693 0.02324372 0.02292372 0.02298089 0.02332632 0.02287898 0.02194169 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.08621005 0.09646318 0.09863197 0.09052383 0.08154162 0.07968582 0.08056898 0.08212764 0.08696785 0.09311409 0.08996575 0.09281539 0.07267870 0.07908919 0.08330124 0.08392681 0.08305992 0.07977230 0.07733434 0.07760362 0.08012147 0.07560332 0.08646356 0.07896778 0.07239996 0.07215573 0.03374148 0.03329061 0.03277485 0.03327316 0.02890914 0.03082735 0.03224617 0.03730363 0.04292037 0.03557910 0.03693521 0.03447806 0.03494600 0.03501059 0.03373438 0.03432176 0.03589238 0.03816681 0.03829549 0.03889654 0.03848689 0.03919913 0.02577092 0.02658240 0.02441089 0.02045435 0.01993042 0.02184229 0.02307673 0.02170394 0.02150217 0.02310173 0.02142657 0.01978928 0.02215563 0.02440123 0.02380149 0.02252608 0.02423214 0.02338214 0.02323156 0.02227159 0.02200688 0.02137307 0.02255854 -9999 0.02351796 0.02326926 0.02208968 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.09611758 0.09421304 0.08665687 0.08403865 0.07924827 0.08433625 0.09201376 0.09185265 0.10177800 0.09312008 0.07382897 0.02257157 0.02480300 0.08145461 0.08329119 0.08348421 0.07694355 0.07808022 0.08184676 0.08513934 0.07907948 0.08107862 0.07741066 0.07230764 0.06970413 0.03603907 0.03633782 0.03468922 0.03600163 0.03171131 0.03334405 0.03286421 0.03055374 0.03499758 0.03795510 0.03736645 0.03610932 0.03363519 0.03568346 0.03792902 0.04081824 0.03838754 0.03876400 0.04247705 0.03973703 0.04007740 0.04102997 0.02883372 0.02683379 0.02596528 0.02104848 0.02144357 0.02465002 0.02159286 0.02582411 0.02321622 0.01983912 0.02042142 0.02030682 0.02159913 0.02412673 0.02274709 0.02308106 0.02291453 0.02316883 0.02279437 0.02279182 0.02220357 0.02199493 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.54958385 0.09197107 -9999 -9999 0.09080303 0.09357572 0.10241073 0.10004402 0.09467481 0.07914276 0.02231849 0.02649634 0.02743857 0.07911207 0.08503031 0.08474286 0.07851844 0.07290139 0.08726555 0.08148299 0.08144805 0.07676601 0.07529643 0.03434926 0.07079621 0.03622047 0.03427909 0.03656307 0.03569698 0.03526427 0.03593039 0.03563620 0.03440236 0.03923888 0.03695954 0.04072690 0.04244432 0.03869453 0.04103060 0.04480364 0.04365268 0.04134401 0.04096217 0.03934443 0.03361274 0.03551791 0.04059470 0.02437746 0.02620270 0.02272464 0.02348365 0.02285311 0.02557438 0.02500134 0.02394993 0.02281173 0.02336909 0.02429182 0.02191005 0.02204061 0.02176282 0.02303146 0.02440529 0.02283263 0.02261191 0.02332278 0.02172153 0.02100225 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.11162805 0.10276169 0.09847012 0.08011039 0.02708602 0.02274504 0.02706461 0.02768554 0.02570831 0.08290264 0.08276597 0.07838558 0.07635697 0.09575592 0.08070663 0.08294903 0.08602905 0.07675310 0.03482811 0.03847363 0.04142562 0.03828726 0.04063194 0.03728982 0.03760263 0.03547398 0.03503021 0.04111495 0.04405359 0.03942644 0.03894440 0.03675750 0.03603668 0.03971531 0.04285818 0.04287389 0.04333127 0.04003088 0.03487093 0.03263694 0.03573810 0.03578539 0.03144340 0.03490781 0.02510933 0.02395912 0.02288117 0.02399467 0.02316511 0.02453440 0.02275761 0.02333651 0.02362042 0.02153862 0.02235481 0.02371454 0.02366163 0.02174338 0.02357000 0.02148199 0.02314719 0.02144866 0.02078225 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.02492269 0.02307162 0.02461712 0.02497120 0.02688349 0.02441938 0.08160131 0.08397260 0.08294588 0.07496585 0.08516402 0.09119346 0.08193877 0.07919214 0.07219404 0.03356879 0.03358200 0.03632608 0.03388089 0.03260490 0.03741203 0.03811365 0.03509381 0.03439259 0.03846975 0.04379623 0.04193834 0.04221347 0.04442040 0.04566212 0.04424593 0.04547558 0.04163724 0.04445341 0.04327226 0.03036123 0.03366568 0.03184331 0.03205809 0.03165409 0.03438076 0.03444021 0.02990410 0.02304545 0.02349751 0.02488164 0.02453027 0.02644611 0.02292238 0.02385087 0.02339167 0.02295982 0.02200681 0.02278942 0.02367277 0.02347475 0.02337839 0.02489784 0.02388387 0.02392655 0.02301037 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.02407382 0.02388632 0.02523592 0.02621256 0.02721665 0.02650882 0.07764265 0.08411762 0.07744802 0.07396865 0.08255938 0.08869309 0.07568586 0.07911781 0.08528987 0.04348614 0.03924752 0.04179351 0.04029807 0.03573894 0.03637097 0.03781952 0.03672160 0.03539508 0.04108091 0.04646637 0.04507361 0.04191859 0.04000870 0.04086260 0.04139507 0.04240484 0.04035261 0.04126769 0.04103537 0.04107509 0.03137242 0.03139100 0.03019050 0.03186490 0.03228709 0.03380524 0.03215074 0.01934389 0.02398310 0.02504396 0.02395627 0.02477669 0.02450837 0.02374231 0.02185342 0.02270466 0.02279519 0.02392249 0.02241912 0.02400566 0.02358824 0.02336047 0.02359773 0.02212436 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.02348264 0.02480372 0.02887785 0.02468248 0.08183277 0.08576520 0.07853564 0.07878670 0.08056041 0.07877595 0.07373329 0.07471205 0.08538226 0.08176785 0.03742146 0.04084108 0.03840287 0.04052997 0.03887974 0.03600875 0.03721471 0.03968036 0.03463489 0.03447717 0.03733346 0.03859157 0.04090614 0.03901774 0.03779663 0.04035994 0.04070747 0.03756438 0.04124777 0.04416314 0.03706464 0.03462889 0.03661863 0.03295547 0.03339576 0.03234537 0.03368173 0.03240092 0.01965626 0.02357205 0.02407298 0.02727864 0.02528788 0.02540073 0.02498071 0.02279478 0.02173212 0.02394581 0.02397640 0.02282173 0.02370674 0.02400737 0.02449128 0.02391424 0.02318991 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.02232173 0.02449438 0.02713851 0.02550264 0.07804412 0.07768648 0.08346603 0.07992811 0.08626515 0.08696042 0.07310342 0.08343491 0.07834032 0.09198115 0.09107802 0.07877861 0.03989397 0.04194539 0.03910044 0.03976114 0.03806987 0.03574620 0.03579258 0.03711034 0.03741104 0.03533443 0.03517137 0.03372270 0.03501343 0.03533066 0.03916528 0.03898198 0.04309807 0.04739312 0.04505613 0.03772373 0.03293682 0.03156731 0.03266857 0.03074868 0.03185527 0.03056572 0.02846378 0.02410293 0.02524413 0.02723551 0.02473360 0.02463206 0.02567482 0.02632143 0.02287663 0.02434363 0.02518770 0.02422117 0.02277315 0.02439022 0.02326102 0.02140145 0.02182982 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.02687175 0.02651960 0.02441015 0.07450567 0.02333237 0.07983115 0.08124270 0.07696149 0.08635685 0.08297061 0.08243098 0.06955422 0.06776302 0.07160175 0.08135607 0.07693823 0.04216730 0.03931456 0.03782943 0.03936689 0.03932381 0.03508758 0.03583632 0.03664910 0.03785519 0.03739008 0.03875185 0.03884942 0.04661417 0.04350325 0.03756234 0.03741261 0.04246862 0.04563361 0.04541293 0.04237658 0.03961132 0.03201513 0.03134170 0.03259396 0.03221748 0.03183950 0.02834426 0.02210510 0.02462482 0.02457715 0.02616259 0.02440889 0.02416986 0.02412940 0.02252566 0.02348807 0.02347682 0.02404115 0.02229261 0.02291506 0.02350780 0.02204585 0.02187130 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.02419413 0.02422856 0.02369129 0.02355827 0.02165762 0.02549786 0.02345511 0.08582202 0.08227469 0.08669047 0.09323771 0.04316051 0.03477945 0.03490762 0.07265329 0.07120081 0.03632564 0.03813523 0.03781484 0.03918707 0.03888082 0.03490766 0.03520995 0.04040582 0.04252891 0.04199823 0.03997463 0.03801823 0.03553065 0.03641519 0.03953538 0.03653870 0.03887910 0.04046068 0.04314251 0.03981344 -9999 -9999 0.03241359 0.03379803 0.03488317 0.03388600 0.03287819 0.02974954 0.02527616 0.02647844 0.02660487 0.02579268 0.02427941 0.02458844 0.02299388 0.02540641 0.02426976 0.02203522 0.02472303 0.02329628 0.02404504 0.02381709 0.02213458 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.02868445 -9999 0.02339475 0.02343304 0.02423872 0.02257663 0.02307885 0.02448284 0.02448336 0.07901558 0.08521597 0.09658571 0.05137336 0.04526710 0.03549128 0.04026266 0.04313483 0.04083345 0.04609438 0.04137187 0.04247502 0.03624944 0.03517467 0.03656491 0.03976061 0.03866564 0.03842295 0.04015617 0.04071701 0.04457833 0.04119545 0.03573107 0.03444146 0.03902862 0.04125354 0.03900654 0.04140058 -9999 -9999 -9999 -9999 0.03365968 0.03216236 0.03059838 0.03410876 -9999 0.02686467 -9999 0.02561973 0.02914298 0.02941372 0.02572737 0.02367146 0.02424964 0.02472628 0.02602021 0.02544577 0.02468512 0.02311297 0.02243405 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03161821 0.02682177 0.02445924 0.02449352 0.02269820 0.02213726 0.02278031 0.02612500 0.02445838 0.02399360 0.07288036 0.09359791 0.04836960 0.04523062 0.05141359 0.04040043 0.03998983 0.04280116 0.04233220 0.03996991 0.03999456 0.03936246 0.03686462 0.03679966 0.03571538 0.04106448 0.03731267 0.03863616 0.04034168 0.03881944 0.03903485 0.03757716 0.04354598 0.04476394 0.03895301 0.04305274 0.04710352 -9999 -9999 -9999 -9999 -9999 0.03245593 0.03143488 0.03291153 0.03226023 -9999 -9999 -9999 -9999 0.02976553 0.02870855 0.02378178 0.02371749 0.02366182 0.02583463 0.02657057 0.02529868 0.02469387 0.02273703 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.14918626 0.02958471 0.02550724 0.02535827 0.02320998 0.02293287 0.02316453 0.02412735 0.02623826 0.02731441 0.02585092 0.02571711 0.09380148 0.04783565 0.04870142 0.04890916 0.04125480 0.03996155 0.04203701 0.04142084 0.04033288 0.03951369 0.03795104 0.03241574 0.03799596 0.03622807 0.03799525 0.04126825 0.03939429 0.03745673 0.03936571 0.03898268 0.04156877 0.04048420 0.04272022 0.04025023 0.04081514 0.04462956 -9999 -9999 -9999 -9999 0.03206338 0.03208272 0.03074087 -9999 -9999 -9999 -9999 -9999 -9999 0.02591265 0.02773281 0.02419913 0.02502218 0.02516933 0.02683820 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.02605024 0.02728633 0.02599488 0.02413027 0.02563325 0.02280135 0.02612974 0.02873912 0.02502776 0.02595884 0.02727310 0.08207471 0.04765020 0.04760038 0.04234766 0.04090626 0.04514299 0.04602596 0.03992891 0.03427231 0.03494249 0.03573090 0.03992044 0.04641005 0.04165799 0.03515260 0.03689972 0.04316899 0.04097012 0.03886827 0.04400619 0.03581073 0.03809322 0.04320263 0.04284077 0.04263391 0.04593113 -9999 -9999 -9999 -9999 -9999 -9999 0.03202489 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.02758765 0.02625808 0.02665832 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.02677873 0.02670915 0.02632362 0.02407041 0.02320843 0.02514809 0.02444839 0.02834193 0.02784321 0.02845383 0.02364205 0.02626033 0.02770020 0.02906385 0.04492538 0.05052839 0.04654886 0.03809448 0.03820898 0.03591637 0.03505677 0.04170221 0.04914869 0.04873865 0.04635325 0.04795599 0.04996268 0.04576280 0.03611653 0.03479624 0.03947177 0.04010189 0.03830473 0.03576844 0.03978043 0.04129586 0.04217358 0.03921422 0.04105705 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.04021072 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.02699597 0.02515807 0.02458674 0.02508056 0.02484439 0.02580033 0.02529363 0.02624297 0.02641448 0.03058853 0.02609499 0.02557953 0.02898297 0.02642104 0.02459390 0.04051294 0.05187478 0.05178204 0.04924333 0.04502255 0.04895244 0.05022235 0.05104854 0.04861952 0.05149835 0.04548760 0.04919008 0.05191149 0.05203213 0.03864349 0.03569687 0.03440734 0.03827421 0.03642694 0.04254851 0.04301806 0.03917211 0.04216750 0.03964559 0.03978111 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03380932 0.02680741 0.02696767 0.02490336 0.02559224 0.02659694 0.02397007 0.02474711 0.02808515 0.02372716 0.02630140 0.02831302 0.02531378 0.02625851 0.02631160 0.02697452 0.02826751 0.04315897 0.04854048 0.05106077 0.05242896 0.04794997 0.04831491 0.04989553 0.05172248 0.04937404 0.04885276 0.04521203 0.04527584 0.04429196 0.04494539 0.04376179 0.03593389 0.03740090 0.03983825 0.04174869 0.03917787 0.04242009 0.03856517 0.04217814 0.05079356 0.04373365 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03021559 0.02815877 0.02975537 0.03129248 0.02783216 0.02808443 0.02503309 0.02495844 0.02699000 0.02293770 0.02474445 0.02618202 0.02502617 0.02878628 0.02721101 0.02437990 0.02906640 0.04717271 0.04900836 0.05160564 0.05576420 0.05131217 0.04936357 0.04785496 0.04907050 0.05217924 0.05037099 0.04485005 0.04378418 0.04334507 0.04562311 0.04700447 0.03530543 0.04129035 0.03816771 0.03718716 0.04535275 0.03864544 0.04765369 0.05013738 0.04486122 0.03948170 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03026261 0.03144757 0.02668527 0.02777518 0.03015079 0.02625210 0.02787770 0.02704872 0.02457962 0.02223832 0.02321176 0.02638394 0.02472619 0.02585708 0.02839226 0.02789365 0.02528752 0.02483080 0.04874483 0.04555748 0.04858413 0.04947629 0.05113684 0.05351692 0.05418074 0.05058416 0.05169678 0.05187635 0.04740386 0.04182548 0.04671671 0.05085070 0.05098817 0.03976967 0.03636633 0.04035135 0.04208508 0.04564751 0.04299032 0.04455921 0.04822589 0.04263437 0.03635269 0.03774870 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03017885 0.03146396 0.02908661 0.02876509 0.02839519 0.02810116 0.02538207 0.02760825 0.02526689 0.02488783 0.02567507 0.02469745 0.02544412 0.02852606 0.02322439 0.02553909 0.02425045 0.02345703 0.04791114 0.04832542 0.05213010 0.05042795 0.04824856 0.05236215 0.05144154 0.05185980 0.05018542 0.04908663 0.05017453 0.04980164 0.04438035 0.04997661 0.04981687 0.04774940 0.03615169 0.03846622 0.04427189 0.04741286 0.04454577 0.04492753 0.04237354 0.03939753 0.03633375 0.03616974 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03007091 0.02664684 0.02903697 0.02843289 0.02893528 0.02649593 0.02542159 0.02294991 0.02324143 0.02530154 0.02541978 0.02735190 0.02211542 0.02441455 0.02595299 0.02935493 0.03129477 0.02999952 0.02500789 0.04065638 0.04978521 0.05140552 0.05447494 0.04865915 0.05238126 0.05237501 0.05213669 0.05018554 0.05148426 0.04990583 0.05168301 0.05216054 0.04854177 0.04696382 0.04247053 0.04143967 0.04777229 0.04561506 0.04447859 0.04189104 0.04056969 0.04001553 0.03763539 0.03604107 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03392452 0.03108282 0.03119154 0.03118614 0.02643580 0.02703370 0.02885329 0.02709590 0.02460671 0.02911848 0.03156793 0.02745951 0.02606481 0.02495583 0.02963883 0.03451980 0.03253048 0.03321776 0.03168786 0.03401538 0.02469551 0.02573798 0.05916143 0.05679908 0.05512858 0.05262797 0.05585831 0.05026688 0.05177822 0.04795550 0.05510434 0.05285236 0.05251226 0.05173728 0.05027712 0.04825392 0.04975608 0.03983689 0.04198205 0.04520643 -9999 0.03945236 -9999 -9999 0.03983741 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03564975 0.02997176 0.03099132 0.03137416 0.02860978 0.02840132 0.02768051 0.02482538 0.02419874 0.03476906 0.02989613 0.03161471 0.03317240 0.03449646 0.03178573 0.03189572 0.03238012 0.03637585 0.03365416 0.03178605 0.02826243 0.02682720 0.02980188 0.05172670 0.05525058 0.04841054 0.04820762 0.05099135 0.05023931 0.04931023 0.05619363 0.05313106 0.05154669 0.05204993 0.05015741 0.05635079 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03368127 0.03332129 0.03198230 0.03145053 0.03501523 0.03014575 0.02884621 0.02807713 0.02582128 0.02537879 0.02967872 0.02980881 0.03274051 0.03815422 0.03504887 0.03347444 0.03141571 0.03464421 0.03324401 0.03139500 0.03207463 0.02778786 0.02906909 0.02711022 0.04982638 0.05627672 0.05310937 0.05754860 0.04914488 0.04996633 0.05555218 0.05497977 0.05484224 0.05538432 0.05338649 0.05193164 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03514262 0.03482980 0.03647645 0.03057898 0.02879351 0.03432663 0.03391758 0.03051433 0.02715846 0.02750903 0.03288969 0.03270197 0.03112223 0.03110690 0.03649715 0.03841115 0.03502842 0.03134088 0.03173824 0.03590840 0.03538875 0.03463693 0.02758692 0.02902082 0.02641069 0.04774930 0.05068966 0.05091082 0.04905384 0.04892390 0.05178502 0.05950225 0.05999270 0.05707862 0.05110845 0.05147540 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03271758 0.03749523 0.03434182 0.03129020 0.03020801 0.03038527 0.02874155 0.02931202 0.02632063 0.02622883 0.03160176 0.03446591 0.03182600 0.03460743 0.04025852 0.03342467 0.03688383 0.03169258 0.03504209 0.03489820 0.03286059 0.02976218 0.02870133 0.03402999 0.02933827 0.04793709 0.05293990 0.05092461 0.05003753 0.05700148 0.06672347 0.06537188 0.05538893 0.06069509 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03474364 0.03632357 0.03362688 0.03452501 0.03282528 0.03115796 0.03181537 0.02745145 0.03113548 0.03186387 0.02838274 0.03182138 0.03071351 0.04336482 0.03545803 0.03687794 0.04094359 0.03661978 0.03883665 0.03499725 0.03467954 0.03436902 0.03031557 0.03001832 0.03190719 0.03496160 0.05582718 0.05180287 0.04807181 0.06938603 0.07161083 0.06894042 0.05835355 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03233565 0.03558778 0.03519868 0.03297871 0.03344393 0.03399315 0.03403385 0.03472229 0.03026313 0.03383105 0.03187589 0.03442950 0.02950645 0.03434250 0.03470528 0.03333394 0.03174605 0.03557649 0.04157919 0.03844119 0.03883152 0.04042448 0.04157774 0.03104093 0.03131318 0.03271511 0.05923745 0.05267070 0.05262494 0.06064097 0.07228025 0.07032788 0.06685007 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.04144933 0.03922056 0.03969913 0.04470356 0.04038148 0.03395112 0.03227917 0.03349870 0.03236039 0.03469577 0.03145378 0.03169987 0.03490488 0.03414833 0.03354089 0.03281361 0.03529059 0.04007026 0.03930531 0.04241452 0.03915981 0.04375683 0.04260573 0.03312803 0.03338384 0.03364842 0.05002701 0.05343702 0.05047135 0.06640537 0.06939260 0.07161283 0.05607486 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.04198015 0.03844740 0.04322926 0.03580403 0.03630457 0.03394492 0.03724087 0.03192572 0.03226951 0.03494775 0.03892762 0.03881077 0.03285715 0.03450394 0.03511697 0.03238593 0.03645759 0.04378358 0.04721373 0.04533424 0.04163156 0.03964905 0.04280290 0.03885731 0.03364050 0.03130080 0.05232528 0.05534364 0.05876917 0.05721972 0.05945989 0.07209178 0.07745332 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.14979619 0.05467362 0.03901672 0.03643117 0.03874660 0.03533419 0.03322537 0.03317647 0.03557278 0.03422322 0.03502705 0.03465077 0.04211963 0.04179332 0.03492561 0.04017741 0.04998451 0.04909151 0.04643307 0.04451968 0.04530223 0.04429401 0.03806445 0.03562899 0.04312718 0.04366264 0.03240150 0.03307953 0.03495627 0.06097812 0.05505889 0.06244749 0.05922702 0.07260722 0.07249593 0.06027735 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.04731226 0.04616158 0.04415080 0.04256578 0.03863918 0.03582054 0.03480876 0.03744997 0.04023530 0.03523551 0.03317795 0.04499513 0.04493862 0.04613724 0.03965340 0.04453684 0.05382997 0.05225806 0.05215513 0.04852499 0.04147285 0.03986939 0.04480622 0.04614773 0.04892338 0.03995954 0.03482386 0.03360933 0.03356023 0.06366947 0.06145564 0.06476937 0.06617479 0.06339745 0.07399119 0.06425890 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.04635928 0.04668040 0.05038382 0.04166666 0.04849653 0.04531785 0.04006806 0.04345898 0.04675724 0.04227825 0.03999014 0.04023679 0.04330807 0.04676971 0.04672245 0.04820983 0.04027043 0.04287626 0.04928234 0.05075471 0.05047310 0.03444308 0.03832380 0.05064804 0.05464579 0.04683803 0.03988769 0.03441648 0.03528021 0.03141024 0.06470298 0.06118371 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.04717354 0.04322522 0.04517447 0.04607662 0.04522830 0.04508290 0.05035468 0.04153462 0.04652802 0.04616890 0.04213667 0.04524486 0.04879293 0.04610445 0.04534250 0.04573749 0.03794849 0.05225688 0.04961070 0.05022431 0.04806579 0.04597185 0.05105762 0.05089913 0.05134126 0.05357597 0.04461813 0.04008677 0.03779056 0.03315581 0.03555725 0.04637369 0.06267183 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.03898438 0.04318149 0.04191536 0.04926746 0.05428392 0.04856577 0.04355541 0.04228409 0.04743651 0.04357223 0.04270714 0.04413143 0.04079126 0.05007466 0.04625105 0.04694011 0.04783971 0.04038652 0.04306055 0.05233480 0.05167247 0.05175084 0.04640212 0.04505372 0.05136927 0.05067810 0.04955173 0.05004503 0.04035786 0.03737729 0.03823884 0.03255739 0.03193104 0.03493575 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.03696269 0.03588805 0.04681184 0.04534582 0.04592925 0.04871825 0.04400940 0.05216398 0.04266601 0.04265975 0.04097377 0.04843996 0.04636790 0.03923402 0.04772938 0.04956766 0.04597334 0.04899374 0.04436486 0.03667767 0.04836405 0.05004445 0.05540477 0.04672840 0.04341097 0.04788764 0.05220502 0.04245216 0.04430950 0.05006493 0.03549723 0.03923117 0.03814029 0.03366492 0.03166835 0.03226482 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 0.04204656 0.04103384 0.04274672 0.03912797 0.03739355 0.04501672 0.04692065 0.04627749 0.04687701 0.04422649 0.04670006 0.04817257 0.04369012 0.04438033 0.04454557 0.05038158 0.04476574 0.05703226 0.04906159 0.05053104 0.04829079 0.04084114 0.03330184 0.05596442 0.04450338 0.03848236 0.04110930 0.04416152 0.05106128 0.05422696 0.04108574 0.04453154 0.04596488 0.04128065 0.03902904 0.04206973 0.04388416 0.03306272 0.03145663 0.03846274 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 0.04451004 0.03758213 0.03767117 0.04446109 0.03911122 0.04934284 0.05195229 0.04537606 0.04794299 0.04919881 0.04850568 0.04934790 0.04992866 0.04072506 0.04919219 0.04104377 0.04063799 0.05459527 0.04401609 0.04155161 0.04419561 0.04152211 0.03527430 0.05033785 0.04338692 0.03892599 0.04346429 0.04592245 0.04714256 0.04793589 0.04324634 0.04117693 0.04653384 0.04154418 0.04137792 0.04338752 0.03983410 0.03569770 0.03556335 0.04013396 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 0.04582044 0.04212973 0.04150234 0.04148294 0.04260185 0.05005311 0.04967634 0.04771929 0.04904898 0.05357598 0.03863807 0.04984121 0.05476372 0.04878071 0.04529222 0.05298153 0.03874781 0.04599917 0.04852997 0.04168851 0.04482869 0.03945253 0.03916718 0.04386022 0.04884800 0.05024395 0.04920793 0.04884422 0.05614215 0.05220366 0.04588289 0.04339793 0.04762461 0.04237345 0.04046155 0.04217688 0.04324255 0.04059753 0.03832368 0.03909130 0.04541868 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 0.04259800 0.04452516 0.04637559 0.04269379 0.04332634 0.04726405 0.05511234 0.05469540 0.05106027 0.04820062 0.04849621 0.05313807 0.05597435 0.05503470 0.04795842 0.05244644 0.05151919 0.05120525 0.04126894 0.05179443 0.04455523 0.04517090 0.03578088 0.03687324 0.04026797 0.04645281 0.04373893 0.05779340 0.05426807 0.04226862 0.04138197 0.05337710 0.04512162 0.04432379 0.03746260 0.03714860 0.04230742 0.04134452 0.03681230 0.04183420 0.03650871 0.03471040 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 0.04463714 0.04479755 0.04500473 0.04266799 0.04861381 0.05081632 0.05700440 0.05505649 0.06092848 0.04982382 0.04222663 0.05177236 0.06270358 0.05347617 0.04858691 0.04367921 0.05337736 0.04839863 0.04084573 0.04449538 0.04797939 0.04376454 0.04660665 0.03782777 0.04136918 0.03731666 0.04351133 0.04603665 0.03864980 0.03658521 0.03685742 0.04176796 0.04813944 0.05491917 0.04005307 0.03709732 0.04702474 0.03743277 0.03603329 0.04204412 0.04202189 0.03585127 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 0.04234809 0.05096790 0.04925643 0.04316144 0.05345644 0.05549931 0.05079196 0.05500007 0.06406183 0.04663536 0.04780916 0.04608110 0.06393885 0.05424625 0.05908672 0.05020820 0.05427721 0.05679108 0.03752453 0.04410659 0.05414822 0.05140548 0.04719774 0.04214058 0.04167638 0.03890333 0.04390412 0.04201346 0.04025700 0.04727155 0.04072919 0.04222960 0.04357429 0.04163677 0.03800529 0.04663776 0.04970376 0.03576101 0.03999164 0.03902648 0.04075833 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 0.04938727 0.05084523 0.05711953 0.04992654 0.05074241 0.05494378 0.05604928 0.05295928 0.05757535 0.04432819 0.04635810 0.05065256 0.04941173 0.05391902 0.05804580 0.05396572 0.05159481 0.04455371 0.04278075 0.04427574 0.05099674 0.05988712 0.06653519 0.04517327 0.04474485 0.04320740 0.03964069 0.04089680 0.04543354 0.04592324 0.04039654 0.03723080 0.03925598 0.04478620 0.04663490 0.04703538 0.04632883 0.03480422 0.04237568 0.04673963 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 0.04371743 0.04846742 0.05537197 0.05299129 0.05071324 0.05662202 0.07071067 0.04989354 0.04963239 0.04514701 0.04893025 0.05663105 0.05597865 0.04765796 0.04508843 0.04573181 0.04482987 0.04748717 0.04373339 0.04753641 0.05436556 0.06278612 0.06283723 0.04708598 0.05068401 0.04781849 0.04576358 0.04052494 0.03976142 0.04156954 0.04204969 0.04369317 0.04285727 0.04255964 0.05001840 0.04678574 0.04425583 0.03773341 0.04605586 0.03785795 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 0.03538137 0.04521392 0.04125992 0.04780522 0.05824221 0.06941193 0.06131288 0.05611423 0.04935765 0.05006238 0.05754385 0.04630380 0.05594796 0.06592183 0.05927330 0.06445648 0.06305024 0.05273629 0.05372759 0.04480492 0.03865866 0.04627297 0.06085434 0.04348922 0.04876465 0.05547412 0.04785452 0.04113728 0.03482267 0.03775708 0.04964789 0.04743468 0.04635686 0.04802394 0.04672162 0.04687932 0.03781407 0.04432001 0.04208065 0.04747824 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 0.03368033 0.03878667 0.04466437 0.05732046 0.06580356 0.06476761 0.05905695 0.05545348 0.04989740 0.05795196 0.05771351 0.05149147 0.06582311 0.07136784 0.05432802 0.05755186 0.07707569 0.06735137 0.05320571 0.05926196 0.05746536 0.06348472 0.06002896 0.05153586 0.05246521 0.05174653 0.04598381 0.04003535 0.04296838 0.03568319 0.04027420 0.04088038 0.04901918 0.05109837 0.04036380 0.03742856 0.04166368 0.04437185 0.05203890 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 0.06230938 0.05721530 0.04691464 0.05199066 0.06400503 0.06530625 0.06860597 0.06785918 0.07319245 0.06304155 0.05996759 0.05932158 0.05949303 0.05779275 0.06750405 0.06825148 0.07883954 0.07424208 0.07374958 0.06325478 0.06959475 0.06358245 0.06529021 0.06358717 0.05569014 0.06288341 0.06427169 0.05487758 0.03883563 0.04406163 0.04305374 0.04515223 0.03663445 0.03789338 0.04545883 0.04765600 0.04242065 0.05267835 0.05219392 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 0.07406198 0.05445065 0.04936442 0.05854394 0.06986207 0.06585049 0.07435677 0.06644098 0.06326481 0.06476892 0.06766305 0.06692875 0.07409115 0.06908074 0.07112425 0.07219441 0.07350936 0.06837777 0.06265528 0.05878217 0.05725814 0.06416722 0.06764095 0.07347843 0.07118325 0.06958016 0.03824081 0.04918862 0.05165102 0.05853760 0.06314651 0.05312634 0.04934034 0.04119035 0.04613518 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.05171151 0.05934649 0.07469490 0.06706736 0.07130348 0.06159870 0.06146491 0.06318923 0.06633573 0.06350853 0.07862536 0.07218308 0.07083922 0.07245464 0.06824050 0.06252850 0.07220871 0.06977400 0.05683757 0.07160786 0.06739311 0.06626185 0.06098123 0.07074827 0.03951730 0.04785399 0.05832041 0.05052398 0.05046422 0.05610139 0.06174648 0.04960582 0.05010517 0.05076282 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.05612595 0.05273898 0.07763067 0.07064323 0.07324155 0.07502536 0.07643416 0.06572470 0.06556480 0.06914696 0.07190072 0.06823920 0.06693004 0.06834924 0.06982640 0.06603401 0.07271224 0.06729782 0.07211307 0.07079012 0.06665050 0.06309798 0.05508179 0.06014953 0.04522851 0.04812963 0.04953001 0.05492989 0.07122261 0.07214649 0.06096174 0.05771366 0.06844230 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.05158732 0.07065097 0.06620158 0.07797861 0.07904393 0.07853348 0.08022591 0.08684470 0.06844625 0.06681824 0.07102518 0.07134786 0.07052475 0.05698854 0.06807250 0.07323379 0.06571992 0.06317410 0.06365407 0.06475418 0.06352475 0.05999716 0.05900071 0.05467260 0.05576742 0.06671770 0.07941037 0.06304816 0.06269348 0.07769103 0.05271603 0.05342904 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.05834082 0.06454972 0.06444298 0.08198092 0.07797164 0.07782303 0.08222921 0.08107218 0.07183092 0.06307932 0.06033371 0.06630739 0.07928133 0.07616817 0.06587611 0.05464804 0.05144057 0.05368362 0.06680796 0.06003396 0.05910687 0.05988655 0.05886516 0.06672166 0.06070239 0.06069660 0.07067311 0.05784005 0.05952237 0.07403792 0.06400581 0.04610653 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.06141003 0.06111718 0.06595590 0.09344311 0.08354212 0.08363397 0.07532163 0.07077567 0.07396604 0.06642678 0.07383050 0.07574669 0.07831136 0.08060633 0.07131726 0.07441176 0.07852029 0.07676224 0.06727066 0.07704222 0.06998202 0.06187625 0.06552534 0.07666477 0.07866583 0.07278961 0.06190430 0.05197872 0.05985943 0.05557565 0.05305858 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.06266969 0.07151684 0.07017490 0.07039189 0.08313820 0.08224148 0.07937296 0.08648396 0.07113232 0.07149818 0.07552117 0.09299628 0.08619282 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06620770 0.07544337 0.07548375 0.06663822 0.05370707 0.05630599 0.06577131 0.00576084 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.06034930 0.08019662 0.07144803 0.07991394 0.10028310 0.08713612 0.08989090 0.08260341 0.06489265 0.06796497 0.08250150 0.07848557 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.07049977 0.07306339 0.05577508 0.05578265 0.06358619 0.06937638 0.05236639 0.04697076 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.07479722 0.08581241 0.07468806 0.07896013 0.09239446 0.10069275 0.08426887 0.08103122 0.06872790 0.07202696 0.07691411 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06680103 0.06389132 -9999 0.06222211 0.08721150 0.07421754 0.08270082 0.06621886 0.05822104 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.06403826 0.09159018 0.09888834 0.07462169 0.08345959 0.07646151 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06629390 0.06815483 0.07599255 0.07381287 0.07227509 0.06422236 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.08224429 0.08939315 0.09451466 0.08699759 0.09514565 0.07903975 0.07883599 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.07296353 0.06529738 0.07235492 0.07745514 0.06605714 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.07777731 0.09419513 0.07778317 0.07710534 0.09530803 0.08573138 0.07805811 0.07827128 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06876541 0.07312659 0.07519246 0.06302112 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.11836008 0.08371132 0.08544370 0.08569959 0.09691883 0.08604718 0.09434784 0.07709094 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.06597372 0.07152388 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.11492127 0.08072099 0.08357082 0.08475091 0.08848412 0.09116287 0.07825849 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 0.08415011 0.09275027 0.08671090 0.10624317 0.07906093 0.08299288 0.09038838 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 0.10378117 0.09054383 0.09475008 0.10590843 0.08734719 0.08660975 0.08428860 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.09825014 0.09444211 0.09866705 0.09617402 0.09468929 0.12127312 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.11443560 0.09263214 0.10392091 0.08779114 0.09143968 0.11654088 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.08937172 0.10655172 0.10680658 0.12173658 0.10959812 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.09308617 0.09257903 0.09780024 0.13482515 0.12287719 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.08837682 0.08574394 0.08812574 0.10434246 0.10289597 0.11002668 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.07275722 0.07903975 0.08535360 0.08934002 0.08815500 0.07107542 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 0.08110688 0.09215760 0.11032471 0.09091756 0.08976971 0.07735224 0.08519100 0.09323043 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.08009897 0.08194897 0.08963699 0.09429528 0.09567681 0.09568478 0.09009419 0.08271480 0.07194274 0.07925825 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 0.10874191 0.09408046 0.09780701 0.09891207 0.09506466 0.10044758 0.10198886 0.12135498 0.06950042 0.06889598 0.07014895 0.06291925 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 0.12634294 0.09830391 0.09499889 0.09837323 0.10051532 0.08231648 0.09406003 0.09802703 0.09329879 0.07041587 0.07047417 0.06678350 0.06026012 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 0.12810159 0.11763549 0.08516759 0.07704699 0.08640401 0.07852786 0.07782461 0.11671150 0.10047333 0.08971680 0.07241097 0.06460149 0.06005869 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 0.13047326 0.12636917 0.09111852 0.06910678 0.06707750 0.08199560 0.08316564 0.09827640 0.10880020 0.09601443 0.07704521 0.06683946 0.06178939 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 0.10849944 0.09795679 0.08039303 0.07085620 0.06438081 0.06895850 0.07901602 0.08978988 0.10571342 0.09217598 0.07572611 0.06467985 0.06417439 0.04602082 0.05133460 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 0.11860508 0.09920071 0.08594303 0.07431470 0.05906022 0.05803045 0.06617672 0.08993461 0.10188172 0.09296290 0.07272524 0.07780916 0.07247782 0.06363457 0.05507989 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.10674175 0.09076502 0.08981642 0.06659671 0.06133181 0.06313860 0.07797047 0.09749561 0.09409991 0.07320188 0.08113094 0.07854332 0.07856461 0.06498550 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.08766326 0.11106089 0.09089312 0.07787778 0.06309357 0.06673300 0.07070724 0.07976984 0.06014019 0.07410912 0.08106520 0.08249377 0.07519345 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 0.07389470 0.05769501 0.05846898 0.06872159 0.05478561 0.06302897 0.06977490 0.05534443 0.06461549 0.07666729 0.07528751 0.07085342 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 0.00576084 0.00576084 0.05103183 0.04334313 0.04544498 0.00586853 0.06127856 0.05331939 0.06081836 0.06056572 0.06336782 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.05789016 0.06182176 0.00576084 -9999 -9999 0.05191331 0.04740527 0.05493110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.00576084 0.04829137 0.05155294 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.00576084 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 diff --git a/sample_inputs/kag_district.asc b/sample_inputs/kag_district.asc new file mode 100644 index 0000000..30c6003 --- /dev/null +++ b/sample_inputs/kag_district.asc @@ -0,0 +1,137 @@ +ncols 96 +nrows 131 +xllcorner 778531.14341826 +yllcorner 9239327.8621242 +cellsize 5000 +NODATA_value -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 2 -9999 -9999 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 -9999 -9999 -9999 -9999 3 3 3 -9999 -9999 -9999 -9999 -9999 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 3 -9999 -9999 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 3 3 -9999 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 3 3 3 -9999 -9999 3 -9999 3 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 -9999 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 -9999 -9999 -9999 -9999 -9999 3 3 -9999 -9999 -9999 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 3 -9999 -9999 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 -9999 -9999 -9999 -9999 -9999 3 3 3 -9999 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 3 3 -9999 -9999 3 3 3 -9999 3 3 -9999 3 -9999 -9999 -9999 -9999 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 3 3 3 3 3 3 -9999 -9999 3 3 3 -9999 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -9999 4 4 4 4 3 3 3 3 3 -9999 3 3 3 3 3 3 3 3 3 -9999 -9999 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 3 3 -9999 -9999 -9999 -9999 -9999 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 -9999 3 3 3 3 -9999 -9999 -9999 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 -9999 3 3 3 3 3 -9999 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 -9999 -9999 -9999 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 -9999 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 3 3 3 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 -9999 -9999 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 4 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 2 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 2 2 2 2 4 4 4 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 -9999 1 1 1 1 1 1 1 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 4 4 4 4 -9999 3 -9999 3 3 3 3 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 4 4 4 4 -9999 -9999 -9999 -9999 3 3 3 3 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 3 3 3 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 3 3 3 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 -9999 4 -9999 -9999 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 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 4 4 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 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 4 4 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 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 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 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 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 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 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 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 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 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 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 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 4 4 4 4 4 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 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 4 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 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 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 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 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 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 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 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 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 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 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 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 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 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 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 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 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 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 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 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 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 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 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 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 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 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 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 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 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 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 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 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 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 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 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 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 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 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 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 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 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 -9999 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 1 1 1 1 1 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 -9999 -9999 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 1 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 diff --git a/sample_inputs/kag_init_pop.asc b/sample_inputs/kag_init_pop.asc new file mode 100644 index 0000000..9a69e43 --- /dev/null +++ b/sample_inputs/kag_init_pop.asc @@ -0,0 +1,137 @@ +ncols 96 +nrows 131 +xllcorner 778531.14341826 +yllcorner 9239327.8621242 +cellsize 5000 +NODATA_value -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1954 2958 1535 1343 733 785 614 545 332 258 216 260 407 540 799 857 4849 1031 513 1915 926 556 678 1165 2187 421 1122 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 470 651 -9999 1891 3907 2101 1039 865 875 820 305 464 370 276 189 182 242 465 1065 614 262 378 822 590 646 590 1500 2927 2209 3245 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 497 446 341 439 1369 1891 1245 1078 1232 1758 1212 1038 667 469 299 276 236 256 268 174 413 694 330 373 476 869 1237 904 1358 2168 2238 3424 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1121 515 736 2236 1393 593 769 1503 1093 773 1182 1635 870 831 658 827 706 381 268 495 1270 826 687 1035 898 1964 1495 1394 2715 2739 3983 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1275 1117 2498 1803 783 827 1427 1198 1517 1410 1813 1515 900 543 561 1066 2602 787 1047 8692 1630 1058 1419 1034 3087 2715 3487 2462 4184 3787 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1886 1204 1927 2889 1132 1210 1648 2361 3326 5276 1739 1893 981 632 159 285 921 1208 1269 8609 2190 1244 971 1138 2489 2225 1586 2549 4771 3154 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 756 1051 1203 1943 985 1718 3555 3310 2608 4270 2346 2546 1443 462 158 149 470 566 1806 3274 1923 1186 728 455 1666 1506 1598 6069 14301 3110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 861 532 2064 2731 2581 2934 2750 4253 3430 2273 1978 3353 1724 175 167 329 571 2489 2491 2028 735 672 536 2378 1640 2386 10495 76845 1060 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 186 780 3305 4350 2305 3484 5103 3714 2074 1417 2165 3928 511 473 157 186 1852 2714 2123 6859 2663 1424 3445 3021 1687 4869 5086 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1242 1869 2273 4306 4267 2966 2370 978 1524 4057 1001 434 245 210 2048 1810 2812 2446 2930 3804 3337 1911 2698 6248 2081 -9999 -9999 -9999 -9999 -9999 -9999 189 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2902 4190 6396 6867 2121 1766 1181 1120 2670 1525 368 239 262 1738 1960 3762 2458 336 1162 3975 2864 5182 7092 1087 -9999 -9999 -9999 -9999 -9999 -9999 1644 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 3001 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1379 3959 4301 4788 3218 1946 1879 2338 8680 2972 446 410 295 1931 1684 3912 2888 2953 3572 2459 1593 2960 385 0 -9999 -9999 -9999 3 -9999 -9999 58 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 846 3681 3613 4047 3105 1778 2251 4204 6432 2038 447 478 379 946 1731 3592 2786 4714 3179 3848 2957 4539 275 -9999 78 359 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 972 1482 3451 4618 2735 1533 2260 8711 1409 334 466 619 1654 2305 1730 3340 4826 6545 9455 4671 8967 300 -9999 1427 2033 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 371 2069 4235 4684 1461 1045 1948 1294 1137 680 325 662 1248 1806 3262 3891 5917 5083 4405 3656 -9999 -9999 1580 2204 429 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 363 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 320 622 1121 3263 3140 1339 2019 2012 1245 623 555 552 349 1033 2596 2798 6673 6613 4563 2483 1922 -9999 -9999 719 68 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2634 576 1004 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 315 1034 1679 4683 4299 1487 1831 2996 794 271 266 390 561 1379 2955 2974 7141 6514 6580 3483 1917 -9999 -9999 226 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2159 2851 516 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 818 1035 1177 1403 1238 1567 1616 539 266 162 162 513 1333 3742 3713 11601 8185 3415 4201 610 -9999 58 108 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 371 -9999 -9999 -9999 -9999 847 1551 56 -9999 -9999 -9999 -9999 -9999 987 419 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 286 761 822 1123 737 915 865 1452 459 401 361 215 761 1823 3132 2853 8239 7073 11416 8421 49 -9999 52 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 298 213 97 -9999 -9999 8446 8240 1272 -9999 -9999 -9999 -9999 -9999 -9999 -9999 660 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 482 637 663 992 759 620 790 653 374 379 272 421 782 1886 1747 2811 4907 4464 4241 3804 0 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2280 447 2916 -9999 5906 2694 560 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1177 740 460 592 533 727 421 265 320 207 130 173 652 1562 1686 3853 3224 2549 4617 1093 -9999 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2710 8518 9309 -9999 -9999 392 -9999 1224 418 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 796 372 426 473 707 436 331 295 423 282 174 1106 2090 1104 2799 4309 5408 1088 -9999 -9999 1124 1135 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 188 1332 6891 9486 528 1193 4923 2310 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 661 495 419 599 667 384 284 274 132 231 663 808 855 1055 2381 3584 4954 9 561 82 2582 629 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 427 6120 7581 9547 9050 11479 4016 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 597 436 521 403 317 196 148 302 101 762 458 441 811 2601 2546 2665 1302 2201 22 103 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1759 7792 9784 8915 8426 7809 6122 265 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 535 575 373 356 307 267 189 163 345 641 1053 621 945 3363 1501 2370 2229 2284 7 650 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0 7 -9999 5294 2973 5261 5901 15301 14559 2962 2788 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 619 637 689 644 384 253 168 129 116 334 396 1852 867 774 2203 1168 1072 2249 2115 0 5334 3728 -9999 -9999 -9999 -9999 -9999 -9999 54 28 -9999 -9999 -9999 0 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 553 -9999 -9999 45 459 4010 4198 885 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1039 424 632 649 283 189 188 117 93 216 1108 1513 1001 1097 1973 1351 511 2120 1677 75 0 0 -9999 -9999 -9999 -9999 -9999 10 79 26 -9999 0 0 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 270 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 713 369 356 372 337 254 118 86 89 209 483 810 473 843 2629 1180 492 2171 503 0 0 413 304 -9999 -9999 328 1968 211 -9999 0 944 -9999 7 -9999 -9999 -9999 -9999 0 0 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 420 155 244 402 384 141 84 131 160 166 138 133 172 222 1009 555 524 2149 144 13 143 1628 1025 34 608 1522 2143 490 -9999 -9999 5380 3822 6433 -9999 15 3243 419 1918 0 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 288 23 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 454 205 454 328 244 107 92 118 154 106 98 101 159 207 337 236 402 922 -9999 1868 168 595 1342 1665 273 1369 3139 139 -9999 228 4899 3472 6126 369 1393 8737 2486 3295 -9999 -9999 0 271 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2141 2033 -9999 2169 341 282 398 326 212 105 81 104 118 82 85 65 148 207 265 228 333 776 2335 15026 2142 18 931 788 330 576 123 1466 650 2450 2886 1506 4828 682 70 3129 5930 1579 -9999 -9999 1931 12 -9999 -9999 -9999 -9999 -9999 1163 1580 4613 412 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2697 1869 2578 2790 2036 1950 1268 503 524 410 314 154 74 88 198 113 91 73 90 166 266 252 317 415 704 2014 6201 2552 100 926 1204 919 488 8 5690 7296 4743 2196 940 3647 4364 459 2895 1086 37 -9999 25 4069 300 740 -9999 -9999 -9999 7960 10169 5089 8292 3852 86 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 3169 1994 3072 1979 1469 1045 774 762 610 358 286 147 97 134 186 187 173 84 131 304 561 275 226 363 523 1268 6567 6545 884 566 4 279 682 182 231 5237 5584 3093 2341 4105 3542 6806 3835 1167 1830 -9999 1785 8156 847 194 5 -9999 18465 23283 6984 3564 2239 2855 1097 -9999 -9999 -9999 -9999 0 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 5623 3339 4326 12581 4546 2853 945 852 1393 560 460 254 156 142 218 276 240 173 105 163 531 410 206 191 280 716 3380 2704 1187 135 -9999 -9999 -9999 5166 5446 1772 39 2538 4215 4992 7628 5121 3444 7665 5594 2175 1511 5013 6206 4055 1210 4180 862 83967 69072 14652 2402 2332 1672 2903 787 1167 742 974 35 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 4597 4207 4059 2517 2526 1680 1150 969 866 646 363 247 226 181 222 324 223 200 192 460 784 415 286 314 776 1728 2746 2326 -9999 -9999 -9999 -9999 -9999 1428 4702 7595 5311 6307 5594 3617 4516 2879 3343 3039 4942 4238 3302 3100 4169 4222 3041 4986 2032 42275 103085 69509 11014 6259 2952 2733 6678 4110 2101 1845 2555 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 4575 3466 3162 1788 1739 1859 718 433 392 774 466 313 216 151 326 515 532 876 982 1306 1174 1142 502 1135 1748 1719 1680 3505 353 1971 713 -9999 2255 3766 5676 7081 6662 4320 2286 3937 2663 2785 3869 2447 3497 4121 2362 3205 4145 3095 2201 3536 995 15387 43455 8127 4686 2035 1880 1460 1716 1930 1840 2660 3606 16240 5898 1861 1340 1824 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 6095 -9999 3116 1835 1957 1440 1408 1030 283 355 536 764 474 143 216 495 813 805 2045 17526 2363 1760 3400 1988 2002 3248 1629 1445 4254 24096 2235 37 714 884 3739 4023 5886 4507 4082 2534 2211 2504 2844 3919 3276 2405 1843 2567 16972 22006 2178 2490 2241 400 3230 18309 4772 3450 2496 2610 2780 1851 1504 2325 2586 2816 2515 1871 3229 2576 1704 2461 1817 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2816 1830 2145 3174 1932 982 461 212 213 305 342 321 173 200 589 792 598 1079 2873 1918 932 1336 2187 2062 2033 1509 1586 1762 1319 627 1328 1982 1432 1057 2439 1611 1621 2132 2817 2795 2507 2210 3074 2267 2116 1960 2857 5139 3834 2449 3962 1809 188 961 3942 7005 5311 2464 2845 3587 2730 2068 3684 3102 1888 2500 2305 2357 2399 2780 2010 1691 1823 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2615 2395 2577 1854 3127 947 541 805 473 227 248 381 450 273 225 391 531 479 790 2364 911 1298 2061 2016 1470 1964 2227 1523 2065 2230 855 3388 4552 3972 796 5219 3052 3326 4747 2869 1767 2133 1515 1732 1142 1798 2567 2110 2227 2191 1719 3218 3514 3240 1449 3590 2438 4927 2901 2795 3153 3624 4074 2717 2061 1927 2111 3256 1862 2593 3100 1915 1831 1883 2507 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1722 2159 2851 1382 1241 719 1425 1267 707 478 220 313 659 461 311 530 651 540 1133 1703 841 2766 9115 3448 1814 1718 2085 1356 1471 3360 175 2623 4739 4185 3027 3509 3430 4456 3328 1862 1761 1791 1856 1862 1577 2499 2070 1387 1835 1625 2600 1934 1785 2964 280 1275 3026 2990 2622 2523 2271 2310 2715 2571 2083 2223 2386 1746 2385 2244 2559 2260 2044 2014 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2336 974 2126 1678 800 286 574 1001 1065 1063 571 461 902 801 627 542 765 439 863 1045 389 1155 1533 2412 2118 1843 1504 1160 1180 2598 2110 1617 2483 3447 4293 3495 4617 3433 823 2030 3711 2899 975 1155 4720 4685 1820 1434 1140 1805 1788 1476 1789 3204 2022 1208 749 2907 2541 10964 3784 1907 2317 2489 1873 1877 2509 4294 2222 2597 2117 -9999 1971 2330 2302 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1056 1498 1474 1201 679 876 973 1175 612 734 619 1729 1309 405 1000 906 670 1511 579 228 931 1529 2557 1769 1911 1736 1086 1114 3275 2085 2745 3203 2568 4128 2868 2305 2300 1443 8095 40290 27977 4566 2417 4031 3682 2463 1877 1651 1924 2516 1482 1366 1025 1151 2410 1722 1269 1304 7362 4657 2239 2449 2502 2416 2474 1856 1798 2233 1744 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1151 1222 -9999 -9999 1309 845 1813 778 378 548 1226 721 586 502 515 727 1504 1220 367 264 925 1316 1620 1170 2345 3048 1519 1086 3010 2955 2572 3701 3245 1995 2008 1454 1412 792 2234 12021 7004 2625 2135 2307 1877 2558 2370 2132 3232 3082 1369 1774 444 3343 1638 1599 3401 3066 1580 1595 1984 1762 1491 1707 1757 1435 1249 1911 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 697 1155 554 769 1612 1145 379 323 549 528 588 1077 927 474 578 1807 1352 1332 1253 1699 1694 3152 4139 2267 2494 2339 4166 6165 4738 3100 1501 1195 1142 2220 3036 2936 3224 2826 2700 1638 1287 2303 2339 1906 1717 1781 920 532 2371 1688 1445 1937 3027 2679 1678 2776 1678 1743 1954 10993 1915 1320 1757 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1391 1956 603 395 268 503 563 814 1236 2007 647 586 1350 1176 887 1435 1470 961 1624 2294 3061 4755 3262 3782 25881 30443 5427 2549 2683 3277 2637 2268 2146 2210 2045 1588 1074 1088 1833 2431 3152 1833 1443 1822 2748 3095 1843 2183 2481 2066 3359 2907 2581 2474 1599 1560 2151 1891 1509 1893 4642 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2326 1338 1269 961 505 592 735 914 2521 4147 706 430 907 760 871 893 748 417 294 665 3592 7209 2898 2631 5431 5866 3409 2961 2842 2615 2940 2495 3394 3430 2433 2334 1025 869 1545 3173 3048 1456 1480 3447 2400 1620 3232 3401 3754 3699 3000 1892 1994 1145 1880 1440 1543 1537 2025 1590 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2585 1575 1035 793 1117 1574 1999 1104 461 368 367 745 487 616 773 498 339 240 442 1538 2378 1819 1965 3389 2597 3060 7112 3155 1865 2697 12042 5495 3000 2923 2816 2913 1741 1951 2499 2706 2910 3049 2806 1808 1446 2563 2526 2340 3459 2310 2164 1844 1050 1804 1453 2244 1642 1815 1380 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2536 1301 1069 885 2129 1642 1046 895 334 301 842 677 345 274 432 491 397 223 369 597 1272 1902 1890 2638 4012 1985 6922 2436 1129 2343 8467 5400 3050 2510 2264 2720 2744 2633 1319 1260 1706 2214 1839 1757 1113 1517 2876 2099 2239 2276 1582 1355 1258 1892 1967 1356 1282 1978 1681 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2542 1339 1721 1619 2187 950 692 737 333 280 777 1499 664 678 1329 2330 789 371 443 558 1004 3369 2254 2458 1860 1348 845 679 616 575 1339 2910 6351 3312 2998 2132 2614 1640 1172 2512 3768 2331 1651 1943 1908 1440 1506 1267 1377 1548 1884 2147 2195 1878 4436 1996 2109 1230 1061 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 905 1346 2663 2507 2908 922 448 515 729 323 204 320 958 1278 1346 2445 1536 650 604 698 2505 2273 1951 2761 4683 1897 1783 1851 1168 967 393 1079 2004 3102 2560 3713 -9999 -9999 2612 1972 2757 2341 2030 2954 2384 2587 3068 1479 1019 1263 1473 2594 2234 2080 1048 1505 1284 1348 1099 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 940 -9999 2012 2142 2210 4894 1240 586 387 580 665 276 175 284 708 1408 2110 1885 916 596 585 2194 2555 1742 1772 2559 5879 2287 2139 1819 1588 937 863 2736 1946 1691 2284 -9999 -9999 -9999 -9999 1973 2605 1270 1588 -9999 3140 -9999 5148 1448 1600 1398 1846 1386 1166 818 689 910 1332 1270 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 647 1362 1968 942 1421 3248 1603 739 407 358 555 476 358 301 286 676 1106 2280 16726 7444 1473 761 2463 1899 1846 1838 2168 2845 2372 2675 1775 1920 1397 1487 2074 1714 1048 -9999 -9999 -9999 -9999 -9999 2045 2084 903 1424 -9999 -9999 -9999 -9999 1260 1555 1861 2311 1292 876 668 532 698 1352 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 463 719 2461 1150 959 2592 852 715 498 342 399 345 350 279 242 293 595 1138 1969 4646 4851 2366 2034 1444 847 1851 2305 2062 2354 1838 1683 1105 1270 2043 2506 1984 2573 2053 -9999 -9999 -9999 -9999 1398 1928 1694 -9999 -9999 -9999 -9999 -9999 -9999 1732 1546 1443 1529 2133 1209 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1541 1875 888 1920 1578 600 349 59 60 130 150 252 282 252 315 537 1230 2207 1660 1442 1634 1825 742 619 1173 3023 2920 3594 2884 1723 1431 1717 1767 1902 1812 1509 1551 -9999 -9999 -9999 -9999 -9999 -9999 1435 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1122 1705 1569 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1352 2918 3063 839 744 1652 486 255 60 34 39 45 49 125 349 264 273 463 911 2259 1353 848 528 385 359 453 814 2241 8014 15243 1316 1509 1173 1011 724 1475 2245 1646 1083 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1361 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2167 2878 2128 1996 645 1931 1294 313 89 46 40 37 55 68 205 430 272 212 242 494 646 518 249 301 247 215 283 553 685 1058 2614 1335 1614 2227 932 652 1237 2253 1469 1012 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2621 2969 1779 1938 3069 5749 4402 1941 405 215 148 78 59 45 42 59 79 436 233 170 175 307 287 225 184 181 178 274 288 268 237 297 492 771 1142 1420 1093 1117 1851 2455 999 794 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 3116 4026 2727 2560 2823 7451 10028 1367 342 262 254 209 86 56 34 37 44 205 154 113 134 153 146 146 117 136 221 282 250 151 110 125 238 487 1752 898 1767 2740 2070 1540 768 1122 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1662 2612 2596 2625 2593 5014 4211 1579 1042 701 403 439 243 72 52 36 26 27 117 100 97 105 116 75 79 89 128 202 304 228 126 92 77 133 373 2635 1527 1738 5086 14791 1518 910 817 1044 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1603 2649 1964 1967 2263 2487 2061 1117 674 398 189 115 67 57 54 41 25 24 69 105 103 112 95 68 62 73 98 157 141 106 104 80 59 104 152 1355 1465 1656 2645 3591 2549 1346 771 772 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2450 2828 1004 1084 819 1052 1114 1184 1028 217 88 59 131 94 60 38 25 18 18 59 90 100 83 70 46 47 68 67 51 64 62 44 45 68 94 631 1712 2438 1837 1752 1535 1906 1350 892 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1243 1256 2214 2861 3007 1809 389 454 505 187 95 62 47 56 77 110 70 39 25 18 16 21 68 81 54 50 44 44 58 43 28 32 33 38 47 71 157 320 713 1361 -9999 1973 -9999 -9999 515 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1269 962 2052 1440 2289 3033 1541 929 217 175 85 49 31 41 49 52 44 36 19 15 14 16 34 63 50 39 34 36 49 29 23 25 32 36 61 112 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1393 2288 922 1009 1588 1568 1898 2484 732 135 76 60 37 25 28 33 35 31 23 15 12 26 13 14 58 36 41 31 31 29 21 21 22 30 34 99 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 552 845 1413 1065 998 1355 2108 1580 3052 689 105 49 39 25 21 20 20 19 18 20 15 13 12 13 13 39 28 27 31 29 19 18 18 21 30 34 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1050 1024 1342 777 466 793 1497 1645 3278 168 84 45 26 24 20 20 18 17 16 14 13 13 15 16 15 25 25 27 31 22 16 17 16 22 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 902 902 639 340 244 588 1366 1587 289 146 68 47 33 31 29 22 17 17 15 11 12 13 12 11 14 17 30 28 22 16 15 17 21 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 872 617 603 412 268 275 342 542 607 178 94 50 40 38 43 41 31 19 16 12 10 13 10 12 11 10 23 30 26 16 15 18 18 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 723 468 283 277 191 323 379 729 344 260 271 66 46 44 100 192 38 23 13 12 9 12 10 12 11 16 28 25 17 15 14 18 19 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 971 331 303 214 236 245 255 408 777 292 146 129 92 68 47 94 130 41 21 12 12 10 9 12 12 12 17 26 17 16 14 15 17 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1154 2024 1053 429 709 413 1220 6341 1653 1627 792 329 138 107 189 115 39 41 39 30 17 11 12 13 9 11 11 13 22 27 16 15 12 13 14 17 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2143 2607 2282 1145 454 215 667 16634 1527 1352 391 184 107 95 175 81 37 27 23 18 12 10 9 9 9 10 11 10 11 22 17 15 12 13 15 17 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1985 2844 2724 2774 3220 1197 494 531 3571 12947 2283 766 478 196 94 79 60 25 17 15 13 12 10 9 9 9 13 12 10 10 19 16 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 3054 3416 4122 3160 3164 4201 2858 1024 1412 6118 5042 2479 1596 1578 1490 615 281 31 21 18 17 13 12 10 9 10 15 13 11 12 15 17 19 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 3672 2154 3846 1365 2273 2542 4518 6119 3265 1313 3144 7394 2773 1461 215 526 1179 821 148 34 21 22 21 16 12 12 14 11 15 13 12 11 20 21 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 7972 7224 3932 1919 1699 1286 1126 2589 4159 7052 3965 2879 2916 1317 1034 213 54 55 121 197 47 34 34 36 32 23 13 12 15 17 26 23 16 13 18 28 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 2860 2067 3703 6575 3835 3266 2670 2566 2212 3872 3431 5560 3995 3339 4808 1513 833 541 126 72 86 144 212 45 36 42 66 51 30 17 15 22 25 38 33 24 15 21 34 134 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 3460 2886 4051 4050 2680 2541 2341 1770 5010 4149 5539 3531 4763 4346 2408 721 1021 700 159 137 194 231 211 46 37 47 77 57 30 21 20 26 36 74 39 27 17 20 32 57 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 2268 2489 5014 5025 3202 4573 3153 1180 2663 3972 22820 3384 3097 3037 1902 755 833 515 266 187 183 120 136 60 46 34 39 36 26 15 17 23 34 68 38 26 17 17 29 49 57 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 33 2334 3833 5850 3931 3046 2660 1686 1102 2281 4454 20212 3300 3077 3082 2385 939 1171 621 104 126 342 192 212 193 50 37 30 31 19 15 14 20 30 51 33 21 15 16 24 34 49 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 815 4633 5154 5203 4548 3585 2421 818 1319 2504 2931 3340 2192 2621 3975 2193 1145 1237 694 118 89 110 71 139 211 52 39 34 21 21 20 28 18 21 32 28 19 19 24 20 33 59 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 645 2613 5579 4538 3622 2616 2199 753 1598 2686 5513 2997 2452 1264 1437 3714 1768 1285 826 275 87 109 55 73 171 183 62 41 42 31 46 32 33 22 28 24 21 19 20 20 34 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 1307 5415 7695 3654 1871 2415 2312 871 754 4770 4083 1048 1078 1113 770 1027 938 948 877 121 78 103 99 102 138 231 104 91 50 42 50 36 34 27 42 31 25 23 28 31 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 2758 6896 5756 3516 1904 2525 1901 1688 1633 3472 2231 886 813 1493 572 637 898 1184 571 49 48 55 86 125 118 245 107 136 162 57 49 43 35 30 33 47 33 36 40 34 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 4720 12987 4691 4517 3639 2664 2654 2936 3313 4589 1574 1309 753 908 644 678 684 985 552 87 89 62 78 150 88 115 88 103 180 83 60 38 34 32 31 36 57 44 31 110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 22271 37055 4417 3873 3516 3316 2718 2433 3385 2119 1335 921 618 316 527 1343 1900 897 329 63 71 96 90 103 106 66 47 55 61 59 55 55 44 50 49 67 52 34 71 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 55 14847 62335 6672 4244 1915 2978 1650 1511 1153 1633 1683 550 283 160 379 699 453 209 231 69 144 362 191 291 201 73 47 100 160 88 65 68 67 75 75 81 85 97 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 0 1682 2745 1972 3460 3633 1893 1451 1474 801 469 245 161 262 539 410 267 150 141 178 129 202 314 185 124 118 162 155 199 152 171 220 202 138 180 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 2439 2774 1685 1509 1866 4148 2009 979 688 546 258 294 802 391 220 215 130 121 159 181 246 845 194 200 447 138 394 255 723 1302 1379 762 1138 1135 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 249 2937 1738 1079 841 679 676 695 1126 1798 437 436 383 655 458 499 347 229 223 178 389 802 369 431 594 196 476 461 1269 1420 1003 536 824 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 3089 2230 1379 1354 632 441 533 503 601 1461 1090 893 973 3525 278 185 275 650 384 650 407 721 980 745 722 719 1134 3917 3100 1132 881 982 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 168 2439 1549 1038 712 760 554 436 441 583 489 334 419 1753 347 389 523 336 168 380 609 649 631 463 716 537 1064 6090 7059 1793 1561 929 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 209 3856 1366 995 831 1406 1316 454 383 402 374 146 125 155 136 170 156 262 170 151 122 296 251 127 174 283 2025 1250 1151 732 488 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 586 2916 1529 763 408 335 514 123 289 768 363 125 108 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 231 94 97 371 3524 1720 239 2 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 1551 1972 795 442 226 180 182 68 116 156 106 107 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 144 136 626 1075 471 278 126 150 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 2215 947 1199 805 326 235 140 50 73 84 79 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 122 350 -9999 285 133 82 84 55 51 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 690 2450 531 371 186 167 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 373 176 97 55 39 34 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 1799 1021 460 283 349 220 170 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 101 73 50 32 34 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 569 1208 470 545 755 198 142 75 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 82 33 36 32 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 62 1415 1209 450 335 200 96 73 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 101 28 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 106 1787 582 246 190 96 91 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 534 477 236 171 250 173 126 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 29 358 260 189 328 291 112 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 287 830 399 236 344 134 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 101 1689 565 289 205 181 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1029 1130 503 237 147 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 776 974 570 234 143 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 455 1365 455 235 105 62 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 610 863 434 181 97 111 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 149 821 1041 390 412 232 125 81 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 213 709 941 756 405 320 192 315 292 143 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 50 912 849 457 286 254 242 150 119 266 202 104 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 119 300 229 228 235 208 233 136 119 183 358 289 81 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 163 278 157 137 151 101 100 98 113 148 290 663 283 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 36 205 106 105 88 126 81 107 117 170 211 594 950 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 51 133 77 68 131 107 107 117 70 170 244 396 534 461 216 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 12 73 50 53 119 78 114 55 53 100 257 242 183 139 89 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 12 53 44 85 79 83 82 82 103 168 220 155 73 83 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 37 61 78 97 149 192 346 331 289 182 87 38 48 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 89 175 187 377 644 781 392 264 160 57 21 25 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 0 346 1432 2048 2157 1301 592 382 126 64 18 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 1696 2630 507 -9999 -9999 210 126 105 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 2 106 105 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 4 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 diff --git a/sample_inputs/kag_treatment.asc b/sample_inputs/kag_treatment.asc new file mode 100644 index 0000000..c38780b --- /dev/null +++ b/sample_inputs/kag_treatment.asc @@ -0,0 +1,137 @@ +ncols 96 +nrows 131 +xllcorner 778531.14341826 +yllcorner 9239327.8621242 +cellsize 5000 +NODATA_value -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 0.8110 -9999 -9999 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 -9999 -9999 -9999 -9999 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8630 -9999 -9999 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8630 0.8630 -9999 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8630 0.8630 0.8630 -9999 -9999 0.8630 -9999 0.8630 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 -9999 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 -9999 -9999 -9999 -9999 -9999 0.8630 0.8630 -9999 -9999 -9999 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8630 -9999 -9999 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8630 -9999 -9999 -9999 -9999 -9999 0.8630 0.8630 0.8630 -9999 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.8630 0.8630 -9999 -9999 0.8630 0.8630 0.8630 -9999 0.8630 0.8630 -9999 0.8630 -9999 -9999 -9999 -9999 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 0.8630 0.8630 0.8630 -9999 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 -9999 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 0.8630 0.8630 0.8630 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.7900 0.7900 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.7900 0.7900 0.7900 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8110 0.8110 0.8110 0.8110 0.7900 0.7900 0.7900 0.7900 0.7900 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.8110 0.7900 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.8110 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.8110 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 0.6440 0.6440 0.6440 0.6440 -9999 0.8630 -9999 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.8110 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 0.8630 0.8630 0.8630 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.8110 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.8630 0.8630 0.8630 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 0.6440 -9999 -9999 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.6440 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 -9999 -9999 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 0.7900 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 0.7900 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 +-9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 -9999 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ea606bc..b7529ac 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -23,6 +23,13 @@ file(GLOB_RECURSE MALASIM_CORE_SOURCES add_library(MalaSimCore STATIC # Add your source files here ${MALASIM_CORE_SOURCES} + Configuration/SimulationTimeFrame.h + Configuration/SpatialSettings.h + Configuration/SeasonalitySettings.h + Configuration/MovementSettings.h + Configuration/ParasiteParameters.h + Configuration/ImmuneSystemParameters.h + Configuration/EpidemiologicalParameters.h ) # Link the core library and fmt to the main executable diff --git a/src/Configuration/Config.cpp b/src/Configuration/Config.cpp index edbbc7e..6c31b5d 100644 --- a/src/Configuration/Config.cpp +++ b/src/Configuration/Config.cpp @@ -8,12 +8,33 @@ void Config::load(const std::string &filename) { YAML::Node config = YAML::LoadFile(filename); config_data_.model_settings = config["model_settings"].as(); + config_data_.simulation_timeframe = + config["simulation_timeframe"].as(); config_data_.transmission_settings = config["transmission_settings"].as(); config_data_.population_demographic = - config["population_demographic"].as(); + config["population_demographic"].as(); + + config_data_.spatial_settings = + config["spatial_settings"].as(); + + config_data_.seasonality_settings = + config["seasonality_settings"].as(); + + config_data_.movement_settings = + config["movement_settings"].as(); + + config_data_.parasite_parameters = + config["parasite_parameters"].as(); + + config_data_.immune_system_parameters = + config["immune_system_parameters"].as(); + + config_data_.epidemiological_parameters = + config["epidemiological_parameters"].as(); + // Validate all cross field validations validate_all_cross_field_validations(); diff --git a/src/Configuration/Config.h b/src/Configuration/Config.h index 14609af..5ab4ea5 100644 --- a/src/Configuration/Config.h +++ b/src/Configuration/Config.h @@ -31,6 +31,12 @@ class Config { [[nodiscard]] const ModelSettings &get_model_settings() const { return config_data_.model_settings; } + [[nodiscard]] const SimulationTimeframe &get_simulation_timeframe() const { + return config_data_.simulation_timeframe; + } + [[nodiscard]] const SpatialSettings &get_spatial_settings() const { + return config_data_.spatial_settings; + } [[nodiscard]] const TransmissionSettings &get_transmission_settings() const { return config_data_.transmission_settings; } @@ -38,6 +44,23 @@ class Config { const { return config_data_.population_demographic; } + [[nodiscard]] const SeasonalitySettings &get_seasonality_settings() const { + return config_data_.seasonality_settings; + } + [[nodiscard]] const MovementSettings &get_movement_settings() const { + return config_data_.movement_settings; + } + [[nodiscard]] const ParasiteParameters &get_parasite_parameters() const { + return config_data_.parasite_parameters; + } + [[nodiscard]] const ImmuneSystemParameters &get_immune_system_parameters() + const { + return config_data_.immune_system_parameters; + } + [[nodiscard]] const EpidemiologicalParameters &get_epidemiological_parameters() + const { + return config_data_.epidemiological_parameters; + } // Validate all cross-field validations void validate_all_cross_field_validations(); diff --git a/src/Configuration/ConfigData.h b/src/Configuration/ConfigData.h index c7d18d7..7f1cc60 100644 --- a/src/Configuration/ConfigData.h +++ b/src/Configuration/ConfigData.h @@ -1,14 +1,28 @@ #ifndef CONFIG_DATA_H #define CONFIG_DATA_H +#include "EpidemiologicalParameters.h" +#include "ImmuneSystemParameters.h" #include "ModelSettings.h" +#include "MovementSettings.h" +#include "ParasiteParameters.h" #include "PopulationDemographic.h" +#include "SeasonalitySettings.h" #include "TransmissionSettings.h" +#include "SimulationTimeFrame.h" +#include "SpatialSettings.h" struct ConfigData { ModelSettings model_settings{}; TransmissionSettings transmission_settings{}; PopulationDemographic population_demographic{}; + SimulationTimeframe simulation_timeframe{}; + SpatialSettings spatial_settings{}; + SeasonalitySettings seasonality_settings{}; + MovementSettings movement_settings{}; + ParasiteParameters parasite_parameters{}; + ImmuneSystemParameters immune_system_parameters{}; + EpidemiologicalParameters epidemiological_parameters{}; }; #endif // CONFIG_DATA_H diff --git a/src/Configuration/EpidemiologicalParameters.h b/src/Configuration/EpidemiologicalParameters.h new file mode 100644 index 0000000..d179552 --- /dev/null +++ b/src/Configuration/EpidemiologicalParameters.h @@ -0,0 +1,307 @@ +#ifndef EPIDEMIOLOGICALPARAMETERS_H +#define EPIDEMIOLOGICALPARAMETERS_H + +class BitingLevelDistributionGamma { +public: + // Getters and Setters + [[nodiscard]] double get_mean() const { return mean_; } + void set_mean(double value) { mean_ = value; } + + [[nodiscard]] double get_sd() const { return sd_; } + void set_sd(double value) { sd_ = value; } + +private: + double mean_; + double sd_; +}; + +class BitingLevelDistribution { +public: + // Getters and Setters + [[nodiscard]] const std::string& get_distribution() const { return distribution_; } + void set_distribution(const std::string& value) { distribution_ = value; } + + [[nodiscard]] const BitingLevelDistributionGamma& get_gamma() const { return gamma_; } + void set_gamma(const BitingLevelDistributionGamma& value) { gamma_ = value; } + +private: + std::string distribution_; + BitingLevelDistributionGamma gamma_; +}; + +class RelativeBitingInfo { +public: + // Getters and Setters + [[nodiscard]] int get_max_relative_biting_value() const { return max_relative_biting_value_; } + void set_max_relative_biting_value(int value) { max_relative_biting_value_ = value; } + + [[nodiscard]] double get_min_relative_biting_value() const { return min_relative_biting_value_; } + void set_min_relative_biting_value(double value) { min_relative_biting_value_ = value; } + + [[nodiscard]] int get_number_of_biting_levels() const { return number_of_biting_levels_; } + void set_number_of_biting_levels(int value) { number_of_biting_levels_ = value; } + + [[nodiscard]] const BitingLevelDistribution& get_biting_level_distribution() const { return biting_level_distribution_; } + void set_biting_level_distribution(const BitingLevelDistribution& value) { biting_level_distribution_ = value; } + +private: + int max_relative_biting_value_; + double min_relative_biting_value_; + int number_of_biting_levels_; + BitingLevelDistribution biting_level_distribution_; +}; + +class RelativeInfectivity { +public: + // Getters and Setters + [[nodiscard]] double get_sigma() const { return sigma_; } + void set_sigma(double value) { sigma_ = value; } + + [[nodiscard]] double get_ro() const { return ro_; } + void set_ro(double value) { ro_ = value; } + + [[nodiscard]] double get_blood_meal_volume() const { return blood_meal_volume_; } + void set_blood_meal_volume(double value) { blood_meal_volume_ = value; } + +private: + double sigma_; + double ro_; + double blood_meal_volume_; +}; + +class EpidemiologicalParameters { +public: + // Getters and Setters + [[nodiscard]] int get_number_of_tracking_days() const { return number_of_tracking_days_; } + void set_number_of_tracking_days(int value) { number_of_tracking_days_ = value; } + + [[nodiscard]] int get_days_to_clinical_under_five() const { return days_to_clinical_under_five_; } + void set_days_to_clinical_under_five(int value) { days_to_clinical_under_five_ = value; } + + [[nodiscard]] int get_days_to_clinical_over_five() const { return days_to_clinical_over_five_; } + void set_days_to_clinical_over_five(int value) { days_to_clinical_over_five_ = value; } + + [[nodiscard]] int get_days_mature_gametocyte_under_five() const { return days_mature_gametocyte_under_five_; } + void set_days_mature_gametocyte_under_five(int value) { days_mature_gametocyte_under_five_ = value; } + + [[nodiscard]] int get_days_mature_gametocyte_over_five() const { return days_mature_gametocyte_over_five_; } + void set_days_mature_gametocyte_over_five(int value) { days_mature_gametocyte_over_five_ = value; } + + [[nodiscard]] double get_p_compliance() const { return p_compliance_; } + void set_p_compliance(double value) { p_compliance_ = value; } + + [[nodiscard]] int get_min_dosing_days() const { return min_dosing_days_; } + void set_min_dosing_days(int value) { min_dosing_days_ = value; } + + [[nodiscard]] const RelativeBitingInfo& get_relative_biting_info() const { return relative_biting_info_; } + void set_relative_biting_info(const RelativeBitingInfo& value) { relative_biting_info_ = value; } + + [[nodiscard]] double get_gametocyte_level_under_artemisinin_action() const { return gametocyte_level_under_artemisinin_action_; } + void set_gametocyte_level_under_artemisinin_action(double value) { gametocyte_level_under_artemisinin_action_ = value; } + + [[nodiscard]] double get_gametocyte_level_full() const { return gametocyte_level_full_; } + void set_gametocyte_level_full(double value) { gametocyte_level_full_ = value; } + + [[nodiscard]] const RelativeInfectivity& get_relative_infectivity() const { return relative_infectivity_; } + void set_relative_infectivity(const RelativeInfectivity& value) { relative_infectivity_ = value; } + + [[nodiscard]] double get_p_relapse() const { return p_relapse_; } + void set_p_relapse(double value) { p_relapse_ = value; } + + [[nodiscard]] int get_relapse_duration() const { return relapse_duration_; } + void set_relapse_duration(int value) { relapse_duration_ = value; } + + [[nodiscard]] double get_relapse_rate() const { return relapse_rate_; } + void set_relapse_rate(double value) { relapse_rate_ = value; } + + [[nodiscard]] int get_update_frequency() const { return update_frequency_; } + void set_update_frequency(int value) { update_frequency_ = value; } + + [[nodiscard]] bool get_allow_new_coinfection_to_cause_symptoms() const { return allow_new_coinfection_to_cause_symptoms_; } + void set_allow_new_coinfection_to_cause_symptoms(bool value) { allow_new_coinfection_to_cause_symptoms_ = value; } + + [[nodiscard]] int get_tf_window_size() const { return tf_window_size_; } + void set_tf_window_size(int value) { tf_window_size_ = value; } + + [[nodiscard]] double get_fraction_mosquitoes_interrupted_feeding() const { return fraction_mosquitoes_interrupted_feeding_; } + void set_fraction_mosquitoes_interrupted_feeding(double value) { fraction_mosquitoes_interrupted_feeding_ = value; } + + [[nodiscard]] double get_inflation_factor() const { return inflation_factor_; } + void set_inflation_factor(double value) { inflation_factor_ = value; } + +private: + int number_of_tracking_days_; + int days_to_clinical_under_five_; + int days_to_clinical_over_five_; + int days_mature_gametocyte_under_five_; + int days_mature_gametocyte_over_five_; + double p_compliance_; + int min_dosing_days_; + RelativeBitingInfo relative_biting_info_; + double gametocyte_level_under_artemisinin_action_; + double gametocyte_level_full_; + RelativeInfectivity relative_infectivity_; + double p_relapse_; + int relapse_duration_; + double relapse_rate_; + int update_frequency_; + bool allow_new_coinfection_to_cause_symptoms_; + int tf_window_size_; + double fraction_mosquitoes_interrupted_feeding_; + double inflation_factor_; +}; + +namespace YAML { +#include +#include +#include + +// GammaDistribution YAML conversion +template<> +struct YAML::convert { + static Node encode(const BitingLevelDistributionGamma& rhs) { + Node node; + node["mean"] = rhs.get_mean(); + node["sd"] = rhs.get_sd(); + return node; + } + + static bool decode(const Node& node, BitingLevelDistributionGamma& rhs) { + if (!node["mean"] || !node["sd"]) { + throw std::runtime_error("Missing fields in GammaDistribution"); + } + rhs.set_mean(node["mean"].as()); + rhs.set_sd(node["sd"].as()); + return true; + } +}; + +// BitingLevelDistribution YAML conversion +template<> +struct YAML::convert { + static Node encode(const BitingLevelDistribution& rhs) { + Node node; + node["distribution"] = rhs.get_distribution(); + node["gamma"] = rhs.get_gamma(); + return node; + } + + static bool decode(const Node& node, BitingLevelDistribution& rhs) { + if (!node["distribution"] || !node["gamma"]) { + throw std::runtime_error("Missing fields in BitingLevelDistribution"); + } + rhs.set_distribution(node["distribution"].as()); + rhs.set_gamma(node["gamma"].as()); + return true; + } +}; + +// RelativeBitingInfo YAML conversion +template<> +struct YAML::convert { + static Node encode(const RelativeBitingInfo& rhs) { + Node node; + node["max_relative_biting_value"] = rhs.get_max_relative_biting_value(); + node["min_relative_biting_value"] = rhs.get_min_relative_biting_value(); + node["number_of_biting_levels"] = rhs.get_number_of_biting_levels(); + node["biting_level_distribution"] = rhs.get_biting_level_distribution(); + return node; + } + + static bool decode(const Node& node, RelativeBitingInfo& rhs) { + if (!node["max_relative_biting_value"] || !node["min_relative_biting_value"] + || !node["number_of_biting_levels"] || !node["biting_level_distribution"]) { + throw std::runtime_error("Missing fields in RelativeBitingInfo"); + } + rhs.set_max_relative_biting_value(node["max_relative_biting_value"].as()); + rhs.set_min_relative_biting_value(node["min_relative_biting_value"].as()); + rhs.set_number_of_biting_levels(node["number_of_biting_levels"].as()); + rhs.set_biting_level_distribution(node["biting_level_distribution"].as()); + return true; + } +}; + +// RelativeInfectivity YAML conversion +template<> +struct YAML::convert { + static Node encode(const RelativeInfectivity& rhs) { + Node node; + node["sigma"] = rhs.get_sigma(); + node["ro"] = rhs.get_ro(); + node["blood_meal_volume"] = rhs.get_blood_meal_volume(); + return node; + } + + static bool decode(const Node& node, RelativeInfectivity& rhs) { + if (!node["sigma"] || !node["ro"] || !node["blood_meal_volume"]) { + throw std::runtime_error("Missing fields in RelativeInfectivity"); + } + rhs.set_sigma(node["sigma"].as()); + rhs.set_ro(node["ro"].as()); + rhs.set_blood_meal_volume(node["blood_meal_volume"].as()); + return true; + } +}; + +// EpidemiologicalParameters YAML conversion +template<> +struct YAML::convert { + static Node encode(const EpidemiologicalParameters& rhs) { + Node node; + node["number_of_tracking_days"] = rhs.get_number_of_tracking_days(); + node["days_to_clinical_under_five"] = rhs.get_days_to_clinical_under_five(); + node["days_to_clinical_over_five"] = rhs.get_days_to_clinical_over_five(); + node["days_mature_gametocyte_under_five"] = rhs.get_days_mature_gametocyte_under_five(); + node["days_mature_gametocyte_over_five"] = rhs.get_days_mature_gametocyte_over_five(); + node["p_compliance"] = rhs.get_p_compliance(); + node["min_dosing_days"] = rhs.get_min_dosing_days(); + node["relative_biting_info"] = rhs.get_relative_biting_info(); + node["gametocyte_level_under_artemisinin_action"] = rhs.get_gametocyte_level_under_artemisinin_action(); + node["gametocyte_level_full"] = rhs.get_gametocyte_level_full(); + node["relative_infectivity"] = rhs.get_relative_infectivity(); + node["p_relapse"] = rhs.get_p_relapse(); + node["relapse_duration"] = rhs.get_relapse_duration(); + node["relapse_rate"] = rhs.get_relapse_rate(); + node["update_frequency"] = rhs.get_update_frequency(); + node["allow_new_coinfection_to_cause_symptoms"] = rhs.get_allow_new_coinfection_to_cause_symptoms(); + node["tf_window_size"] = rhs.get_tf_window_size(); + node["fraction_mosquitoes_interrupted_feeding"] = rhs.get_fraction_mosquitoes_interrupted_feeding(); + node["inflation_factor"] = rhs.get_inflation_factor(); + return node; + } + + static bool decode(const YAML::Node& node, EpidemiologicalParameters& rhs) { + if (!node["number_of_tracking_days"] || !node["days_to_clinical_under_five"] || !node["days_to_clinical_over_five"] + || !node["days_mature_gametocyte_under_five"] || !node["days_mature_gametocyte_over_five"] + || !node["p_compliance"] || !node["min_dosing_days"] || !node["relative_biting_info"] + || !node["gametocyte_level_under_artemisinin_action"] || !node["gametocyte_level_full"] + || !node["relative_infectivity"] || !node["p_relapse"] || !node["relapse_duration"] + || !node["relapse_rate"] || !node["update_frequency"] || !node["allow_new_coinfection_to_cause_symptoms"] + || !node["tf_window_size"] || !node["fraction_mosquitoes_interrupted_feeding"] + || !node["inflation_factor"]) { + throw std::runtime_error("Missing fields in EpidemiologicalParameters"); + } + rhs.set_number_of_tracking_days(node["number_of_tracking_days"].as()); + rhs.set_days_to_clinical_under_five(node["days_to_clinical_under_five"].as()); + rhs.set_days_to_clinical_over_five(node["days_to_clinical_over_five"].as()); + rhs.set_days_mature_gametocyte_under_five(node["days_mature_gametocyte_under_five"].as()); + rhs.set_days_mature_gametocyte_over_five(node["days_mature_gametocyte_over_five"].as()); + rhs.set_p_compliance(node["p_compliance"].as()); + rhs.set_min_dosing_days(node["min_dosing_days"].as()); + rhs.set_relative_biting_info(node["relative_biting_info"].as()); + rhs.set_gametocyte_level_under_artemisinin_action(node["gametocyte_level_under_artemisinin_action"].as()); + rhs.set_gametocyte_level_full(node["gametocyte_level_full"].as()); + rhs.set_relative_infectivity(node["relative_infectivity"].as()); + rhs.set_p_relapse(node["p_relapse"].as()); + rhs.set_relapse_duration(node["relapse_duration"].as()); + rhs.set_relapse_rate(node["relapse_rate"].as()); + rhs.set_update_frequency(node["update_frequency"].as()); + rhs.set_allow_new_coinfection_to_cause_symptoms(node["allow_new_coinfection_to_cause_symptoms"].as()); + rhs.set_tf_window_size(node["tf_window_size"].as()); + rhs.set_fraction_mosquitoes_interrupted_feeding(node["fraction_mosquitoes_interrupted_feeding"].as()); + rhs.set_inflation_factor(node["inflation_factor"].as()); + return true; + } +}; +} +#endif //EPIDEMIOLOGICALPARAMETERS_H diff --git a/src/Configuration/ImmuneSystemParameters.h b/src/Configuration/ImmuneSystemParameters.h new file mode 100644 index 0000000..62b027f --- /dev/null +++ b/src/Configuration/ImmuneSystemParameters.h @@ -0,0 +1,126 @@ +#ifndef IMMUNESYSTEMPARAMETERS_H +#define IMMUNESYSTEMPARAMETERS_H + +class ImmuneSystemParameters { +public: + // Getters and Setters + [[nodiscard]] double get_b1() const { return b1_; } + void set_b1(double value) { b1_ = value; } + + [[nodiscard]] double get_b2() const { return b2_; } + void set_b2(double value) { b2_ = value; } + + [[nodiscard]] int get_duration_for_naive() const { return duration_for_naive_; } + void set_duration_for_naive(int value) { + if (value < 0) throw std::invalid_argument("duration_for_naive must be non-negative"); + duration_for_naive_ = value; + } + + [[nodiscard]] int get_duration_for_fully_immune() const { return duration_for_fully_immune_; } + void set_duration_for_fully_immune(int value) { + if (value < 0) throw std::invalid_argument("duration_for_fully_immune must be non-negative"); + duration_for_fully_immune_ = value; + } + + [[nodiscard]] double get_mean_initial_condition() const { return mean_initial_condition_; } + void set_mean_initial_condition(double value) { mean_initial_condition_ = value; } + + [[nodiscard]] double get_sd_initial_condition() const { return sd_initial_condition_; } + void set_sd_initial_condition(double value) { sd_initial_condition_ = value; } + + [[nodiscard]] double get_immune_inflation_rate() const { return immune_inflation_rate_; } + void set_immune_inflation_rate(double value) { immune_inflation_rate_ = value; } + + [[nodiscard]] double get_min_clinical_probability() const { return min_clinical_probability_; } + void set_min_clinical_probability(double value) { + if (value < 0 || value > 1) throw std::invalid_argument("min_clinical_probability must be between 0 and 1"); + min_clinical_probability_ = value; + } + + [[nodiscard]] double get_max_clinical_probability() const { return max_clinical_probability_; } + void set_max_clinical_probability(double value) { + if (value < 0 || value > 1) throw std::invalid_argument("max_clinical_probability must be between 0 and 1"); + max_clinical_probability_ = value; + } + + [[nodiscard]] double get_immune_effect_on_progression_to_clinical() const { return immune_effect_on_progression_to_clinical_; } + void set_immune_effect_on_progression_to_clinical(double value) { immune_effect_on_progression_to_clinical_ = value; } + + [[nodiscard]] int get_age_mature_immunity() const { return age_mature_immunity_; } + void set_age_mature_immunity(int value) { + if (value < 0) throw std::invalid_argument("age_mature_immunity must be non-negative"); + age_mature_immunity_ = value; + } + + [[nodiscard]] double get_factor_effect_age_mature_immunity() const { return factor_effect_age_mature_immunity_; } + void set_factor_effect_age_mature_immunity(double value) { factor_effect_age_mature_immunity_ = value; } + + [[nodiscard]] double get_midpoint() const { return midpoint_; } + void set_midpoint(double value) { midpoint_ = value; } + +private: + double b1_; + double b2_; + int duration_for_naive_; + int duration_for_fully_immune_; + double mean_initial_condition_; + double sd_initial_condition_; + double immune_inflation_rate_; + double min_clinical_probability_; + double max_clinical_probability_; + double immune_effect_on_progression_to_clinical_; + int age_mature_immunity_; + double factor_effect_age_mature_immunity_; + double midpoint_; +}; + +namespace YAML{ +// ImmuneSystemParameters YAML conversion +template<> +struct YAML::convert { + static Node encode(const ImmuneSystemParameters& rhs) { + Node node; + node["b1"] = rhs.get_b1(); + node["b2"] = rhs.get_b2(); + node["duration_for_naive"] = rhs.get_duration_for_naive(); + node["duration_for_fully_immune"] = rhs.get_duration_for_fully_immune(); + node["mean_initial_condition"] = rhs.get_mean_initial_condition(); + node["sd_initial_condition"] = rhs.get_sd_initial_condition(); + node["immune_inflation_rate"] = rhs.get_immune_inflation_rate(); + node["min_clinical_probability"] = rhs.get_min_clinical_probability(); + node["max_clinical_probability"] = rhs.get_max_clinical_probability(); + node["immune_effect_on_progression_to_clinical"] = rhs.get_immune_effect_on_progression_to_clinical(); + node["age_mature_immunity"] = rhs.get_age_mature_immunity(); + node["factor_effect_age_mature_immunity"] = rhs.get_factor_effect_age_mature_immunity(); + node["midpoint"] = rhs.get_midpoint(); + return node; + } + + static bool decode(const Node& node, ImmuneSystemParameters& rhs) { + if (!node["b1"] || !node["b2"] || !node["duration_for_naive"] || !node["duration_for_fully_immune"] + || !node["mean_initial_condition"] || !node["sd_initial_condition"] + || !node["immune_inflation_rate"] || !node["min_clinical_probability"] + || !node["max_clinical_probability"] || !node["immune_effect_on_progression_to_clinical"] + || !node["age_mature_immunity"] || !node["factor_effect_age_mature_immunity"] + || !node["midpoint"]) { + throw std::runtime_error("Missing fields in ImmuneSystemParameters"); + } + + rhs.set_b1(node["b1"].as()); + rhs.set_b2(node["b2"].as()); + rhs.set_duration_for_naive(node["duration_for_naive"].as()); + rhs.set_duration_for_fully_immune(node["duration_for_fully_immune"].as()); + rhs.set_mean_initial_condition(node["mean_initial_condition"].as()); + rhs.set_sd_initial_condition(node["sd_initial_condition"].as()); + rhs.set_immune_inflation_rate(node["immune_inflation_rate"].as()); + rhs.set_min_clinical_probability(node["min_clinical_probability"].as()); + rhs.set_max_clinical_probability(node["max_clinical_probability"].as()); + rhs.set_immune_effect_on_progression_to_clinical(node["immune_effect_on_progression_to_clinical"].as()); + rhs.set_age_mature_immunity(node["age_mature_immunity"].as()); + rhs.set_factor_effect_age_mature_immunity(node["factor_effect_age_mature_immunity"].as()); + rhs.set_midpoint(node["midpoint"].as()); + return true; + } +}; +} +#endif //IMMUNESYSTEMPARAMETERS_H diff --git a/src/Configuration/MovementSettings.h b/src/Configuration/MovementSettings.h new file mode 100644 index 0000000..a3e6886 --- /dev/null +++ b/src/Configuration/MovementSettings.h @@ -0,0 +1,299 @@ +#include +#include +#include "date/date.h" + +class BarabasiSettings { +public: + // Getters and Setters + [[nodiscard]] double get_r_g_0() const { return r_g_0_; } + void set_r_g_0(double value) { r_g_0_ = value; } + + [[nodiscard]] double get_beta_r() const { return beta_r_; } + void set_beta_r(double value) { beta_r_ = value; } + + [[nodiscard]] int get_kappa() const { return kappa_; } + void set_kappa(int value) { + if (value <= 0) throw std::invalid_argument("kappa must be positive"); + kappa_ = value; + } + +private: + double r_g_0_; + double beta_r_; + int kappa_; +}; + +class WesolowskiSettings { +public: + // Getters and Setters + [[nodiscard]] double get_kappa() const { return kappa_; } + void set_kappa(double value) { kappa_ = value; } + + [[nodiscard]] double get_alpha() const { return alpha_; } + void set_alpha(double value) { alpha_ = value; } + + [[nodiscard]] double get_beta() const { return beta_; } + void set_beta(double value) { beta_ = value; } + + [[nodiscard]] double get_gamma() const { return gamma_; } + void set_gamma(double value) { gamma_ = value; } + +private: + double kappa_; + double alpha_; + double beta_; + double gamma_; +}; + +class SpatialModel { +public: + // Getters and Setters + [[nodiscard]] const std::string& get_name() const { return name_; } + void set_name(const std::string& value) { name_ = value; } + + [[nodiscard]] const BarabasiSettings& get_barabasi() const { return barabasi_; } + void set_barabasi(const BarabasiSettings& value) { barabasi_ = value; } + + [[nodiscard]] const WesolowskiSettings& get_wesolowski() const { return wesolowski_; } + void set_wesolowski(const WesolowskiSettings& value) { wesolowski_ = value; } + +private: + std::string name_; + BarabasiSettings barabasi_; + WesolowskiSettings wesolowski_; +}; + +class MovingLevelDistributionGamma { +public: + // Getters and Setters + [[nodiscard]] double get_mean() const { return mean_; } + void set_mean(double value) { mean_ = value; } + + [[nodiscard]] double get_sd() const { return sd_; } + void set_sd(double value) { sd_ = value; } + +private: + double mean_; + double sd_; +}; + +class MovingLevelDistribution { +public: + // Getters and Setters + [[nodiscard]] const std::string& get_distribution() const { return distribution_; } + void set_distribution(const std::string& value) { distribution_ = value; } + + [[nodiscard]] const MovingLevelDistributionGamma& get_gamma() const { return gamma_; } + void set_gamma(const MovingLevelDistributionGamma& value) { gamma_ = value; } + +private: + std::string distribution_; + MovingLevelDistributionGamma gamma_; +}; + +class CirculationInfo { +public: + // Getters and Setters + [[nodiscard]] int get_max_relative_moving_value() const { return max_relative_moving_value_; } + void set_max_relative_moving_value(int value) { + if (value < 0) throw std::invalid_argument("max_relative_moving_value must be non-negative"); + max_relative_moving_value_ = value; + } + + [[nodiscard]] int get_number_of_moving_levels() const { return number_of_moving_levels_; } + void set_number_of_moving_levels(int value) { + if (value <= 0) throw std::invalid_argument("number_of_moving_levels must be positive"); + number_of_moving_levels_ = value; + } + + [[nodiscard]] const MovingLevelDistribution& get_moving_level_distribution() const { return moving_level_distribution_; } + void set_moving_level_distribution(const MovingLevelDistribution& value) { moving_level_distribution_ = value; } + + [[nodiscard]] double get_circulation_percent() const { return circulation_percent_; } + void set_circulation_percent(double value) { + if (value < 0 || value > 100) throw std::invalid_argument("circulation_percent must be between 0 and 100"); + circulation_percent_ = value; + } + + [[nodiscard]] const MovingLevelDistributionGamma& get_length_of_stay() const { return length_of_stay_; } + void set_length_of_stay(const MovingLevelDistributionGamma& value) { length_of_stay_ = value; } + +private: + int max_relative_moving_value_; + int number_of_moving_levels_; + MovingLevelDistribution moving_level_distribution_; + double circulation_percent_; + MovingLevelDistributionGamma length_of_stay_; +}; + +class MovementSettings { +public: + // Getters and Setters + [[nodiscard]] const SpatialModel& get_spatial_model() const { return spatial_model_; } + void set_spatial_model(const SpatialModel& value) { spatial_model_ = value; } + + [[nodiscard]] const CirculationInfo& get_circulation_info() const { return circulation_info_; } + void set_circulation_info(const CirculationInfo& value) { circulation_info_ = value; } + +private: + SpatialModel spatial_model_; + CirculationInfo circulation_info_; +}; + +namespace YAML { +// BarabasiSettings YAML conversion +template<> +struct YAML::convert { + static Node encode(const BarabasiSettings& rhs) { + Node node; + node["r_g_0"] = rhs.get_r_g_0(); + node["beta_r"] = rhs.get_beta_r(); + node["kappa"] = rhs.get_kappa(); + return node; + } + + static bool decode(const Node& node, BarabasiSettings& rhs) { + if(!node["r_g_0"] || !node["beta_r"] || !node["kappa"]) + throw std::runtime_error("Missing fields in BarabasiSettings"); + + rhs.set_r_g_0(node["r_g_0"].as()); + rhs.set_beta_r(node["beta_r"].as()); + rhs.set_kappa(node["kappa"].as()); + return true; + } +}; + +// WesolowskiSettings YAML conversion +template<> +struct YAML::convert { + static Node encode(const WesolowskiSettings& rhs) { + Node node; + node["kappa"] = rhs.get_kappa(); + node["alpha"] = rhs.get_alpha(); + node["beta"] = rhs.get_beta(); + node["gamma"] = rhs.get_gamma(); + return node; + } + + static bool decode(const Node& node, WesolowskiSettings& rhs) { + if(!node["kappa"] || !node["alpha"] || !node["beta"] || !node["gamma"]) + throw std::runtime_error("Missing fields in WesolowskiSettings"); + + rhs.set_kappa(node["kappa"].as()); + rhs.set_alpha(node["alpha"].as()); + rhs.set_beta(node["beta"].as()); + rhs.set_gamma(node["gamma"].as()); + return true; + } +}; + +// SpatialModel YAML conversion +template<> +struct YAML::convert { + static Node encode(const SpatialModel& rhs) { + Node node; + node["name"] = rhs.get_name(); + node["barabasi"] = rhs.get_barabasi(); + node["wesolowski"] = rhs.get_wesolowski(); + return node; + } + + static bool decode(const Node& node, SpatialModel& rhs) { + if(!node["name"] || !node["barabasi"] || !node["wesolowski"]) + throw std::runtime_error("Missing fields in SpatialModel"); + + rhs.set_name(node["name"].as()); + rhs.set_barabasi(node["barabasi"].as()); + rhs.set_wesolowski(node["wesolowski"].as()); + return true; + } +}; + +// GammaDistribution YAML conversion +template<> +struct YAML::convert { + static Node encode(const MovingLevelDistributionGamma& rhs) { + Node node; + node["mean"] = rhs.get_mean(); + node["sd"] = rhs.get_sd(); + return node; + } + + static bool decode(const Node& node, MovingLevelDistributionGamma& rhs) { + if(!node["mean"] || !node["sd"]) + throw std::runtime_error("Missing fields in GammaDistribution"); + + rhs.set_mean(node["mean"].as()); + rhs.set_sd(node["sd"].as()); + return true; + } +}; + +// MovingLevelDistribution YAML conversion +template<> +struct YAML::convert { + static Node encode(const MovingLevelDistribution& rhs) { + Node node; + node["distribution"] = rhs.get_distribution(); + node["gamma"] = rhs.get_gamma(); + return node; + } + + static bool decode(const Node& node, MovingLevelDistribution& rhs) { + if(!node["distribution"] || !node["gamma"]) + throw std::runtime_error("Missing fields in MovingLevelDistribution"); + + rhs.set_distribution(node["distribution"].as()); + rhs.set_gamma(node["gamma"].as()); + return true; + } +}; + +// CirculationInfo YAML conversion +template<> +struct YAML::convert { + static Node encode(const CirculationInfo& rhs) { + Node node; + node["max_relative_moving_value"] = rhs.get_max_relative_moving_value(); + node["number_of_moving_levels"] = rhs.get_number_of_moving_levels(); + node["moving_level_distribution"] = rhs.get_moving_level_distribution(); + node["circulation_percent"] = rhs.get_circulation_percent(); + node["length_of_stay"] = rhs.get_length_of_stay(); + return node; + } + + static bool decode(const Node& node, CirculationInfo& rhs) { + if(!node["max_relative_moving_value"] || !node["number_of_moving_levels"] + || !node["moving_level_distribution"] || !node["circulation_percent"] + || !node["length_of_stay"]) + throw std::runtime_error("Missing fields in CirculationInfo"); + + rhs.set_max_relative_moving_value(node["max_relative_moving_value"].as()); + rhs.set_number_of_moving_levels(node["number_of_moving_levels"].as()); + rhs.set_moving_level_distribution(node["moving_level_distribution"].as()); + rhs.set_circulation_percent(node["circulation_percent"].as()); + rhs.set_length_of_stay(node["length_of_stay"].as()); + return true; + } +}; + +// MovementSettings YAML conversion +template<> +struct YAML::convert { + static Node encode(const MovementSettings& rhs) { + Node node; + node["spatial_model"] = rhs.get_spatial_model(); + node["circulation_info"] = rhs.get_circulation_info(); + return node; + } + + static bool decode(const Node& node, MovementSettings& rhs) { + if(!node["spatial_model"] || !node["circulation_info"]) + throw std::runtime_error("Missing fields in MovementSettings"); + + rhs.set_spatial_model(node["spatial_model"].as()); + rhs.set_circulation_info(node["circulation_info"].as()); + return true; + } +}; +} diff --git a/src/Configuration/ParasiteParameters.h b/src/Configuration/ParasiteParameters.h new file mode 100644 index 0000000..d5f9521 --- /dev/null +++ b/src/Configuration/ParasiteParameters.h @@ -0,0 +1,154 @@ +#ifndef PARASITEPARAMETERS_H +#define PARASITEPARAMETERS_H + +class ParasiteDensityLevels { +public: + // Getters and Setters + [[nodiscard]] double get_log_parasite_density_cured() const { return log_parasite_density_cured_; } + void set_log_parasite_density_cured(double value) { log_parasite_density_cured_ = value; } + + [[nodiscard]] double get_log_parasite_density_from_liver() const { return log_parasite_density_from_liver_; } + void set_log_parasite_density_from_liver(double value) { log_parasite_density_from_liver_ = value; } + + [[nodiscard]] double get_log_parasite_density_asymptomatic() const { return log_parasite_density_asymptomatic_; } + void set_log_parasite_density_asymptomatic(double value) { log_parasite_density_asymptomatic_ = value; } + + [[nodiscard]] double get_log_parasite_density_clinical() const { return log_parasite_density_clinical_; } + void set_log_parasite_density_clinical(double value) { log_parasite_density_clinical_ = value; } + + [[nodiscard]] double get_log_parasite_density_clinical_from() const { return log_parasite_density_clinical_from_; } + void set_log_parasite_density_clinical_from(double value) { log_parasite_density_clinical_from_ = value; } + + [[nodiscard]] double get_log_parasite_density_clinical_to() const { return log_parasite_density_clinical_to_; } + void set_log_parasite_density_clinical_to(double value) { log_parasite_density_clinical_to_ = value; } + + [[nodiscard]] double get_log_parasite_density_detectable() const { return log_parasite_density_detectable_; } + void set_log_parasite_density_detectable(double value) { log_parasite_density_detectable_ = value; } + + [[nodiscard]] double get_log_parasite_density_detectable_pfpr() const { return log_parasite_density_detectable_pfpr_; } + void set_log_parasite_density_detectable_pfpr(double value) { log_parasite_density_detectable_pfpr_ = value; } + + [[nodiscard]] double get_log_parasite_density_pyrogenic() const { return log_parasite_density_pyrogenic_; } + void set_log_parasite_density_pyrogenic(double value) { log_parasite_density_pyrogenic_ = value; } + +private: + double log_parasite_density_cured_; + double log_parasite_density_from_liver_; + double log_parasite_density_asymptomatic_; + double log_parasite_density_clinical_; + double log_parasite_density_clinical_from_; + double log_parasite_density_clinical_to_; + double log_parasite_density_detectable_; + double log_parasite_density_detectable_pfpr_; + double log_parasite_density_pyrogenic_; +}; + +class RecombinationParameters { +public: + // Getters and Setters + [[nodiscard]] double get_within_chromosome_recombination_rate() const { return within_chromosome_recombination_rate_; } + void set_within_chromosome_recombination_rate(double value) { within_chromosome_recombination_rate_ = value; } + + [[nodiscard]] bool get_using_free_recombination() const { return using_free_recombination_; } + void set_using_free_recombination(bool value) { using_free_recombination_ = value; } + +private: + double within_chromosome_recombination_rate_; + bool using_free_recombination_; +}; + +class ParasiteParameters { +public: + // Getters and Setters + [[nodiscard]] const ParasiteDensityLevels& get_parasite_density_levels() const { return parasite_density_levels_; } + void set_parasite_density_levels(const ParasiteDensityLevels& value) { parasite_density_levels_ = value; } + + [[nodiscard]] const RecombinationParameters& get_recombination_parameters() const { return recombination_parameters_; } + void set_recombination_parameters(const RecombinationParameters& value) { recombination_parameters_ = value; } + +private: + ParasiteDensityLevels parasite_density_levels_; + RecombinationParameters recombination_parameters_; +}; + +namespace YAML { +// ParasiteDensityLevels YAML conversion +template<> +struct YAML::convert { + static Node encode(const ParasiteDensityLevels& rhs) { + Node node; + node["log_parasite_density_cured"] = rhs.get_log_parasite_density_cured(); + node["log_parasite_density_from_liver"] = rhs.get_log_parasite_density_from_liver(); + node["log_parasite_density_asymptomatic"] = rhs.get_log_parasite_density_asymptomatic(); + node["log_parasite_density_clinical"] = rhs.get_log_parasite_density_clinical(); + node["log_parasite_density_clinical_from"] = rhs.get_log_parasite_density_clinical_from(); + node["log_parasite_density_clinical_to"] = rhs.get_log_parasite_density_clinical_to(); + node["log_parasite_density_detectable"] = rhs.get_log_parasite_density_detectable(); + node["log_parasite_density_detectable_pfpr"] = rhs.get_log_parasite_density_detectable_pfpr(); + node["log_parasite_density_pyrogenic"] = rhs.get_log_parasite_density_pyrogenic(); + return node; + } + + static bool decode(const Node& node, ParasiteDensityLevels& rhs) { + if(!node["log_parasite_density_cured"] || !node["log_parasite_density_from_liver"] || + !node["log_parasite_density_asymptomatic"] || !node["log_parasite_density_clinical"] || + !node["log_parasite_density_clinical_from"] || !node["log_parasite_density_clinical_to"] || + !node["log_parasite_density_detectable"] || !node["log_parasite_density_detectable_pfpr"] || + !node["log_parasite_density_pyrogenic"]) + throw std::runtime_error("Missing fields in ParasiteDensityLevels"); + + rhs.set_log_parasite_density_cured(node["log_parasite_density_cured"].as()); + rhs.set_log_parasite_density_from_liver(node["log_parasite_density_from_liver"].as()); + rhs.set_log_parasite_density_asymptomatic(node["log_parasite_density_asymptomatic"].as()); + rhs.set_log_parasite_density_clinical(node["log_parasite_density_clinical"].as()); + rhs.set_log_parasite_density_clinical_from(node["log_parasite_density_clinical_from"].as()); + rhs.set_log_parasite_density_clinical_to(node["log_parasite_density_clinical_to"].as()); + rhs.set_log_parasite_density_detectable(node["log_parasite_density_detectable"].as()); + rhs.set_log_parasite_density_detectable_pfpr(node["log_parasite_density_detectable_pfpr"].as()); + rhs.set_log_parasite_density_pyrogenic(node["log_parasite_density_pyrogenic"].as()); + return true; + } +}; + +// RecombinationParameters YAML conversion +template<> +struct YAML::convert { + static Node encode(const RecombinationParameters& rhs) { + Node node; + node["within_chromosome_recombination_rate"] = rhs.get_within_chromosome_recombination_rate(); + node["using_free_recombination"] = rhs.get_using_free_recombination(); + return node; + } + + static bool decode(const Node& node, RecombinationParameters& rhs) { + if (!node["within_chromosome_recombination_rate"] || !node["using_free_recombination"]) + throw std::runtime_error("Missing fields in RecombinationParameters"); + + rhs.set_within_chromosome_recombination_rate(node["within_chromosome_recombination_rate"].as()); + rhs.set_using_free_recombination(node["using_free_recombination"].as()); + return true; + } +}; + +// ParasiteParameters YAML conversion +template<> +struct YAML::convert { + static Node encode(const ParasiteParameters& rhs) { + Node node; + node["parasite_density_levels"] = rhs.get_parasite_density_levels(); + node["recombination_parameters"] = rhs.get_recombination_parameters(); + return node; + } + + static bool decode(const Node& node, ParasiteParameters& rhs) { + if (!node["parasite_density_levels"] || !node["recombination_parameters"]) + throw std::runtime_error("Missing fields in ParasiteParameters"); + + rhs.set_parasite_density_levels(node["parasite_density_levels"].as()); + rhs.set_recombination_parameters(node["recombination_parameters"].as()); + return true; + } +}; +} + +#endif //PARASITEPARAMETERS_H diff --git a/src/Configuration/SeasonalitySettings.h b/src/Configuration/SeasonalitySettings.h new file mode 100644 index 0000000..8047ab1 --- /dev/null +++ b/src/Configuration/SeasonalitySettings.h @@ -0,0 +1,196 @@ +#ifndef SEASONALITYSETTINGS_H +#define SEASONALITYSETTINGS_H + +#include +#include +#include "date/date.h" + +// Class to hold the 'rainfall' settings +class RainfallSettings { +public: + // Getters + [[nodiscard]] const std::string &get_filename() const { + return filename_; + } + + // Setters + void set_filename(const std::string &value) { + filename_ = value; + } + + [[nodiscard]] const date::days &get_period() const { + return period_; + } + + void set_period(const date::days &value) { + if (value.count() <= 0) + throw std::invalid_argument("Period must be greater than 0"); + period_ = value; + } + +private: + std::string filename_; + date::days period_; +}; + +// Class to hold the 'simple' settings +class SimpleSettings { +public: + // Getters + [[nodiscard]] const std::vector &get_a() const { + return a_; + } + + // Setters + void set_a(const std::vector &value) { + a_ = value; + } + + [[nodiscard]] const std::vector &get_phi() const { + return phi_; + } + + void set_phi(const std::vector &value) { + phi_ = value; + } + + [[nodiscard]] const std::vector &get_min_value() const { + return min_value_; + } + + void set_min_value(const std::vector &value) { + min_value_ = value; + } + + [[nodiscard]] const date::days &get_period() const { + return period_; + } + + void set_period(const date::days &value) { + if (value.count() <= 0) + throw std::invalid_argument("Period must be greater than 0"); + period_ = value; + } + +private: + std::vector a_; + std::vector phi_; + std::vector min_value_; + date::days period_; +}; + +// Class to hold seasonality settings, combining RainfallSettings and SimpleSettings +class SeasonalitySettings { +public: + // Getters + [[nodiscard]] bool get_enable() const { + return enable_; + } + + // Setters + void set_enable(bool value) { + enable_ = value; + } + + [[nodiscard]] const std::string &get_mode() const { + return mode_; + } + + void set_mode(const std::string &value) { + mode_ = value; + } + + [[nodiscard]] const RainfallSettings &get_rainfall() const { + return rainfall_; + } + + void set_rainfall(const RainfallSettings &value) { + rainfall_ = value; + } + + [[nodiscard]] const SimpleSettings &get_simple() const { + return simple_; + } + + void set_simple(const SimpleSettings &value) { + simple_ = value; + } + +private: + bool enable_; + std::string mode_; + RainfallSettings rainfall_; + SimpleSettings simple_; +}; + +namespace YAML { +// Convert specialization for RainfallSettings +template <> +struct YAML::convert { + static Node encode(const RainfallSettings &rhs) { + Node node; + node["filename"] = rhs.get_filename(); + node["period"] = static_cast(rhs.get_period().count()); // Storing period as an int (days) + return node; + } + + static bool decode(const Node &node, RainfallSettings &rhs) { + if (!node["filename"] || !node["period"]) { + throw std::runtime_error("Missing fields in RainfallSettings"); + } + rhs.set_filename(node["filename"].as()); + rhs.set_period(date::days(node["period"].as())); + return true; + } +}; + +// Convert specialization for SimpleSettings +template <> +struct YAML::convert { + static Node encode(const SimpleSettings &rhs) { + Node node; + node["a"] = rhs.get_a(); + node["phi"] = rhs.get_phi(); + node["min_value"] = rhs.get_min_value(); + node["period"] = static_cast(rhs.get_period().count()); + return node; + } + + static bool decode(const Node &node, SimpleSettings &rhs) { + if (!node["a"] || !node["phi"] || !node["min_value"] || !node["period"]) { + throw std::runtime_error("Missing fields in SimpleSettings"); + } + rhs.set_a(node["a"].as>()); + rhs.set_phi(node["phi"].as>()); + rhs.set_min_value(node["min_value"].as>()); + rhs.set_period(date::days(node["period"].as())); + return true; + } +}; + +// Convert specialization for SeasonalitySettings +template <> +struct YAML::convert { + static Node encode(const SeasonalitySettings &rhs) { + Node node; + node["enable"] = rhs.get_enable(); + node["mode"] = rhs.get_mode(); + node["rainfall"] = rhs.get_rainfall(); + node["simple"] = rhs.get_simple(); + return node; + } + + static bool decode(const Node &node, SeasonalitySettings &rhs) { + if (!node["enable"] || !node["mode"] || !node["rainfall"] || !node["simple"]) { + throw std::runtime_error("Missing fields in SeasonalitySettings"); + } + + rhs.set_enable(node["enable"].as()); + rhs.set_mode(node["mode"].as()); + rhs.set_rainfall(node["rainfall"].as()); + rhs.set_simple(node["simple"].as()); + return true; + } +}; +} +#endif // SEASONALITYSETTINGS_H diff --git a/src/Configuration/SimulationTimeFrame.h b/src/Configuration/SimulationTimeFrame.h new file mode 100644 index 0000000..5764a82 --- /dev/null +++ b/src/Configuration/SimulationTimeFrame.h @@ -0,0 +1,108 @@ +#include +#include +#include +#include + +// Class to hold the simulation timeframe data +class SimulationTimeframe { +public: + // Getters and Setters for starting_date + [[nodiscard]] const date::year_month_day &get_starting_date() const { + return starting_date_; + } + + void set_starting_date(const date::year_month_day &value) { + starting_date_ = value; + } + + // Getters and Setters for start_of_comparison_period + [[nodiscard]] const date::year_month_day &get_start_of_comparison_period() const { + return start_of_comparison_period_; + } + + void set_start_of_comparison_period(const date::year_month_day &value) { + if (value < starting_date_) { + throw std::invalid_argument("start_of_comparison_period cannot be before starting_date"); + } + start_of_comparison_period_ = value; + } + + // Getters and Setters for ending_date + [[nodiscard]] const date::year_month_day &get_ending_date() const { + return ending_date_; + } + + void set_ending_date(const date::year_month_day &value) { + if (value < start_of_comparison_period_) { + throw std::invalid_argument("ending_date cannot be before start_of_comparison_period"); + } + ending_date_ = value; + } + + // Getters and Setters for start_collect_data_day + [[nodiscard]] int get_start_collect_data_day() const { + return start_collect_data_day_; + } + + void set_start_collect_data_day(int value) { + if (value < 0) { + throw std::invalid_argument("start_collect_data_day must be non-negative"); + } + start_collect_data_day_ = value; + } + +private: + date::year_month_day starting_date_; + date::year_month_day start_of_comparison_period_; + date::year_month_day ending_date_; + int start_collect_data_day_; +}; + +// Helper function to parse a date in "YYYY/MM/DD" format using Howard Hinnant's date library +date::year_month_day parseDate(const std::string& date_str) { + std::istringstream in{date_str}; + date::year_month_day ymd; + in >> date::parse("%Y/%m/%d", ymd); + if (in.fail()) { + throw std::runtime_error("Failed to parse date: " + date_str); + } + return ymd; +} + +// Specialization of YAML::convert for the SimulationTimeframe class +namespace YAML { +template <> +struct convert { + static Node encode(const SimulationTimeframe &rhs) { + Node node; + node["starting_date"] = date::format("%Y/%m/%d", rhs.get_starting_date()); + node["start_of_comparison_period"] = date::format("%Y/%m/%d", rhs.get_start_of_comparison_period()); + node["ending_date"] = date::format("%Y/%m/%d", rhs.get_ending_date()); + node["start_collect_data_day"] = rhs.get_start_collect_data_day(); + return node; + } + + static bool decode(const Node &node, SimulationTimeframe &rhs) { + if (!node["starting_date"]) { + throw std::runtime_error("Missing 'starting_date' field."); + } + if (!node["start_of_comparison_period"]) { + throw std::runtime_error("Missing 'start_of_comparison_period' field."); + } + if (!node["ending_date"]) { + throw std::runtime_error("Missing 'ending_date' field."); + } + if (!node["start_collect_data_day"]) { + throw std::runtime_error("Missing 'start_collect_data_day' field."); + } + + // Parsing and assigning the values + rhs.set_starting_date(parseDate(node["starting_date"].as())); + rhs.set_start_of_comparison_period(parseDate(node["start_of_comparison_period"].as())); + rhs.set_ending_date(parseDate(node["ending_date"].as())); + rhs.set_start_collect_data_day(node["start_collect_data_day"].as()); + + return true; + } +}; +} diff --git a/src/Configuration/SpatialSettings.h b/src/Configuration/SpatialSettings.h new file mode 100644 index 0000000..d1ec7bd --- /dev/null +++ b/src/Configuration/SpatialSettings.h @@ -0,0 +1,364 @@ +#ifndef SPATIALSETTINGS_H +#define SPATIALSETTINGS_H +#include +#include +#include +#include +#include +#include "SpatialSettings.h" +#include + +// Class for GridBased settings +class GridBased { +public: + // Getters and Setters for population_raster + [[nodiscard]] const std::string &get_population_raster() const { + return population_raster_; + } + void set_population_raster(const std::string &value) { + population_raster_ = value; + } + + // Getters and Setters for district_raster + [[nodiscard]] const std::string &get_district_raster() const { + return district_raster_; + } + void set_district_raster(const std::string &value) { + district_raster_ = value; + } + + // Getters and Setters for p_treatment_under_5_raster + [[nodiscard]] const std::string &get_p_treatment_under_5_raster() const { + return p_treatment_under_5_raster_; + } + void set_p_treatment_under_5_raster(const std::string &value) { + p_treatment_under_5_raster_ = value; + } + + // Getters and Setters for p_treatment_over_5_raster + [[nodiscard]] const std::string &get_p_treatment_over_5_raster() const { + return p_treatment_over_5_raster_; + } + void set_p_treatment_over_5_raster(const std::string &value) { + p_treatment_over_5_raster_ = value; + } + + // Getters and Setters for p_treatment_under_5_by_location + [[nodiscard]] const std::vector &get_p_treatment_under_5_by_location() const { + return p_treatment_under_5_by_location_; + } + void set_p_treatment_under_5_by_location(const std::vector &value) { + p_treatment_under_5_by_location_ = value; + } + + // Getters and Setters for p_treatment_over_5_by_location + [[nodiscard]] const std::vector &get_p_treatment_over_5_by_location() const { + return p_treatment_over_5_by_location_; + } + void set_p_treatment_over_5_by_location(const std::vector &value) { + p_treatment_over_5_by_location_ = value; + } + + // Getters and Setters for beta_raster + [[nodiscard]] const std::string &get_beta_raster() const { + return beta_raster_; + } + void set_beta_raster(const std::string &value) { + beta_raster_ = value; + } + + // Getters and Setters for beta_by_location + [[nodiscard]] const std::vector &get_beta_by_location() const { + return beta_by_location_; + } + void set_beta_by_location(const std::vector &value) { + beta_by_location_ = value; + } + + // Getters and Setters for cell_size + [[nodiscard]] double get_cell_size() const { + return cell_size_; + } + void set_cell_size(double value) { + if (value <= 0) + throw std::invalid_argument("cell_size must be greater than 0"); + cell_size_ = value; + } + + // Getters and Setters for age_distribution_by_location + [[nodiscard]] const std::vector> &get_age_distribution_by_location() const { + return age_distribution_by_location_; + } + void set_age_distribution_by_location(const std::vector> &value) { + age_distribution_by_location_ = value; + } + +private: + std::string population_raster_; + std::string district_raster_; + std::string p_treatment_under_5_raster_; + std::string p_treatment_over_5_raster_; + std::vector p_treatment_under_5_by_location_; + std::vector p_treatment_over_5_by_location_; + std::string beta_raster_; + std::vector beta_by_location_; + double cell_size_; + std::vector> age_distribution_by_location_; +}; + +// Class for LocationInfo +class LocationInfo { +public: + // Getters and Setters for id + [[nodiscard]] int get_id() const { + return id_; + } + void set_id(int value) { + id_ = value; + } + + // Getters and Setters for latitude + [[nodiscard]] double get_latitude() const { + return latitude_; + } + void set_latitude(double value) { + latitude_ = value; + } + + // Getters and Setters for longitude + [[nodiscard]] double get_longitude() const { + return longitude_; + } + void set_longitude(double value) { + longitude_ = value; + } + +private: + int id_; + double latitude_; + double longitude_; +}; + +// Class for LocationBased settings +class LocationBased { +public: + // Getters and Setters for location_info + [[nodiscard]] const std::vector &get_location_info() const { + return location_info_; + } + void set_location_info(const std::vector &value) { + location_info_ = value; + } + + // Getters and Setters for age_distribution_by_location + [[nodiscard]] const std::vector> &get_age_distribution_by_location() const { + return age_distribution_by_location_; + } + void set_age_distribution_by_location(const std::vector> &value) { + age_distribution_by_location_ = value; + } + + // Getters and Setters for p_treatment_for_less_than_5_by_location + [[nodiscard]] const std::vector &get_p_treatment_for_less_than_5_by_location() const { + return p_treatment_for_less_than_5_by_location_; + } + void set_p_treatment_for_less_than_5_by_location(const std::vector &value) { + p_treatment_for_less_than_5_by_location_ = value; + } + + // Getters and Setters for p_treatment_for_more_than_5_by_location + [[nodiscard]] const std::vector &get_p_treatment_for_more_than_5_by_location() const { + return p_treatment_for_more_than_5_by_location_; + } + void set_p_treatment_for_more_than_5_by_location(const std::vector &value) { + p_treatment_for_more_than_5_by_location_ = value; + } + + // Getters and Setters for beta_by_location + [[nodiscard]] const std::vector &get_beta_by_location() const { + return beta_by_location_; + } + void set_beta_by_location(const std::vector &value) { + beta_by_location_ = value; + } + + // Getters and Setters for population_size_by_location + [[nodiscard]] const std::vector &get_population_size_by_location() const { + return population_size_by_location_; + } + void set_population_size_by_location(const std::vector &value) { + population_size_by_location_ = value; + } + +private: + std::vector location_info_; + std::vector> age_distribution_by_location_; + std::vector p_treatment_for_less_than_5_by_location_; + std::vector p_treatment_for_more_than_5_by_location_; + std::vector beta_by_location_; + std::vector population_size_by_location_; +}; + +// Class for SpatialSettings +class SpatialSettings { +public: + // Getters and Setters for mode + [[nodiscard]] const std::string &get_mode() const { + return mode_; + } + void set_mode(const std::string &value) { + mode_ = value; + } + + // Getters and Setters for grid_based + [[nodiscard]] const GridBased &get_grid_based() const { + return grid_based_; + } + void set_grid_based(const GridBased &value) { + grid_based_ = value; + } + + // Getters and Setters for location_based + [[nodiscard]] const LocationBased &get_location_based() const { + return location_based_; + } + void set_location_based(const LocationBased &value) { + location_based_ = value; + } + +private: + std::string mode_; // "grid_based" or "location_based" + GridBased grid_based_; + LocationBased location_based_; +}; + +namespace YAML { +// Conversion for GridBased class +template <> +struct YAML::convert { + static Node encode(const GridBased &rhs) { + Node node; + node["population_raster"] = rhs.get_population_raster(); + node["district_raster"] = rhs.get_district_raster(); + node["p_treatment_under_5_raster"] = rhs.get_p_treatment_under_5_raster(); + node["p_treatment_over_5_raster"] = rhs.get_p_treatment_over_5_raster(); + node["p_treatment_under_5_by_location"] = rhs.get_p_treatment_under_5_by_location(); + node["p_treatment_over_5_by_location"] = rhs.get_p_treatment_over_5_by_location(); + node["beta_raster"] = rhs.get_beta_raster(); + node["beta_by_location"] = rhs.get_beta_by_location(); + node["cell_size"] = rhs.get_cell_size(); + node["age_distribution_by_location"] = rhs.get_age_distribution_by_location(); + return node; + } + + static bool decode(const Node &node, GridBased &rhs) { + if (!node["population_raster"] || !node["district_raster"] || !node["p_treatment_under_5_raster"] || + !node["p_treatment_over_5_raster"] || !node["beta_raster"] || !node["cell_size"]) { + throw std::runtime_error("Missing required fields in grid-based settings."); + } + + rhs.set_population_raster(node["population_raster"].as()); + rhs.set_district_raster(node["district_raster"].as()); + rhs.set_p_treatment_under_5_raster(node["p_treatment_under_5_raster"].as()); + rhs.set_p_treatment_over_5_raster(node["p_treatment_over_5_raster"].as()); + rhs.set_p_treatment_under_5_by_location(node["p_treatment_under_5_by_location"].as>()); + rhs.set_p_treatment_over_5_by_location(node["p_treatment_over_5_by_location"].as>()); + rhs.set_beta_raster(node["beta_raster"].as()); + rhs.set_beta_by_location(node["beta_by_location"].as>()); + rhs.set_cell_size(node["cell_size"].as()); + rhs.set_age_distribution_by_location(node["age_distribution_by_location"].as>>()); + return true; + } +}; + +// Conversion for LocationInfo class +template <> +struct YAML::convert { + static Node encode(const LocationInfo &rhs) { + Node node; + node.push_back(rhs.get_id()); + node.push_back(rhs.get_latitude()); + node.push_back(rhs.get_longitude()); + return node; + } + + static bool decode(const Node &node, LocationInfo &rhs) { + if (!node.IsSequence() || node.size() != 3) { + throw std::runtime_error("Invalid location info."); + } + rhs.set_id(node[0].as()); + rhs.set_latitude(node[1].as()); + rhs.set_longitude(node[2].as()); + return true; + } +}; + +// Conversion for LocationBased class +template <> +struct YAML::convert { + static Node encode(const LocationBased &rhs) { + Node node; + node["location_info"] = rhs.get_location_info(); + node["age_distribution_by_location"] = rhs.get_age_distribution_by_location(); + node["p_treatment_for_less_than_5_by_location"] = rhs.get_p_treatment_for_less_than_5_by_location(); + node["p_treatment_for_more_than_5_by_location"] = rhs.get_p_treatment_for_more_than_5_by_location(); + node["beta_by_location"] = rhs.get_beta_by_location(); + node["population_size_by_location"] = rhs.get_population_size_by_location(); + return node; + } + + static bool decode(const Node &node, LocationBased &rhs) { + if (!node["location_info"] || !node["age_distribution_by_location"] || + !node["p_treatment_for_less_than_5_by_location"] || !node["p_treatment_for_more_than_5_by_location"] || + !node["beta_by_location"] || !node["population_size_by_location"]) { + throw std::runtime_error("Missing required fields in location-based settings."); + } + + rhs.set_location_info(node["location_info"].as>()); + rhs.set_age_distribution_by_location(node["age_distribution_by_location"].as>>()); + rhs.set_p_treatment_for_less_than_5_by_location(node["p_treatment_for_less_than_5_by_location"].as>()); + rhs.set_p_treatment_for_more_than_5_by_location(node["p_treatment_for_more_than_5_by_location"].as>()); + rhs.set_beta_by_location(node["beta_by_location"].as>()); + rhs.set_population_size_by_location(node["population_size_by_location"].as>()); + return true; + } +}; + +// Conversion for SpatialSettings class +template <> +struct YAML::convert { + static Node encode(const SpatialSettings &rhs) { + Node node; + node["mode"] = rhs.get_mode(); + node["grid_based"] = rhs.get_grid_based(); + node["location_based"] = rhs.get_location_based(); + return node; + } + + static bool decode(const Node &node, SpatialSettings &rhs) { + if (!node["mode"]) { + throw std::runtime_error("Missing 'mode' field."); + } + + rhs.set_mode(node["mode"].as()); + + if (rhs.get_mode() == "grid_based") { + if (!node["grid_based"]) { + throw std::runtime_error("Missing 'grid_based' settings."); + } + rhs.set_grid_based(node["grid_based"].as()); + } else if (rhs.get_mode() == "location_based") { + if (!node["location_based"]) { + throw std::runtime_error("Missing 'location_based' settings."); + } + rhs.set_location_based(node["location_based"].as()); + } else { + throw std::runtime_error("Unknown mode in 'spatial_settings'."); + } + + return true; + } +}; +} + +#endif //SPATIALSETTINGS_H diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index f86e6c9..845cdbd 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -17,6 +17,13 @@ file(GLOB_RECURSE MALASIM_TEST_SOURCES # Add test executable add_executable(runTests ${MALASIM_TEST_SOURCES} + Configuration/yaml_simulation_timeframe_conversion_test.cpp + Configuration/yaml_spatial_settings_conversion_test.cpp + Configuration/yaml_seasonality_settings_conversion_test.cpp + Configuration/yaml_movement_settings_conversion_test.cpp + Configuration/yaml_parasite_parameters_conversion_test.cpp + Configuration/yaml_immune_system_parameters_conversion_test.cpp + Configuration/yaml_epidemiological_parameters_conversion_test.cpp ) add_dependencies(runTests MalaSimCore) diff --git a/tests/Configuration/yaml_epidemiological_parameters_conversion_test.cpp b/tests/Configuration/yaml_epidemiological_parameters_conversion_test.cpp new file mode 100644 index 0000000..0aff590 --- /dev/null +++ b/tests/Configuration/yaml_epidemiological_parameters_conversion_test.cpp @@ -0,0 +1,119 @@ +#include +#include +#include "Configuration/EpidemiologicalParameters.h" + +class EpidemiologicalParametersYAMLTest : public ::testing::Test { +protected: + EpidemiologicalParameters epi_parameters; + + void SetUp() override { + // Initialize GammaDistribution + BitingLevelDistributionGamma gamma; + gamma.set_mean(5.0); + gamma.set_sd(1.5); + + // Initialize BitingLevelDistribution + BitingLevelDistribution biting_level; + biting_level.set_distribution("gamma"); + biting_level.set_gamma(gamma); + + // Initialize RelativeBitingInfo + RelativeBitingInfo biting_info; + biting_info.set_max_relative_biting_value(10); + biting_info.set_min_relative_biting_value(0.5); + biting_info.set_number_of_biting_levels(3); + biting_info.set_biting_level_distribution(biting_level); + + // Initialize RelativeInfectivity + RelativeInfectivity infectivity; + infectivity.set_sigma(1.2); + infectivity.set_ro(0.8); + infectivity.set_blood_meal_volume(2.0); + + // Set values in EpidemiologicalParameters + epi_parameters.set_number_of_tracking_days(365); + epi_parameters.set_days_to_clinical_under_five(7); + epi_parameters.set_days_to_clinical_over_five(14); + epi_parameters.set_days_mature_gametocyte_under_five(10); + epi_parameters.set_days_mature_gametocyte_over_five(15); + epi_parameters.set_p_compliance(0.9); + epi_parameters.set_min_dosing_days(3); + epi_parameters.set_relative_biting_info(biting_info); + epi_parameters.set_gametocyte_level_under_artemisinin_action(0.3); + epi_parameters.set_gametocyte_level_full(1.0); + epi_parameters.set_relative_infectivity(infectivity); + epi_parameters.set_p_relapse(0.2); + epi_parameters.set_relapse_duration(180); + epi_parameters.set_relapse_rate(0.05); + epi_parameters.set_update_frequency(30); + epi_parameters.set_allow_new_coinfection_to_cause_symptoms(true); + epi_parameters.set_tf_window_size(10); + epi_parameters.set_fraction_mosquitoes_interrupted_feeding(0.1); + epi_parameters.set_inflation_factor(1.5); + } +}; + +// Test encoding functionality for EpidemiologicalParameters +TEST_F(EpidemiologicalParametersYAMLTest, EncodeEpidemiologicalParameters) { + YAML::Node node = YAML::convert::encode(epi_parameters); + + // Validate encoding + EXPECT_EQ(node["number_of_tracking_days"].as(), 365); + EXPECT_EQ(node["days_to_clinical_under_five"].as(), 7); + EXPECT_EQ(node["days_to_clinical_over_five"].as(), 14); + EXPECT_EQ(node["p_compliance"].as(), 0.9); + EXPECT_EQ(node["min_dosing_days"].as(), 3); + EXPECT_EQ(node["relative_biting_info"]["max_relative_biting_value"].as(), 10); + EXPECT_EQ(node["relative_infectivity"]["sigma"].as(), 1.2); + EXPECT_EQ(node["p_relapse"].as(), 0.2); +} + +// Test decoding functionality for EpidemiologicalParameters +TEST_F(EpidemiologicalParametersYAMLTest, DecodeEpidemiologicalParameters) { + YAML::Node node; + node["number_of_tracking_days"] = 365; + node["days_to_clinical_under_five"] = 7; + node["days_to_clinical_over_five"] = 14; + node["days_mature_gametocyte_under_five"] = 10; + node["days_mature_gametocyte_over_five"] = 15; + node["p_compliance"] = 0.9; + node["min_dosing_days"] = 3; + node["relative_biting_info"]["max_relative_biting_value"] = 10; + node["relative_biting_info"]["min_relative_biting_value"] = 0.5; + node["relative_biting_info"]["number_of_biting_levels"] = 3; + node["relative_biting_info"]["biting_level_distribution"]["distribution"] = "gamma"; + node["relative_biting_info"]["biting_level_distribution"]["gamma"]["mean"] = 5.0; + node["relative_biting_info"]["biting_level_distribution"]["gamma"]["sd"] = 1.5; + node["gametocyte_level_under_artemisinin_action"] = 1.0; + node["gametocyte_level_full"] = 1.0; + node["relative_infectivity"]["sigma"] = 1.2; + node["relative_infectivity"]["ro"] = 0.8; + node["relative_infectivity"]["blood_meal_volume"] = 2.0; + node["p_relapse"] = 0.2; + node["relapse_duration"] = 180; + node["relapse_rate"] = 0.05; + node["update_frequency"] = 30; + node["allow_new_coinfection_to_cause_symptoms"] = true; + node["tf_window_size"] = 10; + node["fraction_mosquitoes_interrupted_feeding"] = 0.1; + node["inflation_factor"] = 0.01; + + EpidemiologicalParameters decoded_parameters; + EXPECT_NO_THROW(YAML::convert::decode(node, decoded_parameters)); + + // Validate decoding + EXPECT_EQ(decoded_parameters.get_number_of_tracking_days(), 365); + EXPECT_EQ(decoded_parameters.get_days_to_clinical_under_five(), 7); + EXPECT_EQ(decoded_parameters.get_p_compliance(), 0.9); + EXPECT_EQ(decoded_parameters.get_relative_biting_info().get_max_relative_biting_value(), 10); + EXPECT_EQ(decoded_parameters.get_relative_infectivity().get_sigma(), 1.2); +} + +// Test for decoding with missing fields +TEST_F(EpidemiologicalParametersYAMLTest, DecodeEpidemiologicalParametersMissingField) { + YAML::Node node; + node["number_of_tracking_days"] = 365; // Missing other fields + + EpidemiologicalParameters decoded_parameters; + EXPECT_THROW(YAML::convert::decode(node, decoded_parameters), std::runtime_error); +} diff --git a/tests/Configuration/yaml_immune_system_parameters_conversion_test.cpp b/tests/Configuration/yaml_immune_system_parameters_conversion_test.cpp new file mode 100644 index 0000000..274b065 --- /dev/null +++ b/tests/Configuration/yaml_immune_system_parameters_conversion_test.cpp @@ -0,0 +1,89 @@ +#include +#include +#include "Configuration/ImmuneSystemParameters.h" + +class ImmuneSystemParametersYAMLTest : public ::testing::Test { +protected: + ImmuneSystemParameters immune_parameters; + + void SetUp() override { + immune_parameters.set_b1(0.1); + immune_parameters.set_b2(0.2); + immune_parameters.set_duration_for_naive(30); + immune_parameters.set_duration_for_fully_immune(120); + immune_parameters.set_mean_initial_condition(0.5); + immune_parameters.set_sd_initial_condition(0.05); + immune_parameters.set_immune_inflation_rate(1.1); + immune_parameters.set_min_clinical_probability(0.01); + immune_parameters.set_max_clinical_probability(0.9); + immune_parameters.set_immune_effect_on_progression_to_clinical(0.4); + immune_parameters.set_age_mature_immunity(10); + immune_parameters.set_factor_effect_age_mature_immunity(0.7); + immune_parameters.set_midpoint(0.3); + } +}; + +// Test encoding functionality for ImmuneSystemParameters +TEST_F(ImmuneSystemParametersYAMLTest, EncodeImmuneSystemParameters) { + YAML::Node node = YAML::convert::encode(immune_parameters); + + // Validate encoding + EXPECT_EQ(node["b1"].as(), 0.1); + EXPECT_EQ(node["b2"].as(), 0.2); + EXPECT_EQ(node["duration_for_naive"].as(), 30); + EXPECT_EQ(node["duration_for_fully_immune"].as(), 120); + EXPECT_EQ(node["mean_initial_condition"].as(), 0.5); + EXPECT_EQ(node["sd_initial_condition"].as(), 0.05); + EXPECT_EQ(node["immune_inflation_rate"].as(), 1.1); + EXPECT_EQ(node["min_clinical_probability"].as(), 0.01); + EXPECT_EQ(node["max_clinical_probability"].as(), 0.9); + EXPECT_EQ(node["immune_effect_on_progression_to_clinical"].as(), 0.4); + EXPECT_EQ(node["age_mature_immunity"].as(), 10); + EXPECT_EQ(node["factor_effect_age_mature_immunity"].as(), 0.7); + EXPECT_EQ(node["midpoint"].as(), 0.3); +} + +// Test decoding functionality for ImmuneSystemParameters +TEST_F(ImmuneSystemParametersYAMLTest, DecodeImmuneSystemParameters) { + YAML::Node node; + node["b1"] = 0.1; + node["b2"] = 0.2; + node["duration_for_naive"] = 30; + node["duration_for_fully_immune"] = 120; + node["mean_initial_condition"] = 0.5; + node["sd_initial_condition"] = 0.05; + node["immune_inflation_rate"] = 1.1; + node["min_clinical_probability"] = 0.01; + node["max_clinical_probability"] = 0.9; + node["immune_effect_on_progression_to_clinical"] = 0.4; + node["age_mature_immunity"] = 10; + node["factor_effect_age_mature_immunity"] = 0.7; + node["midpoint"] = 0.3; + + ImmuneSystemParameters decoded_parameters; + EXPECT_NO_THROW(YAML::convert::decode(node, decoded_parameters)); + + // Validate decoding + EXPECT_EQ(decoded_parameters.get_b1(), 0.1); + EXPECT_EQ(decoded_parameters.get_b2(), 0.2); + EXPECT_EQ(decoded_parameters.get_duration_for_naive(), 30); + EXPECT_EQ(decoded_parameters.get_duration_for_fully_immune(), 120); + EXPECT_EQ(decoded_parameters.get_mean_initial_condition(), 0.5); + EXPECT_EQ(decoded_parameters.get_sd_initial_condition(), 0.05); + EXPECT_EQ(decoded_parameters.get_immune_inflation_rate(), 1.1); + EXPECT_EQ(decoded_parameters.get_min_clinical_probability(), 0.01); + EXPECT_EQ(decoded_parameters.get_max_clinical_probability(), 0.9); + EXPECT_EQ(decoded_parameters.get_immune_effect_on_progression_to_clinical(), 0.4); + EXPECT_EQ(decoded_parameters.get_age_mature_immunity(), 10); + EXPECT_EQ(decoded_parameters.get_factor_effect_age_mature_immunity(), 0.7); + EXPECT_EQ(decoded_parameters.get_midpoint(), 0.3); +} + +// Test for decoding with missing fields +TEST_F(ImmuneSystemParametersYAMLTest, DecodeImmuneSystemParametersMissingField) { + YAML::Node node; + node["b1"] = 0.1; // Missing other fields + + ImmuneSystemParameters decoded_parameters; + EXPECT_THROW(YAML::convert::decode(node, decoded_parameters), std::runtime_error); +} diff --git a/tests/Configuration/yaml_movement_settings_conversion_test.cpp b/tests/Configuration/yaml_movement_settings_conversion_test.cpp new file mode 100644 index 0000000..de7dd20 --- /dev/null +++ b/tests/Configuration/yaml_movement_settings_conversion_test.cpp @@ -0,0 +1,100 @@ +#include +#include +#include "Configuration/MovementSettings.h" + +class MovementSettingsTest : public ::testing::Test { +protected: + MovementSettings movement_settings; + + void SetUp() override { + // Initialize the movement settings object + BarabasiSettings barabasi; + barabasi.set_r_g_0(1.0); + barabasi.set_beta_r(0.5); + barabasi.set_kappa(3); + + WesolowskiSettings wesolowski; + wesolowski.set_kappa(2.0); + wesolowski.set_alpha(0.1); + wesolowski.set_beta(0.2); + wesolowski.set_gamma(0.3); + + SpatialModel spatial_model; + spatial_model.set_name("TestModel"); + spatial_model.set_barabasi(barabasi); + spatial_model.set_wesolowski(wesolowski); + + MovingLevelDistributionGamma gamma; + gamma.set_mean(5.0); + gamma.set_sd(2.0); + + MovingLevelDistribution moving_level_dist; + moving_level_dist.set_distribution("gamma"); + moving_level_dist.set_gamma(gamma); + + CirculationInfo circulation_info; + circulation_info.set_max_relative_moving_value(10); + circulation_info.set_number_of_moving_levels(3); + circulation_info.set_moving_level_distribution(moving_level_dist); + circulation_info.set_circulation_percent(50.0); + circulation_info.set_length_of_stay(gamma); + + movement_settings.set_spatial_model(spatial_model); + movement_settings.set_circulation_info(circulation_info); + } +}; + +// Test for encoding MovementSettings +TEST_F(MovementSettingsTest, EncodeMovementSettings) { + YAML::Node node = YAML::convert::encode(movement_settings); + + // Check if spatial_model fields are encoded correctly + EXPECT_EQ(node["spatial_model"]["name"].as(), "TestModel"); + EXPECT_EQ(node["spatial_model"]["barabasi"]["r_g_0"].as(), 1.0); + EXPECT_EQ(node["spatial_model"]["wesolowski"]["kappa"].as(), 2.0); + + // Check if circulation_info fields are encoded correctly + EXPECT_EQ(node["circulation_info"]["max_relative_moving_value"].as(), 10); + EXPECT_EQ(node["circulation_info"]["moving_level_distribution"]["distribution"].as(), "gamma"); + EXPECT_EQ(node["circulation_info"]["circulation_percent"].as(), 50.0); +} + +// Test for decoding MovementSettings +TEST_F(MovementSettingsTest, DecodeMovementSettings) { + YAML::Node node; + node["spatial_model"]["name"] = "TestModel"; + node["spatial_model"]["barabasi"]["r_g_0"] = 1.0; + node["spatial_model"]["barabasi"]["beta_r"] = 0.5; + node["spatial_model"]["barabasi"]["kappa"] = 3; + node["spatial_model"]["wesolowski"]["kappa"] = 2.0; + node["spatial_model"]["wesolowski"]["alpha"] = 0.1; + node["spatial_model"]["wesolowski"]["beta"] = 0.2; + node["spatial_model"]["wesolowski"]["gamma"] = 0.3; + node["circulation_info"]["max_relative_moving_value"] = 10; + node["circulation_info"]["number_of_moving_levels"] = 3; + node["circulation_info"]["moving_level_distribution"]["distribution"] = "gamma"; + node["circulation_info"]["moving_level_distribution"]["gamma"]["mean"] = 5.0; + node["circulation_info"]["moving_level_distribution"]["gamma"]["sd"] = 2.0; + node["circulation_info"]["circulation_percent"] = 50.0; + node["circulation_info"]["length_of_stay"]["mean"] = 5.0; + node["circulation_info"]["length_of_stay"]["sd"] = 2.0; + + MovementSettings decoded_settings; + EXPECT_NO_THROW(YAML::convert::decode(node, decoded_settings)); + + EXPECT_EQ(decoded_settings.get_spatial_model().get_name(), "TestModel"); + EXPECT_EQ(decoded_settings.get_spatial_model().get_barabasi().get_r_g_0(), 1.0); + EXPECT_EQ(decoded_settings.get_spatial_model().get_wesolowski().get_kappa(), 2.0); + EXPECT_EQ(decoded_settings.get_circulation_info().get_max_relative_moving_value(), 10); + EXPECT_EQ(decoded_settings.get_circulation_info().get_circulation_percent(), 50.0); +} + +// Test for decoding with missing fields +TEST_F(MovementSettingsTest, DecodeMovementSettingsMissingField) { + YAML::Node node; + node["spatial_model"]["name"] = "TestModel"; + node["circulation_info"]["circulation_percent"] = 50.0; // Missing most fields + + MovementSettings decoded_settings; + EXPECT_THROW(YAML::convert::decode(node, decoded_settings), std::runtime_error); +} diff --git a/tests/Configuration/yaml_parasite_parameters_conversion_test.cpp b/tests/Configuration/yaml_parasite_parameters_conversion_test.cpp new file mode 100644 index 0000000..f92ddcb --- /dev/null +++ b/tests/Configuration/yaml_parasite_parameters_conversion_test.cpp @@ -0,0 +1,85 @@ +#include +#include +#include "Configuration/ParasiteParameters.h" + +class ParasiteParametersYAMLTest : public ::testing::Test { +protected: + ParasiteParameters parasite_parameters; + + void SetUp() override { + // Initialize ParasiteDensityLevels + ParasiteDensityLevels density_levels; + density_levels.set_log_parasite_density_cured(1.1); + density_levels.set_log_parasite_density_from_liver(2.2); + density_levels.set_log_parasite_density_asymptomatic(3.3); + density_levels.set_log_parasite_density_clinical(4.4); + density_levels.set_log_parasite_density_clinical_from(5.5); + density_levels.set_log_parasite_density_clinical_to(6.6); + density_levels.set_log_parasite_density_detectable(7.7); + density_levels.set_log_parasite_density_detectable_pfpr(8.8); + density_levels.set_log_parasite_density_pyrogenic(9.9); + + // Initialize RecombinationParameters + RecombinationParameters recombination; + recombination.set_within_chromosome_recombination_rate(0.1); + recombination.set_using_free_recombination(true); + + // Set values in ParasiteParameters + parasite_parameters.set_parasite_density_levels(density_levels); + parasite_parameters.set_recombination_parameters(recombination); + } +}; + +// Test encoding functionality for ParasiteParameters +TEST_F(ParasiteParametersYAMLTest, EncodeParasiteParameters) { + YAML::Node node = YAML::convert::encode(parasite_parameters); + + // Validate ParasiteDensityLevels encoding + EXPECT_EQ(node["parasite_density_levels"]["log_parasite_density_cured"].as(), 1.1); + EXPECT_EQ(node["parasite_density_levels"]["log_parasite_density_from_liver"].as(), 2.2); + EXPECT_EQ(node["parasite_density_levels"]["log_parasite_density_asymptomatic"].as(), 3.3); + EXPECT_EQ(node["parasite_density_levels"]["log_parasite_density_clinical"].as(), 4.4); + + // Validate RecombinationParameters encoding + EXPECT_EQ(node["recombination_parameters"]["within_chromosome_recombination_rate"].as(), 0.1); + EXPECT_EQ(node["recombination_parameters"]["using_free_recombination"].as(), true); +} + +// Test decoding functionality for ParasiteParameters +TEST_F(ParasiteParametersYAMLTest, DecodeParasiteParameters) { + YAML::Node node; + node["parasite_density_levels"]["log_parasite_density_cured"] = 1.1; + node["parasite_density_levels"]["log_parasite_density_from_liver"] = 2.2; + node["parasite_density_levels"]["log_parasite_density_asymptomatic"] = 3.3; + node["parasite_density_levels"]["log_parasite_density_clinical"] = 4.4; + node["parasite_density_levels"]["log_parasite_density_clinical_from"] = 5.5; + node["parasite_density_levels"]["log_parasite_density_clinical_to"] = 6.6; + node["parasite_density_levels"]["log_parasite_density_detectable"] = 7.7; + node["parasite_density_levels"]["log_parasite_density_detectable_pfpr"] = 8.8; + node["parasite_density_levels"]["log_parasite_density_pyrogenic"] = 9.9; + + node["recombination_parameters"]["within_chromosome_recombination_rate"] = 0.1; + node["recombination_parameters"]["using_free_recombination"] = true; + + ParasiteParameters decoded_parameters; + EXPECT_NO_THROW(YAML::convert::decode(node, decoded_parameters)); + + // Validate ParasiteDensityLevels decoding + EXPECT_EQ(decoded_parameters.get_parasite_density_levels().get_log_parasite_density_cured(), 1.1); + EXPECT_EQ(decoded_parameters.get_parasite_density_levels().get_log_parasite_density_from_liver(), 2.2); + EXPECT_EQ(decoded_parameters.get_parasite_density_levels().get_log_parasite_density_asymptomatic(), 3.3); + EXPECT_EQ(decoded_parameters.get_parasite_density_levels().get_log_parasite_density_clinical(), 4.4); + + // Validate RecombinationParameters decoding + EXPECT_EQ(decoded_parameters.get_recombination_parameters().get_within_chromosome_recombination_rate(), 0.1); + EXPECT_EQ(decoded_parameters.get_recombination_parameters().get_using_free_recombination(), true); +} + +// Test for decoding with missing fields +TEST_F(ParasiteParametersYAMLTest, DecodeParasiteParametersMissingField) { + YAML::Node node; + node["parasite_density_levels"]["log_parasite_density_cured"] = 1.1; // Missing other fields + + ParasiteParameters decoded_parameters; + EXPECT_THROW(YAML::convert::decode(node, decoded_parameters), std::runtime_error); +} diff --git a/tests/Configuration/yaml_seasonality_settings_conversion_test.cpp b/tests/Configuration/yaml_seasonality_settings_conversion_test.cpp new file mode 100644 index 0000000..dcc2731 --- /dev/null +++ b/tests/Configuration/yaml_seasonality_settings_conversion_test.cpp @@ -0,0 +1,89 @@ +#include +#include +#include "Configuration/SeasonalitySettings.h" + +class SeasonalitySettingsTest : public ::testing::Test { +protected: + SeasonalitySettings default_settings; + + void SetUp() override { + // Initialize default SeasonalitySettings object using setters + RainfallSettings rainfall; + rainfall.set_filename("test.csv"); + rainfall.set_period(date::days{365}); + + SimpleSettings simple; + simple.set_a({1.0}); + simple.set_phi({250}); + simple.set_min_value({0.1}); + simple.set_period(date::days{365}); + + default_settings.set_enable(true); + default_settings.set_mode("rainfall"); + default_settings.set_rainfall(rainfall); + default_settings.set_simple(simple); + } +}; + +// Test encoding functionality +TEST_F(SeasonalitySettingsTest, EncodeSeasonalitySettings) { + YAML::Node node = YAML::convert::encode(default_settings); + + EXPECT_EQ(node["enable"].as(), default_settings.get_enable()); + EXPECT_EQ(node["mode"].as(), default_settings.get_mode()); + + auto rainfall = default_settings.get_rainfall(); + EXPECT_EQ(node["rainfall"]["filename"].as(), rainfall.get_filename()); + EXPECT_EQ(node["rainfall"]["period"].as(), rainfall.get_period().count()); + + auto simple = default_settings.get_simple(); + EXPECT_EQ(node["simple"]["a"].as>(), simple.get_a()); + EXPECT_EQ(node["simple"]["phi"].as>(), simple.get_phi()); + EXPECT_EQ(node["simple"]["min_value"].as>(), simple.get_min_value()); + EXPECT_EQ(node["simple"]["period"].as(), simple.get_period().count()); +} + +// Test decoding functionality +TEST_F(SeasonalitySettingsTest, DecodeSeasonalitySettings) { + YAML::Node node; + node["enable"] = true; + node["mode"] = "rainfall"; + + YAML::Node rainfall_node; + rainfall_node["filename"] = "test.csv"; + rainfall_node["period"] = 365; + + YAML::Node simple_node; + simple_node["a"] = std::vector{1.0}; + simple_node["phi"] = std::vector{250}; + simple_node["min_value"] = std::vector{0.1}; + simple_node["period"] = 365; + + node["rainfall"] = rainfall_node; + node["simple"] = simple_node; + + SeasonalitySettings decoded_settings; + EXPECT_NO_THROW(YAML::convert::decode(node, decoded_settings)); + + EXPECT_EQ(decoded_settings.get_enable(), true); + EXPECT_EQ(decoded_settings.get_mode(), "rainfall"); + + auto decoded_rainfall = decoded_settings.get_rainfall(); + EXPECT_EQ(decoded_rainfall.get_filename(), "test.csv"); + EXPECT_EQ(decoded_rainfall.get_period().count(), 365); + + auto decoded_simple = decoded_settings.get_simple(); + EXPECT_EQ(decoded_simple.get_a(), std::vector{1.0}); + EXPECT_EQ(decoded_simple.get_phi(), std::vector{250}); + EXPECT_EQ(decoded_simple.get_min_value(), std::vector{0.1}); + EXPECT_EQ(decoded_simple.get_period().count(), 365); +} + +// Test missing fields during decoding +TEST_F(SeasonalitySettingsTest, DecodeSeasonalitySettingsMissingField) { + YAML::Node node; + node["enable"] = true; // Intentionally omit other fields + + SeasonalitySettings decoded_settings; + EXPECT_THROW(YAML::convert::decode(node, decoded_settings), std::runtime_error); +} diff --git a/tests/Configuration/yaml_simulation_timeframe_conversion_test.cpp b/tests/Configuration/yaml_simulation_timeframe_conversion_test.cpp new file mode 100644 index 0000000..df5f7c7 --- /dev/null +++ b/tests/Configuration/yaml_simulation_timeframe_conversion_test.cpp @@ -0,0 +1,70 @@ +#include +#include +#include +#include +#include "Configuration/SimulationTimeframe.h" + +// Test fixture class for SimulationTimeframe tests +class SimulationTimeframeTest : public ::testing::Test { +protected: + SimulationTimeframe default_timeframe; + + // Set up default values for the tests + void SetUp() override { + default_timeframe.set_starting_date(date::year_month_day{date::year{2000}, date::month{1}, date::day{1}}); + default_timeframe.set_start_of_comparison_period(date::year_month_day{date::year{2010}, date::month{1}, date::day{1}}); + default_timeframe.set_ending_date(date::year_month_day{date::year{2030}, date::month{1}, date::day{1}}); + default_timeframe.set_start_collect_data_day(0); + } +}; + +// Test encoding functionality +TEST_F(SimulationTimeframeTest, EncodeSimulationTimeframe) { + YAML::Node node = YAML::convert::encode(default_timeframe); + + EXPECT_EQ(node["starting_date"].as(), "2000/01/01"); + EXPECT_EQ(node["start_of_comparison_period"].as(), "2010/01/01"); + EXPECT_EQ(node["ending_date"].as(), "2030/01/01"); + EXPECT_EQ(node["start_collect_data_day"].as(), 0); +} + +// Test decoding functionality +TEST_F(SimulationTimeframeTest, DecodeSimulationTimeframe) { + YAML::Node node; + node["starting_date"] = "2000/01/01"; + node["start_of_comparison_period"] = "2010/01/01"; + node["ending_date"] = "2030/01/01"; + node["start_collect_data_day"] = 0; + + SimulationTimeframe decoded_timeframe; + EXPECT_NO_THROW(YAML::convert::decode(node, decoded_timeframe)); + + // Wrap braced initializer lists in parentheses + EXPECT_EQ(decoded_timeframe.get_starting_date(), (date::year_month_day{date::year{2000}, date::month{1}, date::day{1}})); + EXPECT_EQ(decoded_timeframe.get_start_of_comparison_period(), (date::year_month_day{date::year{2010}, date::month{1}, date::day{1}})); + EXPECT_EQ(decoded_timeframe.get_ending_date(), (date::year_month_day{date::year{2030}, date::month{1}, date::day{1}})); + EXPECT_EQ(decoded_timeframe.get_start_collect_data_day(), 0); +} + +// Test decoding with missing fields +TEST_F(SimulationTimeframeTest, DecodeSimulationTimeframeMissingField) { + YAML::Node node; + node["start_of_comparison_period"] = "2010/01/01"; + node["ending_date"] = "2030/01/01"; + node["start_collect_data_day"] = 0; // Intentionally missing starting_date + + SimulationTimeframe decoded_timeframe; + EXPECT_THROW(YAML::convert::decode(node, decoded_timeframe), std::runtime_error); +} + +// Test invalid dates during decoding +TEST_F(SimulationTimeframeTest, InvalidDateThrowsError) { + YAML::Node node; + node["starting_date"] = "invalid_date"; + node["start_of_comparison_period"] = "2010/01/01"; + node["ending_date"] = "2030/01/01"; + node["start_collect_data_day"] = 0; + + SimulationTimeframe decoded_timeframe; + EXPECT_THROW(YAML::convert::decode(node, decoded_timeframe), std::runtime_error); +} diff --git a/tests/Configuration/yaml_spatial_settings_conversion_test.cpp b/tests/Configuration/yaml_spatial_settings_conversion_test.cpp new file mode 100644 index 0000000..7107dfd --- /dev/null +++ b/tests/Configuration/yaml_spatial_settings_conversion_test.cpp @@ -0,0 +1,94 @@ +#include +#include +#include "Configuration/SpatialSettings.h" + +// Helper function to compare std::array +template +void CompareArrays(const std::array& expected, const std::array& actual) { + for (size_t i = 0; i < N; ++i) { + EXPECT_EQ(expected[i], actual[i]); + } +} + +class SpatialSettingsTest : public ::testing::Test { +protected: + SpatialSettings default_settings; + + void SetUp() override { + default_settings.set_mode("grid_based"); + + GridBased grid; + grid.set_population_raster("../sample_inputs/kag_init_pop.asc"); + grid.set_district_raster("../sample_inputs/kag_district.asc"); + grid.set_p_treatment_under_5_raster("../sample_inputs/kag_treatment.asc"); + grid.set_p_treatment_over_5_raster("../sample_inputs/kag_treatment.asc"); + grid.set_p_treatment_under_5_by_location({-1}); + grid.set_p_treatment_over_5_by_location({-1}); + grid.set_beta_raster("../sample_inputs/kag_beta_r1.asc"); + grid.set_beta_by_location({-1}); + grid.set_cell_size(5.0); + grid.set_age_distribution_by_location({{0.0378, 0.0378, 0.0378, 0.0378, 0.0282, 0.0282, 0.0282, 0.0282, 0.0282, 0.029, 0.029, 0.029, 0.029, 0.029, 0.169, 0.134, 0.106, 0.066, 0.053, 0.035, 0.0}}); + default_settings.set_grid_based(grid); + } +}; + +// Test encoding functionality for SpatialSettings +TEST_F(SpatialSettingsTest, EncodeSpatialSettings) { + YAML::Node node = YAML::convert::encode(default_settings); + + EXPECT_EQ(node["mode"].as(), default_settings.get_mode()); + + const auto &grid = default_settings.get_grid_based(); + EXPECT_EQ(node["grid_based"]["population_raster"].as(), grid.get_population_raster()); + EXPECT_EQ(node["grid_based"]["district_raster"].as(), grid.get_district_raster()); + EXPECT_EQ(node["grid_based"]["p_treatment_under_5_raster"].as(), grid.get_p_treatment_under_5_raster()); + EXPECT_EQ(node["grid_based"]["p_treatment_over_5_raster"].as(), grid.get_p_treatment_over_5_raster()); + + // Use helper function for comparing arrays + for (size_t i = 0; i < grid.get_age_distribution_by_location().size(); ++i) { + CompareArrays(grid.get_age_distribution_by_location()[i], + node["grid_based"]["age_distribution_by_location"].as>>()[i]); + } +} + +// Test decoding functionality for SpatialSettings +TEST_F(SpatialSettingsTest, DecodeSpatialSettings) { + YAML::Node node; + node["mode"] = "grid_based"; + node["grid_based"]["population_raster"] = "../sample_inputs/kag_init_pop.asc"; + node["grid_based"]["district_raster"] = "../sample_inputs/kag_district.asc"; + node["grid_based"]["p_treatment_under_5_raster"] = "../sample_inputs/kag_treatment.asc"; + node["grid_based"]["p_treatment_over_5_raster"] = "../sample_inputs/kag_treatment.asc"; + node["grid_based"]["p_treatment_under_5_by_location"] = std::vector{-1}; + node["grid_based"]["p_treatment_over_5_by_location"] = std::vector{-1}; + node["grid_based"]["beta_raster"] = "../sample_inputs/kag_beta_r1.asc"; + node["grid_based"]["beta_by_location"] = std::vector{-1}; + node["grid_based"]["cell_size"] = 5.0; + node["grid_based"]["age_distribution_by_location"] = std::vector>{ + {0.0378, 0.0378, 0.0378, 0.0378, 0.0282, 0.0282, 0.0282, 0.0282, 0.0282, 0.029, 0.029, 0.029, 0.029, 0.029, 0.169, 0.134, 0.106, 0.066, 0.053, 0.035, 0.0}}; + + SpatialSettings decoded_settings; + EXPECT_NO_THROW(YAML::convert::decode(node, decoded_settings)); + + EXPECT_EQ(decoded_settings.get_mode(), "grid_based"); + + const auto &grid = decoded_settings.get_grid_based(); + EXPECT_EQ(grid.get_population_raster(), "../sample_inputs/kag_init_pop.asc"); + EXPECT_EQ(grid.get_district_raster(), "../sample_inputs/kag_district.asc"); + EXPECT_EQ(grid.get_p_treatment_under_5_raster(), "../sample_inputs/kag_treatment.asc"); + EXPECT_EQ(grid.get_p_treatment_over_5_raster(), "../sample_inputs/kag_treatment.asc"); + + for (size_t i = 0; i < grid.get_age_distribution_by_location().size(); ++i) { + CompareArrays(grid.get_age_distribution_by_location()[i], + std::vector>{{0.0378, 0.0378, 0.0378, 0.0378, 0.0282, 0.0282, 0.0282, 0.0282, 0.0282, 0.029, 0.029, 0.029, 0.029, 0.029, 0.169, 0.134, 0.106, 0.066, 0.053, 0.035, 0.0}}[i]); + } +} + +// Test for decoding with missing fields +TEST_F(SpatialSettingsTest, DecodeSpatialSettingsMissingField) { + YAML::Node node; + node["mode"] = "grid_based"; // Only set mode, leaving other fields empty + + SpatialSettings decoded_settings; + EXPECT_THROW(YAML::convert::decode(node, decoded_settings), std::runtime_error); +}