ESMF (Terra Sistema Framework Modeling) é um programa para a construção de alto desempenho, infra-estrutura de software flexível para aumentar a facilidade de uso, a portabilidade desempenho, interoperabilidade e reutilização em clima, previsão numérica de tempo, assimilação de dados, A ESMF define uma arquitetura para compor sistemas de modelagem complexas, associadas e inclui estruturas de dados e utilitários para o desenvolvimento de modelos individuais.
A idéia básica por trás ESMF é que os aplicativos complicados devem ser quebrados em pedaços menores, ou componentes. Um componente é uma unidade de composição de um software que tem uma função coerente, e uma interface de chamada padrão e comportamento. Os componentes podem ser montados para criar múltiplas aplicações, e diferentes implementações de um componente podem estar disponíveis. Em ESMF, um componente pode ser um domínio físico, ou uma função como um acoplador ou sistema I / O.
ESMF também inclui kits de ferramentas para a construção de componentes e aplicações, tais como software regridding, gerenciamento de calendário, registro e tratamento de erros, e as comunicações paralelas.
A figura abaixo mostra os componentes ESMF na prática. É um diagrama da estrutura do Modelo de Circulação NASA GEOS-5 atmosférica Geral, construído a partir do zero usando ESMF. Cada uma das caixas é um componente ESMF, incluindo os acopladores. A estrutura hierárquica de componentes pode ser "cortada" em diferentes níveis, de modo que todo o pacote física pode ser substituído, ou um único parametrização. Cada componente é potencialmente "swap".
Características :
- completa Fortran 90 interface, C parcial / C ++ de interface
- Fortran 90 Manual de Referência e Guia do Usuário
- Funciona com a maioria das plataformas de computação paralela de alto desempenho, incluindo IBM, muitas variantes do Linux, Cray, Compaq, e mais (veja aqui para a lista completa)
- Suporta MPI, OpenMP e códigos de utilizador híbrido
- 2500+ testes empacotados com distribuição fonte
- suporte ao usuário gratuito
- comunidade de usuários ativos
- Superestrutura para os componentes do sistema de acoplamento da Terra:
- Component, Estado e software acoplador que envolve o código do usuário com sobrecarga mínima
- motoristas simples que os usuários podem modificar
- execução sequencial ou simultânea de componentes
- capacidade executável único
- capacidade executável múltipla limitada
- Infra-estrutura para a construção de componentes do sistema Terra:
- Time Manager, que inclui gregoriano, 360 dias, sem salto, Julian, e outros calendários, bem como uma ampla gama de funções de tempo
- As estruturas de dados para armazenamento e manipulação de Arrays, Fields, e feixes de Campos no mesmo grid.
- comunicação de dados paralelas e software regridding
- ferramentas de registro de mensagens
- gerenciador de arquivos de recursos
O que é novo nesta versão:
- A extensão tolerante a falhas para as interfaces ESMF_GridComp e ESMF_CplComp tem foram implementadas.
- Inúmeras melhorias e correções de bugs.
O que é novo na versão 3.2.0r:
- Esta versão modifica o código para permitir a compatibilidade com versões anteriores e adiciona suporte para a versão do compilador 11.x PGI em Linux / PC ea plataforma Cray XT.
O que é novo na versão 3.1.0rp2:
- Adicionado suporte para dimensões replicados em campo. A & quot; 0 & quot; entrada no argumento gridToFieldMap em ESMF_FieldCreate () e ESMF_FieldSetCommit () indica que a dimensão da grade não é parte do campo. Em vez disso, o campo é replicado em todos os DEs ao longo da dimensão da grade correspondente.
- Sobrecarregado ESMF_FieldCreate () para aceitar um ponteiro para a matriz Fortran e preservar suas propriedades (como limites e capacidade de desalocar).
- Sobrecarregado ESMF_FieldSetCommit () para aceitar um ponteiro para a matriz Fortran e preservar suas propriedades (como limites e capacidade de desalocar).
- The Grid agora suporta uma opção ESMF_INDEX_USER para o indexflag. Isso permite que o usuário defina explicitamente o limite inferior de seu espaço índice local. Isso é necessário quando se cria um campo de um ponteiro Fortran matriz com a indexação não-padrão.
- Sobrecarregado ESMF_ArrayCreate () para aceitar um ponteiro para a matriz Fortran e preservar suas propriedades (como limites e capacidade de desalocar).
- Otimizado ESMF_ArraySMM () e ESMF_ArrayBundleSMM () runtime desempenho, escalabilidade e uso de memória.
- Adicionado suporte para comunicações otimizadas para Arrays com distribuições, dimensões e tamanhos diferentes na mesma ArrayBundle.
- Adicionado suporte para DEs com zero elementos em DistGrid, Matriz e Field.
- argumento localDe Feito métodos opcionais em ESMF_ArrayGet () e ESMF_FieldGet () onde não proibidos pela sobrecarga restrições.
- Alarmes definido para tocar a TimeStep 0, em cima ESMF_ClockCreate (), agora tocar corretamente.
- Alarmes agora tocar corretamente para um relógio em ESMF_MODE_REVERSE.
- Alarmes agora tocar corretamente para um relógio usando um instante temporal negativo.
- recurso Ignorar tamanho Adicionado ponteiro padrão para construir o sistema utilizando novas variáveis de ambiente ESMF_F90_PTR_BASE_SIZE e ESMF_F90_PTR_PLUS_RANK.
O que é novo na versão 3.1.0rp1:.
- Adicionado Atributos para a classe grade
- Adicionado Atributos para a classe Array.
- Adicionado minindex e argumentos maxindex para ESMF_GridGet (). Estes argumentos são aplicáveis à primeira telha.
- Adicionado minIndexPDimPDe e maxIndexPDimPDe argumentos para ESMF_DistGridGet ().
- Adicionado ESMF_GridMatch () para comparar dois objetos Grid.
- A nova seção no Guia do Usuário intitulado & quot; Configuração ESMF para executar Test Suite Applications & quot; foi adicionado que descreve o modo como os usuários podem especificar seus próprios scripts mpirun. ESMF agora consistentemente usa a configuração do ambiente ESMF_MPIRUN variável para lançar a suíte e exemplos de aplicações de teste de produtos agregados.
- Os seguintes conhecido bugs foram corrigidos.
Método
Comentários não encontrado