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/OPA_SRC/LDF/ldfdyn_oce.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/OPA_SRC/LDF/ldfdyn_oce.F90

    r2528 r2715  
    66   !! History :  1.0  ! 2002-11  (G. Madec)  F90: Free form and module 
    77   !!---------------------------------------------------------------------- 
    8    USE par_oce      ! ocean parameters 
     8   USE par_oce        ! ocean parameters 
     9   USE in_out_manager ! I/O manager 
     10   USE lib_mpp         ! MPP library 
    911 
    1012   IMPLICIT NONE 
     
    2022   REAL(wp), PUBLIC ::   rn_ahmb_0       =     0._wp   !: lateral laplacian background eddy viscosity (m2/s) 
    2123   REAL(wp), PUBLIC ::   rn_ahm_0_blp    =     0._wp   !: lateral bilaplacian eddy viscosity (m4/s) 
    22    REAL(wp), PUBLIC ::   ahm0, ahmb0, ahm0_blp         ! OLD namelist names 
     24   REAL(wp), PUBLIC ::   ahm0, ahmb0, ahm0_blp         !: OLD namelist names 
    2325 
     26   !                                                                                  !!! eddy coeff. at U-,V-,W-pts [m2/s] 
    2427#if defined key_dynldf_c3d 
    25    REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   ahm1, ahm2, ahm3, ahm4  ! ** 3D coefficients ** 
     28   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   ahm1, ahm2, ahm3, ahm4   !: ** 3D coefficients ** 
    2629#elif defined key_dynldf_c2d 
    27    REAL(wp), PUBLIC, DIMENSION(jpi,jpj)     ::   ahm1, ahm2, ahm3, ahm4  ! ** 2D coefficients ** 
     30   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   ahm1, ahm2, ahm3, ahm4   !: ** 2D coefficients ** 
    2831#elif defined key_dynldf_c1d 
    29    REAL(wp), PUBLIC, DIMENSION(jpk)         ::   ahm1, ahm2, ahm3, ahm4  ! ** 2D coefficients ** 
     32   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)     ::   ahm1, ahm2, ahm3, ahm4   !: ** 2D coefficients ** 
    3033#else 
    31    REAL(wp), PUBLIC                         ::   ahm1, ahm2, ahm3, ahm4  ! ** 0D coefficients ** 
     34   REAL(wp), PUBLIC                                      ::   ahm1, ahm2, ahm3, ahm4   !: ** 0D coefficients ** 
    3235#endif 
    3336 
    3437   !!---------------------------------------------------------------------- 
    35    !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
     38   !! NEMO/OPA 4.0 , NEMO Consortium (2011) 
    3639   !! $Id$  
    37    !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
     40   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     41   !!---------------------------------------------------------------------- 
     42CONTAINS 
     43 
     44   INTEGER FUNCTION ldfdyn_oce_alloc() 
     45      !!---------------------------------------------------------------------- 
     46      !!                 ***  FUNCTION ldfdyn_oce_alloc  *** 
     47      !!---------------------------------------------------------------------- 
     48      ldfdyn_oce_alloc = 0 
     49#if defined key_dynldf_c3d 
     50      ALLOCATE( ahm1(jpi,jpj,jpk) , ahm2(jpi,jpj,jpk) , ahm3(jpi,jpj,jpk) , ahm4(jpi,jpj,jpk) , STAT=ldfdyn_oce_alloc ) 
     51#elif defined key_dynldf_c2d 
     52      ALLOCATE( ahm1(jpi,jpj    ) , ahm2(jpi,jpj    ) , ahm3(jpi,jpj    ) , ahm4(jpi,jpj    ) , STAT=ldfdyn_oce_alloc ) 
     53#elif defined key_dynldf_c1d 
     54      ALLOCATE( ahm1(        jpk) , ahm2(        jpk) , ahm3(        jpk) , ahm4(        jpk) , STAT=ldfdyn_oce_alloc ) 
     55#endif 
     56      IF( ldfdyn_oce_alloc /= 0 )   CALL ctl_warn('ldfdyn_oce_alloc: failed to allocate arrays') 
     57      ! 
     58   END FUNCTION ldfdyn_oce_alloc 
     59 
    3860   !!====================================================================== 
    3961END MODULE ldfdyn_oce 
Note: See TracChangeset for help on using the changeset viewer.