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/FLO/flowri.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/FLO/flowri.F90

    r2528 r2715  
    2323   PRIVATE 
    2424 
    25    PUBLIC   flo_wri    ! routine called by floats.F90 
     25   PUBLIC   flo_wri         ! routine called by floats.F90 
     26   PUBLIC   flo_wri_alloc   ! routine called by floats.F90 
    2627 
    2728   INTEGER ::   jfl      ! number of floats 
    2829   INTEGER ::   numflo   ! logical unit for drifting floats 
    2930 
     31   ! Following are only workspace arrays but shape is not (jpi,jpj) and 
     32   ! therefore make them module arrays rather than replacing with wrk_nemo 
     33   ! member arrays. 
     34   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ztemp, zsal   ! 2D workspace 
     35 
    3036   !! * Substitutions 
    3137#  include "domzgr_substitute.h90" 
    3238   !!---------------------------------------------------------------------- 
    33    !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
     39   !! NEMO/OPA 4.0 , NEMO Consortium (2011) 
    3440   !! $Id$  
    3541   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    3642   !!---------------------------------------------------------------------- 
    3743CONTAINS 
     44 
     45   INTEGER FUNCTION flo_wri_alloc 
     46      !!------------------------------------------------------------------- 
     47      !!                ***  FUNCTION flo_wri_alloc  *** 
     48      !!------------------------------------------------------------------- 
     49      ALLOCATE( ztemp(jpk,jpnfl) , zsal(jpk,jpnfl) , STAT=flo_wri_alloc) 
     50      ! 
     51      IF( lk_mpp             )   CALL mpp_sum ( flo_wri_alloc ) 
     52      IF( flo_wri_alloc /= 0 )   CALL ctl_warn('flo_wri_alloc: failed to allocate arrays.') 
     53   END FUNCTION flo_wri_alloc 
     54 
    3855 
    3956   SUBROUTINE flo_wri( kt ) 
     
    5471      INTEGER  ::    ic, jc , jpn 
    5572      INTEGER, DIMENSION ( jpnij )  ::   iproc 
    56       REAL(wp) ::   zafl,zbfl,zcfl,zdtj 
     73      REAL(wp) ::   zafl, zbfl, zcfl, zdtj 
    5774      REAL(wp) ::   zxxu, zxxu_01,zxxu_10, zxxu_11 
    58       REAL(wp), DIMENSION (jpk,jpnfl) ::   ztemp, zsal   ! 2D workspace 
    5975      !!--------------------------------------------------------------------- 
    6076       
    61       IF( kt == nit000 .OR. MOD( kt,nn_writefl)== 0 ) THEN  
     77      IF( kt == nit000 .OR. MOD( kt,nn_writefl) == 0 ) THEN  
    6278 
    6379         ! header of output floats file 
Note: See TracChangeset for help on using the changeset viewer.