[cig-commits] [commit] rajesh-petsc-schur: Changed the shape of E->parallel.PROCESSOR as part of caps_per_proc_removal (a71456f)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed Nov 5 19:12:53 PST 2014


Repository : https://github.com/geodynamics/citcoms

On branch  : rajesh-petsc-schur
Link       : https://github.com/geodynamics/citcoms/compare/464e1b32299b15819f93efd98d969cddb84dfe51...f97ae655a50bdbd6dac1923a3471ee4dae178fbd

>---------------------------------------------------------------

commit a71456f69b070fd9a60781088ea0455f6c77c1a6
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date:   Wed Sep 24 11:05:11 2014 -0700

    Changed the shape of E->parallel.PROCESSOR as part of caps_per_proc_removal


>---------------------------------------------------------------

a71456f69b070fd9a60781088ea0455f6c77c1a6
 lib/Full_parallel_related.c     | 108 ++++++++++++++++++++--------------------
 lib/Full_tracer_advection.c     |   8 +--
 lib/Regional_parallel_related.c |  20 ++++----
 lib/Regional_tracer_advection.c |   2 +-
 lib/Tracer_setup.c              |   2 +-
 lib/global_defs.h               |   2 +-
 6 files changed, 71 insertions(+), 71 deletions(-)

diff --git a/lib/Full_parallel_related.c b/lib/Full_parallel_related.c
index e84de7c..ad47ac9 100644
--- a/lib/Full_parallel_related.c
+++ b/lib/Full_parallel_related.c
@@ -533,7 +533,7 @@ void full_parallel_communication_routs_v(E)
 	  target = E->parallel.loc2proc_map[temp][ly][0][lz];
 	}
 
-      E->parallel.PROCESSOR[lev][CPPR].pass[npass] = target;
+      E->parallel.PROCESSOR[lev].pass[npass] = target;
       face_eqn_node_to_pass(E,lev,npass,ii);
 
       /* +X face */
@@ -549,7 +549,7 @@ void full_parallel_communication_routs_v(E)
 	  temp = (12+cap-3) % 12;
 	  target = E->parallel.loc2proc_map[temp][ly][nprocy-1][lz];
 	}
-      E->parallel.PROCESSOR[lev][CPPR].pass[npass] = target;
+      E->parallel.PROCESSOR[lev].pass[npass] = target;
       face_eqn_node_to_pass(E,lev,npass,ii);
 
       /* -Y face */
@@ -566,7 +566,7 @@ void full_parallel_communication_routs_v(E)
 	  target = E->parallel.loc2proc_map[temp][0][lx][lz];
 	}
 
-      E->parallel.PROCESSOR[lev][CPPR].pass[npass] = target;
+      E->parallel.PROCESSOR[lev].pass[npass] = target;
       face_eqn_node_to_pass(E,lev,npass,ii);
 
       /* +Y face */
@@ -583,7 +583,7 @@ void full_parallel_communication_routs_v(E)
 	  target = E->parallel.loc2proc_map[temp][nprocx-1][lx][lz];
 	}
 
-      E->parallel.PROCESSOR[lev][CPPR].pass[npass] = target;
+      E->parallel.PROCESSOR[lev].pass[npass] = target;
       face_eqn_node_to_pass(E,lev,npass,ii);
 
       /* do lines parallel to Z */
@@ -596,13 +596,13 @@ void full_parallel_communication_routs_v(E)
 	    target = E->parallel.loc2proc_map[temp][lx][ly][lz];
 	  }
 	  else if ((cap%3==0) && (lx==0))
-	    target = E->parallel.PROCESSOR[lev][CPPR].pass[1] - nprocz;
+	    target = E->parallel.PROCESSOR[lev].pass[1] - nprocz;
 	  else if ((cap%3==0) && (ly==0))
-	    target = E->parallel.PROCESSOR[lev][CPPR].pass[3] - nprocxz;
+	    target = E->parallel.PROCESSOR[lev].pass[3] - nprocxz;
 	  else
-	    target = E->parallel.PROCESSOR[lev][CPPR].pass[1] - nprocxz;
+	    target = E->parallel.PROCESSOR[lev].pass[1] - nprocxz;
 
-	  E->parallel.PROCESSOR[lev][CPPR].pass[npass] = target;
+	  E->parallel.PROCESSOR[lev].pass[npass] = target;
 	  line_eqn_node_to_pass(E,lev,npass,noz,1,1);
 	}
 
@@ -614,13 +614,13 @@ void full_parallel_communication_routs_v(E)
 	    target = E->parallel.loc2proc_map[temp][lx][ly][lz];
 	  }
 	  else if ((cap%3==2) && (lx==nprocx-1))
-	    target = E->parallel.PROCESSOR[lev][CPPR].pass[2] + nprocz;
+	    target = E->parallel.PROCESSOR[lev].pass[2] + nprocz;
 	  else if ((cap%3==2) && (ly==nprocy-1))
-	    target = E->parallel.PROCESSOR[lev][CPPR].pass[4] + nprocxz;
+	    target = E->parallel.PROCESSOR[lev].pass[4] + nprocxz;
 	  else
-	    target = E->parallel.PROCESSOR[lev][CPPR].pass[2] + nprocxz;
+	    target = E->parallel.PROCESSOR[lev].pass[2] + nprocxz;
 
-	  E->parallel.PROCESSOR[lev][CPPR].pass[npass] = target;
+	  E->parallel.PROCESSOR[lev].pass[npass] = target;
 	  line_eqn_node_to_pass(E,lev,npass,noz,(noy*nox-1)*noz+1,1);
 	}
 
@@ -628,13 +628,13 @@ void full_parallel_communication_routs_v(E)
 	if (!( (cap%3==2 || cap%3==0) && (lx==0) && (ly==nprocy-1) )) {
 	  npass ++;
 	  if ((cap%3==2) && (ly==nprocy-1))
-	    target = E->parallel.PROCESSOR[lev][CPPR].pass[4] - nprocxz;
+	    target = E->parallel.PROCESSOR[lev].pass[4] - nprocxz;
 	  else if ((cap%3==0) && (lx==0))
-	    target = E->parallel.PROCESSOR[lev][CPPR].pass[1] + nprocz;
+	    target = E->parallel.PROCESSOR[lev].pass[1] + nprocz;
 	  else
-	    target = E->parallel.PROCESSOR[lev][CPPR].pass[1] + nprocxz;
+	    target = E->parallel.PROCESSOR[lev].pass[1] + nprocxz;
 
-	  E->parallel.PROCESSOR[lev][CPPR].pass[npass] = target;
+	  E->parallel.PROCESSOR[lev].pass[npass] = target;
 	  line_eqn_node_to_pass(E,lev,npass,noz,(noy-1)*nox*noz+1,1);
 	}
 
@@ -642,13 +642,13 @@ void full_parallel_communication_routs_v(E)
 	if (!( (cap%3==2 || cap%3==0) && (lx==nprocx-1) && (ly==0) )) {
 	  npass ++;
 	  if ((cap%3==2) && (lx==nprocx-1))
-	    target = E->parallel.PROCESSOR[lev][CPPR].pass[2] - nprocz;
+	    target = E->parallel.PROCESSOR[lev].pass[2] - nprocz;
 	  else if ((cap%3==0) && (ly==0))
-	    target = E->parallel.PROCESSOR[lev][CPPR].pass[3] + nprocxz;
+	    target = E->parallel.PROCESSOR[lev].pass[3] + nprocxz;
 	  else
-	    target = E->parallel.PROCESSOR[lev][CPPR].pass[2] - nprocxz;
+	    target = E->parallel.PROCESSOR[lev].pass[2] - nprocxz;
 
-	  E->parallel.PROCESSOR[lev][CPPR].pass[npass] = target;
+	  E->parallel.PROCESSOR[lev].pass[npass] = target;
 	  line_eqn_node_to_pass(E,lev,npass,noz,(nox-1)*noz+1,1);
 	}
 
@@ -705,7 +705,7 @@ void full_parallel_communication_routs_v(E)
       fprintf(E->fp_out,"output_communication route surface for lev=%d \n",lev);
 	fprintf(E->fp_out,"  me= %d cap=%d pass  %d \n",E->parallel.me,E->sphere.capid[CPPR],E->parallel.TNUM_PASS[lev]);
 	for (k=1;k<=E->parallel.TNUM_PASS[lev];k++)   {
-	  fprintf(E->fp_out,"proc %d and pass  %d to proc %d with %d eqn and %d node\n",E->parallel.me,k,E->parallel.PROCESSOR[lev][CPPR].pass[k],E->parallel.NUM_NEQ[lev].pass[k],E->parallel.NUM_NODE[lev].pass[k]);
+	  fprintf(E->fp_out,"proc %d and pass  %d to proc %d with %d eqn and %d node\n",E->parallel.me,k,E->parallel.PROCESSOR[lev].pass[k],E->parallel.NUM_NEQ[lev].pass[k],E->parallel.NUM_NODE[lev].pass[k]);
 	  fprintf(E->fp_out,"Eqn:\n");  
 	  for (ii=1;ii<=E->parallel.NUM_NEQ[lev].pass[k];ii++)  
 	    fprintf(E->fp_out,"%d %d\n",ii,E->parallel.EXCHANGE_ID[lev][CPPR][ii].pass[k]);  
@@ -790,7 +790,7 @@ void full_parallel_communication_routs_s(E)
       fprintf(E->fp_out,"output_communication route surface for lev=%d \n",lev);
 	fprintf(E->fp_out,"  me= %d cap=%d pass  %d \n",E->parallel.me,E->sphere.capid[CPPR],E->parallel.TNUM_PASS[lev]);
 	for (k=1;k<=E->parallel.TNUM_PASS[lev];k++) {
-	  fprintf(E->fp_out,"proc %d and pass  %d to proc %d with %d node\n",E->parallel.me,k,E->parallel.PROCESSOR[lev][CPPR].pass[k],E->parallel.NUM_sNODE[lev][CPPR].pass[k]);
+	  fprintf(E->fp_out,"proc %d and pass  %d to proc %d with %d node\n",E->parallel.me,k,E->parallel.PROCESSOR[lev].pass[k],E->parallel.NUM_sNODE[lev][CPPR].pass[k]);
 	  fprintf(E->fp_out,"Node:\n");
 	  for (ii=1;ii<=E->parallel.NUM_sNODE[lev][CPPR].pass[k];ii++)
 	    fprintf(E->fp_out,"%d %d\n",ii,E->parallel.EXCHANGE_sNODE[lev][CPPR][ii].pass[k]);
@@ -886,22 +886,22 @@ void full_exchange_id_d(E, U, lev)
         S[k][j-1] = U[ E->parallel.EXCHANGE_ID[lev][CPPR][j].pass[k] ];
 	}
 
-      if (E->parallel.PROCESSOR[lev][CPPR].pass[k] != E->parallel.me &&
-	  E->parallel.PROCESSOR[lev][CPPR].pass[k] != -1) {
+      if (E->parallel.PROCESSOR[lev].pass[k] != E->parallel.me &&
+	  E->parallel.PROCESSOR[lev].pass[k] != -1) {
 	  idb ++;
           MPI_Isend(S[k], E->parallel.NUM_NEQ[lev].pass[k], MPI_DOUBLE,
-		    E->parallel.PROCESSOR[lev][CPPR].pass[k], 1,
+		    E->parallel.PROCESSOR[lev].pass[k], 1,
 		    E->parallel.world, &request[idb-1]);
       }
     }           /* for k */
 
     for (k=1;k<=E->parallel.TNUM_PASS[lev];k++)   {
 
-      if (E->parallel.PROCESSOR[lev][CPPR].pass[k] != E->parallel.me &&
-	  E->parallel.PROCESSOR[lev][CPPR].pass[k] != -1) {
+      if (E->parallel.PROCESSOR[lev].pass[k] != E->parallel.me &&
+	  E->parallel.PROCESSOR[lev].pass[k] != -1) {
          idb++;
 	 MPI_Irecv(R[k],E->parallel.NUM_NEQ[lev].pass[k], MPI_DOUBLE,
-		   E->parallel.PROCESSOR[lev][CPPR].pass[k], 1,
+		   E->parallel.PROCESSOR[lev].pass[k], 1,
 		   E->parallel.world, &request[idb-1]);
       }
       else {
@@ -914,8 +914,8 @@ void full_exchange_id_d(E, U, lev)
 
     for (k=1;k<=E->parallel.TNUM_PASS[lev];k++)   {
 
-      if (E->parallel.PROCESSOR[lev][CPPR].pass[k] != E->parallel.me &&
-	  E->parallel.PROCESSOR[lev][CPPR].pass[k] != -1) {
+      if (E->parallel.PROCESSOR[lev].pass[k] != E->parallel.me &&
+	  E->parallel.PROCESSOR[lev].pass[k] != -1) {
 	for (j=1;j<=E->parallel.NUM_NEQ[lev].pass[k];j++)
 	  U[ E->parallel.EXCHANGE_ID[lev][CPPR][j].pass[k] ] += R[k][j-1];
       }
@@ -991,11 +991,11 @@ static void exchange_node_d(E, U, lev)
       for (j=1;j<=E->parallel.NUM_NODE[lev].pass[k];j++)
         S[kk][j-1] = U[ E->parallel.EXCHANGE_NODE[lev][CPPR][j].pass[k] ];
 
-      if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=E->parallel.me) {
-	if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=-1) {
+      if (E->parallel.PROCESSOR[lev].pass[k]!=E->parallel.me) {
+	if (E->parallel.PROCESSOR[lev].pass[k]!=-1) {
          idb ++;
         MPI_Isend(S[kk],E->parallel.NUM_NODE[lev].pass[k],MPI_DOUBLE,
-             E->parallel.PROCESSOR[lev][CPPR].pass[k],1,E->parallel.world,&request[idb-1]);
+             E->parallel.PROCESSOR[lev].pass[k],1,E->parallel.world,&request[idb-1]);
 	}
          }
       }           /* for k */
@@ -1003,11 +1003,11 @@ static void exchange_node_d(E, U, lev)
     for (k=1;k<=E->parallel.TNUM_PASS[lev];k++)   {
       kk=k;
 
-      if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=E->parallel.me)  {
-	if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=-1) {
+      if (E->parallel.PROCESSOR[lev].pass[k]!=E->parallel.me)  {
+	if (E->parallel.PROCESSOR[lev].pass[k]!=-1) {
          idb++;
          MPI_Irecv(R[kk],E->parallel.NUM_NODE[lev].pass[k],MPI_DOUBLE,
-         E->parallel.PROCESSOR[lev][CPPR].pass[k],1,E->parallel.world,&request[idb-1]);
+         E->parallel.PROCESSOR[lev].pass[k],1,E->parallel.world,&request[idb-1]);
          }
       }
 
@@ -1023,8 +1023,8 @@ static void exchange_node_d(E, U, lev)
     for (k=1;k<=E->parallel.TNUM_PASS[lev];k++)   {
       kk=k;
 
-      if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=E->parallel.me)
-	if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=-1) {
+      if (E->parallel.PROCESSOR[lev].pass[k]!=E->parallel.me)
+	if (E->parallel.PROCESSOR[lev].pass[k]!=-1) {
         for (j=1;j<=E->parallel.NUM_NODE[lev].pass[k];j++)
            U[ E->parallel.EXCHANGE_NODE[lev][CPPR][j].pass[k] ] += R[kk][j-1];
       }
@@ -1102,11 +1102,11 @@ static void exchange_node_f(E, U, lev)
       for (j=1;j<=E->parallel.NUM_NODE[lev].pass[k];j++)
         S[kk][j-1] = U[ E->parallel.EXCHANGE_NODE[lev][CPPR][j].pass[k] ];
 
-      if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=E->parallel.me) {
-	if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=-1) {
+      if (E->parallel.PROCESSOR[lev].pass[k]!=E->parallel.me) {
+	if (E->parallel.PROCESSOR[lev].pass[k]!=-1) {
          idb ++;
         MPI_Isend(S[kk],E->parallel.NUM_NODE[lev].pass[k],MPI_FLOAT,
-             E->parallel.PROCESSOR[lev][CPPR].pass[k],1,E->parallel.world,&request[idb-1]);
+             E->parallel.PROCESSOR[lev].pass[k],1,E->parallel.world,&request[idb-1]);
 	}
          }
       }           /* for k */
@@ -1114,11 +1114,11 @@ static void exchange_node_f(E, U, lev)
     for (k=1;k<=E->parallel.TNUM_PASS[lev];k++)   {
       kk=k;
 
-      if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=E->parallel.me)  {
-	if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=-1) {
+      if (E->parallel.PROCESSOR[lev].pass[k]!=E->parallel.me)  {
+	if (E->parallel.PROCESSOR[lev].pass[k]!=-1) {
          idb++;
          MPI_Irecv(R[kk],E->parallel.NUM_NODE[lev].pass[k],MPI_FLOAT,
-         E->parallel.PROCESSOR[lev][CPPR].pass[k],1,E->parallel.world,&request[idb-1]);
+         E->parallel.PROCESSOR[lev].pass[k],1,E->parallel.world,&request[idb-1]);
          }
       }
 
@@ -1134,8 +1134,8 @@ static void exchange_node_f(E, U, lev)
     for (k=1;k<=E->parallel.TNUM_PASS[lev];k++)   {
       kk=k;
 
-      if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=E->parallel.me)
-	if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=-1) {
+      if (E->parallel.PROCESSOR[lev].pass[k]!=E->parallel.me)
+	if (E->parallel.PROCESSOR[lev].pass[k]!=-1) {
         for (j=1;j<=E->parallel.NUM_NODE[lev].pass[k];j++)
            U[ E->parallel.EXCHANGE_NODE[lev][CPPR][j].pass[k] ] += R[kk][j-1];
       }
@@ -1202,11 +1202,11 @@ void full_exchange_snode_f(struct All_variables *E, float *U1, float *U2, int le
                    = U2[ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ];
         }
 
-      if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=E->parallel.me) {
-	if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=-1) {
+      if (E->parallel.PROCESSOR[lev].pass[k]!=E->parallel.me) {
+	if (E->parallel.PROCESSOR[lev].pass[k]!=-1) {
          idb ++;
          MPI_Isend(S[kk],2*E->parallel.NUM_sNODE[lev][CPPR].pass[k],MPI_FLOAT,
-             E->parallel.PROCESSOR[lev][CPPR].pass[k],1,E->parallel.world,&request[idb-1]);
+             E->parallel.PROCESSOR[lev].pass[k],1,E->parallel.world,&request[idb-1]);
          }
       }
       }           /* for k */
@@ -1215,12 +1215,12 @@ void full_exchange_snode_f(struct All_variables *E, float *U1, float *U2, int le
     for (k=1;k<=E->parallel.TNUM_PASS[lev];k++)   {
       kk=k;
 
-      if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=E->parallel.me)  {
-	if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=-1) {
+      if (E->parallel.PROCESSOR[lev].pass[k]!=E->parallel.me)  {
+	if (E->parallel.PROCESSOR[lev].pass[k]!=-1) {
 
          idb ++;
          MPI_Irecv(R[kk],2*E->parallel.NUM_sNODE[lev][CPPR].pass[k],MPI_FLOAT,
-           E->parallel.PROCESSOR[lev][CPPR].pass[k],1,E->parallel.world,&request[idb-1]);
+           E->parallel.PROCESSOR[lev].pass[k],1,E->parallel.world,&request[idb-1]);
          }
       }
 
@@ -1240,8 +1240,8 @@ void full_exchange_snode_f(struct All_variables *E, float *U1, float *U2, int le
       kk=k;
 
       /* unpack */
-      if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=E->parallel.me)
-	if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=-1) {
+      if (E->parallel.PROCESSOR[lev].pass[k]!=E->parallel.me)
+	if (E->parallel.PROCESSOR[lev].pass[k]!=-1) {
         for (j=1;j<=E->parallel.NUM_sNODE[lev][CPPR].pass[k];j++)    {
            U1[ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] += R[kk][j-1];
            U2[ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] +=
diff --git a/lib/Full_tracer_advection.c b/lib/Full_tracer_advection.c
index f5a41d4..cc9f53c 100644
--- a/lib/Full_tracer_advection.c
+++ b/lib/Full_tracer_advection.c
@@ -346,7 +346,7 @@ void full_lost_souls(struct All_variables *E)
     /** debug **
     ithiscap=E->sphere.capid[CPPR];
     for (kk=1;kk<=num_ngb;kk++) {
-        ithatcap=E->parallel.PROCESSOR[lev][CPPR].pass[kk];
+        ithatcap=E->parallel.PROCESSOR[lev].pass[kk];
         fprintf(E->trace.fpt,"cap: %d me %d TNUM: %d rank: %d\n",
                 ithiscap,E->parallel.me,kk,ithatcap);
 
@@ -374,7 +374,7 @@ void full_lost_souls(struct All_variables *E)
     }
 
     for (kk=1;kk<=num_ngb;kk++) {
-        idestination_proc=E->parallel.PROCESSOR[lev][CPPR].pass[kk];
+        idestination_proc=E->parallel.PROCESSOR[lev].pass[kk];
 
         MPI_Isend(&isend[CPPR][kk],1,MPI_INT,idestination_proc,
                   11,E->parallel.world,&request[idb++]);
@@ -394,7 +394,7 @@ void full_lost_souls(struct All_variables *E)
         if(kk==0)
 	  isource_proc=E->parallel.me;
         else
-	  isource_proc=E->parallel.PROCESSOR[lev][CPPR].pass[kk];
+	  isource_proc=E->parallel.PROCESSOR[lev].pass[kk];
 
 	fprintf(E->trace.fpt,"%d send %d to proc %d\n",
 		E->parallel.me,isend[CPPR][kk],isource_proc);
@@ -437,7 +437,7 @@ void full_lost_souls(struct All_variables *E)
     /* neighbor caps */
 
     for (kk=1;kk<=num_ngb;kk++) {
-        idestination_proc=E->parallel.PROCESSOR[lev][CPPR].pass[kk];
+        idestination_proc=E->parallel.PROCESSOR[lev].pass[kk];
 
         isize[CPPR]=isend[CPPR][kk]*E->trace.number_of_tracer_quantities;
 
diff --git a/lib/Regional_parallel_related.c b/lib/Regional_parallel_related.c
index 9f72a32..3c387dd 100644
--- a/lib/Regional_parallel_related.c
+++ b/lib/Regional_parallel_related.c
@@ -476,7 +476,7 @@ void regional_parallel_communication_routs_v(E)
 
           /*E->parallel.PROCESSOR[lev][m].pass[kkk]=me-((i==1)?1:-1)*nproczl; */
 	  dir = ( (i==1)? 1 : -1);
-          E->parallel.PROCESSOR[lev][CPPR].pass[kkk]=E->parallel.loc2proc_map[cap][lx-dir][ly][lz];
+          E->parallel.PROCESSOR[lev].pass[kkk]=E->parallel.loc2proc_map[cap][lx-dir][ly][lz];
 
               E->parallel.NUM_NODE[lev].pass[kkk] = E->parallel.NUM_NNO[lev].bound[ii];
           jj = 0;
@@ -511,7 +511,7 @@ void regional_parallel_communication_routs_v(E)
 
           /*E->parallel.PROCESSOR[lev][m].pass[kkk]=me-((k==1)?1:-1)*nprocxl*nproczl; */
 	  dir = ( (k==1)? 1 : -1);
-          E->parallel.PROCESSOR[lev][CPPR].pass[kkk]=E->parallel.loc2proc_map[cap][lx][ly-dir][lz];
+          E->parallel.PROCESSOR[lev].pass[kkk]=E->parallel.loc2proc_map[cap][lx][ly-dir][lz];
 
           E->parallel.NUM_NODE[lev].pass[kkk] = E->parallel.NUM_NNO[lev].bound[ii];
 
@@ -546,7 +546,7 @@ void regional_parallel_communication_routs_v(E)
 
           /*E->parallel.PROCESSOR[lev][m].pass[kkk]=me-((j==1)?1:-1);*/
 	  dir = ( (j==1)? 1 : -1);
-          E->parallel.PROCESSOR[lev][CPPR].pass[kkk]=E->parallel.loc2proc_map[cap][lx][ly][lz-dir];
+          E->parallel.PROCESSOR[lev].pass[kkk]=E->parallel.loc2proc_map[cap][lx][ly][lz-dir];
 
           E->parallel.NUM_NODE[lev].pass[kkk] = E->parallel.NUM_NNO[lev].bound[ii];
 
@@ -578,7 +578,7 @@ void regional_parallel_communication_routs_v(E)
       fprintf(E->fp_out,"output_communication route surface for lev=%d \n",lev);
     fprintf(E->fp_out,"  me= %d cap=%d pass  %d \n",E->parallel.me,E->sphere.capid[CPPR],E->parallel.TNUM_PASS[lev]);
     for (k=1;k<=E->parallel.TNUM_PASS[lev];k++)   {
-      fprintf(E->fp_out,"proc %d and pass  %d to proc %d with %d eqn and %d node\n",E->parallel.me,k,E->parallel.PROCESSOR[lev][CPPR].pass[k],E->parallel.NUM_NEQ[lev].pass[k],E->parallel.NUM_NODE[lev].pass[k]);
+      fprintf(E->fp_out,"proc %d and pass  %d to proc %d with %d eqn and %d node\n",E->parallel.me,k,E->parallel.PROCESSOR[lev].pass[k],E->parallel.NUM_NEQ[lev].pass[k],E->parallel.NUM_NODE[lev].pass[k]);
 /*    fprintf(E->fp_out,"Eqn:\n");  */
 /*    for (ii=1;ii<=E->parallel.NUM_NEQ[lev][m].pass[k];ii++)  */
 /*      fprintf(E->fp_out,"%d %d\n",ii,E->parallel.EXCHANGE_ID[lev][m][ii].pass[k]);  */
@@ -721,9 +721,9 @@ void regional_exchange_id_d(E, U, lev)
        S[k][j-1] = U[ E->parallel.EXCHANGE_ID[lev][CPPR][j].pass[k] ];
 
      MPI_Sendrecv(S[k],E->parallel.NUM_NEQ[lev].pass[k],MPI_DOUBLE,
-		  E->parallel.PROCESSOR[lev][CPPR].pass[k],1,
+		  E->parallel.PROCESSOR[lev].pass[k],1,
 		  R[k],E->parallel.NUM_NEQ[lev].pass[k],MPI_DOUBLE,
-		  E->parallel.PROCESSOR[lev][CPPR].pass[k],1,
+		  E->parallel.PROCESSOR[lev].pass[k],1,
 		  E->parallel.world,&status);
 
      for (j=1;j<=E->parallel.NUM_NEQ[lev].pass[k];j++)
@@ -764,9 +764,9 @@ static void exchange_node_d(E, U, lev)
        S[k][j-1] = U[ E->parallel.EXCHANGE_NODE[lev][CPPR][j].pass[k] ];
 
      MPI_Sendrecv(S[k],E->parallel.NUM_NODE[lev].pass[k],MPI_DOUBLE,
-		  E->parallel.PROCESSOR[lev][CPPR].pass[k],1,
+		  E->parallel.PROCESSOR[lev].pass[k],1,
 		  R[k],E->parallel.NUM_NODE[lev].pass[k],MPI_DOUBLE,
-		  E->parallel.PROCESSOR[lev][CPPR].pass[k],1,
+		  E->parallel.PROCESSOR[lev].pass[k],1,
 		  E->parallel.world,&status);
 
      for (j=1;j<=E->parallel.NUM_NODE[lev].pass[k];j++)
@@ -807,9 +807,9 @@ static void exchange_node_f(E, U, lev)
      S[k][j-1] = U[ E->parallel.EXCHANGE_NODE[lev][CPPR][j].pass[k] ];
 
    MPI_Sendrecv(S[k],E->parallel.NUM_NODE[lev].pass[k],MPI_FLOAT,
-    E->parallel.PROCESSOR[lev][CPPR].pass[k],1,
+    E->parallel.PROCESSOR[lev].pass[k],1,
     R[k],E->parallel.NUM_NODE[lev].pass[k],MPI_FLOAT,
-    E->parallel.PROCESSOR[lev][CPPR].pass[k],1,
+    E->parallel.PROCESSOR[lev].pass[k],1,
     E->parallel.world,&status);
 
    for (j=1;j<=E->parallel.NUM_NODE[lev].pass[k];j++)
diff --git a/lib/Regional_tracer_advection.c b/lib/Regional_tracer_advection.c
index 715ad1a..c2399ec 100644
--- a/lib/Regional_tracer_advection.c
+++ b/lib/Regional_tracer_advection.c
@@ -563,7 +563,7 @@ void regional_lost_souls(struct All_variables *E)
     ipass = 1;
     for (kk=1; kk<=6; kk++) {
         if (E->parallel.NUM_PASS[lev].bound[kk] == 1) {
-            ngbr_rank[kk] = E->parallel.PROCESSOR[lev][CPPR].pass[ipass];
+            ngbr_rank[kk] = E->parallel.PROCESSOR[lev].pass[ipass];
             ipass++;
         }
         else {
diff --git a/lib/Tracer_setup.c b/lib/Tracer_setup.c
index 20891c0..766c7d9 100644
--- a/lib/Tracer_setup.c
+++ b/lib/Tracer_setup.c
@@ -1291,7 +1291,7 @@ void get_neighboring_caps(struct All_variables *E)
         idb = 0;
         num_ngb = E->parallel.TNUM_PASS[lev];
         for (kk=1; kk<=num_ngb; kk++) {
-            neighbor_proc = E->parallel.PROCESSOR[lev][CPPR].pass[kk];
+            neighbor_proc = E->parallel.PROCESSOR[lev].pass[kk];
 
             MPI_Isend(xx, n, MPI_DOUBLE, neighbor_proc,
                       tag, E->parallel.world, &request[idb]);
diff --git a/lib/global_defs.h b/lib/global_defs.h
index 55326e8..d192905 100644
--- a/lib/global_defs.h
+++ b/lib/global_defs.h
@@ -241,7 +241,7 @@ struct Parallel {
     struct BOUND NUM_PASS[MAX_LEVELS];
     struct PASS NUM_NEQ[MAX_LEVELS];
     struct PASS NUM_NODE[MAX_LEVELS];
-    struct PASS PROCESSOR[MAX_LEVELS][NCS];
+    struct PASS PROCESSOR[MAX_LEVELS];
     struct PASS *EXCHANGE_ID[MAX_LEVELS][NCS];
     struct PASS *EXCHANGE_NODE[MAX_LEVELS][NCS];
 



More information about the CIG-COMMITS mailing list