pencil_check

Module

Description

$Id$

** AUTOMATIC CPARAM.INC GENERATION ************************ Declare (for generation of cparam.inc) the number of f array variables and auxiliary variables added by this module


Quick access

Routines:

pencil_consistency_check()

Needed modules

Variables

Subroutines and functions

subroutine  pencil_check/pencil_consistency_check(f, df, p)

This subroutine checks the run for missing and for superfluous pencils. First a reference df is calculated with all the requested pencils. Then the pencil request is flipped one by one (a pencil that is requested is not calculated, a pencil that is not requested is calculated). A complete set of pencils should fulfil

  • Calculating a not requested pencil should not change df

  • Not calculating a requested pencil should change df

The run has a problem when
  • Calculating a not requested pencil changes df (program dies with error message)

  • Not calculating a requested pencil does not change df (program gives a warning)

If there are missing pencils, the programmer should go into the pencil_criteria_XXX subs and request the proper pencils (based cleverly on run parameters).

18-apr-05/tony: coded

Parameters:
Use :

equ (initialize_pencils(), pde()), general (random_number_wrapper(), random_seed_wrapper(), notanumber()), mpicomm (mpireduce_and(), mpireduce_max(), mpireduce_or(), mpibcast_logical(), stop_it_if_any(), mpi_comm_pencil()), farraymanager (farray_get_name())

Called from:

helper_loop(), reload(), gen_output(), timeloop(), check_tspec_crit_log_interval(), check_tsnap_crit_log_interval(), check_tvid_crit_log_interval(), setup_signal_files(), print_metrics(), run_start()

Call to:

life_support_on(), stop_it_if_any(), pde(), life_support_off()