yinyang_mpi

Module

Description

$Id$

MODULE_DOC: This module contains Yin-Yang related types and functions MODULE_DOC: which are incompatible with FORTRAN 95.


Quick access

Variables:

caproot, capzprocs, indweights_zaver_cap, indweights_zaver_gap, n_contrib_procs, nycap, offset_cap, thrange_cap, thrange_gap, thranges_cap, thranges_gap, yinprocs

Routines:

initialize_zaver_yy(), reduce_zsum(), zsum_yy()

Needed modules

Variables

  • yinyang_mpi/caproot [integer,private/optional/default=-1]
  • yinyang_mpi/capzprocs (2) [integer,private/optional/default=-1]
  • yinyang_mpi/indweights_zaver_cap [ind_coeffs,private]
  • yinyang_mpi/indweights_zaver_gap (4) [ind_coeffs,private]
  • yinyang_mpi/n_contrib_procs [integer,private/parameter/optional/default=4]

    supposed to be 3

  • yinyang_mpi/nycap [integer,private/optional/default=0]
  • yinyang_mpi/offset_cap [integer,private/optional/default=0]
  • yinyang_mpi/thrange_cap (2) [integer,private/optional/default=0]
  • yinyang_mpi/thrange_gap (2,4) [integer,private/optional/default=0]
  • yinyang_mpi/thranges_cap (*,*,*) [integer,private/allocatable]
  • yinyang_mpi/thranges_gap (*,*,*) [integer,private/allocatable]
  • yinyang_mpi/yinprocs (4) [integer,private/optional/default=-1]

Subroutines and functions

subroutine  yinyang_mpi/zsum_yy(fnamexy, iname, m, n, a)
Parameters:
  • fnamexy (,,*) [real,inout]

  • iname [integer,in]

  • m [integer,in]

  • n [integer,in]

  • a (*) [real,in]

Called from:

initialize_diagnostics(), initialize_diagnostic_arrays(), prints(), report_undefined_diagnostics(), gen_form_legend(), write_sound(), get_average_density(), diagnostic(), initialize_time_integrals(), xyaverages_z(), xzaverages_y(), yzaverages_x(), phizaverages_r(), yaverages_xz(), zaverages_xy(), phiaverages_rz(), write_1daverages(), write_1daverages_prepare(), write_2daverages_prepare(), write_2daverages(), trim_averages(), fparse_name(), set_type(), save_name(), save_name_sound(), save_name_halfz(), max_mn_name(), sum_mn_name_halfy(), sum_mn_name_halfz(), sum_weighted_name(), sum_lim_mn_name(), surf_mn_name(), integrate_mn(), integrate_mn_name(), xysum_mn_name_z(), xysum_mn_name_z_npar(), xymax_mn_name_z(), xzsum_mn_name_y(), yzsum_mn_name_x(), yzsum_mn_name_x_mpar(), xyintegrate_mn_name_z(), xzintegrate_mn_name_y(), yzintegrate_mn_name_x(), phizsum_mn_name_r(), ysum_mn_name_xz(), ysum_mn_name_xz_npar(), yintegrate_mn_name_xz(), zsum_mn_name_xy_arr2(), zsum_mn_name_xy_arr(), zsum_mn_name_xy_mpar_scal()

Call to:

mpiwait(), mpibarrier(), prep_interp(), coeffs_to_weights(), warning()

subroutine  yinyang_mpi/reduce_zsum(arrm, temp)

Calculate z-sums (still depending on x and y).

25-apr-16/MR: outsourced from zaverages_xy

Parameters:
  • arrm (,,*) [real,in]

  • temp (,,*) [real,out]

Use :

general (find_proc()), mpicomm (mpireduce_sum(), mpisend_real(), mpirecv_real(), mpiwait(), mpibarrier(), izbeam_diag()), cdata

Called from:

initialize_diagnostics(), initialize_diagnostic_arrays(), prints(), report_undefined_diagnostics(), gen_form_legend(), write_sound(), get_average_density(), diagnostic(), initialize_time_integrals(), xyaverages_z(), xzaverages_y(), yzaverages_x(), phizaverages_r(), yaverages_xz(), zaverages_xy()

Call to:

mpiwait(), mpibarrier(), prep_interp(), coeffs_to_weights(), warning()

subroutine  yinyang_mpi/initialize_zaver_yy(nlines, nycap_)

Initializations for calculation of z-sums on Yin-Yang grid. Only valid for equidistant grid in y and z. Returns total number of Yin-phi coordinate lines which cross the executing proc. Can be lines in the “gap” of the Yin grid phi<= Pi/4, phi>=7Pi/4 or lines which lie completely within Yang grid, then in the “polar caps” theta<=Pi/4, theta>=3Pi/4. Note that executing proc can have a share of both types.

11-mar-16/MR: coded

Parameters:
  • nlines [integer,inout] :: total number of detected gap lines = offset for cap lines.

  • nycap [integer,out]

Use :

general (indgen(), yy_transform_strip_other(), find_proc(), itoa()), mpicomm (mpireduce_sum_int(), mpisend_int(), mpirecv_int(), mpiwait(), mpibarrier(), mpi_comm_grid(), mpi_comm_yzplane()), messages (warning()), cdata

Called from:

initialize_diagnostics(), initialize_diagnostic_arrays(), prints(), report_undefined_diagnostics(), gen_form_legend(), write_sound(), get_average_density(), diagnostic(), initialize_time_integrals(), xyaverages_z(), xzaverages_y(), yzaverages_x(), phizaverages_r(), yaverages_xz(), zaverages_xy(), phiaverages_rz(), write_1daverages(), write_1daverages_prepare(), write_2daverages_prepare(), write_2daverages(), trim_averages(), fparse_name(), set_type(), save_name(), save_name_sound(), save_name_halfz(), max_mn_name(), sum_mn_name_halfy(), sum_mn_name_halfz(), sum_weighted_name(), sum_lim_mn_name(), surf_mn_name(), integrate_mn(), integrate_mn_name(), xysum_mn_name_z(), xysum_mn_name_z_npar(), xymax_mn_name_z(), xzsum_mn_name_y(), yzsum_mn_name_x(), yzsum_mn_name_x_mpar(), xyintegrate_mn_name_z(), xzintegrate_mn_name_y(), yzintegrate_mn_name_x(), phizsum_mn_name_r(), ysum_mn_name_xz(), ysum_mn_name_xz_npar(), yintegrate_mn_name_xz(), zsum_mn_name_xy_arr2(), zsum_mn_name_xy_arr(), zsum_mn_name_xy_mpar_scal(), calc_phiavg_profile(), diagnostics_init_reduc_pointers(), diagnostics_diag_reductions(), phisum_mn_name_rz(), get_from_fname(), allocate_sound(), allocate_fnames(), allocate_vnames(), allocate_xyaverages(), allocate_xzaverages(), allocate_yzaverages(), allocate_phizaverages(), allocate_yaverages(), allocate_zaverages(), allocate_zaverages_data()

Call to:

prep_interp(), coeffs_to_weights(), warning(), mpiwait(), mpibarrier()