Com o término deste trabalho, espera-se que o mesmo possa ser utilizado na Defesa Civil de Itajaí em épocas que antecedem as enchentes auxiliando na tomada de decisões. O sistema pode ajudar apresentando resultados de forma muito mais rápida do que a forma atual de trabalho da Defesa Civil pesquisando sites na Internet de forma manual, relacionando as informações e tirando as conclusões. Boa parte deste trabalho será automatizada pelo sistema proposto e com isso, a Defesa Civil teria mais tempo para tomar as decisões certas e com mais tempo para agir, por exemplo, numa possível remoção das pessoas de um bairro ameaçado por uma enchente que está por vir.
regras correspondente ao setor da cidade estudado. Após isso, resta verificar as fontes que disponibilizam as variáveis levantadas e implementar a busca automática através do framework chamado HtmlUnit;
4. O uso do framework HtmlUnit tem uma desvantagem que é se os sites utilizados para capturar os dados das variáveis mudarem sua estrutura, ou seja, seu código fonte e alguns elementos HTML deixarem de existir ou forem substituídos por outros, o sistema se torna impossibilitado de buscar os dados. Uma maneira melhor para se resolver isto seria o uso de Webservices. Se existir algum site de previsão do tempo que possibilite a busca dos dados através de um Webservice, o sistema não sofreria com estes tipos de mudança que podem acontecer em uma manutenção dos sites, por exemplo;
5. O sistema sendo online poderia haver uma opção para os usuários cadastrem seus números de telefone celular para que mensagens SMS possam ser enviadas com novidades relacionadas aos estados hidrológicos de Itajaí. O usuário poderia inclusive selecionar qual setor deseja receber mensagens, escolhendo assim o setor que engloba seu bairro;
6. A busca pelas informações de maré deve ser refinada, pois o método utilizado não é o mais eficiente. Está sendo utilizada a regra de três que é uma abordagem simplista, considerando que a maré possui uma variação linear.
REFERÊNCIAS
Alerta Rio. Alertas de Chuvas. Disponível em:
<http://www0.rio.rj.gov.br/alertario/?page_id=144>. Acesso em: 10 outubro 2012.
CEOPS. Estatísticas. Disponível em:
<http://ceops.furb.br/restrito/SisCeops/views_pub/tabela_nivel.html>. Acesso em: 10 outubro 2012.
CEOPS. Histórico das Obras de Contenção e o Sistema de Alerta de Cheia na Bacia do Itajaí. Disponível em:
<http://ceops.furb.br/index.php?option=com_content&view=article&id=15:antecedentes&cati d=2:historico&Itemid=11>. Acesso em: 10 outubro 2012.
COUTINHO, Ronaldo. Influências das enchentes em Itajaí. (49) 3233-0349 em 22 fevereiro 2012.
CPRM. Sistema de Alerta contra Enchentes da Bacia do Rio Doce. Disponível em:
<http://www.cprm.gov.br/publique/cgi/cgilua.exe/sys/start.htm?infoid=311&sid=36>. Acesso em: 10 outubro 2012.
Equipe de Estudos da JICA. Características de enchentes do Rio Itajaí Mirim e medidas de prevenção. 2011.
FAYAL, Marcelo Alfredo de Assis. Previsão de Vazão por Redes Neurais Artificiais e Transformada Wavelet. Rio de Janeiro, 2008. Departamento de Engenharia Elétrica da PUC-Rio, Pontifícia Universidade Católica do Rio de Janeiro.
FERNANDES, Anita Maria da Rocha. Inteligência Artificial – Noções Gerais. 2003.
Fernando Antônio Silva Cruz Blogspot. Enchentes em Santa Catarina / ILHOTA.
Disponível em:
<http://fernandoantoniosilvacruz.blogspot.com.br/2009_01_05_archive.html>. Acesso em: 23 junho 2012.
FIGUEIRA FILHO, Carlos Santos da. JEOPS – Integração entre Objetos e Regras de Produção em Java. Recife, 2000. Centro de Informática, Universidade Federal de Pernambuco.
FRAGA, Nilson Cesar. Enchentes Urbanas no Vale do Itajaí, Brasil. 25 anos da Enchente Catástrofe de 1983 – Reflexos Socioambientais e Culturais no Século XXI. Curitiba. FAE- UFPRUNICURITIBA.
IBGE. Itajaí-SC. Disponível em:
<http://www.ibge.gov.br/cidadesat/painel/painel.php?codmun=420820#>. Acesso em: 20 abril 2012.
JSON. Introdução ao JSON. Disponível em: <http://www.json.org/json-pt.html>. Acesso em: 10 outubro 2012.
KOBIYAMA, Masato; MENDONÇA, Magaly; MORENO, Davis Anderson; MARCELINO, Isabela P. V. de Oliveira; MARCELINO, Emerson V.; GONÇALVES, Edson F.;
BRAZETTI, Leticia Luiza Penteado; GOERL, Roberto Fabris, MOLLERI, Gustavo S.
Fontes; RUDORFF, Frederico de Moraes. Prevenção de Desastres Naturais. Curitiba, 2006.
Engenharia de Energia, Universidade Federal de Itajubá.
LEVINE, Robert I.; DRANG, Diane E.; EDELSON, Barry. Inteligência Artificial e Sistemas Especialistas. 1988.
Maps of World. Brazil Latitude and Longitude Map. Disponível em:
<http://www.mapsofworld.com/lat_long/brazil-lat-long.html>. Acesso em: 20 abril 2012.
OLIVEIRA, Guilherme Garcia de. Modelos para Previsão, Espacialização e Análise das Áreas Inundáveis na Bacia Hidrográfica do Rio Caí, RS. Porto Alegre, 2010. Centro Estadual de Pesquisas em Sensoriamento Remoto e Meteorologia, Universidade Federal do Rio Grande do Sul.
RIO Prefeitura. Alerta Rio – Meteorologia, Escorregamentos e Estatísticas. Disponível em: <http://obras.rio.rj.gov.br/index.cfm?sqncl_publicacao=1082>. Acesso em: 10 outubro 2012.
SANTOS, Cristina Cláudia dos; FILHO, Augusto José Pereira. Modelagem Hidrológica Urbana por Meio de Redes Neurais Artificiais: Uma Aplicação para a Bacia do Rio
Tamanduateí em São Paulo, SP. Revista Brasileira de Meteorologia, São Paulo, v. 18, n. 2, p. 149-159, mar. 2003.
SCHETTINI, Carlos A. F.. Caracterização Física do Estuário do Rio Itajaí-açu, SC. RBRH – Revista Brasileira de Recursos Hídricos, Itajaí, v. 7, n. 1, p. 123-142, mar. 2012.
Scielo. Sba: Controle & Automação Sociedade Brasileira de Automatica. Disponível em:
<http://www.scielo.br/scielo.php?pid=S0103-17592004000200010&script=sci_arttext>.
Acesso em: 08 julho 2012.
SILVA, Ana Paula Moni. Elaboração de Manchas de Inundação para o Município de Itajubá, Utilizando SIG. Itajubá, 2006. Engenharia de Energia, Universidade Federal de Itajubá.
TRANSPI. Transportes Pesados Itajaí. Disponível em:
<http://www.transpi.com.br/localizacao.html>. Acesso em: 30 abril 2012.
Veja. Itajaí tem mais da metade de sua área cobeta pela água. Disponível em: <
http://veja.abril.com.br/noticia/brasil/itajai-tem-mais-da-metade-de-sua-area-coberta-pelas- aguas>. Acesso em: 25 junho 2012.
VICTOR, Valcí Ferreira. Sistema Especialista para Detecção de Falhas em Comandos Elétricos. Natal, 2005. Centro de Tecnologia, Universidade Federal do Rio Grande do Norte.
Wikipédia, a enciclopédia livre. Itajaí. Disponível em: <http://pt.wikipedia.org/wiki/Itajai>.
Acesso em: 20 abril 2012.
Wikipédia, a enciclopédia livre. Regime Fluvial. Disponível em:
<http://pt.wikipedia.org/wiki/Regime_fluvial>. Acesso em: 28 fevereiro 2012.
APÊNDICE A. RELATO SOBRE AS REUNIÕES REALIZADAS COM O COORDENADOR DA DEFESA CIVIL DE ITAJAÍ
Em épocas de enchente é notório que existe uma falta de informações disponíveis para a população. Até mesmo a imprensa local sofre com este problema. Algumas fontes disponibilizam informações divergentes, websites que disponibilizam a previsão de chuva, por exemplo, onde alguns dizem que irá chover e outros não. Este problema é notado quando os apresentadores de televisão e radialistas ficam sem saber o que passar para a população, pelo fato de encontrarem informações diferentes sobre a mesma coisa.
Através de algumas reuniões realizadas na Defesa Civil de Itajaí com o coordenador, foi relatada a falta de informações durante épocas de crise, como uma enchente. O processo de tomada de decisão é realizado acessando-se sites de previsão de tempo, o site da própria Defesa Civil de Itajaí que apresenta o nível da água em 8 pontos da cidade (está para ser instalado mais um ponto de medição), o site da DEINFRA que mostra a situação das barragens ao longo do rio Itajaí-Açú, previsões de maré, o nível do rio em Blumenau, o nível do rio em Brusque, etc.
Segundo o coordenador da Defesa Civil, as decisões geralmente são tomadas sobre pressão da prefeitura, da imprensa e da população em geral, decisões estas que devem ser acertadas na maioria das vezes, pois este é o papel da Defesa Civil, garantir a segurança de todos tendo que evacuar as pessoas de alguns bairros com antecedência o suficiente para que os prejuízos sejam os mínimos possíveis.
Durante as enchentes, muitos dos sites que a Defesa Civil utiliza para extrair informações que ajudem na tomada de decisão ficam inacessíveis devido aos múltiplos acessos simultâneos. As pessoas vão para a Internet a fim de saber se serão afetadas ou não pela enchente ou mesmo saber a situação de outras localidades a respeito de familiares. E com isso, a saída é ligar para os meios de comunicação para tentar saber o que está por vir. Nessas épocas de crise, muitas pessoas ligam para a Defesa Civil esperando por informações confiáveis e que passem instruções sobre o que devem fazer.
Este processo de busca por informações na Internet é feito de forma manual pelo coordenador da Defesa Civil. É necessário buscar as informações, associá-las e tomar as decisões cabíveis. O coordenador ainda menciona a necessidade de um sistema que possa
coletar de forma automática as informações necessárias, associá-las e apresentar os resultados.
Baseando-se nos resultados, torna-se mais fácil tomar decisões, pois o sistema realizaria o raciocínio automaticamente.
Um sistema que realiza previsões em alguns dias pode ajudar muito a Defesa Civil minimizando prejuízos, quanto maior a antencedência que a Defesa Civil tiver para agir, maiores serão as chances de terem tomado as decisões certas.
Porém, para que se concretize um sistema capaz de automatizar este processo é necessário discutir as influências que as diferentes regiões da cidade de Itajaí recebem. A chuva local e a chuva em cidades como Blumenau e Brusque influenciam em boa parte da cidade. A maré influencia somente nas regiões ribeirinhas ao rio Itajaí-Açú.
Segundo o coordenador da Defesa Civil de Itajaí, a chuva é preocupante a partir dos 50 milímetros. Já a maré começa a ameaçar as regiões mais baixas quanto chega em 1 metro de altura. O máximo que a maré já atingiu que se tem registrado foi de 1,65 m.
As duas regiões que foram estudadas neste trabalho que são o Imaruí e a Murta recebem influências similares. A região do Imaruí sofre influência da chuva local e da chuva em Blumenau e também da maré. Já a Murta além de receber influência da chuva local e de Blumenau e da maré, recebe também influências de Brusque por causa do canal retificado do rio Itajaí-Mirim que desemboca no rio Itajaí-Açú na parte da Murta.
A chuva é preocupante após os 50 milímetros, porém em situações críticas qualquer contribuição por mínima que for pode alterar o estado de determinada região da cidade de alerta para emergência. Imaginando o caso em que não há chuva em Itajaí, porém algumas regiões já estão em alerta em consequência do grande volume de chuva nas cidades mais altas e pelo grande volume de água que vem descendo para Itajaí. Sendo assim, uma chuva fraca já poderia agravar a situação alterando o estado destas regiões que estavam em alerta para emergência.
APÊNDICE B. ÁRVORE DE DECISÃO DA MURTA
APÊNDICE C. ARQUIVO DA BASE DE REGRAS DO IMARUÍ
public ruleBase Imaruí { rule r1 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() >= 50;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
} rule r2 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 3;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
} rule r3 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 2;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
} rule r4 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() >= 50;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
} rule r5 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 3;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r6 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 2;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
} rule r7 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 1;
f.getMare() >= 1.0;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
} rule r8 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 1;
f.getMare() < 1.0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
} rule r9 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r10 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() >= 50;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r11 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 3;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r12 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 2;
f.getMare() >= 1.0;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r13 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 2;
f.getMare() < 1.0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r14 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 1;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r15 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r16 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 3;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r17 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() >= 50;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r18 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 3;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r19 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 2;
f.getMare() >= 1.0;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r20 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 2;
f.getMare() < 1.0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r21 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 1;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r22 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r23 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 3;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r24 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 2;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r25 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 1;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r26 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r27 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 3;
f.getMare() >= 1.0;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r28 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 3;
f.getMare() < 1.0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r29 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 2;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r30 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 1;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r31 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r32 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() >= 50;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r33 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 3;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r34 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 2;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r35 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 1;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r36 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 0;
f.getMare() >= 1.0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r37 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 0;
f.getMare() < 1.0;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r38 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 3;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r39 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 2;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r40 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 1;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r41 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 0;
f.getMare() >= 1.0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r42 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 0;
f.getMare() < 1.0;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r43 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 3;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r44 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 2;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r45 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 1;
f.getMare() >= 1.0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r46 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 1;
f.getMare() < 1.0;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r47 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 0;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r48 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 3;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r49 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 2;
f.getMare() >= 1.0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r50 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 2;
f.getMare() < 1.0;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r51 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 1;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r52 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 0;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r53 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 3;
f.getMare() >= 1.0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r54 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 3;
f.getMare() < 1.0;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r55 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 2;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r56 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 1;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r57 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 0;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r58 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() >= 50;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r59 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 3;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r60 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 2;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r61 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 1;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r62 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 0;
f.getMare() >= 1.0;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r63 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 1;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 0;
f.getMare() < 1.0;
actions
f.setSituacaoResultante(0);
retract(f);
modified(f);
}
rule r64 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 3;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r65 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 2;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r66 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 1;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r67 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 0;
actions
f.setSituacaoResultante(0);
retract(f);
modified(f);
}
rule r68 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 3;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r69 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 2;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r70 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 1;
f.getMare() >= 1.0;
actions
f.setSituacaoResultante(1);
retract(f);
modified(f);
}
rule r71 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 1;
f.getMare() < 1.0;
actions
f.setSituacaoResultante(0);
retract(f);
modified(f);
}
rule r72 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() >= 50;
f.getSoloSatura() == 0;
f.getChuvaBlumenau() < 50;
f.getSituacaoBlumenau() == 0;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 0;
actions
f.setSituacaoResultante(0);
retract(f);
modified(f);
}
rule r73 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() < 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() >= 50;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r74 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() < 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 3;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r75 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() < 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 2;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r76 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() < 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 1;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r77 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() < 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 0;
f.getMare() >= 1.0;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r78 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() < 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 3;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 0;
f.getMare() < 1.0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r79 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() < 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 3;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r80 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() < 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 2;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r81 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() < 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 1;
f.getMare() >= 1.0;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);
}
rule r82 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() < 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 1;
f.getMare() < 1.0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r83 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() < 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() >= 50;
f.getSituacaoBrusque() == 0;
actions
f.setSituacaoResultante(2);
retract(f);
modified(f);
}
rule r84 {
declarations
VariaveisSimulacao f;
conditions
f.getChuvaLocal() < 50;
f.getSoloSatura() == 1;
f.getChuvaBlumenau() >= 50;
f.getSituacaoBlumenau() == 2;
f.getChuvaBrusque() < 50;
f.getSituacaoBrusque() == 3;
actions
f.setSituacaoResultante(3);
retract(f);
modified(f);