Gamit

Recomenda-se fortemente o uso do envio local. Desse modo, não é mais necessário gerar um .zip e o arquivo commands.sh

Envio local, exemplos de scripts

Informações sobre o uso direto do cluster local estão em aqui.

#!/bin/bash
#SBATCH -t 30:00

module load gamit

# Cria um link no $HOME para a versão atual do Gamit
if [ ! -e ~/gg ]
then
  ln -s /opt/GridUNESP/gamit/current ~/gg
fi

# setup env
sh_setup -yr 2000
sed -i "s/itrf05.apr/regional.apr/" tables/process.defaults

# Configura o seu email
sed -i "s/set mailto = ''/set mailto = 'mail@example.org'/" tables/process.defaults

cd tables
sh_upd_stnfo -l sd
mv station.info.new station.info
sh_upd_stnfo -files ../rinex/*.00o
cd ..

# run gamit
sh_gamit -expt scal -d 2000 034 035 036 -pres ELEV -orbit IGSF -copt x k p -dopts c ao
sh_glred -s 2000 034 2000 036 -expt scal -opt H G E

Submissa Simplificada

Introdução

Instruções para acessar os servidores: InstrucoesDeAcesso

Informações sobre o sistema de submissão simplificado (GO): SubmissaoSimplificada

Utilização

  • Crie um arquivo de parâmetros (ex: caso.go) como explicado abaixo
  • (apenas para a opção -grid) Crie um certificado de proxy (myproxy-logon) com uma duração maior que a do seu job
  • Execute "go caso.go"

Isso cria e envia o seu job para o grid. Caso não queira enviar imediatamente, utilize a opção "-nosubmit". O arquivo de submissão será criado com o nome de "caso.go.submit".

Caso você tenha especificado checkpoints ou arquivos de progresso, eles serão automaticamente copiados para esse diretório.

IMPORTANTE: NÃO USE ESPAÇOS NOS NOMES DOS ARQUIVOS

Por sua complexidade, é necessário preparar os arquivos de entrada do Gamit e empacotá-los em um ou mais .zip.

Também é necessário criar um arquivo nomeado "commands.sh".

Exemplo .go:

APP=gamit
INPUT="2000.zip commands.sh" 
OUTPUT="output.zip" 

Exemplo commands.sh:

# setup env
sh_setup -yr 2000
sed -i "s/itrf05.apr/regional.apr/" tables/process.defaults
sed -i "s/set mailto = ''/set mailto = '$USER@grid.unesp.br'/" tables/process.defaults

cd tables
sh_upd_stnfo -l sd
mv station.info.new station.info
sh_upd_stnfo -files ../rinex/*.00o
cd ..

# run gamit
sh_gamit -expt scal -d 2000 034 035 036 -pres ELEV -orbit IGSF -copt x k p -dopts c ao
sh_glred -s 2000 034 2000 036 -expt scal -opt H G E

# pack output
zip -ry output.zip *
exit 0

Um exemplo do arquivo 2000.zip está disponível em /opt/GridUNESP/gamit/tests/2000.zip

Opções

Opções comuns

  • CASE - Nome do caso. Define o nome de arquivos de entrada, log e saida. Padrão: (nome do arquivo de parâmetros, sem a extensão)
  • HOSTS - Número de hosts (processos) para a execução. Padrão: 1
  • QUEUE - Fila do processo. Opções: short, medium, long Padrão: short (24 horas)
  • LARGE_FILES - Suporte a arquivos de simulação maiores que 8GB. Padrão: false

Opções avançadas

  • EXEC - executável
  • TRANSFER_EXEC - se transfere o executável
  • ARGS - argumentos
  • INPUT - arquivos de entrada, separados por espaço
  • OUTPUT - arquivos de saída, separados por espaço
  • PROGRESS - arquivo que exibe o progresso da simulação
  • WAIT_PROGRESS - tempo de atualização do progresso, em segundos. Padrão: 15 min.
  • CHECKPOINT - arquivo de checkpoint
  • WAIT_CHECKPOINT - tempo de atualização do checkpoint, em segundos. Padrão: 3 horas.
  • HOSTS - Número de hosts (processos) para a execução. Padrão: 1
  • PPH - Process per host. Opção para programas SMP. Padrão: 1. Máximo:8
  • MPI - Se o executável deve ser chamado em ambiente MPI
  • SHARED_FS - Utiliza um sistema de arquivos compartilhado (útil para aplicações MPI)
  • CORE_MEM - Memória RAM por core, em GB. Padrão: 2. Máximo: 16

Dicas

  • Não utilize espaço no nome dos arquivos
  • Caso o parâmetro tenha espaço (ex: INPUT="arquivo_1 arquivo_2") utilize aspas duplas (")
  • Ao especificar arquivos da saída, progresso ou checkpoint, é possível usar caracteres coringa do bash. Exemplo: OUTPUT="f*.dat x.out" copiará todos os aquivos que começam com f e tem a extensão .dat, mais o arquivo x.out. *Não é possível usar essa expansão para arquivos de entrada (INPUT).