Open afrassoni opened 1 year ago
Garcia, precisamos conversar sobre o link dos dados da rodada do BAM + AD no ecflow
Aguardando ZR interagir com a Bárbara para passar para ela o trabalho com o ecFlow
Comandos do ECFLOW vistos na reunião entre José Roberto e Bárbara:
Diretrizes iniciais ECFLOW já instalado na Egeon (usamos a instalação do suporte) ecflowserver (ecflow*) Configuramos apenas a porta que ele funcionará para nós export ECF_PORT=3143 - obrigatório export ecf_suite=BAM source ~/ecflow/Modelos/BAM/scripts/config01-avaliacao.bash
Funcionamento Checar se o ecflow_server está rodando $ netstat -lnptu | grep ecflow → Check servers (0 0.0.0.0 = localhost) tcp 0 0 0.0.0.0:3143 0.0.0.0:* LISTEN 27413/ecflow_server ecflow_server -d (VERIFICAR) Iniciar a UI e visualizar as suites ecflow_ui & Name: GAM-EGEON Host: headnode.egeon.cptec.inpe.br Port: 3143
Starting and Stopping the server ecflow_server -d → máquina local (default to localhost:3141), with debug Editar …/scripts/00-ECF_PORT.txt (todos os scripts de manutenção lêem este arquivo) Usar ../scripts/00-StartEcflowServer.ksh (entra no diretório de logs antes) ecflow_client --group="halt=yes; check_pt; terminate=yes" # Terminate servers netstat -lnptu | grep ecflow # Check servers (0 0.0.0.0 = localhost) ecflow_client --ping --host=0.0.0.0 --port=3143 # Server test via shell client
As cores do status das saídas na UI
Dois aliases interessantes para colocar no .bashrc dtree alias dtree='pwd; ls -aR | grep : | perl -pe '\''s/:$//;s/[^-][^\/]\// /g;s/^ (\S)/└── \1/;s/(^ | (?= ))/│ /g;s/ (\S)/└── \1/'\''' ftree alias ftree='pwd; find . | sort | sed -e '\''s/[^-][^\/]\// |/g'\'' -e '\''s/|([^ ])/|-\1/'\'''
Comandos principais do ecflow export ecf_suite=TEST ecflow_client --stats # Check server status ecflow_client --restart # Run this if Status = HALTED (importante!) ecflow_client --load=${ecf_suite}.def # Carrega a suite mas não inicia
Executar estes dois comandos quando houver mudanças nos scripts ecflow_client --replace=/${ecf_suite} ${ecf_suite}.def # Substitui a suite. ecflow_client --begin=${ecf_suite} # Inicia a execução suite. ecflow_client --suspend=/${ecf_suite} # Suspende a execução da suite ecflow_client --delete /${ecf_suite} # Remove a suite da lista de suites ecflow_client --delete=/${ecf_suite} # remove suite ecflow_client --load=${ecf_suite}.def # carrega suite ecflow_client --begin=${ecf_suite} # restart suite Ou ecflow_client --replace=/${ecf_suite} ${ecf_suite}.def # replace the whole suite ecflow_client --replace=/${ecf_suite}/t1 ${ecf_suite}.def # or just the one task
Outros commandos ecflow_client --get_state # Suite definition from the server and status for each node (tasks, families, etc) ecflow_client --get # get the suite definition ecflow_client --requeue=force /${ecf_suite} # force requeue (DANGEROUS, zumbies!)
Definindo uma nova suíte (DEF file) a hierarchical node tree, describes how your task’s run and interact) ecflow_client --load=${ecf_suite}.def # Carrega a suite mas não inicia Check UI and refresh ecflow_client --begin=${ecf_suite} # Inicia a suite Check UI and refresh
Definindo a primeira tarefa (ECF FILE) cd $HOME/ecflow/Modelos/${ecf_suite}/ecflow cp copie_para_t1.ecf t1.ecf Check UI and refresh - QQ ALTERAÇÃO NECESSITA REPLACE + BEGIN
Atalhos para scripts 00-ECF_PORT.txt 00-Start_EcflowServer # cd logs; ecflow_server --port=${ECF_PORT} & 00-Status_EcflowServer # ecflow_client --stats 00-Stop_EcflowServer # ecflow_client --group="halt=yes; …" 01-Open_Ecflow_UI # cd logs; ecflow_ui >> ecflowview.${USER}.logs & 02-Inicializa_SuiteDef ${ecf_suite} # load + begin 03-Atualiza_SuiteDef ${ecf_suite} # replace + begin
Sobre os includes Evolve the task’s code with head.h and tail.h → contain frequently used tasks to be executed in the beginning and at the end of a task (set variables, establish connection, diretórios etc) export MEU_DIR_DE_DADOS=/home/barbara.yamada/dados # exemplo
Sobre criação de jobs Arquivos ecf são transformados em job files, t1.jobN (”checking”) O que o processo de job creation faz: expande os includes com substituição de variáveis e checa arquivos
Sobre o client (ecflow_client) All communication with the ecflow_server is done with ecflow_client which needs to know the server’s machine and port. Multiple servers can exist on the same machine (in different ports) Default host and port is localhost:3141 Can be overridden by ECF_HOST and ECF_PORT environment variables Which, in turn, can be further overridden by using –port and –host options
Ecflow_ui ⇒ graphical interface Menu Servers / Manage Servers / Add server": name=GAM-EGEON, host=headnode….., port 3143 Also ⇒ check Add server to current view Tools / Preferences / Menus / Aba Menu mode / Menu mode = Administrator (shows an enhanced set of options) Habilita a opção Rerun, Execute e Requeue no menu suspenso Panels / Add Info Panel
Execute: runs the task immediately, ignoring any dependency that holds the task. Preserva as saídas anteriores (de nome t1.N) e cria uma nova saída. Esta saída é vista na UI na aba Output.
Rerun: This places the task back into the queued state. Concerns dependencies, i.e., time dependencies, limits, triggers, suspend parents, etc. The previous output is preserved.
Requeue: This resets the task back to the queued state. If the task has a default status, this is applied. The task output number is reset, starting in to t1.1 again (overwrite the files) Any subsequent calls to execute or rerun will now overwrite the output files, t1.2, t1.3 etc.
Families, hierarquia de variáveis family = diretório e tasks = arquivos Famílias podem conter outras famílias, tasks de mesmo nome podem estar em famílias diferentes
Variables - 3 type - name them with CAPITAL LETTERS Variable used by ECFLOW: ECF_HOME, ECFINCLUDE, … Custom variables: don’t start with “ECF”: PATH_OBS, TIME_TO_START,... Variables generated by ECFLOW and can be used in the scripts: ECF_DATE, …
Triggers ⇒ declare dependencies between tasks How to make sure that t4 only runs once t3 is complete? ⇒ triggers! P.e., Task t4 might need data created by task t3.
Completeness dependency rules: All task’s parents hierarchy is complete only when all sons are complete A task will be started if its triggers and the triggers of all its parent families evaluate to true A node can only have one trigger expression, but very complex expressions can be built (not, and, or, ...), node attributes (event, meter, variable, repeat, limits and generated variables) Triggers of the parent nodes are also implicit triggers Triggers can prevent too many jobs from running at the same time, but it’s better to use Limits (see section) Nodes can be addressed in trigger expressions using: full names: /test/f1/t1 refers to the task t1, and /test/f1 refers to the family f1. Relative names: in some contexts, such as ../t1. Change TEST.def, reload and resume TEST while checking the ui task t4 trigger t3 eq complete # or t3 == complete
Highlight the hint ⇒ No DEF, atente para a localização da variável SLEEP em relação a task f1/t4
Time command - running tasks at a given time - finaliza o nó completamente Can be absolute (p.e. 14:00:00), relative to the moment the suite is begun or with a frequency time 23:00 # at next 23:00 time 10:00 20:00 01:00 # every hour from 10am to 8pm time +00:01 # one minute after the suite has begun time +00:10 01:00 00:05 # 10 to 60 minutes after begin every 5 minutes
Comando cron command - não finaliza o nó completamente cron 23:00 # every day at 23:00 cron 08:00 12:00 01:00 # every hour between 8 and 12 cron -w 0,2 11:00 # every sunday and tuesday at 11 am cron -d 1,15 02:00 # every 1st and 15th of each month at 2 am cron -m 1 -d 1 14:00 # every first of January at 2 pm cron -w 5L 23:00 # run on last Friday(5L) of each month at 23pm cron -d 1,L 23:00 # Run on the first and last of the month at 23pm
date or day commands - absolute timing, allows wild cards date 31.12.2012 # the 31st of December 2012
Reload and resume test while checking the ui 'Why tab': special window to explain why a task is queued. Select a queued task and click on it Vary the time attributes so that all task runs
LABELS → String to show task specific info
Caminho dos dados do SMNA: /mnt/beegfs/enver.ramirez/model/bam_hibrido_2.2.1/build_branch.t299/pos/dataout/TQ0299L064/rfd_c/2020012800-2020020718/template.ctl
Ariane, ao passar o caminho dos dados do SMNA para o José Roberto, ficamos com uma dúvida: as avaliações serão diariamente recorrentes sobre as saídas da execução do BAM na Operação ou serão esporádicas para um determinado período de tempo?
Oi Bárbara,
Será as duas coisas. Teremos a avaliação contínua e a avaliação de experimentos que o Enver está produzindo.
Abs, Ariane
Em seg., 29 de mai. de 2023 às 6:04 PM, barbarayamada < @.***> escreveu:
Ariane, ao passar o caminho dos dados do SMNA para o José Roberto, ficamos com uma dúvida: as avaliações serão diariamente recorrentes sobre as saídas da execução do BAM na Operação ou serão esporádicas para um determinado período de tempo?
— Reply to this email directly, view it on GitHub https://github.com/GAM-DIMNT-CPTEC/SCANTEC/issues/13#issuecomment-1567515270, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVJEWKSGNTDUEHMQLQWQ6WLXIUFPNANCNFSM6AAAAAAVZIQ7GM . You are receiving this because you were assigned.Message ID: @.***>
-- ------::-----::-----::-----::-----::-----::-----::-----::----- Ariane Frassoni National Institute for Space Research, Center for Weather Forecasting and Climate Studies Rodovia Presidente Dutra, km 40, Cachoeira Paulista, SP, Brazil Tel: +55 (12)3186-8400
E-mail: @., @.
José Roberto criou uma suíte BAM_AD, para a avaliação de experimentos que o Enver está produzindo. Estamos realizando testes.
Ariane, dentre as verificações do scantec, uma delas é a verificação de uma tabela que o scantec precisa para avaliar o modelo, e esta deve estar de acordo com o modelo. Essa tabela tem por padrão o nome BAM_TQ0299L064_18levs.model. Na suíte criada para essa verificação, o arquivo da tabela existe mas está dando erro de compatibilidade, você saberia dizer se é possível gerar essa tabela?
Bárbara, qual a resolução do BAM do experimento do Enver? Agora não lembro se é T299. Se não for, deve ser por isso. Vou marcar o @cfbastarz e @joaogerd para ajudar aqui.
No caminhos dos dados consta t299:
/mnt/beegfs/enver.ramirez/model/bam_hibrido_2.2.1/build_branch.t299/pos/dataout/TQ0299L064/rfd_c/2020012800-2020020718/template.ctl
Bom dia Bárbara,
Veja por favor se o template.ctl tem o mesmo formato que o arquivo BAM_TQ0299L064_18levs.model
On Tue, 6 Jun 2023 at 19:06, barbarayamada @.***> wrote:
No caminhos dos dados consta t299:
/mnt/beegfs/enver.ramirez/model/bam_hibrido_2.2.1/build_branch.t299/pos/dataout/TQ0299L064/rfd_c/2020012800-2020020718/template.ctl
— Reply to this email directly, view it on GitHub https://github.com/GAM-DIMNT-CPTEC/SCANTEC/issues/13#issuecomment-1579514425, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVJEWKVKDPKHGSUEPNUWGD3XJ6SV5ANCNFSM6AAAAAAVZIQ7GM . You are receiving this because you were assigned.Message ID: @.***>
-- ------::-----::-----::-----::-----::-----::-----::-----::----- Ariane Frassoni National Institute for Space Research, Center for Weather Forecasting and Climate Studies Rodovia Presidente Dutra, km 40, Cachoeira Paulista, SP, Brazil Tel: +55 (12)3186-8400
E-mail: @., @.
Ariane, dentre as verificações do scantec, uma delas é a verificação de uma tabela que o scantec precisa para avaliar o modelo, e esta deve estar de acordo com o modelo. Essa tabela tem por padrão o nome BAM_TQ0299L064_18levs.model. Na suíte criada para essa verificação, o arquivo da tabela existe mas está dando erro de compatibilidade, você saberia dizer se é possível gerar essa tabela?
Bom dia @barbarayamada, qual erro está ocorrendo?
@afrassoni eu preparei um repositório com alguns scripts para a utilização dos dados de reanálise do Era5 como referência para as avaliações com o SCANTEC (https://github.com/GAD-DIMNT-CPTEC/cfbastarz/tree/main/Era5) - é um pouco macarrônico mas funciona. Dentre as variáveis que costumamos considerar (ie., vtpm, temp, psnm, agpl, zgeo, uvel e vvel), apenas tive dificuldade de obter os dados de agpl (água precipitável - não consigo baixar). Também a psnm (pressão reduzida ao nível médio do mar) está com algum problema - já não me lembro exatamente qual, mas acabei substitundo pela pslc:1000. Se for interessante para o GAM, posso passar este repositório para vocês.
Oi Carlos, obrigada pela mensagem. Sim, é muito bem vindo este desenvolvimento. Por favor, passe para nós este repo. Abs, Ariane
On Wed, 7 Jun 2023 at 09:00, Carlos Frederico Bastarz < @.***> wrote:
@afrassoni https://github.com/afrassoni eu preparei um repositório com alguns scripts para a utilização dos dados de reanálise do Era5 como referência para as avaliações com o SCANTEC ( https://github.com/GAD-DIMNT-CPTEC/cfbastarz/tree/main/Era5) - é um pouco macarrônico mas funciona. Dentre as variáveis que costumamos considerar (ie., vtpm, temp, psnm, agpl, zgeo, uvel e vvel), apenas tive dificuldade de obter os dados de agpl (água precipitável - não consigo baixar). Também a psnm (pressão reduzida ao nível médio do mar) está com algum problema - já não me lembro exatamente qual, mas acabei substitundo pela pslc:1000. Se for interessante para o GAM, posso passar este repositório para vocês.
— Reply to this email directly, view it on GitHub https://github.com/GAM-DIMNT-CPTEC/SCANTEC/issues/13#issuecomment-1580664410, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVJEWKW3VO2FPCLIVP6ZTA3XKBUNHANCNFSM6AAAAAAVZIQ7GM . You are receiving this because you were mentioned.Message ID: @.***>
-- ------::-----::-----::-----::-----::-----::-----::-----::----- Ariane Frassoni National Institute for Space Research, Center for Weather Forecasting and Climate Studies Rodovia Presidente Dutra, km 40, Cachoeira Paulista, SP, Brazil Tel: +55 (12)3186-8400
E-mail: @., @.
Oi @afrassoni, estou permissão no GAM para criar um repositório, tentei colocar os script no repositório Dados, mas também estou sem permissão. Então deixei o meu repositório https://github.com/GAD-DIMNT-CPTEC/cfbastarz/tree/main/Era5 como público, assim vocês podem copiar os scripts e alocá-los em um repositório adequado.
Abs.
Olá @cfbastarz, está ocorrendo isso:
A table está em /home/roberto.garcia/sfw/SCANTEC-2.0.0/tables/BAM_TQ0299L064_18levs.model e estou rodando o caso em: /home/roberto.garcia/dataout/SCANTEC-2.0.0/BAM_AD/results/Am_Sul (contém scantec.conf e scantec.x)
Consegue ajudar, pfv?
Olá @Garcia-INPE, dei uma olhada na sua tabela BAM_TQ0299L064_18levs.model
e ela está correta, está igual à que eu estou usando. O que está ocorrendo é que os dados do BAM que você está lendo, foram pós-processados em grade linear. Veja:
BAM grade linear:
xdef 900 linear 0.000 0.4000000000
ydef 451 linear -90.000 0.4000000000
BAM grade Gaussiana:
xdef 900 linear 0.000 0.4000000000
ydef 450 levels
-89.69415 -89.29794 -88.89940 -88.50032 -88.10105 -87.70167 -87.30225 -86.90279
-86.50331 -86.10381 -85.70430 -85.30479 -84.90526 -84.50574 -84.10621 -83.70667
-83.30714 -82.90760 -82.50806 -82.10851 -81.70897 -81.30943 -80.90988 -80.51033
...
A grade Gaussiana é a grade que está descrita no arquivo BAM_TQ0299L064_18levs.model
que você está usando. Portanto, para resolver o problema, você pode criar um novo arquivo BAM_TQ0299L064_18levs-linear.model
com o seguinte conteúdo (abaixo, removi os comentários do arquivo para ocupar menos espaço):
ftype: grib
undef: 9.999E+20
xdim: 900 linear 0.000 0.4000000000
ydim: 451 linear -90.000 0.4000000000
zdim: 18 levels 1000 925 850 775 700 500 400 300 250 200
150 100 70 50 30 20 10 3
vars:
vtmp:925 vtmp2(temp:925,umes:925)
vtmp:850 vtmp2(temp:850,umes:850)
vtmp:500 vtmp2(temp:500,umes:500)
temp:850 temp:850
temp:500 temp:500
temp:250 temp:250
psnm:000 psnm:1000
umes:925 umes:925
umes:850 umes:850
umes:500 umes:500
agpl:925 agpl:1000
zgeo:850 zgeo:850
zgeo:500 zgeo:500
zgeo:250 zgeo:250
uvel:850 uvel:850
uvel:500 uvel:500
uvel:250 uvel:250
vvel:850 vvel:850
vvel:500 vvel:500
vvel:250 vvel:250
::
Depois, basta modificar o arquivo scantec.conf
para que seja utilizada a tabela BAM_TQ0299L064_18levs-linear
ao invés da tabela BAM_TQ0299L064_18levs
.
Eu fiz isso com os seus arquivos scantec.x
e scantec.conf
e o problema não ocorre mais. Porém, notei uma outra coisa:
Isso aconteceu porque o arquivo GPOSNMC20200128002020012800P.fct.TQ0299L064.ctl
não existe. Esse é um arquivo de análise (veja as datas 2020012800-2020012800
) que o BAM escreve com o identificador icn
e, de fato, o arquivo GPOSNMC20200128002020012800P.icn.TQ0299L064.ctl
existe. Para resolver essa outra parte, será necessário criar links simbólicos dos arquivos de análise como se fosse arquivos de previsões, isto é:
ln -s GPOSNMC20200128002020012800P.icn.TQ0299L064.ctl GPOSNMC20200128002020012800P.fct.TQ0299L064.ctl
ln -s GPOSNMC20200128002020012800P.icn.TQ0299L064.grb GPOSNMC20200128002020012800P.fct.TQ0299L064.grb
Como são vários diretórios, você pode usar esse script a seguir para facilitar (nota: requer o inctime e alguns ajustes para o seu caso): https://gist.github.com/cfbastarz/6b4f055d3739128c963cb3c93046f664
At.te,
Carlos
Ok @cfbastarz , obrigado, vou ajustar para a grade linear. Quanto aos arquivos que estão faltando, podemos fazer para os casos que lá estão para agilizar, mas não é o caso do provedor do teste fornecer o conjunto de dados completo nos próximos? O acham @barbarayamada e @afrassoni?
Ok @cfbastarz , obrigado, vou ajustar para a grade linear. Quanto aos arquivos que estão faltando, podemos fazer para os casos que lá estão para agilizar, mas não é o caso do provedor do teste fornecer o conjunto de dados completo nos próximos? O acham @barbarayamada e @afrassoni?
@Garcia-INPE, pelo menos a operação já faz isso com os arquivos do BAM - não dizer quanto aos outros modelos:
Ok @cfbastarz , obrigado, vou ajustar para a grade linear. Quanto aos arquivos que estão faltando, podemos fazer para os casos que lá estão para agilizar, mas não é o caso do provedor do teste fornecer o conjunto de dados completo nos próximos? O acham @barbarayamada e @afrassoni?
@Garcia-INPE, pelo menos a operação já faz isso com os arquivos do BAM - não dizer quanto aos outros modelos:
@afrassoni e @barbarayamada, acredito que precisamos de atuação do dono da área (do Enver) para a criação desses links. O que acham?
Olá @Garcia-INPE, dei uma olhada na sua tabela
BAM_TQ0299L064_18levs.model
e ela está correta, está igual à que eu estou usando. O que está ocorrendo é que os dados do BAM que você está lendo, foram pós-processados em grade linear. Veja:BAM grade linear:
xdef 900 linear 0.000 0.4000000000 ydef 451 linear -90.000 0.4000000000
BAM grade Gaussiana:
xdef 900 linear 0.000 0.4000000000 ydef 450 levels -89.69415 -89.29794 -88.89940 -88.50032 -88.10105 -87.70167 -87.30225 -86.90279 -86.50331 -86.10381 -85.70430 -85.30479 -84.90526 -84.50574 -84.10621 -83.70667 -83.30714 -82.90760 -82.50806 -82.10851 -81.70897 -81.30943 -80.90988 -80.51033 ...
A grade Gaussiana é a grade que está descrita no arquivo
BAM_TQ0299L064_18levs.model
que você está usando. Portanto, para resolver o problema, você pode criar um novo arquivoBAM_TQ0299L064_18levs-linear.model
com o seguinte conteúdo (abaixo, removi os comentários do arquivo para ocupar menos espaço):ftype: grib undef: 9.999E+20 xdim: 900 linear 0.000 0.4000000000 ydim: 451 linear -90.000 0.4000000000 zdim: 18 levels 1000 925 850 775 700 500 400 300 250 200 150 100 70 50 30 20 10 3 vars: vtmp:925 vtmp2(temp:925,umes:925) vtmp:850 vtmp2(temp:850,umes:850) vtmp:500 vtmp2(temp:500,umes:500) temp:850 temp:850 temp:500 temp:500 temp:250 temp:250 psnm:000 psnm:1000 umes:925 umes:925 umes:850 umes:850 umes:500 umes:500 agpl:925 agpl:1000 zgeo:850 zgeo:850 zgeo:500 zgeo:500 zgeo:250 zgeo:250 uvel:850 uvel:850 uvel:500 uvel:500 uvel:250 uvel:250 vvel:850 vvel:850 vvel:500 vvel:500 vvel:250 vvel:250 ::
Depois, basta modificar o arquivo
scantec.conf
para que seja utilizada a tabelaBAM_TQ0299L064_18levs-linear
ao invés da tabelaBAM_TQ0299L064_18levs
.Eu fiz isso com os seus arquivos
scantec.x
escantec.conf
e o problema não ocorre mais. Porém, notei uma outra coisa:Isso aconteceu porque o arquivo
GPOSNMC20200128002020012800P.fct.TQ0299L064.ctl
não existe. Esse é um arquivo de análise (veja as datas2020012800-2020012800
) que o BAM escreve com o identificadoricn
e, de fato, o arquivoGPOSNMC20200128002020012800P.icn.TQ0299L064.ctl
existe. Para resolver essa outra parte, será necessário criar links simbólicos dos arquivos de análise como se fosse arquivos de previsões, isto é:ln -s GPOSNMC20200128002020012800P.icn.TQ0299L064.ctl GPOSNMC20200128002020012800P.fct.TQ0299L064.ctl ln -s GPOSNMC20200128002020012800P.icn.TQ0299L064.grb GPOSNMC20200128002020012800P.fct.TQ0299L064.grb
Como são vários diretórios, você pode usar esse script a seguir para facilitar (nota: requer o inctime e alguns ajustes para o seu caso): https://gist.github.com/cfbastarz/6b4f055d3739128c963cb3c93046f664
At.te,
Carlos
Arquivo ajustado, realmente parou no novo erro que vocẽ citou.
Obrigado.
@afrassoni eu preparei um repositório com alguns scripts para a utilização dos dados de reanálise do Era5 como referência para as avaliações com o SCANTEC (https://github.com/GAD-DIMNT-CPTEC/cfbastarz/tree/main/Era5) - é um pouco macarrônico mas funciona. Dentre as variáveis que costumamos considerar (ie., vtpm, temp, psnm, agpl, zgeo, uvel e vvel), apenas tive dificuldade de obter os dados de agpl (água precipitável - não consigo baixar). Também a psnm (pressão reduzida ao nível médio do mar) está com algum problema - já não me lembro exatamente qual, mas acabei substitundo pela pslc:1000. Se for interessante para o GAM, posso passar este repositório para vocês.
Obrigada @cfbastarz, já copiei seu repositório para o GAM. Muito obrigada.
Oi @Garcia-INPE, conversei com a @afrassoni e então chegamos a conclusão de que nós é que devemos gerar esses links simbólicos nas nossas áreas.
Ok, mas como o scantec vai ver esses arquivos em outro diretório senão o que direcionamos ele pra fazer? Se você souber pode fazer e depois me explica como, se não precisamos de ajuda.
@Garcia-INPE eu esperava que vc, como especialista em computação, pudesse resolver esse problema, mas pelo que entendo não está conseguindo. Vc gostaria de mais alguns dias para tentar solucionar?
Poxa @afrassoni, desculpe decepcioná-la, mas o problema não é do ECFLOW e nem com a criação de links mas sim como o SCANTEC funciona e isso não sei mesmo. O @cfbastarz já nos deu umas dicas mas agora estamos (eu e @barbarayamada) tentado dribrar algumas "particularidades" (digamos assim) que o conjunto do Enver foi nos apresentado, que seguem.
Os nomes dos diretórios fogem do padrao pois está no formato YYYYMMDDHH-YYYYMMDDHH, e para isso a solução que aplicamos foi gerar links dos diretórios no formato YYYYMMDDHH"
Há rodadas incompletas entre a série de rodadas (o primeiro dia já está sem dados, mas ok, começamos pela 2a. data.) Aqui o dia 28 tem poucos arquivos (notificamos o Enver mas nossa série para testes precisa ir até um dia antes)
Há vários CTLs zerados (fct, icn e inz) que também foram solucionados com a criação dos mesmos através de templates
Esse problema também se aplica ao CTL icn que precisa ser transformado em CTL fct, conforme o @cfbastarz nos insinou, pois alguns destes também foram encontrados zerados.
Estamos agora precisando de ajuda do @joaogerd ou @cfbastarz para saber como resolver esse problema, que já não é mais com o ECFLOW mas sim do modo que o SCANTEC funciona. Conseguimos "driblar" os problemas acima citados e executamos um conjunto de dias ...seguem mais dias até que outro erro ocorre (notamos que, apesar de estipularmos nossa série até dia 27, o processamento "invade" o dia 28, que é aquele citado acima que está com poucos arquivos) ...
Bom, na minha opinião, esses consertos que fizemos são ações paliativas e deveria estar tudo certo com esses conjuntos de rodadas, como ter rodadas completas e sem arquivos zerados, pois assim os novos testes fluiriam mais rapidamente, evitando a necessidade de tratar a falta de padronização caso a caso.
Bom dia pessoal, tudo bem?
@Garcia-INPE, esse problema com o arquivo /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020012800/GPOSCPT20200128002020012800P.icn.TQ0299L064.ctl
está ocorrendo porque, como a mensagem de erro está informando, o arquivo não existe. Não existe nenhum problema no SCANTEC quanto a isso. É necessário entender a lógica empregada no SCANTEC para a leitura dos arquivos de referência e as previsões dos experimentos.
Por exemplo, considerando a configuração de avaliação que você está utilizando neste teste com o SCANTEC:
$ ./scantec.x
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
! Climatology Not Found !
! The mean reference field will be used as climatology !
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
! Running scantec !
! Please wait while the system is performing the statistics !
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
Analisys Forecast fct
...
2020011800 2020011800 00h
BAM_TQ0299L064_18levs-linear Reference refer
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020011800/GPOSCPT20200118002020011800P.icn.TQ0299L064.ctl
BAM_TQ0299L064_18levs-linear Experiment BAM-AD
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020011800/GPOSCPT20200118002020011800P.fct.TQ0299L064.ctl
2020011800 2020011900 24h
BAM_TQ0299L064_18levs-linear Reference refer
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020011900/GPOSCPT20200119002020011900P.icn.TQ0299L064.ctl
BAM_TQ0299L064_18levs-linear Experiment BAM-AD
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020011800/GPOSCPT20200118002020011900P.fct.TQ0299L064.ctl
2020011800 2020012000 48h
BAM_TQ0299L064_18levs-linear Reference refer
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020012000/GPOSCPT20200120002020012000P.icn.TQ0299L064.ctl
BAM_TQ0299L064_18levs-linear Experiment BAM-AD
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020011800/GPOSCPT20200118002020012000P.fct.TQ0299L064.ctl
2020011800 2020012100 72h
BAM_TQ0299L064_18levs-linear Reference refer
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020012100/GPOSCPT20200121002020012100P.icn.TQ0299L064.ctl
BAM_TQ0299L064_18levs-linear Experiment BAM-AD
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020011800/GPOSCPT20200118002020012100P.fct.TQ0299L064.ctl
2020011800 2020012200 96h
BAM_TQ0299L064_18levs-linear Reference refer
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020012200/GPOSCPT20200122002020012200P.icn.TQ0299L064.ctl
BAM_TQ0299L064_18levs-linear Experiment BAM-AD
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020011800/GPOSCPT20200118002020012200P.fct.TQ0299L064.ctl
2020011800 2020012300 120h
BAM_TQ0299L064_18levs-linear Reference refer
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020012300/GPOSCPT20200123002020012300P.icn.TQ0299L064.ctl
BAM_TQ0299L064_18levs-linear Experiment BAM-AD
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020011800/GPOSCPT20200118002020012300P.fct.TQ0299L064.ctl
2020011800 2020012400 144h
BAM_TQ0299L064_18levs-linear Reference refer
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020012400/GPOSCPT20200124002020012400P.icn.TQ0299L064.ctl
BAM_TQ0299L064_18levs-linear Experiment BAM-AD
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020011800/GPOSCPT20200118002020012400P.fct.TQ0299L064.ctl
2020011800 2020012500 168h
BAM_TQ0299L064_18levs-linear Reference refer
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020012500/GPOSCPT20200125002020012500P.icn.TQ0299L064.ctl
BAM_TQ0299L064_18levs-linear Experiment BAM-AD
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020011800/GPOSCPT20200118002020012500P.fct.TQ0299L064.ctl
2020011800 2020012600 192h
BAM_TQ0299L064_18levs-linear Reference refer
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020012600/GPOSCPT20200126002020012600P.icn.TQ0299L064.ctl
BAM_TQ0299L064_18levs-linear Experiment BAM-AD
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020011800/GPOSCPT20200118002020012600P.fct.TQ0299L064.ctl
2020011800 2020012700 216h
BAM_TQ0299L064_18levs-linear Reference refer
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020012700/GPOSCPT20200127002020012700P.icn.TQ0299L064.ctl
BAM_TQ0299L064_18levs-linear Experiment BAM-AD
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020011800/GPOSCPT20200118002020012700P.fct.TQ0299L064.ctl
2020011800 2020012800 240h
BAM_TQ0299L064_18levs-linear Reference refer
FileName: /home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020012800/GPOSCPT20200128002020012800P.icn.TQ0299L064.ctl
scan_dataMOD :: loadData( ): File not found!/home/roberto.garcia/sfw/SCANTEC-2.0.0/datain/TQ0299L064/2020012800/GPOSCPT20200128002020012800P.icn.TQ0299L064.ctl error, stat =-1
scan_dataMOD :: loadData( )
...
Veja que a sua data de referência, i.e., a data para a qual serão avaliadas as previsões, é a prórpia data da previsão. Logo, uma previsão de 24 horas válida para o dia 2020011900 foi inicializada por uma análise válida para o dia 2020111800; da mesma forma, uma previsão de 48 horas válida para o dia 2020012000 foi inicializada por uma análise também válida para o dia 2020011800. Consequentemente, uma previsão de 240 horas (10 dias) válida para o dia 2020012800, também foi inicializada por uma análise válida para o dia 2020011800. O detalhe é que todas estas previsões (de 24, 48, 72, ..., 240 horas) são todas comparadas contra as referências válidas para as datas de referências (neste caso, as datas de previsões). Então, como a referência escolhida para a avaliação das previsões é a própria análise do modelo, logo a previsão de 240 horas que é válida para o dia 2020012800 deverá ser comparada contra a análise válida para o dia 2020012800. Como esse arquivo não existe, então o SCANTEC pára a execução do programa principal com essa mensagem. Essa lógica fica fácil de entender com os nomes dos arquivos sendo impressos sempre que eles são lidos pelo SCANTEC. Veja a subrotina loadData
da rotina scan_dataMOD.f90
:
Como você já mencionou as correções no conjunto de dados (criação de arquivo CTL etc), minha sugestão é fazer a avaliação do experimento apenas até o dia 2020011700 ao invés de 2020012800 como está sendo feito. Aliás, é sempre necessário considerar que o período completo do experimento não é necessariamente o período que poderá ser utilizado na avaliação, devido aos aspectos discutidos acima.
@barbarayamada bom dia, tudo bem? Poderia por favor enviar uma atualização sobre este trabalho? Peço que me indique se podemos fechar esse trabalho até a sexta-feira da próxima semana. Realmente precisamos deste trabalho finalizado para poder aplicar com o SMNA na pré-operação. Obrigada.
Oi @afrassoni, hoje eu e o José Roberto nos reunimos para atualização dos links do script cria_links. Este script cria os arquivos CTLs faltantes e cria os arquivos ICN nos devidos diretórios para que possamos realizar a avaliação. Amanhã nos reuniremos novamente e com os testes dando certo poderemos finalizar o trabalho.
@barbarayamada boa tarde! Qual o status desta tarefa por favor?
Ajustar o ecFlow no ambiente do Egeon para gerar as avaliações do BAM+AD