mod_nan_check
Lines: 37 |
Visibility: private
Utility module for checking NaN values in arrays.
This module provides subroutines to check for NaN (Not-a-Number) values
in real arrays and abort the program with descriptive error messages
when NaN values are detected.
Dependencies
Uses
module~~mod_nan_check~~UsesGraph
module~mod_nan_check
mod_nan_check
ieee_arithmetic
ieee_arithmetic
module~mod_nan_check->ieee_arithmetic
module~mod_io
mod_io
module~mod_nan_check->module~mod_io
module~mod_precision
mod_precision
module~mod_nan_check->module~mod_precision
module~mod_throw
mod_throw
module~mod_nan_check->module~mod_throw
module~mod_io->module~mod_precision
iso_fortran_env
iso_fortran_env
module~mod_io->iso_fortran_env
module~mod_optional_args
mod_optional_args
module~mod_io->module~mod_optional_args
iso_c_binding
iso_c_binding
module~mod_precision->iso_c_binding
module~mod_precision->iso_fortran_env
module~mod_throw->module~mod_io
module~mod_throw->module~mod_precision
module~mod_throw->iso_c_binding
module~mod_throw->iso_fortran_env
module~mod_mpi
mod_mpi
module~mod_throw->module~mod_mpi
module~mod_sort
mod_sort
module~mod_throw->module~mod_sort
module~mod_mpi->module~mod_precision
mpi_f08
mpi_f08
module~mod_mpi->mpi_f08
module~mod_sort->module~mod_precision
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Used By
module~~mod_nan_check~~UsedByGraph
module~mod_nan_check
mod_nan_check
module~mod_abstractoptimizer
mod_abstractoptimizer
module~mod_abstractoptimizer->module~mod_nan_check
module~mod_dense_layer
mod_dense_layer
module~mod_dense_layer->module~mod_nan_check
module~mod_initialize_array
mod_initialize_array
module~mod_dense_layer->module~mod_initialize_array
module~mod_parameter_file
mod_parameter_file
module~mod_parameter_file->module~mod_nan_check
module~mod_abstract_kalman_filter
mod_abstract_kalman_filter
module~mod_abstract_kalman_filter->module~mod_abstractoptimizer
module~mod_adam
mod_adam
module~mod_adam->module~mod_abstractoptimizer
module~mod_learning_rate
mod_learning_rate
module~mod_adam->module~mod_learning_rate
module~mod_dense_layer_with_single_activations
mod_dense_layer_with_single_activations
module~mod_dense_layer_with_single_activations->module~mod_dense_layer
module~mod_gradient_descent
mod_gradient_descent
module~mod_gradient_descent->module~mod_abstractoptimizer
module~mod_gradient_descent->module~mod_learning_rate
module~mod_initialize
mod_initialize
module~mod_initialize->module~mod_abstractoptimizer
module~mod_optimizers
mod_optimizers
module~mod_initialize->module~mod_optimizers
module~mod_write_headers
mod_write_headers
module~mod_initialize->module~mod_write_headers
module~mod_abstract_property_model
mod_abstract_property_model
module~mod_initialize->module~mod_abstract_property_model
module~mod_elemental_property_model
mod_elemental_property_model
module~mod_initialize->module~mod_elemental_property_model
module~mod_hdnn
mod_hdnn
module~mod_initialize->module~mod_hdnn
module~mod_initialize_array->module~mod_parameter_file
module~mod_kalman_filter
mod_kalman_filter
module~mod_kalman_filter->module~mod_abstractoptimizer
module~mod_kalman_filter->module~mod_abstract_kalman_filter
module~mod_kalman_filter_std
mod_kalman_filter_std
module~mod_kalman_filter_std->module~mod_abstractoptimizer
module~mod_kalman_filter_std->module~mod_abstract_kalman_filter
module~mod_layers
mod_layers
module~mod_layers->module~mod_dense_layer
module~mod_layers->module~mod_dense_layer_with_single_activations
module~mod_learning_rate->module~mod_abstractoptimizer
module~mod_nada_opt
mod_nada_opt
module~mod_nada_opt->module~mod_abstractoptimizer
module~mod_nada_opt->module~mod_learning_rate
module~mod_optimizers->module~mod_abstractoptimizer
module~mod_optimizers->module~mod_adam
module~mod_optimizers->module~mod_gradient_descent
module~mod_optimizers->module~mod_kalman_filter
module~mod_optimizers->module~mod_kalman_filter_std
module~mod_optimizers->module~mod_nada_opt
module~mod_stochastic_gradient_descent
mod_stochastic_gradient_descent
module~mod_optimizers->module~mod_stochastic_gradient_descent
module~mod_stochastic_gradient_descent->module~mod_abstractoptimizer
module~mod_stochastic_gradient_descent->module~mod_learning_rate
module~mod_train_4g_atomic_charges_structure_batch
mod_train_4g_atomic_charges_structure_batch
module~mod_train_4g_atomic_charges_structure_batch->module~mod_abstractoptimizer
module~mod_train_helpers
mod_train_helpers
module~mod_train_4g_atomic_charges_structure_batch->module~mod_train_helpers
module~mod_train_4g_atomic_charges_structure_batch->module~mod_abstract_property_model
module~mod_forward_backward_batched
mod_forward_backward_batched
module~mod_train_4g_atomic_charges_structure_batch->module~mod_forward_backward_batched
module~mod_forward_batched
mod_forward_batched
module~mod_train_4g_atomic_charges_structure_batch->module~mod_forward_batched
module~mod_get_max_num_output_properties
mod_get_max_num_output_properties
module~mod_train_4g_atomic_charges_structure_batch->module~mod_get_max_num_output_properties
module~mod_train_atomic_property_multiple_atoms
mod_train_atomic_property_multiple_atoms
module~mod_train_atomic_property_multiple_atoms->module~mod_abstractoptimizer
module~mod_train_atomic_property_multiple_atoms->module~mod_train_helpers
module~mod_train_atomic_property_multiple_atoms->module~mod_abstract_property_model
module~mod_train_atomic_property_multiple_atoms->module~mod_forward_backward_batched
module~mod_train_atomic_property_multiple_atoms->module~mod_forward_batched
module~mod_train_energy_multiple_structures
mod_train_energy_multiple_structures
module~mod_train_energy_multiple_structures->module~mod_abstractoptimizer
module~mod_train_energy_multiple_structures->module~mod_initialize
module~mod_train_energy_multiple_structures->module~mod_train_helpers
module~mod_train_energy_multiple_structures->module~mod_abstract_property_model
module~mod_train_energy_multiple_structures->module~mod_forward_backward_batched
module~mod_train_energy_multiple_structures->module~mod_forward_batched
module~mod_train_energy_multiple_structures->module~mod_get_max_num_output_properties
module~mod_train_forces_multiple_structures
mod_train_forces_multiple_structures
module~mod_train_forces_multiple_structures->module~mod_abstractoptimizer
module~mod_train_forces_multiple_structures->module~mod_initialize
module~mod_train_forces_multiple_structures->module~mod_train_energy_multiple_structures
module~mod_train_forces_multiple_structures->module~mod_train_helpers
module~mod_train_forces_multiple_structures->module~mod_abstract_property_model
module~mod_forward_backward_gradient_batched
mod_forward_backward_gradient_batched
module~mod_train_forces_multiple_structures->module~mod_forward_backward_gradient_batched
module~mod_forward_gradient_batched
mod_forward_gradient_batched
module~mod_train_forces_multiple_structures->module~mod_forward_gradient_batched
module~mod_train_helpers->module~mod_abstractoptimizer
module~mod_train_helpers->module~mod_abstract_property_model
module~mod_train_loop_4g_charges
mod_train_loop_4g_charges
module~mod_train_loop_4g_charges->module~mod_abstractoptimizer
module~mod_train_loop_4g_charges->module~mod_initialize
module~mod_train_loop_4g_charges->module~mod_train_4g_atomic_charges_structure_batch
module~mod_train_loop_4g_charges->module~mod_train_helpers
module~mod_train_loop_4g_charges->module~mod_abstract_property_model
module~mod_signal_handler
mod_signal_handler
module~mod_train_loop_4g_charges->module~mod_signal_handler
module~mod_cost_calculator
mod_cost_calculator
module~mod_train_loop_4g_charges->module~mod_cost_calculator
module~mod_output_files_and_cost_4g_charges
mod_output_files_and_cost_4g_charges
module~mod_train_loop_4g_charges->module~mod_output_files_and_cost_4g_charges
module~mod_train_loop_atomic_property
mod_train_loop_atomic_property
module~mod_train_loop_atomic_property->module~mod_abstractoptimizer
module~mod_train_loop_atomic_property->module~mod_initialize
module~mod_train_loop_atomic_property->module~mod_train_atomic_property_multiple_atoms
module~mod_train_loop_atomic_property->module~mod_train_helpers
module~mod_train_loop_atomic_property->module~mod_abstract_property_model
module~mod_train_loop_atomic_property->module~mod_signal_handler
module~mod_train_loop_atomic_property->module~mod_cost_calculator
module~mod_output_files_and_cost
mod_output_files_and_cost
module~mod_train_loop_atomic_property->module~mod_output_files_and_cost
module~mod_train_loop_short_range
mod_train_loop_short_range
module~mod_train_loop_short_range->module~mod_abstractoptimizer
module~mod_train_loop_short_range->module~mod_initialize
module~mod_train_loop_short_range->module~mod_train_energy_multiple_structures
module~mod_train_loop_short_range->module~mod_train_forces_multiple_structures
module~mod_train_loop_short_range->module~mod_train_helpers
module~mod_train_loop_short_range->module~mod_abstract_property_model
module~mod_train_loop_short_range->module~mod_signal_handler
module~mod_train_loop_short_range->module~mod_cost_calculator
module~mod_train_loop_short_range->module~mod_get_max_num_output_properties
module~mod_train_loop_short_range->module~mod_output_files_and_cost
module~mod_output_files_and_cost_4g_short_range
mod_output_files_and_cost_4g_short_range
module~mod_train_loop_short_range->module~mod_output_files_and_cost_4g_short_range
module~mod_predict_qeq_feature_calculator_multiple_structures
mod_predict_qeq_feature_calculator_multiple_structures
module~mod_train_loop_short_range->module~mod_predict_qeq_feature_calculator_multiple_structures
module~mod_train_mode
mod_train_mode
module~mod_train_mode->module~mod_abstractoptimizer
module~mod_train_mode->module~mod_initialize
module~mod_train_mode->module~mod_train_loop_4g_charges
module~mod_train_mode->module~mod_train_loop_atomic_property
module~mod_train_mode->module~mod_train_loop_short_range
module~mod_train_mode->module~mod_abstract_property_model
module~mod_dataset_statistics
mod_dataset_statistics
module~mod_train_mode->module~mod_dataset_statistics
module~mod_dataset_statistics_chi_all_chunks
mod_dataset_statistics_chi_all_chunks
module~mod_train_mode->module~mod_dataset_statistics_chi_all_chunks
module~mod_feature_map_scaling_all_chunks
mod_feature_map_scaling_all_chunks
module~mod_train_mode->module~mod_feature_map_scaling_all_chunks
module~mod_precalc_coulomb_matrix_all_chunks
mod_precalc_coulomb_matrix_all_chunks
module~mod_train_mode->module~mod_precalc_coulomb_matrix_all_chunks
module~mod_predict_4g_charges_training_qeq_multiple_structures
mod_predict_4g_charges_training_qeq_multiple_structures
module~mod_train_mode->module~mod_predict_4g_charges_training_qeq_multiple_structures
module~mod_predict_all_chunks
mod_predict_all_chunks
module~mod_train_mode->module~mod_predict_all_chunks
module~mod_train_mode->module~mod_predict_qeq_feature_calculator_multiple_structures
module~mod_write_outfiles_training
mod_write_outfiles_training
module~mod_train_mode->module~mod_write_outfiles_training
module~mod_write_headers->module~mod_abstractoptimizer
module~mod_write_headers->module~mod_abstract_property_model
program~runner
RuNNer
program~runner->module~mod_abstractoptimizer
program~runner->module~mod_initialize
program~runner->module~mod_train_mode
program~runner->module~mod_write_headers
program~runner->module~mod_abstract_property_model
module~mod_predict_mode
mod_predict_mode
program~runner->module~mod_predict_mode
program~runner->module~mod_signal_handler
module~mod_calculate_coulomb_matrix
mod_calculate_coulomb_matrix
program~runner->module~mod_calculate_coulomb_matrix
module~mod_precompute_features_all_chunks
mod_precompute_features_all_chunks
program~runner->module~mod_precompute_features_all_chunks
module~mod_precompute_global_features_all_chunks
mod_precompute_global_features_all_chunks
program~runner->module~mod_precompute_global_features_all_chunks
module~mod_abstract_property_model->module~mod_initialize_array
module~mod_elemental_property_model->module~mod_initialize_array
module~mod_elemental_property_model->module~mod_abstract_property_model
module~mod_hdnn->module~mod_initialize_array
module~mod_hdnn->module~mod_abstract_property_model
module~mod_neural_network
mod_neural_network
module~mod_hdnn->module~mod_neural_network
module~mod_neural_network->module~mod_layers
module~mod_predict_mode->module~mod_initialize
module~mod_predict_mode->module~mod_abstract_property_model
module~mod_predict_mode->module~mod_signal_handler
module~mod_write_outfiles
mod_write_outfiles
module~mod_predict_mode->module~mod_write_outfiles
module~mod_enforce_reading
mod_enforce_reading
module~mod_predict_mode->module~mod_enforce_reading
module~mod_predict_multiple_structures
mod_predict_multiple_structures
module~mod_predict_mode->module~mod_predict_multiple_structures
module~mod_runner_interface_bindings
mod_runner_interface_bindings
module~mod_runner_interface_bindings->module~mod_initialize
module~mod_calc_atomic_properties
mod_calc_atomic_properties
module~mod_runner_interface_bindings->module~mod_calc_atomic_properties
module~mod_runner_interface_bindings->module~mod_enforce_reading
module~mod_runner_interface_bindings->module~mod_get_max_num_output_properties
module~mod_runner_interface
mod_runner_interface
module~mod_runner_interface_bindings->module~mod_runner_interface
module~mod_signal_handler->module~mod_write_headers
module~mod_write_outfiles->module~mod_initialize
module~mod_analyse_a_prime_matrix_eigenvalues
mod_analyse_a_prime_matrix_eigenvalues
module~mod_analyse_a_prime_matrix_eigenvalues->module~mod_abstract_property_model
module~mod_calc_atomic_properties->module~mod_abstract_property_model
module~mod_calc_atomic_properties->module~mod_forward_batched
module~mod_calculate_coulomb_matrix->module~mod_signal_handler
module~mod_cost_calculator->module~mod_abstract_property_model
module~mod_cost_calculator->module~mod_write_outfiles_training
module~mod_dataset_statistics->module~mod_abstract_property_model
module~mod_dataset_statistics->module~mod_forward_batched
module~mod_dataset_statistics_chi_all_chunks->module~mod_abstract_property_model
module~mod_dataset_statistics_chi_all_chunks->module~mod_signal_handler
module~mod_dataset_statistics_chi_all_chunks->module~mod_dataset_statistics
module~mod_enforce_reading->module~mod_abstract_property_model
module~mod_feature_map_scaling_all_chunks->module~mod_abstract_property_model
module~mod_feature_map_scaling_all_chunks->module~mod_signal_handler
module~mod_prediction_statistics
mod_prediction_statistics
module~mod_feature_map_scaling_all_chunks->module~mod_prediction_statistics
module~mod_structure_batch_iterator
mod_structure_batch_iterator
module~mod_feature_map_scaling_all_chunks->module~mod_structure_batch_iterator
module~mod_forward_backward_batched->module~mod_abstract_property_model
module~mod_forward_backward_gradient_batched->module~mod_abstract_property_model
module~mod_forward_batched->module~mod_abstract_property_model
module~mod_forward_gradient_batched->module~mod_abstract_property_model
module~mod_get_max_num_output_properties->module~mod_abstract_property_model
module~mod_lammps_interface
mod_lammps_interface
module~mod_lammps_interface->module~mod_runner_interface_bindings
module~mod_lammps_interface->module~mod_runner_interface
module~mod_output_files_and_cost->module~mod_abstract_property_model
module~mod_output_files_and_cost->module~mod_cost_calculator
module~mod_output_files_and_cost->module~mod_predict_multiple_structures
module~mod_output_files_and_cost_4g_charges->module~mod_abstract_property_model
module~mod_output_files_and_cost_4g_charges->module~mod_cost_calculator
module~mod_output_files_and_cost_4g_charges->module~mod_predict_4g_charges_training_qeq_multiple_structures
module~mod_output_files_and_cost_4g_short_range->module~mod_abstract_property_model
module~mod_output_files_and_cost_4g_short_range->module~mod_cost_calculator
module~mod_predict_4g_short_range_training_qeq_multiple_structures
mod_predict_4g_short_range_training_qeq_multiple_structures
module~mod_output_files_and_cost_4g_short_range->module~mod_predict_4g_short_range_training_qeq_multiple_structures
module~mod_output_files_and_cost_4g_short_range->module~mod_predict_qeq_feature_calculator_multiple_structures
module~mod_post_processing_wrapper_single_structure
mod_post_processing_wrapper_single_structure
module~mod_post_processing_wrapper_single_structure->module~mod_abstract_property_model
module~mod_post_processing_wrapper_single_structure->module~mod_calc_atomic_properties
module~mod_precalc_coulomb_matrix_all_chunks->module~mod_abstract_property_model
module~mod_precalc_coulomb_matrix_all_chunks->module~mod_forward_batched
module~mod_precalc_coulomb_matrix_all_chunks->module~mod_predict_4g_charges_training_qeq_multiple_structures
module~mod_precompute_features_all_chunks->module~mod_signal_handler
module~mod_precompute_global_features_all_chunks->module~mod_abstract_property_model
module~mod_precompute_global_features_all_chunks->module~mod_signal_handler
module~mod_precompute_global_features_all_chunks->module~mod_predict_qeq_feature_calculator_multiple_structures
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_abstract_property_model
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_structure_batch_iterator
module~mod_predict_4g_no_force_trick_single_structure
mod_predict_4g_no_force_trick_single_structure
module~mod_predict_4g_no_force_trick_single_structure->module~mod_abstract_property_model
module~mod_predict_4g_no_force_trick_single_structure->module~mod_calc_atomic_properties
module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_abstract_property_model
module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_structure_batch_iterator
module~mod_predict_all_chunks->module~mod_abstract_property_model
module~mod_predict_all_chunks->module~mod_signal_handler
module~mod_predict_all_chunks->module~mod_predict_multiple_structures
module~mod_predict_multiple_structures->module~mod_abstract_property_model
module~mod_predict_multiple_structures->module~mod_post_processing_wrapper_single_structure
module~mod_predict_multiple_structures->module~mod_structure_batch_iterator
module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_abstract_property_model
module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_structure_batch_iterator
module~mod_predict_single_structure
mod_predict_single_structure
module~mod_predict_single_structure->module~mod_abstract_property_model
module~mod_predict_single_structure->module~mod_calc_atomic_properties
module~mod_predict_single_structure->module~mod_get_max_num_output_properties
module~mod_predict_single_structure->module~mod_post_processing_wrapper_single_structure
module~mod_prediction_statistics->module~mod_abstract_property_model
module~mod_prediction_statistics->module~mod_calc_atomic_properties
module~mod_prediction_statistics->module~mod_get_max_num_output_properties
module~mod_runner_interface->module~mod_abstract_property_model
module~mod_structure_batch_iterator->module~mod_abstract_property_model
module~mod_structure_batch_iterator->module~mod_calc_atomic_properties
module~mod_structure_batch_iterator->module~mod_get_max_num_output_properties
module~mod_write_outfiles_training->module~mod_abstract_property_model
module~mod_write_outfiles_training->module~mod_write_outfiles
module~mod_feature_calc_interface
mod_feature_calc_interface
module~mod_feature_calc_interface->module~mod_runner_interface
module~mod_generic_interface
mod_generic_interface
module~mod_feature_calc_interface->module~mod_generic_interface
module~mod_generic_interface->module~mod_predict_single_structure
module~mod_generic_interface->module~mod_runner_interface
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Procedures Summary
Name
Type
Description
check_nan_1d
Subroutine
Check for NaN values in a 1D array and abort if found. This subroutine checks every element of...
check_nan_2d
Subroutine
Check for NaN values in a 2D array and abort if found. This subroutine checks every element of...
Procedure Details
subroutine check_nan_1d
subroutine check_nan_1d ( & array, & context &)
Check for NaN values in a 1D array and abort if found.
This subroutine checks every element of a 1D array for NaN values.
If any NaN is found, the program is aborted with a descriptive error
message indicating the context and position of the NaN.
Arguments
array :
real (DP) (dim: (:)) [in]– The array to check for NaN values.
context :
character [in]– A descriptive string indicating where the check is performed
(e.g., "reading weights from file", "after optimizer update").
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine check_nan_2d
subroutine check_nan_2d ( & array, & context &)
Check for NaN values in a 2D array and abort if found.
This subroutine checks every element of a 2D array for NaN values.
If any NaN is found, the program is aborted with a descriptive error
message indicating the context and position of the NaN.
Arguments
array :
real (DP) (dim: (:,:)) [in]– The 2D array to check for NaN values.
context :
character [in]– A descriptive string indicating where the check is performed.
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.