MODULE getin_mod PRIVATE INTERFACE getin MODULE PROCEDURE getin_c , getin_l, getin_i, getin_r END INTERFACE getin PUBLIC getin CONTAINS SUBROUTINE getin_c(name,value) USE ioipsl, ONLY : getin_=>getin USE transfert_omp_mod USE omp_para USE mpipara IMPLICIT NONE CHARACTER(LEN=*) :: name CHARACTER(LEN=*) :: value !$OMP MASTER CALL getin_(name,value) IF(is_mpi_root) PRINT *,'GETIN ',TRIM(name),' = ', TRIM(value) !$OMP END MASTER IF (omp_in_parallel()) CALL bcast_omp(value) END SUBROUTINE getin_c SUBROUTINE getin_l(name,value) USE ioipsl, ONLY : getin_=>getin USE transfert_omp_mod USE omp_para USE mpipara IMPLICIT NONE CHARACTER(LEN=*) :: name LOGICAL :: value !$OMP MASTER CALL getin_(name,value) IF(is_mpi_root) PRINT *,'GETIN ',TRIM(name),' = ', value !$OMP END MASTER IF (omp_in_parallel()) CALL bcast_omp(value) END SUBROUTINE getin_l SUBROUTINE getin_i(name,value) USE ioipsl, ONLY : getin_=>getin USE transfert_omp_mod USE omp_para USE mpipara IMPLICIT NONE CHARACTER(LEN=*) :: name INTEGER :: value !$OMP MASTER CALL getin_(name,value) IF(is_mpi_root) PRINT *,'GETIN ',TRIM(name), ' = ', value !$OMP END MASTER IF (omp_in_parallel()) CALL bcast_omp(value) END SUBROUTINE getin_i SUBROUTINE getin_r(name,value) USE ioipsl, ONLY : getin_=>getin USE omp_para USE mpipara USE transfert_omp_mod IMPLICIT NONE CHARACTER(LEN=*) :: name REAL :: value !$OMP MASTER CALL getin_(name,value) IF(is_mpi_root) PRINT *,'GETIN ',TRIM(name), ' = ', value !$OMP END MASTER IF (omp_in_parallel()) CALL bcast_omp(value) END SUBROUTINE getin_r END MODULE getin_mod