Ignore:
Timestamp:
05/13/13 14:30:31 (11 years ago)
Author:
ymipsl
Message:

Implementation of mixte parallelism MPI/OpenMP into src directory

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/trunk/src/advect.f90

    r148 r151  
    5353  SUBROUTINE compute_gradq3d(qi,one_over_sqrt_leng,gradq3d) 
    5454    USE trace 
     55    USE omp_para 
    5556    IMPLICIT NONE 
    5657    REAL(rstd),INTENT(IN)  :: qi(iim*jjm,llm) 
     
    7273    ! Compute gradient at triangles solving a linear system 
    7374    ! arr = area of triangle joining centroids of hexagons 
    74     Do l = 1,llm  
     75     DO l = ll_begin,ll_end  
    7576       DO j=jj_begin-1,jj_end+1 
    7677          DO i=ii_begin-1,ii_end+1 
     
    9091       
    9192    DO k=1,3 
    92       DO l =1,llm 
     93      DO l =ll_begin,ll_end 
    9394        DO j=jj_begin,jj_end 
    9495           DO i=ii_begin,ii_end 
     
    103104 
    104105    !============================================================================================= LIMITING  
    105     ! GO TO 120  
    106     DO l =1,llm 
     106    DO l =ll_begin,ll_end 
    107107       DO j=jj_begin,jj_end 
    108108          DO i=ii_begin,ii_end 
     
    110110             maggrd =  dot_product(gradq3d(n,l,:),gradq3d(n,l,:)) 
    111111             maggrd = sqrt(maggrd)  
    112 !             leng = max(sum((xyz_v(n+z_up,:) - xyz_i(n,:))**2),sum((xyz_v(n+z_down,:) - xyz_i(n,:))**2), & 
    113 !                  sum((xyz_v(n+z_rup,:) - xyz_i(n,:))**2),sum((xyz_v(n+z_rdown,:) - xyz_i(n,:))**2),  & 
    114 !                  sum((xyz_v(n+z_lup,:) - xyz_i(n,:))**2),sum((xyz_v(n+z_ldown,:) - xyz_i(n,:))**2)) 
    115 !             maxq_c = qi(n,l) + maggrd*sqrt(leng(n)) 
    116 !             minq_c = qi(n,l) - maggrd*sqrt(leng(n)) 
    117112             maxq_c = qi(n,l) + maggrd*one_over_sqrt_leng(n) 
    118113             minq_c = qi(n,l) - maggrd*one_over_sqrt_leng(n) 
     
    137132  SUBROUTINE compute_backward_traj(normal,tangent,ue,tau, cc) 
    138133    USE trace 
     134    USE omp_para 
    139135    IMPLICIT NONE 
    140136    REAL(rstd),INTENT(IN)    :: normal(3*iim*jjm,3) 
     
    152148     
    153149    ! reconstruct tangential wind then 3D wind at edge then cc = edge midpoint - u*tau 
    154     DO l = 1,llm 
     150    DO l = ll_begin,ll_end 
    155151       DO j=jj_begin-1,jj_end+1 
    156152          DO i=ii_begin-1,ii_end+1 
     
    213209  SUBROUTINE compute_advect_horiz(update_mass,hfluxt,cc,gradq3d, mass,qi)  
    214210    USE trace 
     211    USE omp_para 
    215212    IMPLICIT NONE 
    216213    LOGICAL, INTENT(IN)       :: update_mass 
     
    230227    ! q(cc)= q0 + gradq.(cc-xyz_i)  with xi centroid of hexagon 
    231228    ! ne*hfluxt>0 iff outgoing 
    232     DO l = 1,llm 
     229    DO l = ll_begin,ll_end 
    233230       DO j=jj_begin-1,jj_end+1 
    234231          DO i=ii_begin-1,ii_end+1 
     
    265262 
    266263    ! update q and, if update_mass, update mass 
    267     DO l = 1,llm 
     264    DO l = ll_begin,ll_end 
    268265       DO j=jj_begin,jj_end 
    269266          DO i=ii_begin,ii_end 
Note: See TracChangeset for help on using the changeset viewer.