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/OFF_SRC/domrea.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/OFF_SRC/domrea.F90

    r2528 r2715  
    1616   USE dommsk          ! domain: masks 
    1717   USE lbclnk          ! lateral boundary condition - MPP exchanges 
    18    USE in_out_manager  ! I/O manager 
     18   USE lib_mpp  
     19   USE in_out_manager 
     20   USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    1921 
    2022   IMPLICIT NONE 
     
    5355      !!---------------------------------------------------------------------- 
    5456      USE iom 
     57      USE wrk_nemo, ONLY: zmbk => wrk_2d_1, zprt => wrk_2d_2, zprw => wrk_2d_3 
    5558      !! 
    5659      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    5760      INTEGER  ::   ik, inum0 , inum1 , inum2 , inum3 , inum4   ! local integers 
    5861      REAL(wp) ::   zrefdep         ! local real 
    59       REAL(wp), DIMENSION(jpi,jpj) ::   zmbk, zprt, zprw   ! 2D workspace 
    6062      !!---------------------------------------------------------------------- 
    6163 
     
    6365      IF(lwp) WRITE(numout,*) 'dom_rea : read NetCDF mesh and mask information file(s)' 
    6466      IF(lwp) WRITE(numout,*) '~~~~~~~' 
     67 
     68      IF( wrk_in_use(2, 1,2,3)  ) THEN 
     69         CALL ctl_stop('dom_rea: ERROR: requested workspace arrays unavailable.') ; RETURN 
     70      END IF 
    6571 
    6672      zmbk(:,:) = 0._wp 
     
    141147         CALL iom_get( inum3, jpdom_data, 'e2u', e2u ) 
    142148         CALL iom_get( inum3, jpdom_data, 'e2v', e2v ) 
     149 
     150         e1e2t(:,:) = e1t(:,:) * e2t(:,:)                              ! surface at T-points 
    143151 
    144152         CALL iom_get( inum3, jpdom_data, 'ff', ff ) 
     
    314322      END SELECT 
    315323      ! 
     324      IF( wrk_not_released(2, 1,2,3)  ) CALL ctl_stop('dom_rea:failed to release workspace arrays.') 
     325      ! 
    316326   END SUBROUTINE dom_rea 
    317327 
     
    327337      !! ** Action  : - update mbathy: level bathymetry (in level index) 
    328338      !!---------------------------------------------------------------------- 
     339      USE wrk_nemo, ONLY: zmbk => wrk_2d_4 
     340      ! 
    329341      INTEGER ::   ji, jj   ! dummy loop indices 
    330       REAL(wp), DIMENSION(jpi,jpj) ::   zmbk   ! 2D workspace  
    331       !!---------------------------------------------------------------------- 
     342      !!---------------------------------------------------------------------- 
     343 
    332344      ! 
    333345      IF(lwp) WRITE(numout,*) 
    334346      IF(lwp) WRITE(numout,*) '    zgr_bot_level : ocean bottom k-index of T-, U-, V- and W-levels ' 
    335347      IF(lwp) WRITE(numout,*) '    ~~~~~~~~~~~~~' 
     348      ! 
     349      IF( wrk_in_use(2, 4) ) THEN 
     350         CALL ctl_stop('dom_rea: ERROR: requested workspace arrays unavailable.')  ;  RETURN 
     351      END IF 
    336352      ! 
    337353      mbkt(:,:) = MAX( mbathy(:,:) , 1 )    ! bottom k-index of T-level (=1 over land) 
     
    347363      zmbk(:,:) = REAL( mbkv(:,:), wp )   ;   CALL lbc_lnk(zmbk,'V',1.)   ;   mbkv  (:,:) = MAX( INT( zmbk(:,:) ), 1 ) 
    348364      ! 
     365      IF( wrk_not_released(2, 4) ) CALL ctl_stop('dom_rea:failed to release workspace arrays.') 
     366      ! 
    349367   END SUBROUTINE zgr_bot_level 
    350368 
Note: See TracChangeset for help on using the changeset viewer.