Ignore:
Timestamp:
2011-03-30T17:58:35+02:00 (10 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/DOM/domngb.F90

    r2528 r2715  
    88 
    99   !!---------------------------------------------------------------------- 
    10    !!   dom_ngb       : find the closest grid point from a given on/lat position 
     10   !!   dom_ngb       : find the closest grid point from a given lon/lat position 
    1111   !!---------------------------------------------------------------------- 
    12    USE dom_oce         ! ocean space and time domain 
    13    USE lib_mpp         ! for mppsum 
     12   USE dom_oce        ! ocean space and time domain 
     13   USE lib_mpp        ! for mppsum 
    1414 
    1515   IMPLICIT NONE 
    1616   PRIVATE 
    1717 
    18    PUBLIC   dom_ngb    ! routine called in iom.F90 module 
     18   PUBLIC   dom_ngb   ! routine called in iom.F90 module 
    1919 
    2020   !!---------------------------------------------------------------------- 
    2121   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
    2222   !! $Id$  
    23    !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
     23   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    2424   !!---------------------------------------------------------------------- 
    25  
    2625CONTAINS 
    2726 
     
    3029      !!                    ***  ROUTINE dom_ngb  *** 
    3130      !! 
    32       !! ** Purpose :   find the closest grid point from a given on/lat position 
     31      !! ** Purpose :   find the closest grid point from a given lon/lat position 
    3332      !! 
    3433      !! ** Method  :   look for minimum distance in cylindrical projection  
    3534      !!                -> not good if located at too high latitude... 
    36       !! 
    3735      !!---------------------------------------------------------------------- 
     36      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
     37      USE wrk_nemo, ONLY:   zglam => wrk_2d_2 , zgphi => wrk_2d_3 , zmask => wrk_2d_4 , zdist => wrk_2d_5 
     38      ! 
    3839      REAL(wp)        , INTENT(in   ) ::   plon, plat   ! longitude,latitude of the point 
    3940      INTEGER         , INTENT(  out) ::   kii, kjj     ! i-,j-index of the closes grid point 
    4041      CHARACTER(len=1), INTENT(in   ) ::   cdgrid       ! grid name 'T', 'U', 'V', 'W' 
    41       !! 
    42       INTEGER , DIMENSION(2)        ::   iloc 
    43       REAL(wp), DIMENSION(jpi,jpj)  ::   zglam, zgphi, zmask, zdist 
    44       REAL(wp)                      ::   zlon 
    45       REAL(wp)                      ::   zmini 
     42      ! 
     43      INTEGER , DIMENSION(2) ::   iloc 
     44      REAL(wp)               ::   zlon, zmini 
    4645      !!-------------------------------------------------------------------- 
    47        
    48       zmask(:,:) = 0. 
     46      ! 
     47      IF( wrk_in_use(2, 2,3,4,5) )   CALL ctl_stop('dom_ngb: Requested workspaces already in use') 
     48      ! 
     49      zmask(:,:) = 0._wp 
    4950      SELECT CASE( cdgrid ) 
    5051      CASE( 'U' )  ; zglam(:,:) = glamu(:,:) ; zgphi(:,:) = gphiu(:,:) ; zmask(nldi:nlei,nldj:nlej) = umask(nldi:nlei,nldj:nlej,1) 
     
    7071         kjj = iloc(2) + njmpp - 1 
    7172      ENDIF 
    72  
     73      ! 
     74      IF( wrk_not_released(2, 2,3,4,5) )   CALL ctl_stop('dom_ngb: error releasing workspaces') 
     75      ! 
    7376   END SUBROUTINE dom_ngb 
    7477 
Note: See TracChangeset for help on using the changeset viewer.