Ignore:
Timestamp:
01/21/19 11:34:04 (5 years ago)
Author:
dubos
Message:

devel/unstructured : reduced, configurable log output

Location:
codes/icosagcm/devel/src/unstructured
Files:
3 edited

Legend:

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

    r796 r802  
    1212  INDEX,  BIND(C) :: caldyn_thermo=thermo_theta, caldyn_eta=eta_lag, & 
    1313       caldyn_vert_variant=caldyn_vert_cons, nb_threads=0, nb_stage=0 
    14   LOGICAL(C_BOOL), BIND(C) :: hydrostatic=.TRUE. 
     14  LOGICAL(C_BOOL), BIND(C) :: hydrostatic=.TRUE., is_mpi_master=.TRUE., debug_on=.FALSE. 
    1515  LOGICAL(C_BOOL), BIND(C, NAME='debug_hevi_solver') :: debug_hevi_solver_=.TRUE. 
    1616 
     
    4242  NUM2(:,:), ALLOCATABLE          :: centroid, xyz_v, Riv2, wee, ap,bp, mass_bl, mass_dak, mass_dbk 
    4343 
    44   INTEGER(C_INT), BIND(C) :: comm_icosa, dynamico_mpi_rank=0 
     44  INTEGER(C_INT), BIND(C) :: comm_icosa 
    4545 
    4646  INTEGER, PARAMETER :: id_dev1=1, id_dev2=2, & 
     
    8282    TIME :: total_spent 
    8383    total_spent=SUM(time_spent) 
    84     IF(dynamico_mpi_rank==0) THEN 
     84    IF(is_mpi_master) THEN 
    8585       PRINT *, '========================= Performance metrics =========================' 
    8686       PRINT *, 'Total time spent in instrumented code (seconds) :', total_spent 
     
    139139    INDEX, DIMENSION(edge_num) :: left_, right_, down_, up_ 
    140140 
    141     PRINT *, 'init_mesh ...' 
    142     PRINT *, 'Primal mesh : ', primal_num, max_primal_deg 
    143     PRINT *, 'Dual mesh   : ', dual_num, max_dual_deg 
    144     PRINT *, 'Edge mesh   : ', edge_num, max_trisk_deg 
    145     PRINT *, 'Vertical levels :', llm 
     141    IF(is_mpi_master) THEN 
     142       PRINT *, 'init_mesh ...' 
     143       PRINT *, 'Primal mesh : ', primal_num, max_primal_deg 
     144       PRINT *, 'Dual mesh   : ', dual_num, max_dual_deg 
     145       PRINT *, '       Edge mesh   : ', edge_num, max_trisk_deg 
     146       PRINT *, 'Vertical levels :', llm 
     147    END IF 
    146148    ALLOC1(primal_deg, primal_num) 
    147149    ALLOC2(primal_edge, max_primal_deg,primal_num) 
     
    153155    ALLOC1(trisk_deg, edge_num) 
    154156    ALLOC2(trisk, max_trisk_deg, edge_num) 
    155     PRINT *, SHAPE(trisk), edge_num 
    156157    ALLOC1(left, edge_num) 
    157158    ALLOC1(right, edge_num) 
     
    177178    trisk_deg(:)=trisk_deg_(:) 
    178179    trisk(:,:)=trisk_(:,:) 
    179     PRINT *, MAXVAL(primal_edge), edge_num 
    180     PRINT *, MAXVAL(dual_edge), edge_num 
    181     PRINT *, MAXVAL(dual_vertex), dual_num 
    182     PRINT *, MAXVAL(trisk), edge_num 
    183     PRINT *, MAX(MAXVAL(left),MAXVAL(right)), primal_num 
    184     PRINT *, MAX(MAXVAL(up),MAXVAL(down)), dual_num 
    185     PRINT *, SHAPE(trisk), edge_num 
    186     PRINT *,' ... Done.' 
     180    IF(is_mpi_master) THEN 
     181       PRINT *, MAXVAL(primal_edge), edge_num 
     182       PRINT *, MAXVAL(dual_edge), edge_num 
     183       PRINT *, MAXVAL(dual_vertex), dual_num 
     184       PRINT *, MAXVAL(trisk), edge_num 
     185       PRINT *, MAX(MAXVAL(left),MAXVAL(right)), primal_num 
     186       PRINT *, MAX(MAXVAL(up),MAXVAL(down)), dual_num 
     187       PRINT *, SHAPE(trisk), edge_num 
     188       PRINT *,' ... Done.' 
     189    END IF 
    187190  END SUBROUTINE init_mesh 
    188191 
     
    194197    DBL :: Ai_(primal_num), Av_(dual_num), fv_(dual_num), le_de_(edge_num), & 
    195198         Riv2_(max_dual_deg,dual_num), wee_(max_trisk_deg,edge_num) 
    196     PRINT *, 'init_metric ...' 
     199    IF(is_mpi_master) PRINT *, 'init_metric ...' 
    197200    ALLOC1(Ai,primal_num) 
    198201    ALLOC1(Av,dual_num) 
     
    207210    Riv2(:,:)=Riv2_(:,:) 
    208211    wee(:,:) = wee_(:,:) 
    209     PRINT *, 'Max Ai : ',    MAXVAL(ABS(Ai)) 
    210     PRINT *, 'Max Av : ',    MAXVAL(ABS(Av)) 
    211     PRINT *, 'Max fv : ',    MAXVAL(ABS(fv)) 
    212     PRINT *, 'Max le_de : ', MAXVAL(ABS(le_de)) 
    213     PRINT *, 'Max Riv2 : ',  MAXVAL(ABS(Riv2)) 
    214     PRINT *, 'Max wee : ',   MAXVAL(ABS(wee)) 
    215     PRINT *, MINVAL(right),  MAXVAL(right) 
    216     PRINT *, MINVAL(right),  MAXVAL(left) 
    217     PRINT *,' ... Done.' 
    218     IF(nb_threads==0) nb_threads=OMP_GET_MAX_THREADS() 
    219     PRINT *,'OpenMP : max_threads, num_procs, nb_threads', OMP_GET_MAX_THREADS(), OMP_GET_NUM_PROCS(), nb_threads 
     212    IF(is_mpi_master) THEN 
     213       PRINT *, 'Max Ai : ',    MAXVAL(ABS(Ai)) 
     214       PRINT *, 'Max Av : ',    MAXVAL(ABS(Av)) 
     215       PRINT *, 'Max fv : ',    MAXVAL(ABS(fv)) 
     216       PRINT *, 'Max le_de : ', MAXVAL(ABS(le_de)) 
     217       PRINT *, 'Max Riv2 : ',  MAXVAL(ABS(Riv2)) 
     218       PRINT *, 'Max wee : ',   MAXVAL(ABS(wee)) 
     219       PRINT *, MINVAL(right),  MAXVAL(right) 
     220       PRINT *, MINVAL(right),  MAXVAL(left) 
     221       PRINT *,' ... Done.' 
     222       IF(nb_threads==0) nb_threads=OMP_GET_MAX_THREADS() 
     223       PRINT *,'OpenMP : max_threads, num_procs, nb_threads', OMP_GET_MAX_THREADS(), OMP_GET_NUM_PROCS(), nb_threads 
     224    END IF 
    220225  END SUBROUTINE init_metric 
    221226  ! 
     
    225230  ! 
    226231  SUBROUTINE init_params() BINDC(init_params) 
    227     PRINT *, 'Setting physical parameters ...' 
    228     IF(hydrostatic) THEN 
    229        PRINT *, 'Hydrostatic dynamics (HPE)' 
    230     ELSE 
    231        PRINT *, 'Non-hydrostatic dynamics (Euler)' 
    232     END IF 
    233232    kappa = Rd/cpp 
    234     PRINT *, 'g = ',g 
    235     PRINT *, 'preff = ',preff 
    236     PRINT *, 'Treff = ',Treff 
    237     PRINT *, 'Rd = ',Rd 
    238     PRINT *, 'cpp = ',cpp 
    239     PRINT *, 'kappa = ',kappa 
    240     PRINT *, '... Done' 
     233    IF(is_mpi_master) THEN 
     234       PRINT *, 'Setting physical parameters ...' 
     235       IF(hydrostatic) THEN 
     236          PRINT *, 'Hydrostatic dynamics (HPE)' 
     237       ELSE 
     238          PRINT *, 'Non-hydrostatic dynamics (Euler)' 
     239       END IF 
     240       PRINT *, 'g = ',g 
     241       PRINT *, 'preff = ',preff 
     242       PRINT *, 'Treff = ',Treff 
     243       PRINT *, 'Rd = ',Rd 
     244       PRINT *, 'cpp = ',cpp 
     245       PRINT *, 'kappa = ',kappa 
     246       PRINT *, '... Done' 
     247    END IF 
    241248    CALL init_trace 
    242249  END SUBROUTINE init_params 
     
    245252    DBL :: bl(llm+1, primal_num), & 
    246253         dak(llm, primal_num), dbk(llm, primal_num) 
    247     PRINT *, 'Setting hybrid coefficients ...' 
     254    IF(is_mpi_master) PRINT *, 'Setting hybrid coefficients ...' 
    248255    ALLOC2(mass_bl, llm+1, primal_num) 
    249256    ALLOC2(mass_dak, llm, primal_num) 
     
    252259    mass_dak(:,:) = dak(:,:) 
    253260    mass_dbk(:,:) = dbk(:,:) 
    254     PRINT *, '... Done, llm = ', llm 
     261    IF(is_mpi_master) PRINT *, '... Done, llm = ', llm 
    255262  END SUBROUTINE Init_hybrid 
    256263 
  • codes/icosagcm/devel/src/unstructured/timestep_unstructured.F90

    r792 r802  
    305305    ! This is the case when calling from Python after importing mpi4py 
    306306    INTEGER :: ierr, mpi_threading_mode 
    307      
    308307    PRINT *, 'Initialize XIOS and obtain our communicator' 
    309308    CALL xios_initialize("icosagcm",return_comm=comm_icosa) 
    310      
    311     PRINT *, 'Initialize our XIOS context' 
    312      
    313309    CALL xios_context_initialize("icosagcm",comm_icosa) 
    314310    CALL xios_get_handle("icosagcm",ctx_hdl) 
  • codes/icosagcm/devel/src/unstructured/transfer_unstructured.F90

    r700 r802  
    3737    INTEGER(C_INT) :: send_rank(send_num), send_len(send_num), send_list(send_size), & 
    3838         recv_rank(recv_num), recv_len(recv_num), recv_list(recv_size) 
    39     PRINT *, 'init_transfer', index, & 
     39    IF(debug_on) PRINT *, 'init_transfer', index, & 
    4040       send_num, send_size, '/', send_rank, '/', send_len, '/', & 
    4141       recv_num, recv_size, '/', recv_rank, '/', recv_len, '/'  
Note: See TracChangeset for help on using the changeset viewer.