Changeset 867 for codes/icosagcm/devel/src
- Timestamp:
- 05/16/19 23:45:56 (5 years ago)
- Location:
- codes/icosagcm/devel/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/parallel/domain.f90
r856 r867 614 614 END SUBROUTINE assign_domain_omp 615 615 616 616 SUBROUTINE init_domain_unst(dom) 617 USE grid_param, ONLY : primal_num 618 TYPE(t_domain) :: dom 619 dom%ii_begin=1 620 dom%ii_end=primal_num 621 dom%iim=primal_num 622 dom%jj_begin=1 623 dom%jj_end=1 624 dom%jjm=1 625 ALLOCATE(dom%assign_domain(primal_num,1)) 626 dom%assign_domain(:,:)=1 ! all cells are assigned to MPI rank 0 627 END SUBROUTINE init_domain_unst 628 617 629 SUBROUTINE compute_domain 618 630 USE grid_param, ONLY : grid_type, grid_unst, grid_ico … … 620 632 SELECT CASE(grid_type) 621 633 CASE(grid_unst) 634 ! FIXME temporary, sequential hack 635 ndomain_glo=1 636 ALLOCATE(domain_glo(ndomain_glo)) 637 ALLOCATE(domglo_rank(ndomain_glo)) 638 ALLOCATE(domglo_loc_ind(ndomain_glo)) 639 domglo_rank(:)=0 640 domglo_loc_ind(:)=1 641 622 642 ndomain=1 623 ALLOCATE(assigned_domain(1)) 624 assigned_domain=.TRUE. 643 ALLOCATE(domain(ndomain)) 644 ALLOCATE(domloc_glo_ind(ndomain)) 645 ALLOCATE(assigned_domain(ndomain)) 646 domloc_glo_ind(:)=1 647 assigned_domain(:)=.TRUE. 648 649 CALL init_domain_unst(domain(1)) 650 CALL init_domain_unst(domain_glo(1)) 651 625 652 CASE DEFAULT 626 653 CALL init_domain_param -
codes/icosagcm/devel/src/time/euler_scheme.f90
r533 r867 167 167 168 168 u=f_u(ind) 169 DO l=ll_begin,ll_end 170 !DIR$ SIMD 171 DO ij=ij_begin,ij_end 172 u(ij+u_right,l)=u(ij+u_right,l)*de(ij+u_right) 173 u(ij+u_lup,l)=u(ij+u_lup,l)*de(ij+u_lup) 174 u(ij+u_ldown,l)=u(ij+u_ldown,l)*de(ij+u_ldown) 175 ENDDO 176 ENDDO 169 SELECT CASE(grid_type) 170 CASE(grid_ico) 171 DO l=ll_begin,ll_end 172 !DIR$ SIMD 173 DO ij=ij_begin,ij_end 174 u(ij+u_right,l)=u(ij+u_right,l)*de(ij+u_right) 175 u(ij+u_lup,l)=u(ij+u_lup,l)*de(ij+u_lup) 176 u(ij+u_ldown,l)=u(ij+u_ldown,l)*de(ij+u_ldown) 177 ENDDO 178 ENDDO 179 CASE(grid_unst) 180 PRINT *, 'legacy_to_DEC', llm, edge_num, SHAPE(u), SHAPE(de) ! FIXME 181 DO ij=1, edge_num 182 DO l=1,llm 183 u(l,ij) = u(l,ij)*de(ij) 184 END DO 185 END DO 186 CASE DEFAULT 187 STOP 'Unsupported grid_type encountered in legacy_to_DEC' 188 END SELECT 177 189 ENDDO 178 190 -
codes/icosagcm/devel/src/unstructured/data_unstructured.F90
r837 r867 4 4 USE mpipara, ONLY : is_mpi_master 5 5 USE grid_param, ONLY : llm, nqdyn 6 USE geometry, ONLY : le, le_de, fv, Av, Ai 6 7 #ifdef CPP_USING_OMP 7 8 USE OMP_LIB … … 28 29 INDEX, BIND(C) :: edge_num, primal_num, dual_num, & 29 30 max_primal_deg, max_dual_deg, max_trisk_deg 30 INDEX, ALLOCATABLE:: & ! deg(ij) = nb of vertices = nb of edges of primal/dual cell ij31 INDEX, POINTER :: & ! deg(ij) = nb of vertices = nb of edges of primal/dual cell ij 31 32 primal_deg(:), primal_edge(:,:), primal_vertex(:,:), primal_ne(:,:), & 32 33 dual_deg(:), dual_edge(:,:), dual_vertex(:,:), dual_ne(:,:), & … … 43 44 NUM1(max_nb_stage), BIND(C) :: tauj ! diagonal of fast Butcher tableau 44 45 NUM2(max_nb_stage,max_nb_stage), BIND(C) :: cslj, cflj ! slow and fast modified Butcher tableaus 45 NUM1(:), ALLOCATABLE :: le, le_de, fv, Av, Ai 46 NUM2(:,:), ALLOCATABLE :: centroid, xyz_v, Riv2, wee, ap,bp, mass_bl, mass_dak, mass_dbk 46 NUM2(:,:), POINTER :: centroid, xyz_v, Riv2, wee, ap,bp, mass_bl, mass_dak, mass_dbk 47 47 48 48 INTEGER(C_INT), BIND(C) :: comm_icosa … … 144 144 !---------------------------- CONTEXT INITIALIZATION -------------------------- 145 145 146 #define ALLOC1(v,n1) IF(ALLOCATED(v)) DEALLOCATE(v) ; ALLOCATE(v(n1)) 147 #define ALLOC2(v,n1,n2) IF(ALLOCATED(v)) DEALLOCATE(v) ; ALLOCATE(v(n1,n2)) 146 !#define ALLOC1(v,n1) IF(ALLOCATED(v)) DEALLOCATE(v) ; ALLOCATE(v(n1)) 147 !#define ALLOC2(v,n1,n2) IF(ALLOCATED(v)) DEALLOCATE(v) ; ALLOCATE(v(n1,n2)) 148 #define ALLOC1(v,n1) IF(ASSOCIATED(v)) DEALLOCATE(v) ; ALLOCATE(v(n1)) 149 #define ALLOC2(v,n1,n2) IF(ASSOCIATED(v)) DEALLOCATE(v) ; ALLOCATE(v(n1,n2)) 148 150 149 151 SUBROUTINE init_mesh( &
Note: See TracChangeset
for help on using the changeset viewer.