New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 9652 – NEMO

Changeset 9652


Ignore:
Timestamp:
2018-05-28T09:13:39+02:00 (6 years ago)
Author:
smasson
Message:

trunk: dia_wri_alloc allocate nothing when using key_iomput, see ticket:2090

Location:
NEMO/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/DIA/diawri.F90

    r9598 r9652  
    8585CONTAINS 
    8686 
    87    INTEGER FUNCTION dia_wri_alloc() 
    88       !!---------------------------------------------------------------------- 
    89       INTEGER, DIMENSION(2) :: ierr 
    90       !!---------------------------------------------------------------------- 
    91       ierr = 0 
    92       ALLOCATE( ndex_hT(jpi*jpj) , ndex_T(jpi*jpj*jpk) ,     & 
    93          &      ndex_hU(jpi*jpj) , ndex_U(jpi*jpj*jpk) ,     & 
    94          &      ndex_hV(jpi*jpj) , ndex_V(jpi*jpj*jpk) , STAT=ierr(1) ) 
    95          ! 
    96       dia_wri_alloc = MAXVAL(ierr) 
    97       IF( lk_mpp )   CALL mpp_sum( dia_wri_alloc ) 
    98       ! 
    99   END FUNCTION dia_wri_alloc 
    100  
    101    !!---------------------------------------------------------------------- 
    102    !!   Default option                                   NetCDF output file 
    103    !!---------------------------------------------------------------------- 
    10487#if defined key_iomput 
    10588   !!---------------------------------------------------------------------- 
    10689   !!   'key_iomput'                                        use IOM library 
    10790   !!---------------------------------------------------------------------- 
    108  
     91   INTEGER FUNCTION dia_wri_alloc() 
     92      ! 
     93      dia_wri_alloc = 0 
     94      ! 
     95   END FUNCTION dia_wri_alloc 
     96 
     97    
    10998   SUBROUTINE dia_wri( kt ) 
    11099      !!--------------------------------------------------------------------- 
     
    411400   !!---------------------------------------------------------------------- 
    412401 
     402   INTEGER FUNCTION dia_wri_alloc() 
     403      !!---------------------------------------------------------------------- 
     404      INTEGER, DIMENSION(2) :: ierr 
     405      !!---------------------------------------------------------------------- 
     406      ierr = 0 
     407      ALLOCATE( ndex_hT(jpi*jpj) , ndex_T(jpi*jpj*jpk) ,     & 
     408         &      ndex_hU(jpi*jpj) , ndex_U(jpi*jpj*jpk) ,     & 
     409         &      ndex_hV(jpi*jpj) , ndex_V(jpi*jpj*jpk) , STAT=ierr(1) ) 
     410         ! 
     411      dia_wri_alloc = MAXVAL(ierr) 
     412      IF( lk_mpp )   CALL mpp_sum( dia_wri_alloc ) 
     413      ! 
     414   END FUNCTION dia_wri_alloc 
     415 
     416    
    413417   SUBROUTINE dia_wri( kt ) 
    414418      !!--------------------------------------------------------------------- 
  • NEMO/trunk/src/SAS/diawri.F90

    r9598 r9652  
    6666CONTAINS 
    6767 
     68# if defined key_iomput 
     69   !!---------------------------------------------------------------------- 
     70   !!   'key_iomput'                                        use IOM library 
     71   !!---------------------------------------------------------------------- 
    6872   INTEGER FUNCTION dia_wri_alloc() 
    69       !!---------------------------------------------------------------------- 
    70       INTEGER :: ierr 
    71       !!---------------------------------------------------------------------- 
    72       ! 
    73       ALLOCATE( ndex_hT(jpi*jpj), ndex_hU(jpi*jpj), ndex_hV(jpi*jpj), STAT=dia_wri_alloc ) 
    74       IF( lk_mpp )   CALL mpp_sum( dia_wri_alloc ) 
    75       ! 
    76   END FUNCTION dia_wri_alloc 
    77  
    78    !!---------------------------------------------------------------------- 
    79    !!   Default option                                   NetCDF output file 
    80    !!---------------------------------------------------------------------- 
    81 # if defined key_iomput 
    82    !!---------------------------------------------------------------------- 
    83    !!   'key_iomput'                                        use IOM library 
    84    !!---------------------------------------------------------------------- 
    85  
     73      ! 
     74      dia_wri_alloc = 0 
     75      ! 
     76   END FUNCTION dia_wri_alloc 
     77 
     78    
    8679   SUBROUTINE dia_wri( kt ) 
    8780      !!--------------------------------------------------------------------- 
     
    110103   !!   Default option                                  use IOIPSL  library 
    111104   !!---------------------------------------------------------------------- 
    112  
     105   INTEGER FUNCTION dia_wri_alloc() 
     106      !!---------------------------------------------------------------------- 
     107      INTEGER :: ierr 
     108      !!---------------------------------------------------------------------- 
     109      ! 
     110      ALLOCATE( ndex_hT(jpi*jpj), ndex_hU(jpi*jpj), ndex_hV(jpi*jpj), STAT=dia_wri_alloc ) 
     111      IF( lk_mpp )   CALL mpp_sum( dia_wri_alloc ) 
     112      ! 
     113   END FUNCTION dia_wri_alloc 
     114    
     115   
    113116   SUBROUTINE dia_wri( kt ) 
    114117      !!--------------------------------------------------------------------- 
  • NEMO/trunk/tests/CANAL/MY_SRC/diawri.F90

    r9576 r9652  
    8585CONTAINS 
    8686 
    87    INTEGER FUNCTION dia_wri_alloc() 
    88       !!---------------------------------------------------------------------- 
    89       INTEGER, DIMENSION(2) :: ierr 
    90       !!---------------------------------------------------------------------- 
    91       ierr = 0 
    92       ALLOCATE( ndex_hT(jpi*jpj) , ndex_T(jpi*jpj*jpk) ,     & 
    93          &      ndex_hU(jpi*jpj) , ndex_U(jpi*jpj*jpk) ,     & 
    94          &      ndex_hV(jpi*jpj) , ndex_V(jpi*jpj*jpk) , STAT=ierr(1) ) 
    95          ! 
    96       dia_wri_alloc = MAXVAL(ierr) 
    97       IF( lk_mpp )   CALL mpp_sum( dia_wri_alloc ) 
    98       ! 
    99   END FUNCTION dia_wri_alloc 
    100  
    101    !!---------------------------------------------------------------------- 
    102    !!   Default option                                   NetCDF output file 
    103    !!---------------------------------------------------------------------- 
    10487#if defined key_iomput 
    10588   !!---------------------------------------------------------------------- 
    10689   !!   'key_iomput'                                        use IOM library 
    10790   !!---------------------------------------------------------------------- 
     91 
     92   INTEGER FUNCTION dia_wri_alloc() 
     93      ! 
     94      dia_wri_alloc = 0 
     95      ! 
     96   END FUNCTION dia_wri_alloc 
     97 
    10898 
    10999   SUBROUTINE dia_wri( kt ) 
     
    515505   !!   Default option                                  use IOIPSL  library 
    516506   !!---------------------------------------------------------------------- 
    517  
     507    
     508   INTEGER FUNCTION dia_wri_alloc() 
     509      !!---------------------------------------------------------------------- 
     510      INTEGER, DIMENSION(2) :: ierr 
     511      !!---------------------------------------------------------------------- 
     512      ierr = 0 
     513      ALLOCATE( ndex_hT(jpi*jpj) , ndex_T(jpi*jpj*jpk) ,     & 
     514         &      ndex_hU(jpi*jpj) , ndex_U(jpi*jpj*jpk) ,     & 
     515         &      ndex_hV(jpi*jpj) , ndex_V(jpi*jpj*jpk) , STAT=ierr(1) ) 
     516         ! 
     517      dia_wri_alloc = MAXVAL(ierr) 
     518      IF( lk_mpp )   CALL mpp_sum( dia_wri_alloc ) 
     519      ! 
     520   END FUNCTION dia_wri_alloc 
     521   
     522   
    518523   SUBROUTINE dia_wri( kt ) 
    519524      !!--------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.