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 2636 for branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/dom_ice_2.F90 – NEMO

Ignore:
Timestamp:
2011-03-01T20:04:06+01:00 (13 years ago)
Author:
gm
Message:

dynamic mem: #785 ; move ctl_stop & warn in lib_mpp to avoid a circular dependency + ctl_stop improvment

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/LIM_SRC_2/dom_ice_2.F90

    r2590 r2636  
    1515   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    1616   !!---------------------------------------------------------------------- 
    17    USE par_ice_2 
     17   USE par_ice_2   ! LIM parameters 
    1818 
    1919   IMPLICIT NONE 
    2020   PRIVATE 
    2121 
    22    ! Routine accessibility 
    2322   PUBLIC    dom_ice_alloc_2    ! Called from nemogcm.F90 
    2423 
     
    4241   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)         ::   tmi               !: ice mask: =1 if ice thick > 0 
    4342# endif 
     43   !!---------------------------------------------------------------------- 
     44   CONTAINS 
     45 
     46   INTEGER FUNCTION dom_ice_alloc_2() 
     47      !!---------------------------------------------------------------------- 
     48      USE lib_mpp, ONLY:   ctl_warn   ! MPP library 
     49      INTEGER :: ierr(2) 
     50      !!---------------------------------------------------------------------- 
     51      ierr(:) = 0 
     52      ! 
     53      ALLOCATE( fs2cor(jpi,jpj),  fcor(jpi,jpj),                             & 
     54         &      covrai(jpi,jpj),  area(jpi,jpj), tms(jpi,jpj), tmu(jpi,jpj), & 
     55         &      wght(jpi,jpj,2,2),  Stat=ierr(1) ) 
     56         ! 
     57      ALLOCATE(                                                              & 
     58#if defined key_lim2_vp  
     59         &        akappa(jpi,jpj,2,2), bkappa(jpi,jpj,2,2),                  & 
     60         &        alambd(jpi,jpj,2,2,2,2),                                   & 
     61#else 
     62         &        tmv(jpi,jpj), tmf(jpi,jpj), tmi(jpi,jpj),                  & 
     63#endif 
     64         &        Stat=ierr(2) ) 
     65         ! 
     66      dom_ice_alloc_2 = MAXVAL(ierr) 
     67      IF( dom_ice_alloc_2 /= 0 )   CALL ctl_warn('dom_ice_alloc_2: failed to allocate arrays') 
     68      ! 
     69   END FUNCTION dom_ice_alloc_2 
    4470 
    4571#else 
     
    4975#endif 
    5076   !!====================================================================== 
    51 #if defined key_lim2 
    52    CONTAINS 
    53  
    54      FUNCTION dom_ice_alloc_2() 
    55         USE in_out_manager, ONLY: ctl_warn 
    56         IMPLICIT none 
    57         INTEGER :: dom_ice_alloc_2 
    58         INTEGER :: ierr(2) 
    59  
    60         ierr(:) = 0 
    61  
    62         ALLOCATE(fs2cor(jpi,jpj),  fcor(jpi,jpj),                             & 
    63                  covrai(jpi,jpj),  area(jpi,jpj), tms(jpi,jpj), tmu(jpi,jpj), & 
    64                  wght(jpi,jpj,2,2),  Stat=ierr(1) ) 
    65  
    66         ALLOCATE(                                                             & 
    67 #if defined key_lim2_vp  
    68                  akappa(jpi,jpj,2,2), bkappa(jpi,jpj,2,2),                    & 
    69                  alambd(jpi,jpj,2,2,2,2),                                     & 
    70 #else 
    71                  tmv(jpi,jpj), tmf(jpi,jpj), tmi(jpi,jpj),                    & 
    72 #endif 
    73                  Stat=ierr(2)) 
    74  
    75         dom_ice_alloc_2 = MAXVAL(ierr) 
    76  
    77         IF(dom_ice_alloc_2 /= 0)THEN 
    78            CALL ctl_warn('dom_ice_alloc_2: failed to allocate arrays.') 
    79         END IF 
    80  
    81      END FUNCTION dom_ice_alloc_2 
    82 #endif 
    83  
    8477END MODULE dom_ice_2 
Note: See TracChangeset for help on using the changeset viewer.