Changeset 1195 for LMDZ4


Ignore:
Timestamp:
Jun 26, 2009, 11:16:09 AM (15 years ago)
Author:
yann meurdesoif
Message:

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

Location:
LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/gcm.F

    r1143 r1195  
    1717      USE mod_hallo
    1818      USE Bands
    19 
     19      USE getparam
    2020      USE filtreg_mod
    2121
     
    194194
    195195      call init_parallel
     196      call ini_getparam("out.def")
    196197      call Read_Distrib
    197198! Ehouarn : temporarily (?) keep this only for Earth
  • LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/getparam.F90

    r1186 r1195  
    11!
    2 ! $Id$
     2! $Header$
    33!
    44MODULE getparam
    5 #ifdef CPP_IOIPSL
    65   USE IOIPSL
    7 #else
    8 ! if not using IOIPSL, we still need to use (a local version of) getin
    9    USE ioipsl_getincom
    10 #endif
    11 
    126   INTERFACE getpar
    137     MODULE PROCEDURE ini_getparam,fin_getparam,getparamr,getparami,getparaml
     
    1812CONTAINS
    1913  SUBROUTINE ini_getparam(fichier)
     14  USE parallel
    2015    !
    2116    IMPLICIT NONE
    2217    !
    2318    CHARACTER*(*) :: fichier
    24     open(out_eff,file=fichier,status='unknown',form='formatted')
     19    IF (mpi_rank==0) OPEN(out_eff,file=fichier,status='unknown',form='formatted')
     20   
    2521  END SUBROUTINE ini_getparam
    2622
    2723  SUBROUTINE fin_getparam
     24  USE parallel
    2825    !
    2926    IMPLICIT NONE
    3027    !
    31     close(out_eff)
     28      IF (mpi_rank==0) CLOSE(out_eff)
    3229
    3330  END SUBROUTINE fin_getparam
    3431
    3532  SUBROUTINE getparamr(TARGET,def_val,ret_val,comment)
     33  USE parallel
    3634    !
    3735    IMPLICIT NONE
     
    5048    call getin(TARGET,ret_val)
    5149
    52     write(out_eff,*) '######################################'
    53     write(out_eff,*) '#### ',comment,' #####'
    54     write(out_eff,*) TARGET,'=',ret_val
    55 
     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   
    5656  END SUBROUTINE getparamr
    5757
    5858  SUBROUTINE getparami(TARGET,def_val,ret_val,comment)
     59  USE parallel
    5960    !
    6061    IMPLICIT NONE
     
    7374    call getin(TARGET,ret_val)
    7475
    75     write(out_eff,*) '######################################'
    76     write(out_eff,*) '#### ',comment,' #####'
    77     write(out_eff,*) comment
    78     write(out_eff,*) TARGET,'=',ret_val
    79 
     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   
    8083  END SUBROUTINE getparami
    8184
    8285  SUBROUTINE getparaml(TARGET,def_val,ret_val,comment)
     86  USE parallel
    8387    !
    8488    IMPLICIT NONE
     
    97101    call getin(TARGET,ret_val)
    98102
    99     write(out_eff,*) '######################################'
    100     write(out_eff,*) '#### ',comment,' #####'
    101     write(out_eff,*) TARGET,'=',ret_val
    102 
     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       
    103109  END SUBROUTINE getparaml
    104110
  • LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/leapfrog_p.F

    r1190 r1195  
    1919       USE infotrac
    2020       USE guide_p_mod, ONLY : guide_main
     21       USE getparam
    2122
    2223      IMPLICIT NONE
     
    12591260      print *, 'Temps CPU ecoule sur la parallelisation :',DiffCpuTime()
    12601261      CALL print_filtre_timer
     1262      call fin_getparam
    12611263        call finalize_parallel
    12621264c$OMP END MASTER
     
    12841286
    12851287c$OMP MASTER
     1288              call fin_getparam
    12861289              call finalize_parallel
    12871290c$OMP END MASTER
     
    13961399              endif ! of if (planet_type.eq."earth")
    13971400
    1398               CLOSE(99)
     1401!              CLOSE(99)
    13991402c$OMP END MASTER
    14001403            ENDIF ! of IF (itau.EQ.itaufin)
     
    14521455               IF( itau. EQ. itaufinp1 ) then 
    14531456c$OMP MASTER
     1457                 call fin_getparam
    14541458                 call finalize_parallel
    14551459c$OMP END MASTER
     
    15631567      END IF ! of IF(.not.purmats)
    15641568c$OMP MASTER
     1569      call fin_getparam
    15651570      call finalize_parallel
    15661571c$OMP END MASTER
Note: See TracChangeset for help on using the changeset viewer.