O SCANTEC é um software de linha de comando escrito em linguagem Fortran preparado para ler, interpolar e calcular as estatísticas básicas (Viés, Raiz do Erro Quadrático Médio e Correlação de Anomalias) a partir dos resultados de modelos de previsão numérica de tempo, como os modelos BAM, BRAMS e Eta. O SCANPLOT faz o trabalho de criar as estruturas de dados adequadas e plotar os resultados. As estruturas de dados criadas pelo SCANPLOT, são determinadas a partir das tabelas com o resumo das estatísticas calculadas pelo SCANTEC. Para utilizar o SCANPLOT, o usuário deve ler os arquivos de namelist e definições dos modelos utilizados nas avaliações, de forma que o software saiba quais foram as definições utilizadas pelo usuário e em que local estão armazenadas as tabelas com os resultados.
Para isso, basta utilizar a função read_namelists a partir do módulo principal scanplot. A função read_namelists está implementada no script core_scanplot.py do SCANPLOT. Esta e as demais funções, podem ser acessadas a partir do módulo principal, o qual deverá ser carregado:
1
importscanplot
Para conhecer como deve ser utilizada a função read_namelists, o usuário pode utilizar um dos comandos a seguir:
A função read_namelists recebe um caminho (raiz da instalação do SCANTEC, no exemplo /scripts/ensemble/SCANTEC.TESTS) como parâmetro de entrada e retorna para o usuário dois dicionários, os quais contém as informações dos arquivos scantec.conf e scantec.vars do SCANTEC. Estes arquivos possuem as definições dos modelos (intervalo de tempo da avalação, nome do modelo, resolução, caminhos etc). Os nomes data_vars e data_conf são os nomes dos objetos que serão criados e que conterão os dicionários com as definições dos arquivos scantec.vars e scantec.conf, respectivamente. A escolha destes nomes fica a critério do usuário.
Informação
Um dicionário é uma estrutura de dados associativa.
{'Starting Time':datetime.datetime(2020,6,1,0,0),'Ending Time':datetime.datetime(2020,8,15,0,0),'Analisys Time Step':'24','Forecast Time Step':'24','Forecast Total Time':'360','Time Step Type':'forward','History Time':'48','scantec tables':'/scripts/ensemble/SCANTEC.TESTS/tables','run domain number':'1','run domain lower left lat':'-80','run domain lower left lon':'0','run domain upper right lat':'80','run domain upper right lon':'360','run domain resolution dx':'0.9375000000','run domain resolution dy':'0.9375000000','Reference Model Name':'GFS_0p25_5levs','Reference file':'/lustre_xc50/carlos_bastarz/GFS_subset/%iy4%im2%id2%ih2/gfs.t00z.pgrb2.0p25.f000.%iy4%im2%id2%ih2.ctl','Experiments':{'X126':['BAM_TQ0126L028_9levs','/lustre_xc50/carlos_bastarz/oensMB09_test_preXC50/pos/dataout/TQ0126L028/%iy4%im2%id2%ih2/NMC/GPOSNMC%iy4%im2%id2%ih2%fy4%fm2%fd2%fh2P.fct.TQ0126L028.ctl'],'XENM':['BAM_TQ0126L028_9levs','/lustre_xc50/carlos_bastarz/oensMB09_test_preXC50/ensmed/dataout/TQ0126L028/%iy4%im2%id2%ih2/GPOSENM%iy4%im2%id2%ih2%fy4%fm2%fd2%fh2P.fct.TQ0126L028.ctl'],'T126':['BAM_TQ0126L028_9levs','/lustre_xc50/carlos_bastarz/from_tupa/dados/ensemble/dsk001/oens_MB09_tupa/pos/dataout/TQ0126L028/%iy4%im2%id2%ih2/NMC/GPOSNMC%iy4%im2%id2%ih2%fy4%fm2%fd2%fh2P.fct.TQ0126L028.ctl'],'TENM':['BAM_TQ0126L028_9levs','/lustre_xc50/carlos_bastarz/from_tupa/dados/ensemble/dsk001/oens_MB09_tupa/ensmed/dataout/TQ0126L028/%iy4%im2%id2%ih2/GPOSENM%iy4%im2%id2%ih2%fy4%fm2%fd2%fh2P.fct.TQ0126L028.ctl']},'Climatology Model Name':'AGCM_TQ0062L028_50YR_CLIMATOLOGY_18levs','Climatology file':'/lustre_xc50/carlos_bastarz/climatologia/climatologia50yr.%mc.ctl','Output directory':'/scripts/ensemble/SCANTEC.TESTS/dataout'}