!-----------------------------------------------------------------------------!
!             Modeling and Development Division - DMD/CPTEC/INPE              !
!-----------------------------------------------------------------------------!
!BOI
! !TITLE: 
!      Diag: Conjunto de ferramentas de diagnostico do desempenho da assimilacao de dados usando o GSI em diversos aspectos
!
! !DESCRIPTION:
!
-Conteudo:
Esse pacote é composto de 8 diferentes ferramentas, que sao utilizadas como um protocolo de avaliacao do desempenho de uma determinada revisao dos repositorios que usam o GSI (SMG, SMR ou RMS) do ponto de vista de diferentes aspectos que sáo relevantes para determinar a evolucao das revisoes para valores mais corretos em todos os sentidos, assegurando que uma modidicacao que é observada um beneficio em algum especifico aspecto nao seja malefico para um outro aspecto da qualidade da analise. De forma mais detalhada pode-se destacar 8 frentes de trabalho divididas em 3 categorias. As três categorias são a ampliação da base de dados, o monitoramento e configuração do sistema e a terceira (nao tratada aqui) é correções e melhorias computacionais. Sao elas:

1- obsConv: Inclusão dos dados convencionais Avaliar e monitorar o desempenho de todos os diferentes sistema de observação que envolve nesse conjunto incluindo cada um deles e avaliando os benefícios e identificando problemas. Uma metodologia de avaliação e monitoramento deverá ser trabalhando levando em consideração a grande diversidade de sistemas envolvidos;

2- obsSatw: Inclusão dos dados de SatWInd Dados de velocidade do vento obtidas por meio do movimento de nuvens observadas por imageadores passivos a bordo de satélites. Em geral esses satélites são de órbita geoestacionária posicionados em torno do equador ao redor do globo, limitando a estimativa de ventos à latitudes menores que 60. Nessa frente o impacto desses dados deve ser monitorado em conjunto com todas as demais melhorias do SMG;

3- obsRado: Inclusão dos dados de radiocultação GPS . Os dados de radiocultação GNSS são perfis de observações indiretas da atmosfera. Os dados podem ser em três níveis de processamento, perfis do ângulo de ocultação em função do parâmetro de impacto; perfis de refratividade em função da altura geométrica e perfis de temperatura e umidade em função da pressão atmosférica. O impacto dos dados em relação a quantidade dos dados disponíveis serão avaliados;

4- obsRadi: Inclusão dos dados de radiância Sendo os dados de maior importância para a assimilação em modelos globais de PNT os dados de radiância compõem um módulo principal que é subdividido em sub-módulos para cada tipo de sensor, independente dos satélites que os embarca. Nessa frente de trabalho será feita uma analise diagnóstica do impacto e da interferência nas outras frentes de trabalho;

Categoria II: Monitoramento e configuração do sistema de assimilação

5- adjBerr: Implementação de melhorias na matriz B, com o uso de um maior período de dados e usando a versão do SMG com assimilação Será tratado de todos os desenvolvimentos associados à determinação e calibração da matriz de covariâncias dos erros de previsão (ou background) para uso no ciclo de assimilação de dados e atualizando depois de mofidicações significativas no sistema de assimilação de dados tanto na modificação da base de dados usadas como outras melhorias no SMG. Em um processo interativo essa frente de trabalho visa permitir monitorar o impacto correlacionado com as outras melhorias no SMG;

6- minFcos: Ajustes nos parâmetros e monitoramento do processo de minimização da função custo no sistema de assimilação em função da base de dados utilizados Com o acoplamento do modelo BAM com o sistema de assimilação de dados GSI, a minimização e o condicionamento da função custo variacional é a parte do sistema de assimilação de dados que irá permitir que a análise possa ser determinada. Diversos parâmetros deverão ser definidos os quais são correlacionados com a base de dados usada e a interação dessas frentes deve ser monitorada.

7- humNphy: Avaliação da contribuição da injunção de umidade no controle de valores não físicos de umidade no ciclo de assimilação Na análise dos campos de umidade gerado no final do processo de assimilação apresenta pontos com valores negativos ou valores de umidade acima do valor de saturação. Essas soluções são puramente numéricas e em sua maioria geradas no processo de integração do modelo, ou seja, não correspondem à realidade física e precisam ser tratadas durante o processo de minimização da função custo para que não sejam amplificados. O GSI usa um termo adicional na função custo, chamado de injunção de umidade. Este termo tem a função de regular o processo de minimização, conduzindo a solução para valores de umidade mais próximos da realidade física. O objetivo aqui é identificar o papel da injunção da umidade na qualidade final das previsões.

8- dryMcon: Avaliação a configuração dos parâmetros de conservação de massa seca na rodada cíclica do GSI Em um dos processos no GSI existe a possibilidade de ligar e explorar um parâmetro para forçar a conservação de massa seca durante o processo cíclico de assimilação de dados o qual deve ser investigado qual o mais apropriado para o caso do GSI no BAM e usando a base de dados que se pretende usar. Essa frente de trabalho tem o objetivo de encontrar o melhor parâmetro para esse caso.

Para mais detalhes do pacote acesse a estratégia de avaliacao do impacto da assimilacao no GSI na pagina
https://projetos.cptec.inpe.br/projects/smg/wiki/adjusGSI

-Aplicacao
Esse pacote diag visa essencialmente aprimorar o processo de assimilação de dados, no qual envolve correções de erros, ajustes nos parâmetros de minimização no sistema de assimilação, ampliação gradativa e cautelosa de um conjunto de dados de satélites, com testes, diagnosticando problemas na modelagem, assimilação ou nos dados, aprimoramento da matriz B, entre outras tarefas. Todos esses trabalhos são altamente correlacionados de forma que a modificação em uma frente impacta diretamente no desempenho da outra. Uma metodologia de desenvolvimento em espiral deverá ser implementada na qual cada processo é repetido até que uma modificação impacta positivamente em todas as demais ou que o estrago seja conhecido e aceito ou absorvido. 

-Dinamica do processo:
O pacote diag e composto por um conjunto de ferramentas independentes que embora organizadas pelo config_eval.ksh, sao utilizadas desacoplada uma das outras, e quando estiverem funcionando corretamente elas deverao ser integradas nos processo de configuracao/compilacao/execusao do eval. Elas em separado tem a funcao de tratar cada uma dos aspectos abordados. A primeira versao esta sendo desenvolvida no SMG para pode tambem ser utilizado no SMR e no RMS. Esse pacote não tem um configure, pois e configurado pelo config_eval.ksh,o qual inicialmente tem a funcao de apenas organizar os diretorios no scractchin. Em cada um das 8 ferramenta ha um configure especifico, um running e um compile, que podem ser depois integrados no pacote do eval, mas por hora deverao funcionar em separado. O configure prepara os dados de entrada e saida de cada ferramenta e o running chama os processos que os responsaveis julgarem necessario para a elaboracao do protocolo. Cada protocolo armazena os dados de controle no diretorio eval/dataCNT e são lidos desse e comparados com os resultados gerados no experimento. Os resultados de saida em figuras finais são enviados para a area de FTP/PUBLIC que podem ser acessados via internet. Uma página esta em desenvolvimento para gerenciar as figuras e organizar as comparacões dos resultados. 

Em suma cada ferramenta tem três arquivos básicos:
- compile_{Nomeferramenta}.sh : script para compilar a ferramenta de protocolo caso haja a necessidade de rotinas fortran;
- config_{Nomeferramenta}.ksh : script de configuracao da ferramenta de protocolo;
- README : arquivo com informacoes basicas da ferramenta de protocolo;
- run_{Nomeferramenta}.sh : script de execucao da ferramenta.

O config_{Nomeferramenta}.ksh em suas funcoes faz:
-configurar: carrega variaveis de ambiente e basicamente cria a estrutura de diretorios do protocolo de avaliacao no scratchout;
-compilar: compila os programas e cria executaveis envolvidos no protocolo de avaliacao;
-testcase: prepara um conjunto de dados basicos para teste de funcionamento da ferramenta do protocolo de avaliacao.

-Observacao:
Como ja dito embora na primeira versao os pacotes das ferramentas diagnosticas sao feitos independentes do eval, eles podem ser acrescentados caso se deseje e serem configurados, compilados e executados em conjunto em um unico processo. Na fase inicial todos essas ferramentas sao configuradas/compiladas/executados individualmente com seus respectivos scritps. Tudo deve ser implementado tendo em mente que no futuro tudo deve ser integrado em uma unica tarefa no eval. 

- Passo-a-passo 
Como esse pacote nao e executado e apenas integra todas 8 ferramentas nao ha passo-a-passo do diag.
Cada uma das ferramenta tem seu passo a passo que e descrito em seus respectivos README

-Melhorias futuras:
* Modificar os scripts para amplimorar todo o pacote de avaliacao do impacto para um processo unificado permitindo execusoes automaticas de avaliacao pelo SVN;


