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 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/FLO/floblk.F90 – NEMO

Ignore:
Timestamp:
2012-01-28T17:44:18+01:00 (12 years ago)
Author:
rblod
Message:

Merge of 3.4beta into the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/FLO/floblk.F90

    r2715 r3294  
    1717   USE in_out_manager  ! I/O manager 
    1818   USE lib_mpp         ! distribued memory computing library 
     19   USE wrk_nemo        ! working array 
    1920 
    2021   IMPLICIT NONE 
     
    4748      INTEGER :: jfl              ! dummy loop arguments 
    4849      INTEGER :: ind, ifin, iloop 
    49       INTEGER , DIMENSION ( jpnfl )  ::   & 
    50          iil, ijl, ikl,             &     ! index of nearest mesh 
    51          iiloc , ijloc,             & 
    52          iiinfl, ijinfl, ikinfl,    &     ! index of input mesh of the float. 
    53          iioutfl, ijoutfl, ikoutfl        ! index of output mesh of the float. 
    54       REAL(wp) , DIMENSION ( jpnfl )  ::    & 
    55          zgifl, zgjfl, zgkfl,       &     ! position of floats, index on  
    56                                           ! velocity mesh. 
    57          ztxfl, ztyfl, ztzfl,       &     ! time for a float to quit the mesh 
    58                                           ! across one of the face x,y and z  
    59          zttfl,                     &     ! time for a float to quit the mesh  
    60          zagefl,                    &     ! time during which, trajectorie of  
    61                                           ! the float has been computed 
    62          zagenewfl,                 &     ! new age of float after calculation  
    63                                           ! of new position 
    64          zufl, zvfl, zwfl,          &     ! interpolated vel. at float position 
    65          zudfl, zvdfl, zwdfl,       &     ! velocity diff input/output of mesh 
    66          zgidfl, zgjdfl, zgkdfl           ! direction index of float  
    6750      REAL(wp)   ::       & 
    6851         zuinfl,zvinfl,zwinfl,      &     ! transport across the input face 
     
    7154         zsurfz,                    &     ! surface of the face of the mesh  
    7255         zind 
     56 
    7357      REAL(wp), DIMENSION ( 2 )  ::   zsurfx, zsurfy   ! surface of the face of the mesh 
     58 
     59      INTEGER  , POINTER, DIMENSION ( : )  ::   iil, ijl, ikl                   ! index of nearest mesh 
     60      INTEGER  , POINTER, DIMENSION ( : )  ::   iiloc , ijloc               
     61      INTEGER  , POINTER, DIMENSION ( : )  ::   iiinfl, ijinfl, ikinfl          ! index of input mesh of the float. 
     62      INTEGER  , POINTER, DIMENSION ( : )  ::   iioutfl, ijoutfl, ikoutfl       ! index of output mesh of the float. 
     63      REAL(wp) , POINTER, DIMENSION ( : )  ::   zgifl, zgjfl, zgkfl             ! position of floats, index on  
     64      !                                                                         ! velocity mesh. 
     65      REAL(wp) , POINTER, DIMENSION ( : )  ::    ztxfl, ztyfl, ztzfl            ! time for a float to quit the mesh 
     66      !                                                                         ! across one of the face x,y and z  
     67      REAL(wp) , POINTER, DIMENSION ( : )  ::    zttfl                          ! time for a float to quit the mesh  
     68      REAL(wp) , POINTER, DIMENSION ( : )  ::    zagefl                         ! time during which, trajectorie of  
     69      !                                                                         ! the float has been computed 
     70      REAL(wp) , POINTER, DIMENSION ( : )  ::   zagenewfl                       ! new age of float after calculation  
     71      !                                                                         ! of new position 
     72      REAL(wp) , POINTER, DIMENSION ( : )  ::   zufl, zvfl, zwfl                ! interpolated vel. at float position 
     73      REAL(wp) , POINTER, DIMENSION ( : )  ::   zudfl, zvdfl, zwdfl             ! velocity diff input/output of mesh 
     74      REAL(wp) , POINTER, DIMENSION ( : )  ::   zgidfl, zgjdfl, zgkdfl          ! direction index of float 
    7475      !!--------------------------------------------------------------------- 
    75        
     76      CALL wrk_alloc( jpnfl , iil   , ijl   , ikl   , iiloc  ,  ijloc           ) 
     77      CALL wrk_alloc( jpnfl , iiinfl, ijinfl, ikinfl, iioutfl, ijoutfl, ikoutfl ) 
     78      CALL wrk_alloc( jpnfl , zgifl , zgjfl , zgkfl , ztxfl  , ztyfl  , ztzfl   , zttfl , zagefl, zagenewfl)  
     79      CALL wrk_alloc( jpnfl , zufl  , zvfl  , zwfl  , zudfl  , zvdfl  , zwdfl   , zgidfl, zgjdfl, zgkdfl   ) 
     80 
    7681      IF( kt == nit000 ) THEN 
    7782         IF(lwp) WRITE(numout,*) 
     
    406411      ENDIF 
    407412      ! 
     413      CALL wrk_dealloc( jpnfl , iil   , ijl   , ikl   , iiloc  ,  ijloc           ) 
     414      CALL wrk_dealloc( jpnfl , iiinfl, ijinfl, ikinfl, iioutfl, ijoutfl, ikoutfl ) 
     415      CALL wrk_dealloc( jpnfl , zgifl , zgjfl , zgkfl , ztxfl  , ztyfl  , ztzfl   , zttfl , zagefl, zagenewfl)  
     416      CALL wrk_dealloc( jpnfl , zufl  , zvfl  , zwfl  , zudfl  , zvdfl  , zwdfl   , zgidfl, zgjdfl, zgkdfl   ) 
     417      ! 
    408418   END SUBROUTINE flo_blk 
    409419 
Note: See TracChangeset for help on using the changeset viewer.