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 2715 for trunk/NEMOGCM/NEMO/LIM_SRC_3/dom_ice.F90 – NEMO

Ignore:
Timestamp:
2011-03-30T17:58:35+02:00 (13 years ago)
Author:
rblod
Message:

First attempt to put dynamic allocation on the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/dom_ice.F90

    r2528 r2715  
    44   !! LIM-3 Sea Ice :   Domain  variables 
    55   !!====================================================================== 
    6    !! History :  3.0  ! 2003-08  (M. Vancoppenolle)  LIM-3 
     6   !! History :  3.0  ! 2003-08  (M. Vancoppenolle)  LIM-3 original code 
     7   !!            4.0  ! 2011-02  (G. Madec) dynamical allocation 
    78   !!---------------------------------------------------------------------- 
    8    USE par_ice 
     9   USE par_ice        ! LIM-3 parameter 
     10   USE in_out_manager ! I/O manager 
     11   USE lib_mpp         ! MPP library 
    912 
    1013   IMPLICIT NONE 
    1114   PRIVATE 
     15 
     16   PUBLIC dom_ice_alloc   ! Routine called by nemogcm.F90 
    1217 
    1318   LOGICAL, PUBLIC ::   l_jeq = .TRUE.       !: Equator inside the domain flag 
     
    1520   INTEGER, PUBLIC ::   njeq , njeqm1        !: j-index of the equator if it is inside the domain 
    1621 
    17    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   fs2cor     !: coriolis factor 
    18    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   fcor       !: coriolis coefficient 
    19    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   covrai     !: sine of geographic latitude 
    20    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   area       !: surface of grid cell  
    21    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   tms, tmi   !: temperature mask, mask for stress 
    22    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   tmu, tmv   !: mask at u and v velocity points 
    23    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   tmf        !: mask at f-point 
     22   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   fcor       !: coriolis coefficient 
     23   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   covrai     !: sine of geographic latitude 
     24   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   area       !: surface of grid cell  
     25   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   tms, tmi   !: temperature mask, mask for stress 
     26   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   tmu, tmv   !: mask at u and v velocity points 
     27   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   tmf        !: mask at f-point 
    2428 
    25    REAL(wp), PUBLIC, DIMENSION(jpi,jpj,2,2) ::   wght     !: weight of the 4 neighbours to compute averages 
     29   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::   wght   !: weight of the 4 neighbours to compute averages 
    2630 
    2731   !!---------------------------------------------------------------------- 
    28    !! NEMO/LIM3 3.3 , UCL - NEMO Consortium (2010) 
     32   !! NEMO/LIM3 4.0 , UCL - NEMO Consortium (2011) 
    2933   !! $Id$ 
    30    !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
     34   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     35   !!---------------------------------------------------------------------- 
     36CONTAINS 
     37 
     38   FUNCTION dom_ice_alloc 
     39      !!------------------------------------------------------------------- 
     40      !!            *** Routine dom_ice_alloc *** 
     41      !!------------------------------------------------------------------- 
     42      INTEGER :: dom_ice_alloc 
     43      !!------------------------------------------------------------------- 
     44      ! 
     45      ALLOCATE( fcor(jpi,jpj)                   ,      & 
     46         &      covrai(jpi,jpj) , area(jpi,jpj) ,      & 
     47         &      tms   (jpi,jpj) , tmi (jpi,jpj) ,      & 
     48         &      tmu   (jpi,jpj) , tmv (jpi,jpj) ,      & 
     49         &      tmf   (jpi,jpj) ,                      & 
     50         &      wght(jpi,jpj,2,2)               , STAT = dom_ice_alloc ) 
     51      ! 
     52      IF( dom_ice_alloc /= 0 )   CALL ctl_warn( 'dom_ice_alloc: failed to allocate arrays.' ) 
     53      ! 
     54   END FUNCTION dom_ice_alloc 
     55 
    3156   !!====================================================================== 
    3257END MODULE dom_ice 
Note: See TracChangeset for help on using the changeset viewer.