Ignore:
Timestamp:
05/16/19 23:45:56 (5 years ago)
Author:
dubos
Message:

devel : towards Fortran driver for unstructured/LAM meshes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/devel/src/unstructured/data_unstructured.F90

    r837 r867  
    44  USE mpipara, ONLY : is_mpi_master 
    55  USE grid_param, ONLY : llm, nqdyn 
     6  USE geometry, ONLY : le, le_de, fv, Av, Ai 
    67#ifdef CPP_USING_OMP 
    78  USE OMP_LIB 
     
    2829  INDEX, BIND(C) :: edge_num, primal_num, dual_num, & 
    2930       max_primal_deg, max_dual_deg, max_trisk_deg 
    30   INDEX, ALLOCATABLE :: & ! deg(ij) = nb of vertices = nb of edges of primal/dual cell ij 
     31  INDEX, POINTER :: & ! deg(ij) = nb of vertices = nb of edges of primal/dual cell ij 
    3132       primal_deg(:), primal_edge(:,:), primal_vertex(:,:), primal_ne(:,:), &  
    3233       dual_deg(:), dual_edge(:,:), dual_vertex(:,:), dual_ne(:,:), & 
     
    4344  NUM1(max_nb_stage), BIND(C)              :: tauj       ! diagonal of fast Butcher tableau 
    4445  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 
    4747 
    4848  INTEGER(C_INT), BIND(C) :: comm_icosa 
     
    144144  !---------------------------- CONTEXT INITIALIZATION -------------------------- 
    145145 
    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)) 
    148150 
    149151  SUBROUTINE init_mesh( &  
Note: See TracChangeset for help on using the changeset viewer.