get_grid3 Module Procedure

module procedure get_grid3 module subroutine get_grid3(path, flagswap, x, g1all, g2all, g3all, altall, glatall, glonall, Bmagall, Incall, nullptsall, e1all, e2all, e3all, erall, ethetaall, ephiall, rall, thetaall, phiall)

reads common to 2D and 3D 1-D variables normal (i.e. full 3D) grid ordering, or a 2D grid with 1 element naturally in the second dimension

3D variables corner case: for 2d sims, Incall has degenerate dimension and HDF5 file may be a 1-D vector, which can cause glibc error "corrupted size vs. prev_size" and hard crash. Since it's just one variable, easier to check and handle 2D with swapped axes

for a 3D grid this is x2, but now considered x3(all) formerly x3, now x2

NOTE: workaround for Intel 2020, may not really be a bug notice this is the only one with negative indices end workaround

this would be h3, but with the input structure shape permute the dimensions of the array 3 --> 2, 2 --> 3 this would be h3, but with the input structure shape htmp includes degenerate dimension input 2 vs. 3 dimensions swapped from this program htmp includes degenerate dimension Note also that the x2 interface from teh input file is x3i in this simulation htmp includes degenerate dimension htmp includes degenerate dimension htmp includes degenerate dimension swap the x2/x3 unit vectors htmp includes degenerate dimension

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: path
integer, intent(in) :: flagswap
type(curvmesh), intent(inout) :: x
real(kind=wp), intent(out), dimension(:,:,:):: g1all
real(kind=wp), intent(out), dimension(:,:,:):: g2all
real(kind=wp), intent(out), dimension(:,:,:):: g3all
real(kind=wp), intent(out), dimension(:,:,:):: altall
real(kind=wp), intent(out), dimension(:,:,:):: glatall
real(kind=wp), intent(out), dimension(:,:,:):: glonall
real(kind=wp), intent(out), dimension(:,:,:):: Bmagall
real(kind=wp), intent(out), dimension(:,:):: Incall
real(kind=wp), intent(out), dimension(:,:,:):: nullptsall
real(kind=wp), intent(out), dimension(:,:,:,:):: e1all
real(kind=wp), intent(out), dimension(:,:,:,:):: e2all
real(kind=wp), intent(out), dimension(:,:,:,:):: e3all
real(kind=wp), intent(out), dimension(:,:,:,:):: erall
real(kind=wp), intent(out), dimension(:,:,:,:):: ethetaall
real(kind=wp), intent(out), dimension(:,:,:,:):: ephiall
real(kind=wp), intent(out), dimension(:,:,:):: rall
real(kind=wp), intent(out), dimension(:,:,:):: thetaall
real(kind=wp), intent(out), dimension(:,:,:):: phiall

Calls

proc~~get_grid3~~CallsGraph proc~get_grid3 get_grid3 htmp htmp proc~get_grid3->htmp

Called by

proc~~get_grid3~~CalledByGraph proc~get_grid3 get_grid3 interface~get_grid3 get_grid3 interface~get_grid3->proc~get_grid3 proc~read_grid_root read_grid_root proc~read_grid_root->interface~get_grid3 proc~read_grid read_grid proc~read_grid->proc~read_grid_root interface~read_grid read_grid interface~read_grid->proc~read_grid program~magcalc MagCalc program~magcalc->interface~read_grid program~gemini3d Gemini3D program~gemini3d->interface~read_grid

Contents

None