source: lmdz_wrf/WRFV3/frame/module_sm.F @ 1

Last change on this file since 1 was 1, checked in by lfita, 10 years ago
  • -- --- Opening of the WRF+LMDZ coupling repository --- -- -

WRF: version v3.3
LMDZ: version v1818

More details in:

File size: 1.7 KB
Line 
1!WRF:PACKAGE:OPENMP
2!
3
4MODULE module_sm
5
6#ifdef _OPENMP
7
8   !  There are a few functions in the OpenMP library,
9   !  and to use them easily, we need to define the
10   !  return types of these functions.
11
12   INTEGER , EXTERNAL :: omp_get_num_threads , &
13                         omp_get_max_threads , &
14                         omp_get_thread_num  , &
15                         omp_get_num_procs
16
17   LOGICAL , EXTERNAL :: omp_in_parallel       
18#endif
19
20CONTAINS
21
22   SUBROUTINE omp_info
23
24#ifdef _OPENMP
25
26      IMPLICIT NONE
27
28      PRINT '(/A,/,A,/,A,I2/)','omp_get_num_threads:', &
29                              'Number of threads currently in the team executing', &
30                              'the parallel region = ',omp_get_num_threads()
31
32      PRINT '(A,/,A,/,A,I2/)', 'omp_get_max_threads:', &
33                              'Maximum value that can be returned by the',&
34                              'omp_get_num_threads function = ',omp_get_max_threads()
35
36      PRINT '(A,/,A,/,A,I2/)', 'omp_get_thread_num:', &
37                              'Returns the thread number, within the team, between', &
38                              '0 and omp_get_num_threads-1, inclusive = ',omp_get_thread_num()
39
40      PRINT '(A,/,A,/,A,I2/)', 'omp_get_num_procs:', &
41                              'Returns the number of processors that are available', &
42                              'to the program = ',omp_get_num_procs()
43
44      PRINT '(A,/,A,/,A,L7/)','omp_in_parallel:', &
45                              'Returns .TRUE. if called with the dynamic extent of a region', &
46                              'executing in parallel, and otherwise .FALSE. = ',omp_in_parallel()
47
48#endif
49
50   END SUBROUTINE omp_info
51
52   SUBROUTINE init_module_sm
53   END SUBROUTINE init_module_sm
54
55END MODULE module_sm
Note: See TracBrowser for help on using the repository browser.