source: LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/getparam.F90 @ 1200

Last change on this file since 1200 was 1195, checked in by yann meurdesoif, 15 years ago

Correction : getparam n'etait pas initialise, chaque processeur ecrivait dans le meme fichier 99.fort, le code plantait sur mercure en fin de run lors du close(99) dans leapfrog_p.F

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.6 KB
RevLine 
[630]1!
[1195]2! $Header$
[630]3!
4MODULE getparam
5   USE IOIPSL
6   INTERFACE getpar
7     MODULE PROCEDURE ini_getparam,fin_getparam,getparamr,getparami,getparaml
8   END INTERFACE
9
10   INTEGER, PARAMETER :: out_eff=99
11
12CONTAINS
13  SUBROUTINE ini_getparam(fichier)
[1195]14  USE parallel
[630]15    !
16    IMPLICIT NONE
17    !
18    CHARACTER*(*) :: fichier
[1195]19    IF (mpi_rank==0) OPEN(out_eff,file=fichier,status='unknown',form='formatted')
20   
[630]21  END SUBROUTINE ini_getparam
22
23  SUBROUTINE fin_getparam
[1195]24  USE parallel
[630]25    !
26    IMPLICIT NONE
27    !
[1195]28      IF (mpi_rank==0) CLOSE(out_eff)
[630]29
30  END SUBROUTINE fin_getparam
31
32  SUBROUTINE getparamr(TARGET,def_val,ret_val,comment)
[1195]33  USE parallel
[630]34    !
35    IMPLICIT NONE
36    !
37    !   Get a real scalar. We first check if we find it
38    !   in the database and if not we get it from the run.def
39    !
40    !   getinr1d and getinr2d are written on the same pattern
41    !
42    CHARACTER*(*) :: TARGET
43    REAL :: def_val
44    REAL :: ret_val
45    CHARACTER*(*) :: comment
46
47    ret_val=def_val
48    call getin(TARGET,ret_val)
49
[1195]50    IF (mpi_rank==0) THEN
51      write(out_eff,*) '######################################'
52      write(out_eff,*) '#### ',comment,' #####'
53      write(out_eff,*) TARGET,'=',ret_val
54    ENDIF
55   
[630]56  END SUBROUTINE getparamr
57
58  SUBROUTINE getparami(TARGET,def_val,ret_val,comment)
[1195]59  USE parallel
[630]60    !
61    IMPLICIT NONE
62    !
63    !   Get a real scalar. We first check if we find it
64    !   in the database and if not we get it from the run.def
65    !
66    !   getinr1d and getinr2d are written on the same pattern
67    !
68    CHARACTER*(*) :: TARGET
69    INTEGER :: def_val
70    INTEGER :: ret_val
71    CHARACTER*(*) :: comment
72
73    ret_val=def_val
74    call getin(TARGET,ret_val)
75
[1195]76    IF (mpi_rank==0) THEN
77      write(out_eff,*) '######################################'
78      write(out_eff,*) '#### ',comment,' #####'
79      write(out_eff,*) comment
80      write(out_eff,*) TARGET,'=',ret_val
81    ENDIF
82   
[630]83  END SUBROUTINE getparami
84
85  SUBROUTINE getparaml(TARGET,def_val,ret_val,comment)
[1195]86  USE parallel
[630]87    !
88    IMPLICIT NONE
89    !
90    !   Get a real scalar. We first check if we find it
91    !   in the database and if not we get it from the run.def
92    !
93    !   getinr1d and getinr2d are written on the same pattern
94    !
95    CHARACTER*(*) :: TARGET
96    LOGICAL :: def_val
97    LOGICAL :: ret_val
98    CHARACTER*(*) :: comment
99
100    ret_val=def_val
101    call getin(TARGET,ret_val)
102
[1195]103    IF (mpi_rank==0) THEN
104      write(out_eff,*) '######################################'
105      write(out_eff,*) '#### ',comment,' #####'
106      write(out_eff,*) TARGET,'=',ret_val
107    ENDIF
108       
[630]109  END SUBROUTINE getparaml
110
111
112END MODULE getparam
Note: See TracBrowser for help on using the repository browser.