Tuesday 6 June 2017

Giss Gcm Forex


Eu baixei o GISS GCM Model II 1 e comecei a investigar. Como todas as previsões do futuro AGW dependem dos resultados de tais modelos, decidi que realmente precisava entender exatamente como eles funcionam. O modelo é escrito principalmente no Fortran (pré Fortran 77), que está bem por mim, como eu programado em Fortran por mais de 20 anos. O código é bastante bem comentado, mas não está particularmente bem estruturado e está cheio de declarações goto. Este foi o modelo GCM da NASA8217s que foi usado até cerca de 2000, quando foi superado pelo modelo IE mais recente que usa uma grade mais fina. No entanto, o modelo II é o único que você tem uma chance real de correr em um PC desktop. A grade 3-D que cobre a Terra consiste em 821510 graus de barraca latão com 9 camadas atmosféricas, 2 camadas groundocean. A energia de entrada solar é modelada usando os parâmetros orbitais com um único valor para TSI (mais sobre isso na próxima publicação) com um intervalo de 1 dia. A transferência radiativa através da atmosfera utiliza perfis para vapor de nuvens, CO2 etc. e um modelo para albedo oceânico e terrestre está incluído. Grande parte disso está resumida em uma tese (mestrado) encontrada na Internet pela Melissa Kelly. Para começar a funcionar rapidamente no entanto, baixei o GUI de frente e o sistema de análise EdGCM lançado pela University of Columbia. Este pacote está pronto para ser executado e um número limitado de parâmetros de entrada que podem ser sintonizados com gráficos e software de análise (EVA) incluídos. Sem isso, levaria meses para entender como configurar e executar o modelo com os parâmetros de entrada corretos. O código consiste em cerca de 15.000 linhas de Fortan, que é grande, mas não excessiva. O manuseio de nuvens e feedback de água é hardwired no código e não pode ser controlado por parâmetros de entrada no EdGCM. O primeiro modelo que corri para testar o sistema foi um dos modelos pré-embalados que vem com o EdGCM chamado 8220Doubled CO28221. Este modelo 8220 mede a sensibilidade climática a uma duplicação de CO2. Começa a partir de um clima de 1958 e com concentrações de CO2 de 314,9 ppm e, em seguida, introduz uma duplicação instantânea de níveis de CO2 para 629,8 ppm. O modelo então reage ao forçamento radiativo extra que avança para 2100. O aumento da temperatura total é interpretado como a sensibilidade ao clima de equilíbrio. Eu instalei o modelo em um MAC mini executando OS10.6.8 com um processador 2.4Ghz Core2 e 2 Gbytes de memória. A simulação completa do modelo levou 33 horas para completar, gerou mais de 2 Gbytes de saída. A resposta global da temperatura da superfície resultante é mostrada na figura 1. Fig. 1: Resposta superficial da temperatura do ar após uma duplicação dos níveis de CO2 em 1958. As seguintes conclusões podem ser extraídas. 1. A sensibilidade climática do Modelo II é de 4,4 graus C para uma duplicação de CO2 2. A inércia do sistema climático Earth8217s para uma mudança repentina no forçamento prevê ser cerca de 50 anos no Modelo II No relatório do IPCC de 2001 o intervalo De sensibilidades climáticas de uma variedade de modelos foi entre 2,2 e 5,6 graus. O modelo II do MGIS está, portanto, na parte superior deste intervalo. Pelo IPCC 2007, o alcance das sensibilidades diminuiu para 2,1 a 4,4 graus. C A maior incerteza são os termos de feedback da água, especialmente as nuvens. O modelo de nuvem usado no Modo II é simplista: - cada ponto de grade é designado para ser nublado ou claro, com base em se um número aleatório é maior do que a saturação calculada. Geralmente, aceita-se que o modelo GISS II superestima a sensibilidade ao clima. O único modelo com maior sensibilidade é o do escritório UK Met. Sem feedback, o modelo produziria um aquecimento de 1,2 ° C para uma duplicação de CO2. Claro que eu gostaria de executar o modelo com efeitos de feedback de água negativos, mas eu não sei ainda como fazer isso. Pode ser que o código fortran precise ser modificado. 1. Hansen, J. G. Russell, D. Rind, P. Stone, A. Lacis, S. Lebedeff, R. Ruedy e L. Travis, 1983: modelos globais eficientes tridimensionais para estudos climáticos: modelos I e II. M. Weather Rev. 111, 609-662, doi: 10.11751520-0493 (1983) 111 2. Uma pesquisa de sensibilidade ao clima e taxas de resposta em EdGCM, Mellisa Kelly, Dickinson College, Carlisle PA Compartilhe isso: de Gary Strand, engenheiro de software No Centro Nacional de Pesquisa Atmosférica (NCAR) comentando sobre Climate Audit: Como engenheiro de software, eu sei que o software do modelo de clima não possui os melhores padrões disponíveis. We8217ve feito um monte de progresso, mas ainda temos um bom caminho a seguir. Eu falo. NASA GISS modelo E escrito em algumas das piores codificações FORTRAN já visto é um desafio até mesmo correr. NASA GISTEMP é ainda pior. No entanto, o nosso governo tem uma legislação em consideração significativamente baseada na saída do modelo que Jim Hansen começou. Seu discurso de 1988 para o Congresso foi inteiramente baseado em cenários modelo. Queremos realmente que o Congresso faça decisões fiscais de trilhões de dólares hoje com base em 8220 softwares que não satisfazem os melhores padrões disponíveis.8221 There8217s mais. Steve McIntyre comenta: Gary, se isso é o que você pensa, então isso deveria ter sido relatado no IPCC AR4 para que os políticos pudessem se aconselhar em conformidade. Não me lembro de ter visto algum comentário no AR4 8211 nem, nesse caso, em comentários de revisão. 8230 e a segunda parte do comentário: se pudermos convencer as agências de financiamento para melhor financiar o desenvolvimento de software e treinamento contínuo, então vamos estar a caminho. It8217s é um pouco duro, IMHO, para atribuir culpa aos engenheiros de software quando eles estão mal pagos e com excesso de trabalho. Boo-hoo. Centenas de milhões de dólares, se não bilhões de dólares estão sendo gastos. Talvez o dinheiro seja orçado de forma diferente, mas a OMI possui uma ampla quantidade de financiamento global para possuir engenheiros de software adequados. Talvez haja alguma consolidação na indústria do modelo climático, como na indústria automobilística. Se nenhum dos modelos possuir uma engenharia de software adequada, então, como encerrar voluntariamente um dos modelos e sugerir que os recursos sejam redistribuídos para que melhores modelos sejam aumentados. I8217m não faz esse QOTW escolher em Gary Strand, embora I8217m tenha certeza de que ele deve ver É assim. É uma admiração sincera e sincera por ele. I8217m tornando QOTW porque Gary destaca um problema real que vemos quando olhamos para o código que vem da NASA GISS. Mas don8217t pegue minha palavra, baixe-a e dê uma olhada. Leve-o para um engenheiro de software em sua própria empresa e pergunte o que eles pensam. GISS modelo E fonte do modelo de clima global aqui fonte GISTEMP (análise de temperatura de superfície) aqui Claro, este é um dos muitos programas de software de modelagem climática lá fora, mas é o mais influente, já que GISS e GISTEMP são os resultados mais citados em A mídia popular. A indústria dos EUA parece fazer um melhor trabalho de desenvolvimento de software do que programas do governo, porque nos negócios, se algo não funciona, ou o trabalho não funciona, os contratos se perdem e as pessoas são despedidas. As consequências para o trabalho de má qualidade. Na academia, a solução geralmente é pedir mais dinheiro da concessão. Relatado em New Scientist 4 de julho, a Boeing encontrou algumas doenças estruturais graves no novo 787. Os testes de estresse revelaram que as áreas 8220wingbox8221 e 18 na fuselagem ao redor das asas precisam ser fortalecidas. 8220Data do teste não corresponde ao nosso modelo de computador, 8221 diz o vice-presidente da Boeing, Scott Francher. Isso destaca a dificuldade de prever o comportamento dos materiais CFRP avançados que são usados ​​em estruturas muito grandes pela primeira vez. Jimmy Haigh (07:45:46). Engenheiros de software quando eles estão mal pagos e com excesso de trabalho. Por que não procurar outro emprego, acredito que os melhores foram e trabalharam no setor de modelagem financeira8230. Talvez eles possam terceirizar o GISSTEMP para a Índia ou a China? Poderia alguém ter um palpite sobre os dados de entrada de dados do Met Offices à luz do acima. Não há tais admissões em breve A partir desse quarto ou eles estarão fora em seus ouvidos. Isso me preocupa quando as aparentes 8220uncertainties8221 são explicadas como 8220better understand8221, o que significa que nada de amplificador não é o mesmo que dizer que o amplificador de conhecimento 8220we entende como eles afetam nosso output8221 de dados, particularmente ao prever o Futuro, eu ainda acho que estamos nos limites do entendimento do poder de computador sobre o clima. Se você está fazendo suposições, sejam eles razoáveis ​​ou não, eles ainda são hipóteses, amp, se errado, nenhuma quantidade de poder de computação irá corrigi-lo ou dar-lhe a resposta, o que parece ser o que o MO está implicando obtendo este novo Deep Thinkought, como eles parecem querer um outro 10008217s de vezes mais poderoso do que aquele que eles têm para obter os resultados certos Como o Prof John Brignell Number Watch diz, um modelo de comuputer pode ser certo ou errado, mas ainda irrelevante. Posso ver como aqueles da comunidade científica 8222climate escolheriam ignorar os buracos no tecido de suas teorias. Mas por que nossa mídia e nossos políticos. (Sim é retórica., Mas ainda não é necessário) Ninguém envolvido nesta bagunça QUER funcionar, engenheiros de software competentes, porque eles podem acidentalmente fazer seus trabalhos e revelar a fraude para o mundo. Nós Can8217t Have That. Quando você conduz uma fraude desta escala, você precisa garantir que a fraude seja perpetuada de cima para baixo. Crappy, código insolúvel softward que ninguém entende, mas que sempre dá as respostas 8220Right8221 é algo para ser atesorado, guardado e NUNCA SEMPRE substituído. Bom comentário e crítica útil, penso. Mas, primeiro, fiz FORTRAN em 1965 (versão II-D) e estou muito feliz por ter a palavra de que esses modelos não são ótimos exemplos de clareza. Eu vi todos os loops do do e se as declarações que eu sempre quis ver. Dito isto: saiba que aprecio aqueles que estão olhando essas coisas e confio no seu julgamento. O último pedaço de código que funcionou sem erros inesperados foi 10 Imprimir 8220Hello8221 20 Goto 10 e ainda exigiu meia hora de depuração. A fé que é colocada em modelos é aterrorizante e as pessoas sempre ignoram o problema subjacente. Para que um modelo seja correto, ele precisa estar próximo de 100 precisos contra a situação do mundo real, se não for, no pior caso, uma perda de tempo, em Melhor indicador vago de se sua teoria original era credível, mas nunca deveria ser tratada como prova de nada. Examinei um pouco o código. Se eu tomar os comentários no valor nominal, parece que você tem cientistas de doutorado escrevendo código FORTRAN código 8211 má idéia. A prática da indústria é que os escritores de código PROFISSIONAL mantenham o software. Embora eu tenha diploma em Engenharia Química, trabalhei como programador por 4 anos em meados da década de 1980 em FORTRAN, COBOL, SAS e em várias outras linguagens de codificação. Eu era o principal programador para um programa de simulação ChemE da Fortune 50 company8217s, cerca de 500.000 linhas de código. Os programadores mantiveram e atualizaram o código. Nossos analistas (geralmente Mestres ou PhD Chemical Engineers) forneceram a inspeção e a modelagem matemática, que codificamos. Os analistas weren8217t permitiram compilar ou carregar qualquer código fonte. Poderia ser um estiramento para chamá-lo da pior codificação FORTRAN, o pouco que vi não era muito bom. Eu reservaria o julgamento até eu ter executado alguns analisadores de fontes FORTRAN e software de mapeamento para ver como o código está estabelecido. No mínimo, eles devem ter um QAQC e um programa de teste. Os erros de codificação não seriam particularmente difíceis de encontrar. Os modelos GISS 8220peer revisados8221. Parece o próximo projeto depois que SurfaceStations terminar. I8217ve escrevi meu próprio software de modelo de clima NASA 10 Rem Global Climate Model 20 Print 8220O fim é Nigh8221 30 Goto 20 40 End (de planeta) Hmmm. Eu me pergunto. Talvez se os programadores do GCM passassem sua programação do tempo em vez de discutir blogs8230 Como desenvolvedor de software profissional de longa data, eu vi milhões de linhas de código, de diferentes qualidades. Mas posso fazer algumas generalizações. As pessoas que codificam algo como uma assistência para seu trabalho, não como um foco primário, geralmente escrevem código ruim. Então eu não estou surpreso ao ver a qualidade do código. Parece bastante o que I8217d obteria se I8217m estiver interagindo, digamos, com um cara de hardware que escreva uma ferramenta para usar no hardware que ele design. Código ilegível, indocumentado e não sustentável que basicamente funciona. Os matemáticos de teatro com os quais trabalhou são da mesma maneira, então acho que eu deveria esperar o mesmo cientista climático. Se eu tivesse que adivinhar, eu disse que o número de engenheiros de software profissional real que eles trabalharam no projeto é zero, que 100 deles foram codificados pelos próprios cientistas. Eu acredito que os melhores foram e trabalharam no setor de modelagem financeira ... Sim, eu acho que eles provavelmente fizeram Para um engenheiro de software sobrecarregado, o nosso Gary ainda encontra muito tempo para gastar em blogs Quando estou trabalhando, geralmente em uma plataforma de petróleo no mar , Com 4 horas de folga, que consegui salvar da maioria dos dias, geralmente gasto dormir. 8220 É um pouco difícil, IMHO, atribuir culpa aos engenheiros de software quando eles estão mal pagos e com excesso de trabalho.8221 UCARNCAR impediu o acesso público a dados salariais em 2008. Aparentemente, o financiamento federal para esta instituição foi descompactado foi difícil de encontrar já em 2006: Climatesciencewatch. orgindex. phpcswdetailsgreenwire-inhofe Mas se o horário geral para funcionários federais é qualquer indicação de compensação no NCAR, então 80.000 seriam uma boa estimativa inicial de 8220underpaid8221. Bls. govococgcgs041.htmearnings Gary, talvez você devesse fazer backup de suas alegações infundadas, como ser 8220underpaid8221 e 8220overworked8221, eh Ou você simplesmente não tem tempo para postar isso, estar com excesso de trabalho e tudo, em seu escritório nos fins de semana em seu 8220own time8221, por exemplo What8217s é tão difícil sobre escrever software para modelagem climática Tudo o que você precisa fazer é certificar-se de que seu modelo cuspa o aquecimento. Então a mídia cuidará do resto. Todos os engenheiros de software que I8217ve conheciam foram definitivamente menos pagos. Riiiight8230. Eu sou engenheiro de software e olhei para o software GISS. Está bem ali com alguns dos piores códigos que já vi. A questão não é se ela contém erros, a questão é o quão ruim são os erros e quanto eles afetam os resultados. Tenha em mente que os erros podem afetar os resultados em ambos os sentidos, embora, dado o histórico da GISS, duvido que seja um erro no lado legal). Como um com um grau de engenharia química, eu realmente desprezo quando as pessoas se descrevem como um software 8220. Engenheiro8221. Eles não são mais um engenheiro, então os caras que pegam meu lixo, que também são conhecidos como engenheiros de saneamento. De Wikipedia, a engenharia é definida como a aplicação criativa de princípios científicos para projetar ou desenvolver estruturas, máquinas, aparelhos ou processos de fabricação, ou obras que os utilizam isoladamente ou em combinação ou para construir ou operar o mesmo com conhecimento completo de seu design ou para Prever seu comportamento em condições operacionais específicas, tudo quanto respeito a função pretendida, economia de operação e segurança para a vida e a propriedade. Da última vez que eu olhei, 8220 engenheiros de software8221 não precisam fazer um exame de treinamento de engenheiro (EIT) ou um exame de engenharia profissional. Uma descrição mais adequada para os nossos amigos que escrevem programas pode ser desenvolvedora de código de software. Em The Black Swan (amazonBlack-Swan-Impact-Highly-Improbabledp1400063515refsr11ieUTF8038sbooks038qid1246893449038sr1-1) Nassim Nicholas Taleb argumenta que é impossível modelar com sucesso sistemas complexos ao longo de períodos de tempo que a própria tentativa é tola. Eu estaria interessado aqui por qualquer pessoa envolvida em modelos complexos que pensem de outra forma. Qualquer um software de modelagem climática pode ter problemas, mas não é o problema. Quais são os engenheiros de software que tentam codificar algum modelo que não faz sentido que eu ouvi um deputado perguntar: aprendemos algo desses modelos financeiros falhados (embalagem de hipotecas em risco reduzido). Se você colocar a menor confiança nos modelos GW, você aprendeu NADA. Aqui está uma breve comparação dos dois: 1 modelos de hipotecas tinham um incentivo financeiro para estarem certos. Os modeladores de clima têm um incentivo financeiro para espalhar o alarme e gerar mais doações do governo. Eles planejam morrer antes que o absurdo de suas previsões de 100 anos se torne claro. (Eles calcularam mal porque todas as 4 previsões do IPCC não são apenas erradas, mas caíram fora do intervalo de confiança de 90). 2. Os modeladores de hipotecas testaram os modelos de liberação de dados históricos somente depois de concluírem testes de regressão usando dados históricos. Os modeladores de clima sabem que a Terra viabilizou mais de uma dúzia de períodos de gelo, e seus modelos não, e não podem, prever esses ciclos. Eles não se importam. (Ver 4) 3. Os modeladores de hipotecas tentaram incorporar todas as informações relevantes conhecidas. Os modeladores de clima estão preocupados apenas com fatores induzidos pelo ser humano (ver 4). Além disso, eles ignoram a ciência quando entra no caminho de seus objetivos. Por exemplo, todos os estudos de persistência de CO2 na atmosfera (mais de 30 deles) descobrem que o CO2 liberado para a atmosfera persistirá por 4-15 anos antes de ser (principalmente) consumido pelo oceano. Eu entendo que os modelos GW assumem 100 anos porque assumir que menos de 50 anos não produz o efeito de aquecimento desejado. Isso é certo. A American Chemical Society considera isso uma falha fatal nos modelos GW. 4. Os modeladores de hipotecas entenderam o sistema que estavam tentando modelar. Modeladores de clima não entendem muito sobre o clima nem se importam. De acordo com o documento do IPCC, PRINCÍPIOS DO GOVERNO DO IPCC: O papel do IPCC é avaliar de forma abrangente, objetiva, aberta e transparente a informação relevante para a compreensão da base científica do risco de mudanças climáticas induzidas pelo homem. A restrição humana induzida deixa claro por que há relativamente poucas pesquisas sobre o papel do sol, a órbita terrestre, a formação de nuvens (que esfriam a terra), raios cósmicos (que podem semear nuvens), correntes oceânicas ou o clima enorme As mudanças do passado que mudaram a terra para dentro e para fora de mais de uma dúzia de tempos de gelo, os seres humanos não têm impacto significativo em nenhum desses. Ryan também precisa ser pago mais, os desenvolvedores de software da IMHO são muitas vezes pagos em excesso pelas dificuldades de seus empregos. I8217ve aprendi a programação no meu tempo livre 8211 é uma ciência do foguete. Ryan8217s fez uma grande melhoria em Steig et al executando mais de 3000 reconstruções da Antártica e resolvendo várias questões pendentes. Ele também dirigiu vários comentários para os caras RC. Parece os ingredientes de uma semana ruim para eles. Eu não sabia que qualquer culpa tinha sido dirigida aos engenheiros de software da GISS. O meu entendimento foi que estavam implementando fielmente os supostos falsos de sensibilidade e todo o resto daquilo que compreende a ideologia atual da modelagem climática. Estou inclinado a não ler muito essa avaliação sincera do colega. E eu acho que Steve M. estava um pouco acima do topo, implicando que o programador deveria ter comunicado suas dúvidas sobre os modelos para o IPCC, o Congresso e a mídia. O cara que tem que traduzir hipóteses malditas de mais alto em código viável não deve ter que agrupar esse tipo de problema ou ser pego no meio. Parece haver uma correlação entre o envolvimento do governo e a falta de qualidade do software desenvolvido. No Reino Unido, o governo assumiu o financiamento de um sistema de cuidados de saúde extremamente complexo, supostamente para ligar todos os registros médicos de cada médico de família, cada hospital em uma base de dados central. Embora o desenvolvimento tenha sido realizado pelo setor privado, tem sido até agora nada menos que um desastre completo e um desperdício de algo como seis mil milhões de libras. Agora, vá ao extremo e faça com que o governo não apenas financie a coisa, mas desenvolva-se e nenhuma pessoa racional possa esperar nada do outro lado que se assemelhe de maneira alguma à sua finalidade. Apenas percuando esse lagarage de programação - faz mais de 30 anos desde que eu vi FORTRAN é eu, eu vejo algum tipo de 8216loop8217 deliberado se você quiser, na forma como ele escreveu I8217m, nenhum programador, mas baixou alguns estudos de vida selvagem diferente Em FORTRAN e ficou preso em um resgate no lixo out8221 - GIGO cenário que dang perto obteve todo o estudo desligado.-Depois de 3 anos de trabalho de campo duro8230 Esta coisa GISS me faz wonder8230 É desconcertante como os modelos são chamados 8220experiments8221 butand também usado para 8220prediction8221. Se o modelo for entendido, não é experimental. Se o modelo for experimental, não deve depender da predição. Eu realmente não me importo quanto dinheiro e tempo, esforço e inteligência foram desenvolvidos nos modelos. Chega um ponto em que temos que decidir se confiamos nos resultados. Muitos projetos ocupam muito tempo e esforço, mas, no entanto, eles simplesmente falham. Precisamos ter honestidade sobre se os modelos climáticos são sucessos ou falhas. Parece que pode ser mais preciso dizer que os funcionários da UCAR (pelo menos alguns deles, engenheiros de software podem ser mais conscienciosos) estão sob trabalho e pagos em excesso: 8220. Também avaliamos se os salários e salários da UCAR foram devidamente cobrados para prêmios federais. A auditoria constatou que os funcionários da UCAR 1) não estavam registrando todas as horas trabalhadas, 2) cobrados nas horas orçamentadas em vez de reais, 3) ganhou e usou o tempo compensatório não registrado (embora UCAR não permita oficialmente o tempo compensatório) e 4) incorretamente re - agendaram o tempo que funcionaram quando estavam de licença. Além disso, a UCAR não apresentou uma justificativa por escrito detalhada para suportar mais de 80% dos custos trabalhistas amostrados que a UCAR transferiu entre os prêmios. Sem uma base de apoio confiável, UCARs 58 milhões de custos trabalhistas cobrados pela NSF e outros prêmios das agências federais correm o risco de não serem alocados com precisão. A UCAR precisa desenvolver um sistema de cronograma para acomodar todas as horas trabalhadas pelos funcionários assalariados, fornecer orientação específica aos funcionários sobre a conclusão do cartão de timbre e fornecer mais supervisão da contabilização de licença e transferência de custos trabalhistas entre prêmios.8221 nsf. govpubs2008oigmarch2008oigmarch20082.pdf Gary Strand pisou Para participar de discussões no Climate Audit, colocando-se no meio de perguntas difíceis e pontos de vista céticos. Eu, por um lado, aplaudo sua coragem e profissionalismo por fazer isso. No entanto, eu suspeito que ele lamenta redigir suas declarações dessa maneira, mas eu tambem suspeito que o código seja como ele afirmou. We8217ve todo o código antigo visto em nossos ambientes de trabalho que levam a uma grande quantidade de cabeça tremendo e franzindo as pontas, então I8217m dificilmente surpreendido pela admissão. Esperamos que o Sr. Strand não seja atraído por seus colegas de ciência do clima por isso. Por que não há dados do co2 de 2009 Lições da teoria do caos Quem pondera o valor e a precisão dos modelos de computador, especialmente na simulação de sistemas imensamente complexos como o clima do planeta Earth82, deve revisar a história de Edward Lorenz e seu Royal McBee LGP-30, o Máquina que ele usou em 1960-61 para tentar modelar os padrões climáticos em mudança e mostrar o potencial para usar o computador na previsão do tempo. Sua descoberta de que as diferenças maciças na previsão poderiam derivar de pequenas diferenças nos dados iniciais levaram-no a desenvolver a matemática por trás desse fenômeno e a cunhar os termos atraente atrativo e efeito borboleta, conceitos básicos na teoria do caos. A história é contada no primeiro capítulo do livro agora bem conhecido e soberbamente escrito, 8220Chaos: Making a New Science8221 de James Gleick 8211 Publicado em 1987 pela Penguin Books. Do Capítulo 1, 8220O efeito da borboleta 8221, páginas 15, 16 e 17 8220 Com seu computador primitivo, Lorenz tinha fervido decapitado até o esqueleto mais baixo.8212-8221 8220 Um dia no inverno de 1961, querendo examinar uma seqüência em maior extensão, Lorenz Tomou um atalho. Em vez de começar todo o processo, ele começou no meio do caminho. Para dar à máquina suas condições iniciais, ele digitou os números diretamente da impressão anterior. Então ele caminhou pelo corredor para se afastar do barulho e beber uma xícara de café. Quando voltou uma hora depois, viu algo inesperado, algo que plantou uma semente para uma nova ciência. 821282118221 8220 Desde quase o mesmo ponto de partida, Edward Lorenz viu o clima do computador produzir padrões que se tornaram cada vez mais distantes até que toda semelhança desaparecesse.8212-8221 8220Desconcebidamente, ele percebeu a verdade. Não houve mau funcionamento. O problema estava nos números que ele havia digitado. Na memória do computador8217s, foram armazenadas seis casas decimais. 506127. Na impressão, para economizar espaço, apenas três apareceram. 506. Lorenz tinha entrado nos números mais curtos e arredondados, supondo que a diferença entre mil, 8211 era inconsequente. 8211 8211 8211 No entanto, no sistema particular de equações de Lorenz8217, pequenos erros se revelaram catastróficos.8212-8221 8220 Mas, por razões de intuição matemática, seus colegas começariam a entender apenas mais tarde, Lorenz sentiu uma sacudida: algo estava filosoticamente fora de comum. A importação prática pode ser surpreendente. Embora suas equações fossem parodias grosseiras do clima da Terra, ele tinha uma fé que capturaram a essência da atmosfera real. No primeiro dia, ele decidiu que a previsão do tempo a longo prazo deve ser condenada.8221 Para a humanidade colocar sua fé total em programas de computador que tentam simular um sistema tão caótico quanto o clima terrestre e é tão sensível a condições iniciais precisas é um ato De insanidade. Y8217all pode estar interessado em discussões de riscos de tipo de computador no 8220Risks Digest8221 catless. ncl. ac. ukRisks. Procure palavras-chave como 8220climate models8221, 8220global warming8221, etc. e você encontrará que muitas dessas questões de software de simulação foram discutidas há décadas. O fórum é dirigido por Peter Neumann e foi iniciado em 1984. Como um com um diploma de engenharia química, eu realmente desprezo quando as pessoas se descrevem como engenheiro de software. Eles não são mais um engenheiro, então os caras que pegam meu lixo, que também são conhecidos como engenheiros de saneamento. De Wikipedia, a engenharia é definida como A aplicação criativa de princípios científicos para projetar ou desenvolver estruturas, máquinas, aparelhos ou processos de fabricação, ou obras que os utilizam isoladamente ou em combinação ou para construir ou operar o mesmo com conhecimento total de seu design ou para Prever seu comportamento em condições operacionais específicas, tudo quanto respeito a função pretendida, economia de operação e segurança para a vida e a propriedade. Na última vez que eu olhei, os engenheiros de software não precisam fazer um exame de treinamento de engenheiro (EIT) ou um exame profissional de engenharia. Uma descrição mais adequada para os nossos amigos que escrevem programas pode ser desenvolvedora de código de software. Como um engenheiro de software de trabalho, devo concordar com você relutantemente. Há muito pouca ciência e muita arte para escrever software. 8220Software engineering8221 é diferente da engenharia 8220real8221 na medida em que qualquer pessoa pode se chamar um 8220software engineer8221 enquanto você tem que se formar em uma escola de engenharia aprovada e, em seguida, realizar um rigoroso processo de licenciamento para se tornar um engenheiro 8220real8221. Ainda assim, me refiro a mim mesmo como um engenheiro de software 8220 porque percebo que deve haver um processo para desenvolver software de qualidade em vez de escrever e revisar cegamente o código. BTW: GISTEMP mostra que, enquanto alguém pode escrever software, a maioria das pessoas não deve. Quanto mais inteligente for alguém, mais difícil é que eles percebam que não estão qualificados para fazer algo. Muitos fios de volta, alguém chamou esse código 8220a de crime contra a humanidade8221. I haven8217t codificado em FORTRAN desde o 608217s, e parece ruim mesmo com meus padrões baixos. Mesmo assim, o código não é um problema como o próprio modelo. Você tem centenas de variáveis ​​de sensibilidade desconhecida, e muito poucas equações comprovadas. Então você adivinha. Alguém disse uma vez que 8220Assunção é a mãe de todos os 82308221 (ou você pode determinar o desfecho antecipadamente e ajustar as entradas) De volta em meados de 808217 quando os PC8217s ainda eram brinquedos cobertos, um dos meus engenheiros decidiu modelar um produto meu usando P-Spice, um programa de análise de circuito eletrônico. Ele determinou que ele tinha tensões de saída de pico em excesso de um gigavolt. Como todos nós ainda estávamos vivos e não vimos relâmpagos voando pelo laboratório, sugeri que seu modelo precisasse de alguma melhoria. Ele deixou cair o projeto. Quanto aos problemas financeiros: muito pouco a ver com modelos defeituosos. Um grande negócio a respeito da intervenção defeituosa no mercado. Empréstimo de dinheiro para pessoas que não conseguem pagá-lo não funciona. Clobbering a economia para reduzir um gás traço que tem pouco efeito sobre o clima doesn8217t trabalho. Nós (pelo menos alguns) aprenderam a lição de dinheiro da maneira mais difícil. A aula de gastrónomo pode ser muito mais dispendiosa. Não é surpresa que os modelos climáticos sejam fracos. 1) As principais fontes de dados que utilizam não são confiáveis ​​devido a problemas de precisão de dados, escassez de pontos de coleta de dados globais e a maneira muito grosseira de que os dados se usem para fornecer estimativas globais. 2) O clima é um sistema não-linear caótico e o desenvolvimento de um modelo que pode fornecer tendências climáticas futuras realmente precisas é uma impossibilidade com as entradas de dados atuais e a energia do computador disponível. Mesmo uma coisa tão básica quanto a modelagem dos efeitos das nuvens é uma impossibilidade, apesar de ser um dos reguladores climáticos mais importantes. No que diz respeito à modelagem das correntes oceânicas e dos efeitos solares, a situação é ainda pior, pois nós não possuímos bons modelos teóricos de como eles se comportam e a influência deles em nosso planeta. 3) Sendo um sistema caótico, mesmo o menor erro no modelo terá um efeito cada vez maior na precisão da previsão conforme os anos passam. Eu acho que as pessoas que financiam as produções dos vários GCM8217s que estão em torno de hoje são inteligentes o suficiente para perceber a inutilidade da tarefa de prever o clima e o nível de 100 anos. Desde que os resultados que eles recebem dão um ajuste 8216 good8217 ao clima passado e fornecem previsões politicamente corretas, então por que eles investirão grandes somas de dinheiro nesta área. Um sistema antigo sem dúvida com muitas, muitas revisões. Todos os sistemas como este acabam parecendo bastante ruins. Eles precisam refazê-lo, mas o código de mau aparência não significa necessariamente um código de trabalho ruim. Até então, continuará a ser segurança no emprego para os poucos que entendem. Alan, as suposições podem ser a destruição das ciências puras, mas são o pão ea manteiga dos engenheiros. As principais classes em sophmore year supostamente ensinam conceitos matemáticos básicos, mas as principais lições são em suposições razoáveis ​​e irracionais. Se você fizer suposições não razoáveis, você falhou. Há muito código e não há tempo suficiente para eu descriptografar e entender, mas acho que isso seria difícil, mesmo em conformidade com as melhores práticas básicas (o mais fácil de todas as linguas para ler e escrever da maneira mais autodescriptiva possível). While this sort of thing needs to be complicated, I cannot help but feel cheated that I cannot even find the array definitions in many cases, much less where they are set. One thing that irks me is that they are detailed enough to adjust for the changing weight of dry air in higher CO2, when an increase of CO2 to a full 1 (an incredible amount) is only 0.15 gmol. This is less than half a percent of the standard estimate (28.8 gmol). If this affects the model8217s outcome at all, then the model is laughably oversensitive, because there is no way that you can get two significant figures of accuracy, much less three, on 90 of the valid inputs. It8217s comparable to using a surgeon8217s scalpel while blindfolded. A baseball bat is just as accurate. Rod Smith (09:48:05) : As an old very old programmer who has many times been forced by Federal contract requirements to code AND DOCUMENT to Federal Standards, some of which were (to use a polite word) absurd, why is it that Federal Employees dont have to meet these same standards And why is anyone still coding in Fortran I asked that question about FORTRAN previously and was roundly spanked by people who informed me that FORTRAN is still used in the engineering field and is also commonly used on supercomputers. I can only assume Fortran is equally prevalent in science as in engineering. I still question why a more modern, object-oriented language such as C (or even Java) isn8217t used. Is FORTRAN mult-threaded I8217m also told some versions of FORTRAN have object-oriented extensions, but they aren8217t commonly used. If software engineers are in short supply, that8217s a sign that NASA needs to migrate to a more contemporary system. Last I heard, there were a lot of layoffs in the IT field. Surely there are some out-of-work computer science majors who would love to work for GISS Does anybody know the hardware and OS GISSTEMP runs on First, I8217m a software developer with 22 years of post-college professional experience. I used to work for the Jet Propulsion Laboratory where I was responsible for maintaining some of the computer graphics software used by PIO for the Voyager and Galileo 8220flyby8221 animations, all written in FORTRAN. With all due respect to everyone hammering on the quality of the code and the software developers who created this code, the FORTRAN here looks very typical of most of the FORTRAN I encountered 20 years ago at JPL in a professional capacity. The problem with the code is twofold: (1) The code is old. You can tell from the varying comment styles and coding styles in various source files that it has been worked on by a large number of people over a long period of time. Typically code like this suffers from the 8220Lava Flow8221 anti-pattern: the next person to work on a chunk of code doesn8217t know fully how things work, so they delicately add their work, making as little change as possible. Lower layers are 8220frozen8221 like old lava, with new code poured on top, and allowed to freeze itself. (2) The code doesn8217t use modern coding techniques such as object oriented coding styles. This is typical of code from the 19808217s: OOP programming (and related techniques, such as using design patterns to keep code maintainable) are innovations that didn8217t get wide-spread support in the programming community until the 19908217s. This means the code is hard to read and hard to maintain from current coding standards. (3) One would hope that there would be a separate document which outlines the equations, formulas and rational used in each section of the code. Unfortunately most programmers take the attitude that 8220code is self-documenting8221, when it is no such thing. When I was at JPL I spent a considerable amount of time documenting the code I inherited so I could keep it straight in my mind8211and if I were tasked to maintain this code, that would be the first thing I8217d do. Ideally I would try to trace back each of the calculation methods back to the scientific paper or textbook which provided the underlying formula, so there is an understanding why I8217m carrying out a particular calculation at a particular point. This sort of sloppy documentation is inexcusable, of course8211but it is an extremely common problem in the software community. (4) It is a common lament amongst software developers to distrust what they don8217t understand8211especially any newly inherited code. I had a software developer undertake rewriting large chunks of code I wrote myself8211telling me to my face that whoever wrote it was an idiot. (He didn8217t know it was me. I let it go.) Thus, no-one working on 20-year-old code will ever say it8217s good code, regardless of the quality of the code. And they8217re all going to itch to rewrite the code8211so they can understand it, not because the quality is necessarily bad. So I wouldn8217t trust the comments of the developers who say the code quality is bad. It looks to me to be typical Fortran code from the 19808217s. I8217d say the real problem here is twofold: (1) The code is not properly documented with references to appropriate scientific texts. And as a consequence (2) we are over-reliant on the predictive model of a chunk of code no-one really understands. But code quality: having worked as long in the software industry as I have, code quality is a constant lament8211and really means 8220I haven8217t figured it out.8221 Think of the billions Boeing has spent on their models, and they still don8217t aren8217t perfect 8220Specifically, Boeing found that portions of the airframe those where the top of the wings join the fuselage experienced greater strain than computer models had predicted. Boeing could take months to fix the 787 design, run more ground tests and adjust computer models to better reflect reality.8221 If realclimatescientists ran Boeing, they would defend the 8220models8221, built the plane, crash dozens, kill thousands, bankrupt Boeing and blame the skeptics Yet another software engineer here 8230 8220Keep in mind that the errors could be impacting results both ways, although, given the GISS track record, I doubt it would error on the cool side )8221 That8217s a way bias can creep into any software that produces numbers (eg modelling software) where people have pre-determined expectations for the numbers. Bugs that cause the numbers to differ from the expected result are spotted and fixed. Other errors 8230 well not so much. John F. Hultquist (08:21:57). Good post and useful critique, I think. But, I first did FORTRAN in 1965 (version II-D) and am quite happy to take your word that these models are not great examples of clarity. Ive seen all the do loops and if then statements I ever want to see. That being said: Know that I appreciate those of you that are looking at these things and I do trust your judgment. I wrote Economics modeling progrrams in the early 708217s on fortran S Bridges (08:55:35). As one with a chemical engineering degree, I really despise it when people decribe themselves as a software engineer. They are no more an engineer then the guys who pick up my garbage, who are also known as sanitation engineers. software engineers They are not engineers. Most have no degree. I really like this thread however since there are quite a few of us that used fortran. Working for the government and using fortran is kinda 30 years behind the times. Gary, still using key punch cards AGW has never been about the science. It has been about the social power. The use of climate science is only incidental. Now that science is 8216settled8217, the AGW community could give a fig about the terrible code that was used to sell the politics. Oh, and like John Galt, I agree completely with RS Bridges that most of today8217s 8220Software Engineers8221 are really just coders, I8217m one of them. True Software Engineers do exist but they8217re developing stuff like flight control systems for aircraft etc, and they8217re not using Fortran. Of course, all this Earth climate model talk is premature 8211 you first have create a model of the Sun that works properly :) Have any of the models managed to 8216predict8217 from 1850 to now Dr. Robert M. Carter characterizes three climate change realities: Climate change knows three realities: science reality, which is what working scientists deal with every day virtual reality, which is the wholly imaginary world inside computer climate models and public reality, which is the socio-political system within which politicians, business people and the general citizenry work. 82128212821282128212821282128212821282128212821282128212821282128212821282128212- Computer models are not reality. Nature is reality. Political reality is a public display of ineptitude in dealing with reality. Which of these realities is most conducive to your life, liberty and pursuit of happiness Jimmy Haigh (07:45:46). software engineers when theyre underpaid and overworked. 8220Why not look for another job8221 Probably because it8217s nonsense. From 2003: 8220Boulder labs: CIRES, NIST, NOAA, NTIA, UCAR, NCAR (JILA, LASP) Employ 2,566 in Boulder average salary 64,350 26 higher than overall average 51,2208221 slochamber. orgLibrary3A2.pdf But I will be one that blames the software engineers for compromised products and predictions that affect everyone8217s lives, especially when one complains that underpayment and overwork is the problem. 8221 Ive learned programming in my spare time it aint rocket science.8221 82128211 This is the same attitude that the climate modellers have and what leads to these low quality software solutions being created in the first place. Learning a high level language is easy, learning methodology and creating flexible and well documented code is much harder to master. I can build a deck or a small structure with a set of stairs but I am no carpenter and would never try and build a house that would meet building codes. As a Software Developer and Networking and IT Consultant I can simply ask those among us in this field to validate the following. 1) Cleaning up an IT Infrastructure maintained by a 8220learned in my spare time8221 in-house Network and Systems 8220Guru8221 is a waste of time. Start from scratch is faster than fixing it. 2) In house written and maintained software is functionally useless to an outside consultant when developed or maintained by a 8220this is not rocket science8221 spare time programmer. Again starting from scratch is cheaper than deciphering and fixing it on a cost basis. I have made a good living and built a company off these types of situations, so I hope Jeff Id and everyone like him keeps on keeping on because he is the reason my phone rings. Doug Ferguson (10:10:36) : Chaos: Making a New Science by James Gleick Published in 1987 by Penguin Books. Great book. Recommend it highly. After your jogging of my ancient memory I pulled it out to re-read. George Tobin: 8220The guy who has to translate crappy assumptions8230into workable code should not have to field that kind of issue or get caught in the middle.8221 I submit that the Montana farm boy who enlists in the Army should not have to get caught in the middle of an ideological war and lose his life. The farm boy, fortunately, disagrees and defends the country according to his own lights. So it would seem that a programmer, who is aware that software which doesn8217t meet the best standards available is assisting the mendacious in destroying the world economy, has an obligation to field any issue and get caught in whatever positions are necessary to alert the world. It probably won8217t be fatal to him. Hubristic 8220scientists8221 initiated what has become a fight for the survival of viable economies and scientists must enlist in this fight right now. R. S. Bridges wrote: 8220As one with a chemical engineering degree, I really despise it when people decribe themselves as a software engineer.8221 It8217s a heck of a linguistic promotion from 8220Code Monkey8221. R S Bridges (08:55:35) : As one with a chemical engineering degree, I really despise it when people decribe themselves as a software engineer. I take issue with this. I am most definitely a software 8220engineer8221. I don8217t believe you have a firm grasp of the roles that some of us of this profession fulfill. From Wikipedia, engineering is defined as The creative application of scientific principles to design or develop structures, machines, apparatus, or manufacturing processes, or works utilizing them singly or in combination or to construct or operate the same with full cognizance of their design or to forecast their behavior under specific operating conditions all as respects an intended function, economics of operation and safety to life and property. This pretty well sums up my job description, and what I have done for almost 30 years. I am not sure what else you would call my profession other than 8220software engineer8221. A more appropriate description for our friends who write programs may be software code developer. Perhaps, for those of you that have no clue what some of us do. 82208230in business, if something doesnt work, or doesnt work well, contracts get lost andor people get fired. Theres consequences to shoddy work. In academia, the solution is usually to ask for more grant money.8221 And in government the solution is to increase an agency8217s budget and call for more power. Perhaps the closet disbelievers who are afraid to speak up on issues of poor computer code or badly createdapplied statistical techniques or other issues in climate science could utilized Wikileaks Well, some of you may have guessed what the 8220Code8221 in my name stands for, and forgive me but my specialty is now being stepped on. No, coding is not 8220rocket science8221, but coding WELL is. Anyone involved in this has had to deal with poorly written or poorly laid out or poorly designed code. Anyone can code8230 yes, but very few can code well. I previously had a contract to 8220fix8221 a project that was 5 years in development using Visual Basic. It took me several months to even figure out what the original author was trying to do, and a few weeks to completely rewrite it properly. They have since hired several other contractors to add function to what I wrote, and none of them have had any problems with it. There is a difference between someone writing code using established methodologies and someone who taught themselves and gets mired in an oversized project. I also downloaded Model E and was amazed at how poorly written it was. My guess is that it evolved directly from the 8220proof of concept8221 phase and was never restarted, reorganized, or reanalyzed, all three of which are essential when your program grows past a certain point. About models in general, there is nothing wrong with the concept of modeling, as long as you understand that a model is ONLY AS GOOD AS ITS ASSUMPTIONS. For example, the Boeing model was perfectly sufficient for a static design, however one or more of their assumptions was incorrect (material strength structural load during flight) As these kinds of problems are encountered and fixed, future models become that much more accurate. If there is EVER a time when you think your model is completely accurate, you will have crossed the line into a fantasy world, since models are only representative, never definitive. The fundamental, critical flaw in the AGW crowd depending on models is that their models do not, and cannot, effectively model a system as complex as they are attempting to model. We have documented here a few important factors that they apparently didn8217t think of. The illusion that a complete climate model is built, or even can be built, is actually very entertaining to me. I8217m definitely NOT a software engineer, and only program8217d a bit of PASCAL in the day, but I have a descent grasp of what is meant by 8220poor coding8221. However, it would be nice if someone could give examples of poor coding and show how it affects the outcomes to modeling programs. It would be nice to actually see example of where the lack of 8220skill8221 (a Mannian term) affects the outcome of these climate models. While there are a lot of people out there that are 8220coders8221, some of us are not. Some of the things I design and develop include application models, data models and cryptographic systems. Additionally, these systems integrate with other systems using a wide variety of mechanisms, transfer agents and methodologies. Further, I develop source control management processes, procedures and methodologies to manage these projects, from design, coding, distribution, maintenance, auditing, logging, reporting, alerting, change-release, peer-review, integration, systems management, infrastructure integration, the whole spectrum. Perhaps I am taking issue with the slam on 8220software engineer8221 because my background did not stem from an MIS or such degree, but from a Bachelor degree in Computer Science, mathematics minor, physics minor (although I don8217t use the math8217s as much anymore). Mine is a scientific approach from an engineering perspective of software development. So, be careful when you round us all up and slam us into a box. True, we are not all engineers, but some of us really are8230 I have been a professional computer programmer for over 30 years in the insurance industry. Similar to this situation, we have Actuary8217s that write their own software solutions to complex insurance problems. And similar to this situation, it can result in software that no one else can understand at a glance. I have at times been called in to repairsupport such actuarial software. It is a challenge to do so, but it is what I do. From these experiences I have a respect for the need of the Actuary8217s to experiment with their software in order to learn more about their own models. When a programmer is added to the RampD mix, that programmer must become a subject expert. And in my opinion, not a very high percentage of programmers are capable of PhD level work. The idea of requiring that every piece of software must be written only by programmers would certainly be the utopia solution. However imposing such a requirement on mankinds computing needs would greatly harm our productivity and ability to learn by experimentation. In my case for instance, my managers have my workload already laid out for me 2 years in advance. Yes, I already know what projects I8217m supposed to be working on in 2011. This is because talented programmers are in fact in short supply when you consider the work that is ahead of us. And I concur that we are not 8220engineers8221. The state of Oregon has made it illegal to misuse the term (but they never enforce it). Doing so belittles the accomplishments of those that have been certified by the State as being actual engineers. Rod Smith (09:48:05). As an old very old programmer who has many times been forced by Federal contract requirements to code AND DOCUMENT to Federal Standards, some of which were (to use a polite word) absurd, why is it that Federal Employees dont have to meet these same standards And why is anyone still coding in Fortran Because it8217s still a very good language for MampS in science and engineering. And because it8217s incredibly wonderful for concealing slip shod science. As I noted in the thread at Climate Audit, my FOIA for the top level software quality documents for GISTEMP and GCM Model E found no responsive documents. NASAGISS has not even considered where these projects fit within NASA quality standards. I recall reading on the web an interview between some climate modelers, and I was struck that they were talking openly and consciously about their models8217 flaws. I realised that they are smart enough and professional enough to be perfectly aware of the limitations of their models. So our disagreement with them is less about quality assurance issues (8220yes there is room for improvement8221 they might say), and more about the attitude towards uncertainty. For the person in the street, the model results are highly inconvenient. They are a problem for society. But for the people creating the models, the results are very convenient. They raise the status of the field. More than once I8217ve read climate scientists refer to their work as 8220very important8221. And isn8217t this what any scientist wants to do make important discoveries As climate models appear to have little predictive skill, perhaps we need a new academic field of ecology, one that uses different methodologies, ones which are both more powerful, useful, and which render climate modeling obsolete. Pete W (11:48:04) : . And in my opinion, not a very high percentage of programmers are capable of PhD level work. I would certainly agree with you on that point. The percentage of top level programmers andor software engineers (and especially the latter), is relatively small compared to the total volume of personnel involved in software development as a whole. Yes, I already know what projects Im supposed to be working on in 2011. This is because talented programmers are in fact in short supply when you consider the work that is ahead of us. We operate similarly where I work. We have specific future goals laid out 2 to 3 years in advance. Because of our limited resources, we must engage in a lot of future planning, specific tasking and engineering. And I concur that we are not engineers. The state of Oregon has made it illegal to misuse the term (but they never enforce it). Doing so belittles the accomplishments of those that have been certified by the State as being actual engineers. In my role, I would disagree with this statement. My job roles push me far beyond merely 8220coding8221. Specifically, one of my roles is to 8220engineer8221 new application models, scientific research, validation, implementation. These tasks move me far beyond simple software development roles. The developers (we can them 8220developers8221), that work for me, are NOT software engineers as they are not intimately involved in the 8220engineering8221 aspects of our software development projects. Whereas, one of my roles is specifically to 8220engineer8221 these applications, often times employing cutting edge architectural techniques and unique systems integrations. We have 8220software developerscoders8221 here, but we also have 8220software engineers8221 here as well, I am one of those engineers. I think the disconnect here is, most people do not fully understand the world of computer processing and that the subject encompasses. There are times when that world is very vast and requires intimate knowledge and discovery on a vast variety of technical disciplines (ie: engineering). Im definitely NOT a software engineer, and only programd a bit of PASCAL in the day, but I have a descent grasp of what is meant by poor coding. However, it would be nice if someone could give examples of poor coding and show how it affects the outcomes to modeling programs. It would be nice to actually see example of where the lack of skill (a Mannian term) affects the outcome of these climate models. Poor coding affects the output because it8217s impossible to read the code and follow the logic. In other words, you can8217t verify the model was coded correctly. One aspect of software engineering is unit testing (see en. wikipedia. orgwikiUnittesting ). Unit testing helps determine the model works as designed but does not help determine whether the model is designed correctly. The only way to verify the output of these models is to compare the results against the observed climate. Unless you8217re grading on the curve, I don8217t see that the models hold up really well. And how do you verify the output of climate models that project the climate for the year 2099 You have to wait until the year 2100 to validate the model much less time is needed to invalidate. In modelling when there are unknowns, we are often conservative to cover our asses, but we also have to bear in mind we don8217t want to over design or we will cost our client extra , we have to stay within reasonable bounds but allow for the worst that might be expected. Isto é, if designing a reservoir, we have to look at the worst storm possible and assume the catchment is nice and saturated, but we dont design to a storm that is improbable as that would waste money. We have to carefully assess the suitable storm and ensure it isnt unrealistic. I wander if climate modellors put a limit on how conservative their assumptions are I mean, clouds causing warming, 13 ocean evaporation, 20kph glaciers, co2 warming the sea etc8230 etc8230 when these all come together do they represent a highly unlikely outcome or a realistic outcome Personally I like the Idso equation as its the only one empirically derived. When it comes to GCM8217s (general circulation models), I really believe that 8220software engineers8221, along with software developers, is precisely what is necessary if one wants to truly attempt to computer model something as complex as our climate. The task of developing software so complex as this, ultimately demands not just software developers, or coders, but in fact real 8220software engineers8221. Software engineers to determine what technologies employ, determine how those technologies will be employed, determine every aspect of the project design, determine who will play what role in and at what stages, how development processes and methodologies will be utilized when and by whom, all of these things that are required to successfully develop a software product and see it through its SDLC (software development life cycle). It seems to me that software development project such as this would likely demand new architectural application approaches. Develop and utilize new design patterns, new application modeling techniques, the things that 8220software engineers8221 do. To me, a climate model just screams of cutting edge technology approaches such as this. Old-school FORTRAN just doesn8217t seem appropriate in this case. Its like trying to build a rocket to Mars using pixy stix. You might be able to do it, but the likelihood of success or desired results, would be rather low. As one with a chemical engineering degree, I really despise it when people decribe themselves as a software engineer. I came up through the ranks in the 70s when quite a few coders were also hardware engineers. I was one of them. I do take exception to the statement that 8220software engineering8221 is not real engineering. Ask the aerospace guys (me, me) or the medical eqpt. guys if that is true. Degrees and professional exams are not the measure of all things engineering. Otherwise it would have been a University Professor and not James Watt who brought the steam engine into the modern age. BTW this hardwaresoftware engineer (non-degreed) had a government inspector look over his code and the inspector said it was the best written code he had seen in years. My secret The naming of parts. If you get the names of things right the code reads almost like English and even a non-coder should be able to get the gist of it. I did do my work in FORTH which is a great help in making the code readable. But if you are not a disciplined software engineer FORTH makes it much easier to do unreadable code. So it cuts both ways depending on the skill and discipline of the engineer. We have the example of hardware engineers. You give them a pile of steel and other metals, etc. and they will build you an engine. However, there are no restrictions on how the materials can be used. It is up to the engineer to make the right choices. In 8220modern8221 coding languages the effort is to make the compilers and tools cover for (prevent) errors. Such restrictions also prevent you from doing a lot of useful things easily or at all. All very nice if you are going to employ a bunch of mediocre codersengineers. But you then wind up with a bunch of mediocre code. In everything. Just think of how long it takes Windoze to load. So my point 8211 if you don8217t trust your software engineers the answer is not training wheels. It is better engineers. There is no substitute for talent and discipline. BTW PHDs can code well if taught the discipline. If they are apt students it only takes a couple of weeks to train them. If they are not apt they shouldn8217t be coding. R S Bridges (08:55:35) : 8220As one with a chemical engineering degree, I really despise it when people decribe themselves as a software engineer. They are no more an engineer then the guys who pick up my garbage, who are also known as sanitation engineers. From Wikipedia, engineering is defined as The creative application of scientific principles to design or develop structures, machines, apparatus, or manufacturing processes, or works utilizing them singly or in combination or to construct or operate the same with full cognizance of their design or to forecast their behavior under specific operating conditions all as respects an intended function, economics of operation and safety to life and property. Last time I looked, software engineers do not have to take an engineer-in training (EIT) exam or a professional engineering exam. A more appropriate description for our friends who write programs may be software code developer.8221 Hear, hear Another definition of Engineer, from California8217s Business and Professions Code 6701: 8220Professional engineer,8221 within the meaning and intent of this act, refers to a person engaged in the professional practice of rendering service or creative work requiring education, training and experience in engineering sciences and the application of special knowledge of the mathematical, physical and engineering sciences in such professional or creative work as consultation, investigation, evaluation, planning or design of public or private utilities, structures, machines, processes, circuits, buildings, equipment or projects, and supervision of construction for the purpose of securing compliance with specifications and design for any such work.8221 Rod Smith (09:48:05) : As an old very old programmer who has many times been forced by Federal contract requirements to code AND DOCUMENT to Federal Standards, some of which were (to use a polite word) absurd, why is it that Federal Employees dont have to meet these same standards And why is anyone still coding in Fortran All the FORTRAN code makes the output appear to be 8216scientific.8217 Unfortunately most programmers take the attitude that code is self-documenting, when it is no such thing. Well written code IS mostly self documenting. It all depends on choosing your words very carefully. The government inspector who looked at my code and liked it had no complaints about the lack of commenting (there wasn8217t a lot of it) because the code WAS self documenting. That was back in 821779 and I WAS using techniques that did not become widely used in programming for another decade and a half. All this from a non-degreed (electricalelectronic) aerospace hardware engineer who went into coding out of necessity. So why was my stuff well above average for the time period involved I cared. I was not just interested in 8220it works8221. I was also interested in elegance and beauty. BTW I don8217t think you can be a good codersystems engineer without a deep understanding of the underlying hardware. Also a deep understanding of the domain is essential (if only for picking good names for things). Now a days most coders are fairly ignorant of the hardware they are working on and even more so of the domains they work in. Roger Sowell (13:15:05). You are talking about the LEGAL definition of engineer not the practical definition. A confusion of domains. Roger Sowell (13:15:05) : Hear, hear Another definition of Engineer, from Californias Business and Professions Code 6701: Professional engineer, within the meaning and intent of this act, refers to a person engaged in the professional practice of rendering service or creative work requiring education, training and experience in engineering sciences and the application of special knowledge of the mathematical, physical and engineering sciences in such professional or creative work as consultation, investigation, evaluation, planning or design of public or private utilities, structures, machines, processes, circuits, buildings, equipment or projects, and supervision of construction for the purpose of securing compliance with specifications and design for any such work. Again, just describes my professional role as a 8220software engineer8221. gtgt Mac (08:26:46) : Ive written my own NASA-like climate model software 10 Rem Global Climate Model 20 Print The End Is Nigh 30 Goto 20 40 End (of planet) ltlt This is the only example of code in the entire thread. The 8220End8221 statement is usually a compiler directive and not an executable statement. However, most compilers will execute a return at this point (and not terminate or stop the machine). A main program will return to the operating system. Statement 8220308221 is an example of an infinite loop8211you can never reach statement 8220408221 or exit the loop. It seems appropriate. No matter how much hype we hear about global warming, we will never leave that infinite loop about the coming doom and never reach the 8220End.8221 Too much value is assigned here to 8220coding quality8221. That may be an issue concerning costs of maintenance and further development of the application. But it is not related to the OUTCOME or calculated result of the system, or quality of the results. What interests us is 8211 if the calculations are correct. Code quality is irrelevant. You must always check results against some independent benchmark 8211 like say 8211 measured observations. Whether the code styling is nice or not, does not matter. If you cannot test the result in an independent manner, you can never debug the code and make it work correctly. No amount of 8220good8221 software engineering can guarantee that the results are correct. It is impossible to develop and debug code if you have no independent yardstick to evaluate the results by. M. Simon (13:04:11) : . BTW PHDs can code well if taught the discipline. If they are apt students it only takes a couple of weeks to train them. If they are not apt they shouldnt be coding. A couple of weeks huh Perhaps back in the 708217s. it seems you may not have much experience with modern day development processes. It would take a couple of weeks just for them to learn the source control management aspects alone. I would be willing to bet that not one of those individuals would be capable of coding on my current project within a year, perhaps even two. As a working software engineerconsultant, I can tell you that poor code is the norm. If more programmers knew what they were doing, I would have to find other work. Software engineers do not have a professional licensing requirement. That means the quality of their work is all over the board. Anybody can claim the title of 8216software engineer.8217 In many companies, it8217s the job title that replaces 8216programmeranalyst.8217 Having a degree in Software Engineering or Computer Science is not a guarantee of the quality of a person8217s code. I have met many self-taught programmers who write excellent code and many degreed professionals who just copy and paste and patch their code after it8217s put into production. The difference is in the attitude and aptitude. A person who takes pride in their work strives to write good code. They want to improve and when they don8217t know how to do something, they learn it instead of throwing out one bad hack after another. Take the example of Boeing. They had a nice software model, that certainly helped a whole lot in the design process. Still the result had to be tested in a prototype, where actual stress measurements were made. An error was found that could not have been discovered by 8220good8221 software engineering, only by actual measurements. The software will be corrected, and be more useful in the future. Software that cannot be tested cannot be developed to a high degree of reliability. Good coding practices alone are never sufficient. I also qualify as an engineer (chemical) who was required to learn and then write software in FORTRAN. My field was chemical plants and petroleum refineries, in which we wrote some very complex code. This code was done well, and was robust, and was subject to annual updates revisions, and was sold as a commercial product throughout the world. Nothing magic in this, we simply understood our field, and FORTRAN. The code had to execute on machines in Japan, Europe, Canada, the US, South Africa, and the Middle East. After years of writing debugging enhancing the code ourselves, we hired a computer science major and had him do the programming. We spent more time explaining things to him than if we had simply done the job ourselves. Management thought we were so progressive, though, in having a professional code-writer. It also enhanced our marketing when we could say the code was professionally written. Someone earlier asked why do people still code in FORTRAN, and this reminds me of a similar thread earlier on WUWT. Because it is an excellent language for engineering. There are literally millions of lines of excellent FORTRAN operating every day in engineering applications. No one in their right mind would consider re-writing all that perfectly good code. Someone said: 8220The model results reflect the assumptions of the authors of the model8221. That would be true if there were no errors (bugs) in the code. As it is 8211 the models reflect nothing. Their result cannot be treated as anything but random, since we have no independent way of authenticating them, therefore we have no way of debugging the code. 8220I recall reading on the web an interview between some climate modelers, and I was struck that they were talking openly and consciously about their models flaws.8221 The discussion you recall may be this one I8217m curious Do you think your definition of 8220software engineer8221 fits with what the needs are for building a climate model I think it may, since it requires much more than a coder, which is why the scientists probably decided to do it themselves in the first place anyway. By your definition, I believe I would be called an engineer. But we will have to disagree on the term software engineer. This company has folks that do everything you mention, and none of them are called software engineer. With all due respect to scientists and engineers 8211 leave the coding to the professionals. We set up 8220sandboxes8221 where we let the PhD8217s play where they wouldn8217t hurt anyone. I was a professional (got paid to do it) programmer during the mid 1980s when a lot of this code was written. I would say ModelE is not up to industry standards of even the 1980s. Our code was much better documented. This problem reminds me of the Therac-25 software incident: en. wikipedia. orgwikiTherac-25 that got a lot of play in the IT trade press of the day. A radiation therapy machine somehow dispatched lethal doses of radiation because of a software glitch caused by a certain set of operator instructions. 10 Rem Global Climate Model 20 Print The End Is Nigh 30 Goto 20 40 End (of planet) ltlt Better program 10 REM Global Climate Model 20 ON ERROR GO TO 40 30 PRINT AT INT (RND 21),INT (RND32)8221The End is Nigh8221 40 GO TO 30 But the RND function is no good since it repeats itself in about 15 times, better take the value of the random SEED generator directly with the aid of a PEEK command. 10 REM Global Climate Model 20 ON ERROR GO TO 40 30 PRINT AT INT (PEEK (16434)21),INT (PEEK (16434)32)8221The End is Nigh8221 40 GO TO 30 Oh my god how long has it been, to long i guess and one thing comes up, that even small and relatively simple program8217s do require some debugging, good software takes time, but even then if you feed it with garbage data, it will result in output that is still garbage. Real engineers There seems to be a misunderstanding regarding engineers. I use headhunters to hire people and they aren8217t confused. Engineering degress are granted by schools of engineering. None of this M. S. in Information systems from church schools. You have an engineering degree from an engineering school or you do not. Microsoft and some other vendors claim to produce them. Nope. Not the real thing. (I cut slack for railroad engineers, they have had that handle and don8217t hold themselves out to have a real engineering degree.) Head hunters also tell me if it is a compromised degree such as B. S. In Engineering Technology. Not as much as a real engineering degree. This excludes the DeVry Universities and some BS computor science degrees. There are real computor engineering Degrees. There are several hundred Engineering School campuses. Sounds like the next project after SurfaceStations wraps up. Never Today USHCN, tomorrow GHCN 8220Just perusing that programming lauguage-it has been more than 30 years since Ive seen FORTRAN is it me-do I see some sort of deliberate loop if you will in the way it it written Im no programmer but have downloaded a couple of different wildlife studies in FORTRAN and got caught in a garbage in garbage out - GIGO scenario that dang near got the whole study shut down.-after 3 years of hard field work This GISS thing makes me wonder8221 And it feels Like I been here before Feels. Like I been here before And you know IT sic makes me wonder What8217s goin8217 on Under The ground The following, from The Future of Everything originally entitled Apollos Arrow: The Science of Prediction and the Future of Everything by David Orrell, pg. 324), WRT climate models in particular, is apropos relative to global climate models (CGMs) and Gary Strand8217s contention at climateaudit. orgp6495 that it8217s the science not the software development: 8220Einsteins theory of relativity was accepted not because a committee agreed that it was a very sensible model, but because its predictions, most of which were highly counterintuitive, could be experimentally verified. Modern GCMs have no such objective claim to validity, because they cannot predict the weather over any relevant time scale. Many of their parameters are invented and adjusted to approximate past climate patterns. Even if this is done using mathematical procedures, the process is no less subjective because the goals and assumptions are those of the model builders. Their projections into the futureespecially when combined with the output of economic modelsare therefore a kind of fiction. The problem with the models is not that they are subjective or objectivethere is nothing wrong with a good story, or an informed and honestly argued opinion. It is that they (GCMs) are couched in the language of mathematics and probabilities subjectivity masquerading as objectivity. Like the Wizard of Oz, they are a bit of a sham.8221 The hardest part of understanding the models will be the physics in them rather than whatever programming language they are written in. I suspect therefore primary focus is on that and the programming is secondary. If I were to build a financial model with the same results compared to observations as these climate models, I would be fired. Unless, of course, I was modeling the housing market for a mortgage guarantee pseudo-government corporation. In that case I would get a bonus. Orwell is laughing. William Woody (10:32:26) : has it just about right. I LIVE in FORTRAN 8212 and I8217m not underpaid. I was literally up until 2am last night coding an FFT post-processor in FORTRAN. I have a customized version of the old Personal Editor that converts FOR to F90 fast. The LF95 compiler makes FORTRAN the best for serious number crunching. This old code doesn8217t look that bad to me. I DO NOT have time to fiddle with it this week but, with only one or two small miracles, will have time in a week or two. I8217ll try to convert it to something readable. I wrote my first code in 1963, in a language called SPS. Then Autocoder, Fortran, RPG, COBOL, Basic. (and now HTML) But I stopped being a programmer because I realized that it was nothing but being a slave to the system So I became a systems analyst. But I stopped being a systems analyst because I realized that it was nothing but being a slave to the guy holding the money So I became one of those guys with the money. And I made a lot of money because I remembered what it was like to be a slave to IT and them that hold it. THATS WHERE PROBABLY EVERY PROGRAMMER OF GLOBAL CLIMATE MODELS IS AT, A SLAVE TO WHATEVER ANSWERS THE GUYS WITH THE MONEY WANT TO SEE. However, I believe what every one of them knows, but would NEVER admit to, is that no digital computer, no matter how perfectly programmed will ever be able to model the super complex ANALOG system we know as 8211 global climate. Will there ever be a computer (and language) capable of such Probably, but itll be a Bionary (remember you read it here first) unit. device. that will be based in nano-biological functionality and be capable of self-correcting its programming as it runs processes and finds out-of-bounds anomalies through out the steps therein. And these steps (functions) will not be limited and set mathematical increments, they will be analog at their core providing an infinite range of conditions and interaction within themselves. Even with such a device it may not be possible to model the global climate or at least not for a long time. Why Because we do not even know WHAT WE DO NOT KNOW We dont know enough about the oceans, clouds, dust from land, dust from space, CO2 dispersions and concentrations, and even the that big bright ball in the sky to fill a small bit bucket, much less feed into a computational device and expect that some lowly programmer has somehow written the code of century that is going to spit out what the temperature at 6ft above the ground is going to be at the corner of 5th and Main in Timbuktu at 3:31am on the 14tn day of July, 2077. And with historical record of any of the above (and more) how could we ever test to reality what we created I can program a computer to whistle Dixie while dancing an Irish jig and tell you that in 10 years youll be 10 years older if something doesnt happen. That doesnt mean the computer was built in Ireland or programmed at Georgia Tech, or make me a scientist. AND it doesnt somehow magically put into my hands the data I need to RUN THE MODEL. You can have the most powerful computer physically possible (even a Bionary one) and the most sophisticate language and genius of an analyst and of course a master coder and without the RIGHT data, YOU GOT NOTHING. 8220And with historical record of any of the above82308221 That should be - And without a historical record. Steve in SC, if you8217re referring to my comment as 8220disparaging8221, I didn8217t mean it that way. I wrote: There is a difference between someone writing code using established methodologies and someone who taught themselves and gets mired in an oversized project. Many times I have had to clean up after people who got bogged down in something bigger than they can handle. Part of the 8220established methodologies8221 I refer to include stepping back and seeing the big picture, then breaking down or modularizing into sections, then concentrating on building functionality for each module or section, then optimizing. Most self-taught programmers are very good at one or more of these steps, but few do all of them. Obviously, since I8217m writing this, I like to think I am one of those, at least I keep getting called back and others who follow my work are never wading through several feet of muck to get where they need to be. Either way, I8217m trying to summarize what many have also tried: NO, it8217s not all about the code. Sure, it8217s about the physics. However, without the code to support the physics you have muck, you can8217t verify or confirm accuracy, you can8217t test anything, and you have a horrid time making any changes. The whole point of spreadsheets, for example, was to take programming out of the picture and allow those who worked with numbers to just go ahead and plug in numbers. Yes, programmers were involved, you just didn8217t see them. VisiCalc and Lotus 1-2-3 created something of a revolution by letting the numbers and formulas people just work with numbers and formulas, and not have to fight with the computer as well. Maybe we need to see the development of an independent, publicly accessible, open source GCM, and allow people to share their tweaks and assumptions. Surely then we could come up with a better model. (yes, I know the current group don8217t actually WANT a better model) Mike Bryant (16:54:01) : I miss Gary Strand He should be commenting here 8220Yes, he should be. But Mr. Strand is hiding out.8221 Gary has been over at climateaudit puffing up and obfuscating. 8220These codes are what they are 8211 the result of 30 years and more effort by dozens of different scientists (note, not professional software engineers), around a dozen different software platforms and a transition from punch-cards of Fortran 66, to Fortran 95 on massively parallel systems.8221 8211 Gavin Schmidt, RealClimate. org The difference between a natural scientist or engineer (non-software) and a computer scientist: A natural scientist or engineer will get bad code to compile and get some sort of output then declare a scientific conclusion based on this. A computer scientist understands there is more to it than that. John Galt (14:11:13) : 8230 Having a degree in Software Engineering or Computer Science is not a guarantee of the quality of a persons code. I have met many self-taught programmers who write excellent code and many degreed professionals who just copy and paste and patch their code after its put into production. The difference is in the attitude and aptitude. A person who takes pride in their work strives to write good code. They want to improve and when they dont know how to do something, they learn it instead of throwing out one bad hack after another. Too true I have run into this time and time again. I cannot count the number of people I have encountered that have Masters Degrees in Computer Science that are either complete hacks, or simply don8217t know their rear end from a hole in the ground. Always makes me laugh. Want to impress me Don8217t show me your papers, that won8217t do it8230 Lee (08:22:00) noted: 8220The last piece of code that worked without any unexpected errors was 10 Print Hello 20 Goto 10 But I thought it has already been agreed, Lee, that the 8220108221 was a typo as it was meant to have been 8220Hell8221 Real engineers There seems to be a misunderstanding regarding engineers. I use headhunters to hire people and they arent confused. Engineering degress are granted by schools of engineering. None of this M. S. in Information systems from church schools. You have an engineering degree from an engineering school or you do not. Microsoft and some other vendors claim to produce them. Nope. Not the real thing. (I cut slack for railroad engineers, they have had that handle and dont hold themselves out to have a real engineering degree.) Head hunters also tell me if it is a compromised degree such as B. S. In Engineering Technology. Not as much as a real engineering degree. This excludes the DeVry Universities and some BS computor science degrees. There are real computor engineering Degrees. There are several hundred Engineering School campuses. I would have to agree with this. I personally attended a University, 4 year Bachelor of Science degree, from an accredited engineering and agricultural research University. Many of my courses shared those with EEE students (Electrical and Electronic Engineering), especially Mathematics, Physics, Chemistry, etc8230 Our 8220Computer Science8221 curriculum was very much in line with the Engineering disciplines. I do not consider MIS degrees and all their various permutations, any where near to the class of a real CS degree from an engineering College or University. They simply are not compatible with one another. Perhaps this is where part of this breakdown is when using the term 8220Software Engineer8221. There truly are 8220Software Engineers8221 out there (I am one). I would say this is far more the exception than the rule when speaking in general terms of 8220Software Development8221. There is definitely a very sharp contrast between a 8220Software Developer8221 and a 8220Software Engineer8221. The latter requires a much larger toolbox. Incidentally, my personal professional title is, and has been for a long time, Sr. Software Engineer. This same title has followed me for many years, even throughout my years working government entities as the DOD, DHS, Pentagon, Navy, and various defense contractors. Chris Reed (17:41:37) : 8230. As a Meteoroloist, I learned to look at the model as a tool. Precisely. You could not have said it better. I cannot count the number of times I have had to remind people that any computer program, computer programming language, etc8230 IS JUST A TOOL And like any tool, can be used properly or improperly. The term 8220use the right tool for the right job8221 comes to mind8230 We really have been to this movie before. The Strategic Defense Initiative 8216Star Wars Project8217 of Pres. Reagan suffered perhaps its most serious blow when: 8220On June 28, 1985, David Lorge Parnas link resigned from SDIO8217s Panel on Computing in Support of Battle Management, arguing in 8 short papers that the software required by the Strategic Defense Initiative could never be made to be trustworthy and that such a system would inevitably be unreliable and constitute a menace to humanity in its own right.8221 Remember We could not show, using computer science protocol already well-established more than 30 years ago that the code-base for SDI could meet a 8220necessary and sufficient conditions8221 mathematical analysis. This is an example of what 8220software engineering8221 really isis about, and is at least roughly analogous to finding the harmonic modes of Galloping Gerdy, before it falls into the Tacoma Narrows). The SDI code-base made today8217s NASA GISS model E, GISTEMP et al look like a school teacher8217s classroom management program. We were capable of using mathematical logic to determine whether the SDI software was actually internally consistent amp coherent 8230 and could show rigorously that it was not. There is nothing inherently wrong with Fortran. On the contrary, Fortran work is currently important: it is still the Speed-King of high-level languages, and in plenty of 8216raw-computing8217 applications, maximum computation speed is absolutely the bottom line. There is also nothing inherently wrong with old algorithmsroutines. The vast majority of all the algorithms we use are, unavoidably, old. There is actually an advantage to using Grandpa8217s code-routine, since it has been hammeredtortured in more ways than some new-fangled method. The problems with Model E, GISTEMP, etc code-bases aren8217t that parts of it are in guffaw Fortran (there is a modern-language conversion-effort underway), or that the routines are hoot 3 decades old, but that these code-bases are not being managedmaintained appropriately. Why not Why isn8217t this stuff taken care of properly, or subjected to analysis-procedures that can prove whether it8217s water-tight or not Because key people don8217t care. Because at the levels that count, it8217s not important. Remember, Congress cared whether SDI software produced GIGO, or actionable conclusions. Neither Congress nor the White House care if the GISS codes make good sense or not. Key climateweather dataanalysis is performed by Pentagon amp Intelligence departments amp agencies. NASAGISS is a dog amp pony show without weight or leverage. Nobody particular cares if their software can even run, much less can be used to say anything verifiably scientific. The President pays no attention to the NASAGISS climate work, but he consults with the Pentagon liaison daily. NSA hovers just off his elbow, 8217round the clock. Despite Dr. Hansen8217s finest theatrics and personal letters to the White House and other Heads of State, Pres. Obama studiously ignores him. NASA8217s climate-work is sub-par, and redundant. Even if their efforts were well-managed, they are woefully antiquated (20 years behind PentagonNSA) and under-staffedfunded (by orders of magnitude), compared to the military and intelligence projects that our top leaders actually use to make 8216best-science8217 decisions. It is full of RATFOR. I haven8217t seen RATFOR since the 808217s. If you are still coding in FORTAN much less RATFOR you probably should look to retire. FORTRAN is still a little faster than C on the numerical calculations but given multi-threading, etc. It gets blown away. This thing is junk. It8217s full of arcane crap that that ensures job security. If Milton from Office Space were a programmer, this would be his work. I remember a guy who worked maintaining listing for the Yellow Pages. Back when large drives were measured in megs, he built a several gig flat file database. Trouble was he used to drop acid when he coded. No one could figure out how it worked. That said, I think his code was better than this garbage. It is typical government coding. I advocate that we spend some of the stimulus money to get them Fisher Price keyboards. That way they can think that they are working, but not cause any real harm. I was discussing some of these things with one of my software developers today. A major function of our job includes the translation of human processes into computer processes. There are engineering aspects to this, there are also creative aspects to this. These translation processes are not blank and white and can sometime require drawing from a vast array of disciplines and experience. Again, in this arena, I am rarely impressed by someones paperwork. Some of the best software developers and software engineers that I have met, have been your classic academic rebel (I being one of those), and rarely posses impressive credentials. Books are one thing, practice is another. Agreed. Numerical coding is a bit different from systems coding, however. Without a good background in math or applied mathematics, model coding tends to go astray. It should be noted, however, that 80 of the work in most models is the shuttling, reading and formating of data. Numerical programmers tend to be lousy at that work, as evidenced by this code. Did you read any of this stuff It8217s like steam-punk coding. I feel like I should get out a leisure suit to look through it. I realize that it8217s government and they can8217t afford anyone of quality, but is this some kind of retirement program for failed programmers Ted Clayton (22:58:31) : 8230 There is nothing inherently wrong with Fortran. On the contrary, Fortran work is currently important: it is still the Speed-King of high-level languages, and in plenty of raw-computing applications, maximum computation speed is absolutely the bottom line. I would agree, as FORTRAN is just another tool. Is it really the speed king I would argue with that. C or C typically compiles to much more efficient assembler code than does FORTRAN. Further, some versions of Pascal compile to even more efficient assembler code, one of the best being the good old Borland Turbo Pascal, which would compile to about the same compact and efficient assembler code as CC, but had the speed advantage of passing parameters through registers rather than pointers to memory heap allocations. Borland Pascal used a very efficient way of utilizing registers and stacks rather than heap memory allocations. I am not saying that FORTRAN is poor, it is not, but I don8217t know that I would give it the blue ribbon for efficiency either. I spent several years hand optimizing assembler output from a variety of source compilers and in my experience, CC, Pascal and even Modula II typically out performed most all other languages. Metrics from clock cycle testings and audits would confirm this at the time. If I were to build a climate model: 1) Gather up the brightest minds in physics, chemistry, climatology, all the necessary science disciplines required to understand the physical processes involved. 2) Gather up a good team of 8220Software Engineers8221 to design and develop the technologies to be applied and how to apply them. Use the engineers to 8220engineer8221 the development processes, application architecture, integrations, etc8230 3) Gather up a strong team of 8220Software Developers8221 (ie coders) capable of witting quality code, implementation, and unit testing individual portions of tasking as designed by the 8220engineers8221. 4) Gather up a strong team of 8220translators8221 or 8220communicators8221 capable of communicating between the 8220scientists8221 and the 8220engineers8221. Software engineers and physics scientists don8217t speak exactly the same language, assistance is needed here to translate one discipline to the other. I would employ a team of people skilled at this practice. 1) Engage a peer review coding cycle processes 2) Engage proper source control management processes 3) Engage proper QAQC and validation processes 4) Engage proper release management processes Last I checked FORTRAN was still faster on certain numerical calculations, but I agree with you. Who cares on such small differences. The big issue here is maintaining and working with the code. This is classic FORTRAN full of cryptic variable names that are less than 8 characters. It really is old school. How do you even verify that this code is performing correctly. It is over 100,000 lines. No unit tests, no subroutine test drivers. It would take a long time to get your head around all the interactions in the sub-models. One good advantage is that it has formating for line printers. So it8217s got that going for it. Which is nice. Allan M R MacRae (18:24:23). Im glad you brought up aerosols. Something has been bothering me. The alarmists say aerosols cool, but some clouds warm. But, isnt a cloud in fact an aerosol The particle size can vary from the CN to a large hail stone, but most of it is an aerosol, no If aerosols cool, shouldnt also clouds that have not progressed to precipitation. (I realize clouds bring a lot more to the table that that, but the aerosol thing has been bothering me.) Good questions Jim, and we need someone better qualified than me to adequately answer them. Maybe Doug Hoyt will step in. According to Wiki, I guess you are correct 8211 clouds are aerosols: 8220Technically, an aerosol is a suspension of fine solid particles or liquid droplets in a gas.8221 I have read much about clouds and aerosols, and my impression is that the two are generally considered as different categories for climate model purposes. Clouds can form from water vapour, a potent greenhouse gas, and vice versa, so clouds could exhibit more complex behaviour in this regard than other aerosols. I have also read that high-level clouds and low-level clouds can have opposite effects wrt warming and cooling. This I have to take with the usual grain of salt, as I haven8217t read much that supports these views. I guess you are aware of Svensmark8217s hypothesis that cosmic rays seed low-level() cloud formation, causing cooling. I can accept that low-level clouds cause cooler temperatures than would occur under clear skys during daylight, but it seems to me that at night the low clouds trap heat and reduce the rate of overnight cooling. Aerosols from major volcanic eruptions are known to cool the Earth, and these consist of sulfates, particulates, etc. All this is rank speculation on my part as I have no time to prepare a proper response. I8217ll ask Doug Hoyt if he wants to comment. Back in the mid 808217s, I was briefly involved in a project with the Chem. department or my University, and one of their research projects. The Chem. dept. is infamous for gobbling processor time on any machine. They were frequently awarded grants from IBM that included the use of newly developed technologies (ie: super computers) of the time. One such computer was the IBM 9000 series Vector Processor machine. My role was to assist in the performance optimization of critical computational components. All of the original code was written in FORTRAN. To achieve our goals, we broke out critical portions and rewrote those components using C which incorporated a lot of hand optimized in-line assembler code. Our results were rather astounding, with an average performance improvement of around 1700-2000. This was pretty significant. In this example, I would say that our C implementation blew away the computational performance of standard FORTRAN, but to do so wasn8217t exactly easy either. There are two core problems here. The first is triage. Get this POS cleaned-up. Break the data from the model. Separate data layer from model layer and from the results layer. This work is straight-forward but dull has hell. A few days in you8217ll be using the Clockwork Orange eye openers to keep going. It is a necessary first step, however. get it stabilized and documented. I realize that a good deal of documentation exists, but unit tests and regression testing on the model components needs to be in place. There really is nothing quite like a large-scale, non-linear model without regression tests. The second stage can follow traditional development techniques like you have outlined above, but you have to get this thing into a malleable form. Yes, I swung the praises of Fortran just a bit wide. -) To go on amp on in Fortran for housekeeping chores isn8217t nice. I perused the NASA Model E upgrade project pages about 6 months ago, and saw that a major problem is the use of cryptic, short variable-names. Git out. Now, that8217s a maintainance chore that shoulda got done about a standard career back. For the most part, Fortran is only going to be 8216in the way8217, agreed. Where the aim is to really come to grips with Formula Translations, though, it might have an edge (not that Models, as noted, are doing computationallynumerically-limiting stuff in most of the routines). And, I8217m not as current on language-issues (a socially-acceptable 20th C. substitute for religion-arguments ) as I would have been a decade (2) back8230 But I do see on the handiest reference: 8220Since Fortran has been in use for more than fifty years, there is a vast body of Fortran in daily use throughout the scientific and engineering communities. It is the primary language for some of the most intensive supercomputing tasks, such as weather and climate modeling, computational fluid dynamics, computational chemistry, computational economics, and computational physics 5 links. Even today, half a century later, many of the floating-point benchmarks to gauge the performance of new computer processors are still written in Fortran (e. g. CFP2006 link, the floating-point component of the SPEC CPU2006 link benchmarks).8221 Like Burke (23:27:06) says, for the right crunch-jobs, it8217s evidently still it. Yes, a climate-modelling team-approach like you describe, or a modern-Celtic OSS approach could rapidly put the computationalmodelling portion of climate-investigation (it still needs a huge, ongoing investment of actual, physical science) on a good footing. Dr. Hansen is stuck in a (faulty) loop. 8220In addition to being complex the climatology models are and are supposed to be constantly changing as they learn more of the natural forcings at play. To suggest they should be required to stop now and re-write the code from scratch is shall we say not very reasonable. Pete Wow8230. Pete, do you really believe that just stacking more useless wrong data on top of bad code, on a already WRONG Theseus is the correct thing to do I mean Wow8230. You say that code will change with more knowledge on natural forcings823082308230 well if the forcings are not known by any person on this planet at the time of the code writing, how do you compensate for that big of error in knowledge of the code eg. If the earth is said to be flat after extensive scientific study, and then proved wrong, how do you think you might adjust to that realization8230. Hmm, my question82308230 shall we say not very reasonable. The models they are working with appear to have been proven fairly accurate over the last 20 years. This video contains some historical perspective of climate models The bottom line Pete, modeling climate is delusional and that video is a crock. You say models have been accurate for 20 years, but not one predicted the cooling that has been going on in the last 10 years and ZERO mention of a one whole degree of drop in mean temperatures in the last 3 years. Really, a heating of .7C in a century and then a drop be 1C in the last few years is a big forcing. Sooo, out of control CO2 heating doesn8217t seem to exist, but in a computer model. Phillip Bratby (09:46:34). My experience of Fortran coding from many years ago was that to make sense of it and for purposes of verification, somewhere between 20 and 50 of the code should be comments. Without having the time to look at the code, can anybody tell me how much of the code is made up of comments Well, nearly zero. Taking Step2 as an example, it has about 1319 lines of code (the result of: : WeatherModelsGIStempSTEP2 chiefio cat wc - l 1319 ) of which 15 have a leading 8220C 8221 WeatherModelsGIStempSTEP2 chiefio. wc - l grep 8220C 8221 wc - l 15 And just to show you how helpful those 15 lines are, here they are: PApars. f:C unit PApars. f:C Input files: 31-36 ANN. dTs. GHCN. CL.1 8230 ANN. dTs. GHCN. CL.6 PApars. f:C PApars. f:C Output file: 78 list of ID8217s of Urban stations with PApars. f:C homogenization info (text file) PApars. f:C Header line is added in subsequent step PApars. f:C KM the number of time frames per year PApars. f:C 121 LEN(IS)ILSR(IS)-I1SR(IS)1. (counting gaps also) invnt. f:C WRITE(6,) ITRL(3),INFO(6)IYR0,INFO(6)IYRL-1 texttobinary. f:C print, line(1:64) texttobinary. f:C print, line toANNanom. f:C do i1,ndim toANNanom. f:C write(,) i, idata(i) toANNanom. f:C end do toANNanom. f:C if(ndim. gt.0) stop 11 As you can see, the bulk of them are chunks of commented out code8230 IMHO, having read all of the GIStemp code, it is crap. The comments are at best unhelpful. It is a 8220hand tool8221 that expects manual intervention at several points. It is NOT a production product and I would fire the person who came to me with this level of code and said they were ready to ship. (I have managed production of software before and shipped product repeatedly, including the compiler tool chain for GNU aka RedHat8230) Oh, and to the guy who said software writers are not engineers: Please talk to the the ENGINEERING department that awards ENGINEERING degrees in Computer ENGINEERING at major universities8230 My Computer Science friends with ENGINEERING degrees from places like U. C. Davis, UCB, UCLA, Stanford, and CalPoly S. L.O. would not agree with you8230 nor would I, having employed said engineers to write code in the Engineering Department at a couple of name companies that created the computers you use8230 One of my engineer friends wrote the software that lets the B1B fly (his code controls the tail surfaces). You don8217t think that8217s engineering Try flying the B2 without the software8230 (HINT: You WILL crash. Fast.) Back on the 8220hand tool8221 style of GIStemp. From STEP45 we have: WeatherModelsGIStempSTEP45 chiefio grep comment docombstep4.sh: echo 8220or do all compilation first and comment the compilation lines8221 docombstep5.sh: echo 8220or do all compilation first and comment the compilation lines8221 trimSBBX: echo 8220or do all compilation first and comment the compilation lines8221 zonav: echo 8220or do all compilation first and comment the compilation lines8221 Notice that this says to do things 8220by hand8221 if you like and comment out chunks of code that you don8217t like8230 This is NOT production style. This is what is commonly called a 8220Kludge8221. George Tobin (09:01:16). I was unaware that any blame had been directed at GISS software engineers. My understanding was that they were faithfully implementing the bogus sensitivity assumptions and all the rest of that which comprises current climate modeling ideology. George, you are laboring under the assumptions that the code was written by a software engineer and that there was a division between the designer and the coder. The code looks to me like it is largely written by folks who learned programming as a sideline or 8220had a class in it8221 not by professional programmers. (Yes, anyone can learn to program just like anyone can learn to write poetry8230 that does not make you a professional programmer nor a good poet8230) I8217ve read GIStemp front to rear. It looks like it was written by folks who had a FORTRAN class once, years ago (I would guess some of it was written by Hansen himself decades ago8230) and do not make production product for a living. It also has 8220layers8221 that look like kludge added on top of kludge over time. Some blocks are ALL CAPS and look like F77 style (and syntax). Other newer chunks are mixed case and F90 style. In short, 8220it just growed8221 is how it looks. There are exceptions. The Python chunk is more professionally done and looks like it was contracted out to a sub. But most of it, frankly, looks like someone who learned BASIC and then took a FORTRAN class made a hand tool. Specifically, all the FORTRAN is compiled in line, run, then deleted. It is treated as an interpreted language. What few comments there are indicate that the pieces are to be run by hand as you see fit and that if you want to edit the code to change it, well heck, why not Work files are scattered around in the source 8220archive8221 willy nilly and the data files constantly mutate name and function from piece of code to piece of code. Nothing prevents or even encourages preservation of the source code during operation. What part is run in what order is also left as an exercise for the student8230 I am inclined not to read much into this fellows candid assessment. And I think Steve M. was a little over the top implying that the programmer should have communicated his misgivings about the models to IPCC, Congress and the media. The guy who has to translate crappy assumptions from higher higher into workable code should not have to field that kind of issue or get caught in the middle. While I generally agree with your sentiment, you are assuming that there was a division between the designer and the coder. It looks to me, from inspection of the code, like it was written by the 8220designer82218230 in which case one can not expect much in the way of a mea culpa from Hansen8230 John Galt (10:30:55) : Rod Smith (09:48:05). And why is anyone still coding in Fortran I asked that question about FORTRAN previously and was roundly spanked by people who informed me that FORTRAN is still used in the engineering field and is also commonly used on supercomputers. I can only assume Fortran is equally prevalent in science as in engineering. I still question why a more modern, object-oriented language such as C (or even Java) isnt used. Is FORTRAN mult-threaded Having lived through several 8220language wars8221 and written code in more languages than I can remember, I have an opinion about computer languages: IT DOES NOT MATTER. All that matters is that the person writing the code is competent in the language. I8217ve worked in BASIC, COBOL, FORTRAN, PL1, Pascal, C, ALGOL, several 8220non-procedural database languages8221, several scripting languages on Unix Linux machines, programmed several varieties of routers including CISCO in two major variants of their OS, a couple of different assembly languages, and have read Python in GIStemp. Oh, and I once learned APL just to see what it was all about and wrote a few programs in it. It deserves the descriptor 8220write only language82218230 And I8217ve coded some RPG once too. There are a few others but they don8217t float to the top of the memory stack right now8230 like FORTH that I learned once eons ago8230 At the end of the day, you can write good code in all of them and you can write crap in all of them. Some are a little easier to use for some tasks, but an experienced programmer in any of them can use that tool to run rings around an inexperienced programmer in any language. I managed a supercomputer site at one point in my career. FORTRAN was exceptionally optimized on it at that time and C was a new port (mid 821780s). While we wrote a lot of code in C on the Cray, if you had something that really needed to be fast, you used FORTRAN. I doubt if that has changed, simply because there has not been as much money in supercomputers in the 20 years since then (to fund the very large staff needed to make a truly stellar C compiler that would match what had been done with the FORTRAN compiler) as was done in prior years with FORTRAN. Im also told some versions of FORTRAN have object-oriented extensions, but they arent commonly used. Having managed a software development that lead to 4 software patents and was written in C, I still have to say that IMHO object-oriented is somewhat over hyped. Yeah, it8217s 8220neat8221, but not exactly something that obsoletes everything written before8230 It8217s just another 8220neat trick8221 that makes some things easier and some things harder. Good to have if you need it, irrelevant if you don8217t need it, and not NECESSARY if you have a non-object oriented language and a programmer skilled in it. Everybody thinks their favorite language or feature is the big deal. It isn8217t. It8217s what you can do with the hammer that matters, not whos hammer is bigger8230 If software engineers are in short supply, thats a sign that NASA needs to migrate to a more contemporary system. Last I heard, there were a lot of layoffs in the IT field. Surely there are some out-of-work computer science majors who would love to work for GISS I8217d love to get a job re-writing GISS code, but I wouldn8217t want to work for Hansen8230 That said, why would a shortage of engineers argue for a conversion effort that would require hiring more engineers8230 It takes fewer engineers to just leave it alone and run it once a month8230 But the problem I see in the code is not just the way it is written. The bigger issue is that it makes bogus assumptions. Things that are demonstrably wrong. One example: GIStemp assumes that a station 1000 km away can be used to fill in missing data from another station. I can assure you from a half century of personal experience that not only can you NOT use the San Francisco temperature data to fill in for Lodi, but the two are INVERSELY related in summer. The central valley of California heats up, the updraft pulls ocean cool air over SF and brings the fog in. When Lodi gets hotter, SF gets colder and danker. But this 8220pump8221 works with a 3 to 4 day cyclicality and with variable time delays between the inland heating and coastal cooling8230 so you can8217t just assume a naive relationship. It changes dynamically (and GIStemp makes no allowance for this). Does anybody know the hardware and OS GISSTEMP runs on I don8217t think it matters. It needs an F90 compiler. After that the OS and hardware are not very important. The quantity of data and the operations done could be easily handled by a modern PC. It8217s pretty simple processing. My GUESS would be that it runs on a UNIX workstation, probably a Sun of some sort. I saw no 8220Crayisms8221 in the code and nothing tied to a particular platform. It also was blissfully devoid of Microoft isms8230 Last time I was at NASA was a while ago, but then they had Crays, SGIs, Suns, and PCs (and I think there where some HP boxes too). Being a government agency they probably have whatever the lowest bidder offered last cycle8230 I think everything has to either be POSIX or MS Windoze 8230 The way it is written ought to be independent of the OS or hardware. There were no 8220endian8221 problems AFAIK and they didn8217t use much in the way of fancy coding techniques (ie. nothing proprietary). To that extent they did a good job8230 Yes thanks that8217s the one. Whilst they are open about limitations, I get the feeling that they just want to continue building models. That8217s just what they do. The comment about how they already know with certainty that CO2 causes warming, and is as certain as knowing that a cup falling to the floor will shatter, therefore we must 8220leap8221 out of the way, we must act, regardless of what else models may tell us, is an interesting take on things. It suggests that models are just research curiosities. The ones that output significant warming are of course newsworthy, like any techy gadget can be newsworthy, but they are not the original proof or basis for global warming. That, as they say, was already known with certainty. Like a shell game, in global warmingclimate change we8217re still left wondering where the real ball is. I8217ve just been looking at some of the GISS Code and it is schoolboy stuff from a software point of view. I did a quick Lines of code count and it appears that GISS believe that the earth8217s climate can be accurately simulated with only 100,000 lines of badly written Fortran. When you consider that windows Vista has 50 Million lines of code it makes you wonder how something that is orders of magnitude more complicated than the climate, could ever be expected to boot up, let alone do anything else. I don8217t think it would matter much in the end if the climate models were completely rewritten from scratch in the best and most modern code available. The end results would still be the same, i. e. the global temperature, CO2, sea level, glaciers, Arctic ice, Antarctic ice etc. would still be rising, rising, rising, melting, melting, melting respectively at even faster rates than they had previously thought (modelled). So if it ain8217t broke8230 Everything8217s hunky dory. What temperature do you want What sea level rise do you want Etc, etc8230 You should see some of the awful FORTRAN code still used and maintained to do attitude determination, orbital mechanics, guide star occultation, etc. for spacecraft. Complaining that past coding doesn8217t meet current standards is just plain silly. As long as it 8216works8217 for the primary user, redoing it is just bad engineering (if ain8217t broke and all that). Any disagreement with the definition of 8220works8217 has little to do with the 8216quality8217 of coding. Gary was trying to defend what he does for a living. Why, I8217m not sure. He calls himself a 8216software engineer8217 but is not necessarily any more an 8216engineer8217 than a 8216building maintenance engineer8217. His 8216admission8217 is at about the same level as that of a building maintenance engineer8217s admission to the sad state of architectural design. Ho hum. Should the climate models be used for trillion dollar decisions Of course not But for far better reasons than crappy, hard to follow code. Let8217s focus on the real issues instead of peripheral ad homs like 8216crappy code8217. Move along people. There8217s nothing to see here. The trouble with models is that they are pseudo-quantitative. Numbers are based on qualitative judgements. Would be better if they used a true qualitative approach such as hazard and operability hazop studies where experts and interested parties talked through the issues in a semi structured way. Not dissimilar to a blog really. How would one know the difference between true model predictions, and artifacts because of bad coding Somewhere in the code I saw that it assumes 360 days in a year, or 12 equal months of 30 days. Not a bad assumption if you are forecasting over a short range of time. But when you are trying to predict global temperatures 100 years into the future 8211 that is a very different story. You need multiple independently coded models to alleviate the problem of coding errors. However programs like modelE are implementations of some deep domain knowledge, and the trickiest thing is the application of that domain knowledge rather than the coding itself. Ie problems are more likely to arise because of a physics error than a coding error. I have been programming all my life, C, C, COBOL too, so this FORTRAN stuff doesn8217t look too alien to me. However I can8217t make head or tail of the modelE code, not because I can8217t follow the flow of the code, but because I don8217t understand the domain knowledge (climate physics) behind it. I8217d thrown together a post a while back on poking a little fun at some of the base assumptions behind catastrophic AGW, and I had a couple paragraphs dedicated to why the models are pretty useless. Of course, I was just looking at the design side, not even getting into the issues of poor coding. Here8217s the relevant portion: 8230the sheer magnitude and complexity of the system still defies attempts to fully understand all of the interactions, leading to small errors having an ever-growing cascade effect as one tries to predict further into the future. Put more simply, imagine working on a very complex algebra problem. The issue is that you copied one little part of the problem wrong. In your first pass, simplifying, substituting, and performing other operations, that wrong bit interacts with another element of the problem, the result of which is corrupt. Each subsequent pass through the problem causes the erroneous segment to corrupt more of the total problem as it is combined with other elements, and, by the end, your final answer is utterly wrong. This is very much what inhibits long-term forecasting on even a local scale and short time spans. Taking this up to the global scale allows vastly more chances for error, and projection years into the future gives any errors much more time to cascade to the point of rendering the entire model useless. The calculations may be perfect, but a faulty starting point ruins the entire process. Unfortunately, this isnt the greatest difficulty. Back to the hypothetical problem, imagine that you dont even get copies of any of the formulae you need, nor even the base problem. Instead, all you have are the base values to use and thousands, millions of answers, each coming from different base values (you dont get told what any of them are), from which to figure out the starting equation. It gets worse. Some of those answers are wrong, and you dont know which ones. It gets worse still. The answers are divided up into hundreds of groups, each group containing answers to certain combinations of formulae and base values, and you arent told what formulae or values are used or how they are combined. Nope, not done getting worse, yet. In fact, you are told that none of the groups contain answers to the actual problem you need to solve. Instead, example answers for the overall problem are supposed to be composites, somewhat like the mean, of all of one answer (the tenth, for example) from each group, but you also have to figure out how those subordinate answers get combined into the big one. In the end, you have mountains of data, an unknown amount of which is faulty, from which to determine all of the formulae, how the formulae are used to produce the subordinate answers, and how those are combined to get the main answer before you can even start working on the problem with the given starting values. Guess what This isnt even accounting for time lapse yet. Someone may read that last paragraph and think, Models on the global scale dont have to be that precise, though they can be more general and still get the broad picture. Well, lets run with the picture metaphor, shall we I would roughly equate simplifying components of a model to reducing the number of pixels in an image. Sure, you can do it, but you loose definition. Do it with a complex, intricate picture, and you will very quickly end up with an image people misinterpret, or one from which it is impossible to discern anything at all. Sure, you can dumb down the models by making them less complex with estimations of values instead of solid formulae, but you have to admit that doing so destroys the accuracy of that broad picture. A more direct example comes from graphing a curve to fit plotted points. Reducing complexity could be seen as using fewer data points from which to extrapolate a curve. The problem with this is that, as the data points are made fewer (thereby spreading out on the graph), you may end up missing movement in the actual curve occurring between points and graphing a curve that is completely wrong. When it comes to scientific (quasi-scientific in this case, really, but thats a topic for another day) analysis of data, generalization is bad, and detail is good. That leads me to a more fundamental question. Are there any logical checks on climate modeling Drawing on my experience as a chemical engineer, because the chemical systems I modeled were non-nuclear, I was bound by the laws of conservation of mass and energy. The models always checked to see it the number of pounds, kilograms, or tons of products equalled the same measure of reactants. If the mass balance did not close, the program printed a big warning. Do climate models bother to calculate an energy balance It would seem to me that if you got a bogus answer of 1 x 1020 temperature in March 2016, then the answer is 8220No8221. If they don8217t anergy balance, then how can you have ANY confidence in the results It appears I have hit a sore spot re: 8220software engineers.8221 First of all, I don8217t mean to demean the value of the work that they do. They fulfill a very necessary niche in the business world. But at the same time, unless they are engineers in the traditional sense, they must take direction from engineers or scientists to build the models. There are a lot of chemical engineers who develop software for our business (for those in my business, think ASPEN, Simsci, or other chemical engineering software modelling companies). And we would be a hell of a lot less productive without them. I shudder to think of designing a multi-component distillation column by the trial-and-error tray-by-tray method. I remember seeing a thick binder of calculations done by hand. That said, it is still the physical science that is the underlying basis for the models, not the code. So, Squidly, I salute you, and all of your brethern Go forth, and prosper George Tobin (09:01:16). I was unaware that any blame had been directed at GISS software engineers. My understanding was that they were faithfully implementing the bogus sensitivity assumptions and all the rest of that which comprises current climate modeling ideology. George, you are laboring under the assumptions that the code was written by a software engineer and that there was a division between the designer and the coder. The code looks to me like it is largely written by folks who learned programming as a sideline or had a class in it not by professional programmers. (Yes, anyone can learn to program just like anyone can learn to write poetry that does not make you a professional programmer nor a good poet) Ive read GIStemp front to rear. It looks like it was written by folks who had a FORTRAN class once, years ago (I would guess some of it was written by Hansen himself decades ago) and do not make production product for a living. It also has layers that look like kludge added on top of kludge over time. Some blocks are ALL CAPS and look like F77 style (and syntax). Other newer chunks are mixed case and F90 style. In short, it just growed is how it looks. There are exceptions. ESTÁ BEM. No disagreements with the internals of the code. I will grant your (stated) expertise in the various languages, and the ability of a (good) programmer to write (good) code in virutally language. No problems. But 8230 What about the need for configuration control Is there ANY change control, change testing, testing 8220debug8221 notes or corrections Is there any 8220lost8221 code that couldwouldmight produce arbitray trash if a single thing goes wrong For example, if we put a real value of CO2 and a real value of temperature Does it produce a valid 8220radiation in8221 as a check Who made the changes Does it process 8220real data8221 if the year or earlier CO2 results and temperatures change (In other words, if you put in values for 400 ppm CO2 in 1980, does it produce a valid temperaure as it would if the year were 2050 and the CO2 were 400 If CO2 were changed to 200, does it produce real world temperatures for say the year 1800 ) Who tested each module, if the whole thing has not been tested how do we know the actual calculations in the repeating module are correct Who verified its input, and what are its input variables, and what are the 8220coded in8221 variables When a change or update was made, who made the change Who authorized the change Who tested the result after the change What was the previous coding, and what was the changed coding Has it been8221 hacked8221 or do the results have any chance of being 8220hacked8221 Were results as printed actually teh results from a test run, or were they merely typed in afterwards If this ran an ATM machine, would you sell it to your bank Would your congressman put his money into this program if it were a ttax processing software Ted Clayton (00:24:40). Ah ha. Very thoughtful comments Nice I completely agree with you concerning language construct and organization of FORTRAN and what that brings to numerical formula processing. Your comments are certainly very valid. I would content however, and especially when considering the enormous budgets employed, one could utilize a more modernized language (preferably a fully compiled language that produces binary code for performance optimization, ie: this would exclude Java) and provide even more robust scripting mechanisms that would allow the use of heavy mathematics in robust expressions that could then in turn be pre-compiled into the foundation language, optimized and compiled to binary codes native to the host machine. Such an approach as this will allow for the proper architectural abstractions, allow the software engineers to employ flexible and robust design concepts and patterns, allow software developers to write compartmental coding segments abstracted from adjacent logical modules, and probably most importantly, allow the 8220scientists8221 to develop robust mathematical representations of physical processes and complex interactions utilizing language, verbiage and structure that they are used to. In this scenario, everybody wins, and result could be something that may actually stand a snowballs chance in hell of working. And even if it doesn8217t work, you have developed something that can adapt as your learning and understanding culminates and expands. R S Bridges (19:48:32) : 8230 So, Squidly, I salute you, and all of your brethern Go forth, and prosper In large part I am in agreement with what you are saying. Conversely the same could be said software engineer to scientist. This, after all, is a cooperative effort. There should be no dictation flowing either direction. I find there is a clear and present contrast between a 8220programmer8221 and a 8220software engineer8221, that is the crux of what I have been discussing. To some who have said 8220a software engineer is not an engineer8221 or that 8220there is no such thing as a software engineer8221, they are quite naive to the development of software in general. Ultimately, the process of software development is simply the translation of human process to machine process. Of this, there are many facets involved, from the engineering aspects, to the coding aspects, and many branches in between. The trick to developing successful software is proper organization and translation, this is usually not simply a task for a 8220coder8221, as 8220coders8221 don8217t usually posses the skill set necessary to adequately architect the application structure itself with all components considered. 8220That said, it is still the physical science that is the underlying basis for the models, not the code.8221 I disagree with this. Again, it is a cooperative effort. One relies on the success of the other. All the physical science in the world is simply garbage if not properly constructed and coded. Conversely, the best software design and coding is worthless without proper physical science instruction. So, again, to be successful, one cannot live without the other. They need to be harmonious. These are not easy or trivial tasks, but properly set forth can be accomplished.

No comments:

Post a Comment