source: codes/icosagcm/trunk/src/getin.f90 @ 416

Last change on this file since 416 was 211, checked in by dubos, 10 years ago

Let getin print key=value pairs

File size: 1.7 KB
RevLine 
[186]1MODULE getin_mod
2
3PRIVATE
4
5  INTERFACE getin
6    MODULE PROCEDURE getin_c , getin_l, getin_i, getin_r
7  END INTERFACE getin
8 
9PUBLIC getin
10 
11CONTAINS
12
13  SUBROUTINE getin_c(name,value)
14  USE ioipsl, ONLY : getin_=>getin
15  USE transfert_omp_mod
16  USE omp_para
[211]17  USE mpipara
[186]18  IMPLICIT NONE
19    CHARACTER(LEN=*) :: name
20    CHARACTER(LEN=*) :: value
21
22!$OMP MASTER   
23    CALL getin_(name,value)
[211]24    IF(is_mpi_root) PRINT *,'GETIN ',TRIM(name),' = ', TRIM(value)
[186]25!$OMP END MASTER
26    IF (omp_in_parallel()) CALL bcast_omp(value)
27  END SUBROUTINE getin_c
28
29  SUBROUTINE getin_l(name,value)
30  USE ioipsl, ONLY : getin_=>getin
31  USE transfert_omp_mod
32  USE omp_para
[211]33  USE mpipara
[186]34  IMPLICIT NONE
35    CHARACTER(LEN=*) :: name
36    LOGICAL          :: value
37
38!$OMP MASTER   
39    CALL getin_(name,value)
[211]40    IF(is_mpi_root) PRINT *,'GETIN ',TRIM(name),' = ', value
[186]41!$OMP END MASTER
42    IF (omp_in_parallel()) CALL bcast_omp(value)
43  END SUBROUTINE getin_l
44
45  SUBROUTINE getin_i(name,value)
46  USE ioipsl, ONLY : getin_=>getin
47  USE transfert_omp_mod
48  USE omp_para
[211]49  USE mpipara
[186]50  IMPLICIT NONE
51    CHARACTER(LEN=*) :: name
52    INTEGER          :: value
53
54!$OMP MASTER   
55    CALL getin_(name,value)
[211]56    IF(is_mpi_root) PRINT *,'GETIN ',TRIM(name), ' = ', value
[186]57!$OMP END MASTER
58    IF (omp_in_parallel()) CALL bcast_omp(value)
59  END SUBROUTINE getin_i
60 
61 
62  SUBROUTINE getin_r(name,value)
63  USE ioipsl, ONLY : getin_=>getin
64  USE omp_para
[211]65  USE mpipara
[186]66  USE transfert_omp_mod
67  IMPLICIT NONE
68    CHARACTER(LEN=*) :: name
69    REAL             :: value
70
71!$OMP MASTER   
72    CALL getin_(name,value)
[211]73    IF(is_mpi_root) PRINT *,'GETIN ',TRIM(name), ' = ', value
[186]74!$OMP END MASTER
75    IF (omp_in_parallel()) CALL bcast_omp(value)
76  END SUBROUTINE getin_r
77 
78END MODULE getin_mod
Note: See TracBrowser for help on using the repository browser.