Softwares em Geofísica Parte 1: FORTRAN

 

 Aqueles acostumados a trabalhar em geociências sabem que, em especial, a Geofísica necessita basicamente de computadores e softwares especializados para gerar uma interpretação em subsuperfície. Sem o aparato da computação toda a exploração de recursos naturais e estudo do nosso planeta seria muito limitado, tal qual como era antes da criação do Mark I e  ENIAC.
Sendo assim o Estudando Geofísica traz uma série de posts divididos em 6 partes explicando quais os principais softwares usados na academia e alguns utilizados na indústria. A primeira parte conterá a linguagem de programação FORTRAN e as outras partes conterão os softwares de relevância acadêmica em cada método geofísico.

De início, começaremos com a linguagem de programação mais conhecida e utilizada no mundo da geofísica: o FORTRAN.
A família de linguagens de programação conhecida globalmente como Fortran foi desenvolvida a partir da década de 1950 e continua a ser usada hoje em dia. O nome é um acrônimo da expressão "IBM Mathematical FORmula TRANslation System".
As versões iniciais da linguagem eram conhecidas como FORTRAN, mas a capitalização foi ignorada em versões recentes da linguagem começando a partir do Fortran 90. Os padrões oficiais da linguagem referem-se a ela atualmente como "Fortran".
A linguagem Fortran é principalmente usada em Ciência da Computação e Análise Numérica, assim como em todas as Geociências.  Foi a primeira linguagem de programação imperativa. O primeiro compilador de FORTRAN foi desenvolvido para o IBM 704 em 1954-57 por uma equipe da IBM chefiada por John W. Backus. O compilador era otimizado, pois os autores acreditavam que ninguém iria usar essa linguagem se a sua prestação não fosse comparável com a da linguagem Assembly. A otimização da linguagem começa a partir de 1956:
  • 1956: Fortran II é um liguagem de programação criada após sua "original" FORTRAN em 1958. Esta originou outras linguagens como BASIC;
  • 1958. Fortran III, versão que nunca foi disponibilizada.
  • 1962. Fortran IV, a linguagem Fortran foi largamente adaptada por cientistas para a escrita de programas numericamente intensivos, o que encorajou os produtores de compiladores a escrever compiladores que gerassem código mais rápido.
  • 1966. Fortran 66 (ANSI X3.9-1966), quando a primeira versão padronizada da linguagem, conhecida como FORTRAN IV ou FORTRAN 66, estava disponível, Fortran já era a linguagem mais usada pela comunidade científica. FORTRAN IV foi padronizada pela American Standard Association (ASA). A ampla disponibilidade de compiladores para diferentes computadores, a simplicidade da linguagem, facilidade para ensiná-la, sua eficiência e as vantagens introduzidas pelo uso de sub-rotinas e compilação independente destas e a capacidade de lidar com número complexo, além de muitas outras características, ajudaram em sua ampla difusão dentro da comunidade científica.
  • 1978. Fortran 77 (ANSI X3.9-1978), entre outras melhorias, facilita a programação de estruturas com blocos  (IF / THEN / ELSE / ENDIF). Em 1978, foi criada uma extensão introduzindo o bloco DO WHILE / END DO . Uma característica marcante do FORTRAN 77 são as regras de alinhamento das linhas do programa, uma herança da era dos cartões perfurados. Originalmente, a sintaxe do FORTRAN 77 foi definida de forma que cada linha do programa fosse escrita em um cartão perfurado, com um caracter por coluna.Na mesma época que o FORTRAN 77 surgiu, já existiam outras linguagens de programação como o CPascalAda e Modula, que haviam introduzido novos conceitos em programação ou fundamentado outros como a tipagem explícita de variáveis e a definição de novos tipos de dados, o que permitia ao programador definir estruturas de dados mais adequadas para resolver problemas como a alocação dinâmica de dados; subprogramas recursivos; controle de exceção (uma das principais características da linguagem Ada) e estabelecimento de módulos (mais tarde introduzida no FORTRAN 90 com o bloco MODULE/END_MODULE).O FORTRAN 77 não oferecia nenhum desses recursos e começou a ser pouco a pouco abandonado pela comunidade científica que passaram a recorrer a outras linguagens de programação.
  • 1980. Fortran 8X. Durante a década de 1980, foi lançada uma nova revisão do 8x que incorporava todos os conceitos acima citados (exceto a tipagem explícita e o controle de exceção);
  • 1990. Fortran 90 (ANSI X3.198-1992) : O processo de definição do novo padrão foi longo e demorado, mas permitiu o amadurecimento de muitos dos novos conceitos que a linguagem apresentaria. A versão final desta revisão foi apresentada com o nome de FORTRAN 90. FORTRAN 90 é tão eficiente quanto o C e o Pascal para os fins a que ela se destina. FORTRAN 90 trouxe uma novidade para o mundo das linguagens de programação: mecanismos para manipulação de arranjos, que não são oferecidos por nenhuma outra linguagem;
  • 1995. Fortran 95 (ISO/IEC 1539-1:1997)O padrão formal da linguagem mais recente, publicado em 1996, é conhecido como Fortran 95. Esta revisão do FORTRAN acrescentou pequenas alterações ao FORTRAN 90, motivada pela necessidade de aproximar o padrão à linguagem High Performance Fortran ou HPF a qual é voltada para o uso de computadores com arquiteturas avançadas. A linguagem HPF é uma espécie de extensão do FORTRAN 90 e, atualmente, muitos fabricantes oferencem compiladores HPF baseados na linguagem FORTRAN 90.
  • 2003. Fortran 2003 (ISO/IEC 1539-1:2004) : Desde 1997, o FORTRAN vem passando por um novo processo de revisão. O FORTRAN 2003 irá incorporar um conjunto de novos comandos que permitirão, entre outras coisas, o controle de exceções e programação orientada a objetos.
  • 2008. Fortran 2008 (ISO/IEC 1539-1:2010). O padrão mais recente, a ISO/IEC 1539-1:2010, conhecido informalmente como Fortran 2008, foi approvado em Setembro de 2010. Tal como o Fortran 95, sofreu pequenos melhoramentos, incorporando clarificações e correções ao Fortran 2003, assim como algumas novas funcionalidades, tais como:
    1.
    Submódulos – facilidades estruturais adicionais para os modulos; substitui ISO/IEC TR 19767:20052.Co-array Fortran – um modelo de execução paralela3. A construção Scalable parallelism – para iterações sem interdependêcias.4.O atributo CONTIGUOUS – especifica restrições na definição da estrutura lógica;5.A construção Block ou Dynamic scoping – pode obter declarações de objetos com uso do escopo da construçãp;6.Tipo de dados ou componentes recursivos – como alternativa a indicadores recursivos em páginas derivadas.
O padrão Final Draft international Standard (FDIS) está disponível como o documento N1830. Outro importante suplemento ao Fortran 2008 é a especificação técnica (TS) 29113 da ISO em Inglês Further Interoperability of Fortran with C, que foi submetida para aprovação do ISO em Maio de 2012. A especificação adiciona suporte para acesso a descritores de array ou ve(c)tores da linguaguem de programação C e permite ignorar o tipo e importância dos argumentos.

O Fortran permite a criação de programas que primam pela velocidade de execução. Daí reside seu uso em aplicações científicas computacionalmente intensivas como meteorologia, oceanografia, física, astronomia, geofísica, engenharia, economia etc.
Inicialmente, a linguagem dependia da formatação precisa do código-fonte e do uso extensivo de números de depoimento e de depoimentos goto. Estas idiossincrasias foram removidas de versões mais recentes da linguagem. As diversas actualizações também introduziram conceitos "modernos" de programação, tais como comentários no código-fonte e saídas de texto, IF-THEN-ELSE (em FORTRAN 77), recursividade (em FORTRAN 90), e construções paralelas, enquanto se tentava preservar o perfil "leve" e a prestação de alto rendimento que faziam a imagem de marca do Fortran. Entre as linguagens especializadas mais populares baseadas em Fortran encontram-se a linguagem SAS, para gerar relatórios estatísticos, e SIMSCRIPT, para simulação de processos onde estão envolvidas listas de espera. Vendedores de computadores científicos de alto rendimento (Burroughs, CDC, Cray, IBM, Texas Instruments, …) adicionaram extensões à linguagem Fortran para fazer uso de características especiais do hardware, tais como: cache de instrucções, pipeline da CPU, disposições de vectores, etc.

  • COMPILADORES GRATUITOS

LINUX
Eclipse/Photran (visual fortran) using the g95 compiler:   http://www.photran.org/ 

HicEst :  http://www.HicEst.com 
SalfordFortran77Edition:http://www.polyhedron.co.uk/salford/products/ftn77_personal/index.html                             
Eclipse/Photran (visual fortran) using the g95 compiler:  http://www.photran.org/ 
GFortran for Windows: http://gcc.gnu.org/fortran/index.html 
Imagine 1's F Compiler:  http://www.fortran.com/imagine1/compilers.html  
Open Watcom Fortran 77 and C/C++:  http://www.openwatcom.org  

  • COMPILADORES PAGOS

LINUX

Absoft Pro Fortran:  http://www.absoft.com/ 

Nenhum comentário:
Write comentários

Ficou interessado pelo blog?
Então não perca as atualizações !