MOM6
|
Data Types | |
interface | assignment(=) |
type | efp_type |
interface | operator(+) |
interface | operator(-) |
interface | reproducing_sum |
Functions/Subroutines | |
real function | reproducing_sum_2d (array, isr, ier, jsr, jer, EFP_sum, reproducing, overflow_check, err) |
real function | reproducing_sum_3d (array, isr, ier, jsr, jer, sums, EFP_sum, err) |
integer(kind=8) function, dimension(ni) | real_to_ints (r, prec_error, overflow) |
real function | ints_to_real (ints) |
subroutine | increment_ints (int_sum, int2, prec_error) |
subroutine | increment_ints_faster (int_sum, r, max_mag_term) |
subroutine | carry_overflow (int_sum, prec_error) |
subroutine | regularize_ints (int_sum) |
logical function, public | query_efp_overflow_error () |
subroutine, public | reset_efp_overflow_error () |
type(efp_type) function, public | efp_plus (EFP1, EFP2) |
type(efp_type) function, public | efp_minus (EFP1, EFP2) |
subroutine | efp_assign (EFP1, EFP2) |
real function, public | efp_to_real (EFP1) |
real function, public | efp_real_diff (EFP1, EFP2) |
type(efp_type) function, public | real_to_efp (val, overflow) |
subroutine, public | efp_list_sum_across_pes (EFPs, nval, errors) |
subroutine, public | mom_infra_end |
Variables | |
integer(kind=8), parameter | prec =2_8**46 |
real, parameter | r_prec =2.0**46 |
real, parameter | i_prec =1.0/(2.0**46) |
integer, parameter | max_count_prec =2**(63-46)-1 |
integer, parameter | ni =6 |
real, dimension(ni), parameter | pr = (/ r_prec**2, r_prec, 1.0, 1.0/r_prec, 1.0/r_prec**2, 1.0/r_prec**3 /) |
real, dimension(ni), parameter | i_pr = (/ 1.0/r_prec**2, 1.0/r_prec, 1.0, r_prec, r_prec**2, r_prec**3 /) |
logical | overflow_error = .false. |
logical | nan_error = .false. |
logical | debug = .false. |
|
private |
Definition at line 488 of file MOM_coms.F90.
References i_prec, ni, overflow_error, and prec.
Referenced by efp_list_sum_across_pes(), reproducing_sum_2d(), and reproducing_sum_3d().
|
private |
subroutine, public mom_coms::efp_list_sum_across_pes | ( | type(efp_type), dimension(:), intent(inout) | EFPs, |
integer, intent(in) | nval, | ||
logical, dimension(:), intent(out), optional | errors | ||
) |
Definition at line 622 of file MOM_coms.F90.
References carry_overflow(), efp_to_real(), max_count_prec, mom_error_handler::mom_error(), ni, and overflow_error.
type(efp_type) function, public mom_coms::efp_minus | ( | type(efp_type), intent(in) | EFP1, |
type(efp_type), intent(in) | EFP2 | ||
) |
Definition at line 561 of file MOM_coms.F90.
References increment_ints(), and ni.
type(efp_type) function, public mom_coms::efp_plus | ( | type(efp_type), intent(in) | EFP1, |
type(efp_type), intent(in) | EFP2 | ||
) |
Definition at line 552 of file MOM_coms.F90.
References increment_ints().
real function, public mom_coms::efp_real_diff | ( | type(efp_type), intent(in) | EFP1, |
type(efp_type), intent(in) | EFP2 | ||
) |
Definition at line 590 of file MOM_coms.F90.
References efp_to_real().
real function, public mom_coms::efp_to_real | ( | type(efp_type), intent(inout) | EFP1 | ) |
Definition at line 582 of file MOM_coms.F90.
References ints_to_real(), and regularize_ints().
Referenced by efp_list_sum_across_pes(), efp_real_diff(), and mom_sum_output::write_energy().
|
private |
Definition at line 434 of file MOM_coms.F90.
References ni, overflow_error, and prec.
Referenced by efp_minus(), efp_plus(), reproducing_sum_2d(), and reproducing_sum_3d().
|
private |
Definition at line 463 of file MOM_coms.F90.
References i_pr, nan_error, ni, and pr.
Referenced by reproducing_sum_2d(), and reproducing_sum_3d().
|
private |
Definition at line 423 of file MOM_coms.F90.
Referenced by efp_to_real(), reproducing_sum_2d(), and reproducing_sum_3d().
subroutine, public mom_coms::mom_infra_end | ( | ) |
Definition at line 667 of file MOM_coms.F90.
logical function, public mom_coms::query_efp_overflow_error | ( | ) |
Definition at line 543 of file MOM_coms.F90.
References overflow_error.
Referenced by mom_spatial_means::global_i_mean(), and mom_spatial_means::global_j_mean().
type(efp_type) function, public mom_coms::real_to_efp | ( | real, intent(in) | val, |
logical, intent(inout), optional | overflow | ||
) |
Definition at line 601 of file MOM_coms.F90.
References mom_error_handler::mom_error(), and real_to_ints().
Referenced by mom_sum_output::write_energy().
|
private |
Definition at line 387 of file MOM_coms.F90.
References i_pr, mom_error_handler::mom_error(), nan_error, ni, pr, and prec.
Referenced by real_to_efp(), reproducing_sum_2d(), and reproducing_sum_3d().
|
private |
Definition at line 506 of file MOM_coms.F90.
References i_prec, ni, and prec.
Referenced by efp_to_real(), reproducing_sum_2d(), and reproducing_sum_3d().
|
private |
Definition at line 80 of file MOM_coms.F90.
References carry_overflow(), debug, i_pr, increment_ints(), increment_ints_faster(), ints_to_real(), max_count_prec, mom_error_handler::mom_error(), mom_error_handler::mom_mesg(), nan_error, ni, overflow_error, pr, real_to_ints(), and regularize_ints().
|
private |
Definition at line 225 of file MOM_coms.F90.
References carry_overflow(), debug, increment_ints(), increment_ints_faster(), ints_to_real(), max_count_prec, mom_error_handler::mom_error(), mom_error_handler::mom_mesg(), nan_error, ni, overflow_error, pr, real_to_ints(), and regularize_ints().
subroutine, public mom_coms::reset_efp_overflow_error | ( | ) |
Definition at line 548 of file MOM_coms.F90.
References overflow_error.
Referenced by mom_spatial_means::global_i_mean(), and mom_spatial_means::global_j_mean().
|
private |
Definition at line 60 of file MOM_coms.F90.
Referenced by reproducing_sum_2d(), and reproducing_sum_3d().
|
private |
Definition at line 56 of file MOM_coms.F90.
Referenced by increment_ints_faster(), real_to_ints(), and reproducing_sum_2d().
|
private |
Definition at line 46 of file MOM_coms.F90.
Referenced by carry_overflow(), and regularize_ints().
|
private |
Definition at line 47 of file MOM_coms.F90.
Referenced by efp_list_sum_across_pes(), reproducing_sum_2d(), and reproducing_sum_3d().
|
private |
Definition at line 59 of file MOM_coms.F90.
Referenced by increment_ints_faster(), real_to_ints(), reproducing_sum_2d(), and reproducing_sum_3d().
|
private |
Definition at line 52 of file MOM_coms.F90.
Referenced by carry_overflow(), efp_assign(), efp_list_sum_across_pes(), efp_minus(), increment_ints(), increment_ints_faster(), ints_to_real(), real_to_ints(), regularize_ints(), reproducing_sum_2d(), and reproducing_sum_3d().
|
private |
Definition at line 59 of file MOM_coms.F90.
Referenced by carry_overflow(), efp_list_sum_across_pes(), increment_ints(), query_efp_overflow_error(), reproducing_sum_2d(), reproducing_sum_3d(), and reset_efp_overflow_error().
|
private |
Definition at line 54 of file MOM_coms.F90.
Referenced by increment_ints_faster(), ints_to_real(), real_to_ints(), reproducing_sum_2d(), and reproducing_sum_3d().
|
private |
Definition at line 44 of file MOM_coms.F90.
Referenced by carry_overflow(), increment_ints(), real_to_ints(), and regularize_ints().
|
private |
Definition at line 45 of file MOM_coms.F90.