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 2648 for branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OFF_SRC/domrea.F90 – NEMO

Ignore:
Timestamp:
2011-03-03T17:13:18+01:00 (13 years ago)
Author:
cetlod
Message:

Changed OFF_SRC component to use dynamic memory

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OFF_SRC/domrea.F90

    r2528 r2648  
    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 wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    1920 
    2021   IMPLICIT NONE 
     
    5354      !!---------------------------------------------------------------------- 
    5455      USE iom 
     56      USE wrk_nemo, ONLY: zmbk => wrk_2d_1, zprt => wrk_2d_2, zprw => wrk_2d_3 
    5557      !! 
    5658      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    5759      INTEGER  ::   ik, inum0 , inum1 , inum2 , inum3 , inum4   ! local integers 
    5860      REAL(wp) ::   zrefdep         ! local real 
    59       REAL(wp), DIMENSION(jpi,jpj) ::   zmbk, zprt, zprw   ! 2D workspace 
    6061      !!---------------------------------------------------------------------- 
    6162 
     
    6364      IF(lwp) WRITE(numout,*) 'dom_rea : read NetCDF mesh and mask information file(s)' 
    6465      IF(lwp) WRITE(numout,*) '~~~~~~~' 
     66 
     67      IF( wrk_in_use(2, 1,2,3)  ) THEN 
     68         CALL ctl_stop('dom_rea: ERROR: requested workspace arrays unavailable.') ; RETURN 
     69      END IF 
    6570 
    6671      zmbk(:,:) = 0._wp 
     
    141146         CALL iom_get( inum3, jpdom_data, 'e2u', e2u ) 
    142147         CALL iom_get( inum3, jpdom_data, 'e2v', e2v ) 
     148 
     149         e1e2t(:,:) = e1t(:,:) * e2t(:,:)                              ! surface at T-points 
    143150 
    144151         CALL iom_get( inum3, jpdom_data, 'ff', ff ) 
     
    314321      END SELECT 
    315322      ! 
     323      IF( wrk_not_released(2, 1,2,3)  ) CALL ctl_stop('dom_rea:failed to release workspace arrays.') 
     324      ! 
    316325   END SUBROUTINE dom_rea 
    317326 
     
    327336      !! ** Action  : - update mbathy: level bathymetry (in level index) 
    328337      !!---------------------------------------------------------------------- 
     338      USE wrk_nemo, ONLY: zmbk => wrk_2d_4 
     339      ! 
    329340      INTEGER ::   ji, jj   ! dummy loop indices 
    330       REAL(wp), DIMENSION(jpi,jpj) ::   zmbk   ! 2D workspace  
    331       !!---------------------------------------------------------------------- 
     341      !!---------------------------------------------------------------------- 
     342 
    332343      ! 
    333344      IF(lwp) WRITE(numout,*) 
    334345      IF(lwp) WRITE(numout,*) '    zgr_bot_level : ocean bottom k-index of T-, U-, V- and W-levels ' 
    335346      IF(lwp) WRITE(numout,*) '    ~~~~~~~~~~~~~' 
     347      ! 
     348      IF( wrk_in_use(2, 4) ) THEN 
     349         CALL ctl_stop('dom_rea: ERROR: requested workspace arrays unavailable.')  ;  RETURN 
     350      END IF 
    336351      ! 
    337352      mbkt(:,:) = MAX( mbathy(:,:) , 1 )    ! bottom k-index of T-level (=1 over land) 
     
    347362      zmbk(:,:) = REAL( mbkv(:,:), wp )   ;   CALL lbc_lnk(zmbk,'V',1.)   ;   mbkv  (:,:) = MAX( INT( zmbk(:,:) ), 1 ) 
    348363      ! 
     364      IF( wrk_not_released(2, 4) ) CALL ctl_stop('dom_rea:failed to release workspace arrays.') 
     365      ! 
    349366   END SUBROUTINE zgr_bot_level 
    350367 
Note: See TracChangeset for help on using the changeset viewer.