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 IMPLICIT NONE CHARACTER(LEN=*) :: name CHARACTER(LEN=*) :: value !$OMP MASTER CALL getin_(name,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 IMPLICIT NONE CHARACTER(LEN=*) :: name LOGICAL :: value !$OMP MASTER CALL getin_(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 IMPLICIT NONE CHARACTER(LEN=*) :: name INTEGER :: value !$OMP MASTER CALL getin_(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 transfert_omp_mod IMPLICIT NONE CHARACTER(LEN=*) :: name REAL :: value !$OMP MASTER CALL getin_(name,value) !$OMP END MASTER IF (omp_in_parallel()) CALL bcast_omp(value) END SUBROUTINE getin_r END MODULE getin_mod