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/BDY/bdyini.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/BDY/bdyini.F90

    r2528 r2715  
    2121   USE obc_par         ! ocean open boundary conditions 
    2222   USE bdy_oce         ! unstructured open boundary conditions 
     23   USE bdydta, ONLY: bdy_dta_alloc ! open boundary data 
    2324   USE bdytides        ! tides at open boundaries initialization (tide_init routine) 
    2425   USE in_out_manager  ! I/O units 
     
    3334 
    3435   !!---------------------------------------------------------------------- 
    35    !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
     36   !! NEMO/OPA 4.0 , NEMO Consortium (2011) 
    3637   !! $Id$  
    37    !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
     38   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    3839   !!---------------------------------------------------------------------- 
    3940CONTAINS 
     
    4445      !!          
    4546      !! ** Purpose :   Initialization of the dynamics and tracer fields with  
    46       !!      unstructured open boundaries. 
     47      !!              unstructured open boundaries. 
    4748      !! 
    48       !! ** Method  :  Read initialization arrays (mask, indices) to identify  
    49       !!               an unstructured open boundary 
     49      !! ** Method  :   Read initialization arrays (mask, indices) to identify  
     50      !!              an unstructured open boundary 
    5051      !! 
    5152      !! ** Input   :  bdy_init.nc, input file for unstructured open boundaries 
    5253      !!----------------------------------------------------------------------       
    53       INTEGER ::   ii, ij, ik, igrd, ib, ir   ! dummy loop indices 
    54       INTEGER ::   icount, icountr 
    55       INTEGER ::   ib_len, ibr_max 
    56       INTEGER ::   iw, ie, is, in  
    57       INTEGER ::   inum                 ! local logical unit 
    58       INTEGER ::   id_dummy             ! local integers 
    59       INTEGER ::   igrd_start, igrd_end ! start and end of loops on igrd 
     54      INTEGER  ::   ii, ij, ik, igrd, ib, ir   ! dummy loop indices 
     55      INTEGER  ::   icount, icountr, ib_len, ibr_max   ! local integers 
     56      INTEGER  ::   iw, ie, is, in, inum, id_dummy     !   -       - 
     57      INTEGER  ::   igrd_start, igrd_end               !   -       - 
     58      REAL(wp) ::   zefl, zwfl, znfl, zsfl              ! local scalars 
    6059      INTEGER, DIMENSION (2)             ::   kdimsz 
    6160      INTEGER, DIMENSION(jpbdta, jpbgrd) ::   nbidta, nbjdta   ! Index arrays: i and j indices of bdy dta 
    6261      INTEGER, DIMENSION(jpbdta, jpbgrd) ::   nbrdta           ! Discrete distance from rim points 
    63       REAL(wp) :: zefl, zwfl, znfl, zsfl                       ! temporary scalars 
    64       REAL(wp) , DIMENSION(jpidta,jpjdta) ::   zmask           ! global domain mask 
    65       REAL(wp) , DIMENSION(jpbdta,1)      ::   zdta            ! temporary array  
    66       CHARACTER(LEN=80),DIMENSION(6)      ::   clfile 
     62      REAL(wp), DIMENSION(jpidta,jpjdta) ::   zmask            ! global domain mask 
     63      REAL(wp), DIMENSION(jpbdta,1)      ::   zdta             ! temporary array  
     64      CHARACTER(LEN=80),DIMENSION(6)     ::   clfile 
    6765      !! 
    68       NAMELIST/nambdy/cn_mask, cn_dta_frs_T, cn_dta_frs_U, cn_dta_frs_V,          & 
    69          &            cn_dta_fla_T, cn_dta_fla_U, cn_dta_fla_V,              & 
    70          &            ln_tides, ln_clim, ln_vol, ln_mask,                & 
    71          &            ln_dyn_fla, ln_dyn_frs, ln_tra_frs,ln_ice_frs,     & 
     66      NAMELIST/nambdy/cn_mask, cn_dta_frs_T, cn_dta_frs_U, cn_dta_frs_V,   & 
     67         &            cn_dta_fla_T, cn_dta_fla_U, cn_dta_fla_V,            & 
     68         &            ln_tides, ln_clim, ln_vol, ln_mask,                  & 
     69         &            ln_dyn_fla, ln_dyn_frs, ln_tra_frs,ln_ice_frs,       & 
    7270         &            nn_dtactl, nn_rimwidth, nn_volctl 
    7371      !!---------------------------------------------------------------------- 
     
    7775      IF(lwp) WRITE(numout,*) '~~~~~~~~' 
    7876      ! 
     77      !                                      ! allocate bdy_oce arrays 
     78      IF( bdy_oce_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'bdy_init : unable to allocate oce arrays' ) 
     79      IF( bdy_dta_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'bdy_init : unable to allocate dta arrays' ) 
     80 
    7981      IF( jperio /= 0 )   CALL ctl_stop( 'Cyclic or symmetric,',   & 
    8082         &                               ' and unstructured open boundary condition are not compatible' ) 
Note: See TracChangeset for help on using the changeset viewer.