Changeset 5865 for CONFIG_DEVT


Ignore:
Timestamp:
06/24/21 14:33:06 (3 years ago)
Author:
ymipsl
Message:

Adapt ORCHIDEE sources for ensemble management.
YM

Location:
CONFIG_DEVT/IPSLCM6.5_work_ENSEMBLES/modeles/ORCHIDEE
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • CONFIG_DEVT/IPSLCM6.5_work_ENSEMBLES/modeles/ORCHIDEE/src_parallel/mod_orchidee_para.F90

    r5501 r5865  
    128128  !! \n 
    129129  !_ ==============================================================================================================================  
    130   SUBROUTINE Init_orchidee_data_para(nbp,kindex,arg_offset,arg_omp_size,arg_omp_rank,COMM) 
    131  
     130  SUBROUTINE Init_orchidee_data_para(nbp,kindex,arg_offset,arg_omp_size,arg_omp_rank, COMM_ENSEMBLE) 
     131    USE mod_orchidee_ensemble 
    132132    IMPLICIT NONE 
    133133    INTEGER,INTENT(IN)     :: nbp 
     
    136136    INTEGER,INTENT(IN)     :: arg_omp_size 
    137137    INTEGER,INTENT(IN)     :: arg_omp_rank 
    138     INTEGER,INTENT(IN)     :: COMM 
     138    INTEGER,INTENT(IN)     :: COMM_ENSEMBLE 
    139139     
    140140    INTEGER,SAVE              :: arg_nbp_mpi 
     
    144144    INTEGER                   :: mpi_rank 
    145145    INTEGER                   :: ierr 
    146          
     146    INTEGER,SAVE              :: COMM 
     147        
     148     
     149    IF (arg_omp_rank==0) CALL init_orchidee_ensemble(COMM_ENSEMBLE,COMM) 
     150    CALL barrier2_omp() 
     151 
    147152#ifdef CPP_PARA 
    148153    CALL MPI_COMM_SIZE(COMM,mpi_size,ierr) 
  • CONFIG_DEVT/IPSLCM6.5_work_ENSEMBLES/modeles/ORCHIDEE/src_parallel/xios_orchidee.f90

    r5501 r5865  
    130130    USE grid, ONLY : grid_type, unstructured, regular_lonlat, regular_xy, nvertex, & 
    131131                     longitude, latitude, bounds_lon, bounds_lat, ind_cell_glo 
     132    USE mod_orchidee_ensemble, ONLY : ensemble_management, whole_ensemble_size, whole_ensemble_rank, COMM_ORCHIDEE_ENSEMBLE 
    132133    IMPLICIT NONE 
    133134    ! 
     
    271272       !! 2. Context initialization 
    272273       ! 
    273        CALL xios_context_initialize("orchidee",MPI_COMM_ORCH) 
     274       CALL xios_context_initialize("orchidee",COMM_ORCHIDEE_ENSEMBLE) 
    274275       CALL xios_get_handle("orchidee",ctx_hdl_orchidee) 
    275276       CALL xios_set_current_context(ctx_hdl_orchidee) 
     
    352353       !! 4. Axis definition 
    353354       ! 
     355       if (ensemble_management) CALL xios_set_axis_attr("ensemble",n_glo=whole_ensemble_size,begin=whole_ensemble_rank, n=1)  
     356  
    354357       CALL xios_set_axis_attr("nvm",n_glo=nvm ,VALUE=(/(REAL(i,r_std),i=1,nvm)/)) 
    355358       CALL xios_set_axis_attr("nlut",n_glo=nlut ,VALUE=(/(REAL(i,r_std),i=1,nlut)/)) 
  • CONFIG_DEVT/IPSLCM6.5_work_ENSEMBLES/modeles/ORCHIDEE/src_sechiba/intersurf.f90

    r5501 r5865  
    719719!_ ============================================================================================================================== 
    720720 
    721   SUBROUTINE init_intersurf(nbp_l_lon,nbp_l_lat,kjpindex,kindex,orch_offset,orch_omp_size,orch_omp_rank,COMM, grid) 
     721  SUBROUTINE init_intersurf(nbp_l_lon,nbp_l_lat,kjpindex,kindex,orch_offset,orch_omp_size,orch_omp_rank, COMM_ENSEMBLE, grid) 
    722722 
    723723    USE mod_orchidee_para 
     
    730730    INTEGER,INTENT(IN)  :: kindex(:) 
    731731    INTEGER,INTENT(IN)  :: orch_offset 
    732     INTEGER,INTENT(IN)  :: COMM 
    733732    INTEGER,INTENT(IN)  :: orch_omp_size 
    734733    INTEGER,INTENT(IN)  :: orch_omp_rank 
     734    INTEGER,INTENT(IN)  :: COMM_ENSEMBLE 
    735735    INTEGER(i_std), INTENT(in), OPTIONAL :: grid          !! grid type : regular_lonlat or unstructured (dynamico) 
    736736 
    737737    INTEGER,DIMENSION(kjpindex)  :: kindex_offset 
     738    INTEGER :: ensemble_comm_size, ensemble_comm_rank,ierr 
    738739 
    739740    IF (printlev >= 1) WRITE(*,*) 'Start ORCHIDEE' 
    740741 
    741742    IF (orch_omp_rank==0) THEN 
     743      CALL MPI_COMM_SIZE(COMM_ENSEMBLE,ensemble_comm_size,ierr) 
     744      CALL MPI_COMM_RANK(COMM_ENSEMBLE,ensemble_comm_rank,ierr) 
     745      PRINT*,ensemble_comm_size,ensemble_comm_rank 
     746 
    742747      CALL Init_timer 
    743748      CALL start_timer(timer_mpi) 
     
    745750    ENDIF 
    746751    CALL barrier2_omp()     
    747     CALL init_orchidee_data_para(kjpindex,kindex,orch_offset,orch_omp_size,orch_omp_rank,COMM) 
     752    CALL init_orchidee_data_para(kjpindex,kindex,orch_offset,orch_omp_size,orch_omp_rank, COMM_ENSEMBLE) 
    748753    CALL Set_stdout_file('out_orchidee') 
    749754 
Note: See TracChangeset for help on using the changeset viewer.