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 2636 for branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF – NEMO

Ignore:
Timestamp:
2011-03-01T20:04:06+01:00 (13 years ago)
Author:
gm
Message:

dynamic mem: #785 ; move ctl_stop & warn in lib_mpp to avoid a circular dependency + ctl_stop improvment

Location:
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdf_oce.F90

    r2616 r2636  
    99   USE par_oce        ! ocean parameters 
    1010   USE in_out_manager ! I/O manager 
     11   USE lib_mpp        ! MPP library 
    1112 
    1213   IMPLICIT NONE 
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfddm.F90

    r2633 r2636  
    2121   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2222   USE prtctl          ! Print control 
     23   USE lib_mpp            ! MPP library 
    2324 
    2425   IMPLICIT NONE 
     
    5657      IF( zdf_ddm_alloc /= 0 )   CALL ctl_warn('zdf_ddm_alloc: failed to allocate arrays') 
    5758   END FUNCTION zdf_ddm_alloc 
     59 
    5860 
    5961   SUBROUTINE zdf_ddm( kt ) 
     
    8991      !! References :   Merryfield et al., JPO, 29, 1124-1142, 1999. 
    9092      !!---------------------------------------------------------------------- 
    91       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    92       USE wrk_nemo, ONLY: zmsks  => wrk_2d_1,  & 
    93                           zmskf  => wrk_2d_2,  & 
    94                           zmskd1 => wrk_2d_3,  & 
    95                           zmskd2 => wrk_2d_4,  & 
    96                           zmskd3 => wrk_2d_5 
    97       IMPLICIT none 
     93      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
     94      USE wrk_nemo, ONLY:   zmsks  => wrk_2d_1 , zmskf  => wrk_2d_2 , zmskd1 => wrk_2d_3   ! 2D workspace 
     95      USE wrk_nemo, ONLY:   zmskd2 => wrk_2d_4 , zmskd3 => wrk_2d_5                        !  -      - 
     96      ! 
    9897      INTEGER, INTENT(in) ::   kt   ! ocean time-step indexocean time step 
    99       !! 
     98      ! 
    10099      INTEGER  ::   ji, jj , jk     ! dummy loop indices 
    101100      REAL(wp) ::   zinr, zrr       ! temporary scalars 
     
    105104 
    106105      IF( wrk_in_use(2, 1,2,3,4,5) ) THEN 
    107          CALL ctl_stop('zdf_ddm: Requested workspace arrays already in use.')   ;   RETURN 
     106         CALL ctl_stop('zdf_ddm: Requested workspace arrays already in use')   ;   RETURN 
    108107      END IF 
    109108 
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90

    r2633 r2636  
    2525   USE restart        ! only for lrst_oce 
    2626   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
     27   USE lib_mpp        ! MPP manager 
    2728   USE prtctl         ! Print control 
    2829   USE in_out_manager ! I/O manager 
     
    106107   !!---------------------------------------------------------------------- 
    107108   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
    108    !! $Id $ 
     109   !! $Id$ 
    109110   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    110111   !!---------------------------------------------------------------------- 
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfkpp.F90

    r2633 r2636  
    2828   USE zdfddm          ! double diffusion mixing 
    2929   USE in_out_manager  ! I/O manager 
     30   USE lib_mpp         ! MPP library 
    3031   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    3132   USE prtctl          ! Print control 
     
    167168         ! 
    168169      IF( lk_mpp             )   CALL mpp_sum ( zdf_kpp_alloc ) 
    169       IF( zdf_kpp_alloc /= 0 )   CALL ctl_warn('zdf_kpp_alloc: failed to allocate arrays.') 
     170      IF( zdf_kpp_alloc /= 0 )   CALL ctl_warn('zdf_kpp_alloc: failed to allocate arrays') 
    170171   END FUNCTION zdf_kpp_alloc 
    171172 
     
    12361237      IF( wrk_not_released(1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14) .OR. & 
    12371238          wrk_not_released(2, 1,2,3,4,5,6,7,8,9,10,11)          .OR. & 
    1238           wrk_not_released_xz(1,2,3)  )   CALL ctl_stop('zdf_kpp : failed to release workspace arrays.') 
     1239          wrk_not_released_xz(1,2,3)  )   CALL ctl_stop('zdf_kpp : failed to release workspace arrays') 
    12391240      ! 
    12401241   END SUBROUTINE zdf_kpp 
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl.F90

    r2633 r2636  
    1414   USE in_out_manager  ! I/O manager 
    1515   USE prtctl          ! Print control 
    16    USE iom 
     16   USE iom             ! I/O library 
     17   USE lib_mpp         ! MPP library 
    1718 
    1819   IMPLICIT NONE 
     
    6465      !!---------------------------------------------------------------------- 
    6566      USE wrk_nemo, ONLY: iwrk_in_use, iwrk_not_released 
    66       USE wrk_nemo, ONLY: imld => iwrk_2d_1    ! 2D workspace 
     67      USE wrk_nemo, ONLY: imld => iwrk_2d_1    ! 2D integer workspace 
    6768      !! 
    6869      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index 
     
    7475      !!---------------------------------------------------------------------- 
    7576 
    76       IF( iwrk_in_use(2,1) )THEN 
    77          CALL ctl_stop('zdf_mxl : requested workspace array unavailable.')   ;   RETURN 
     77      IF( iwrk_in_use(2, 1) )THEN 
     78         CALL ctl_stop('zdf_mxl : requested workspace array unavailable')   ;   RETURN 
    7879      END IF 
    7980 
     
    112113      IF(ln_ctl)   CALL prt_ctl( tab2d_1=REAL(nmln,wp), clinfo1=' nmln : ', tab2d_2=hmlp, clinfo2=' hmlp : ', ovlap=1 ) 
    113114      ! 
    114       IF( iwrk_not_released(2,1) )   CALL ctl_stop('zdf_mxl : failed to release workspace array') 
     115      IF( iwrk_not_released(2, 1) )   CALL ctl_stop('zdf_mxl : failed to release workspace array') 
    115116      ! 
    116117   END SUBROUTINE zdf_mxl 
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfric.F90

    r2633 r2636  
    2525   USE in_out_manager  ! I/O manager 
    2626   USE lbclnk          ! ocean lateral boundary condition (or mpp link) 
     27   USE lib_mpp         ! MPP library 
    2728 
    2829   IMPLICIT NONE 
     
    5758      ! 
    5859      IF( lk_mpp             )   CALL mpp_sum ( zdf_ric_alloc ) 
    59       IF( zdf_ric_alloc /= 0 )   CALL ctl_warn('zdf_ric_alloc: failed to allocate arrays.') 
     60      IF( zdf_ric_alloc /= 0 )   CALL ctl_warn('zdf_ric_alloc: failed to allocate arrays') 
    6061   END FUNCTION zdf_ric_alloc 
    6162 
     
    9798      !!---------------------------------------------------------------------- 
    9899 
    99       IF(wrk_in_use(2, 1) ) THEN 
     100      IF( wrk_in_use(2, 1) ) THEN 
    100101         CALL ctl_stop('zdf_ric : requested workspace array unavailable')   ;   RETURN 
    101102      END IF 
     
    150151      CALL lbc_lnk( avmu, 'U', 1. )   ;   CALL lbc_lnk( avmv, 'V', 1. ) 
    151152      ! 
    152       IF(wrk_not_released(2, 1) )   CALL ctl_stop('zdf_ric : failed to release workspace array') 
     153      IF( wrk_not_released(2, 1) )   CALL ctl_stop('zdf_ric : failed to release workspace array') 
    153154      ! 
    154155   END SUBROUTINE zdf_ric 
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90

    r2633 r2636  
    4949   USE in_out_manager ! I/O manager 
    5050   USE iom            ! I/O manager library 
     51   USE lib_mpp        ! MPP library 
    5152 
    5253   IMPLICIT NONE 
     
    189190      !!                (= Kz dz[Ub] * dz[Un] ) 
    190191      !! --------------------------------------------------------------------- 
    191       USE oce,   zdiag  =>   ua   ! use ua as workspace 
    192       USE oce,   zd_up  =>   va   ! use va as workspace 
    193       USE oce,   zd_lw  =>   ta   ! use ta as workspace 
    194       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, iwrk_in_use, iwrk_not_released 
    195       USE wrk_nemo, ONLY: imlc => iwrk_2d_1 ! 2D INTEGER workspace 
    196       USE wrk_nemo, ONLY: zhlc => wrk_2d_1  ! 2D REAL workspace 
    197       USE wrk_nemo, ONLY: zpelc => wrk_3d_1 ! 3D REAL workspace 
     192      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released, iwrk_in_use, iwrk_not_released 
     193      USE oce     , ONLY:   zdiag => ua , zd_up => va , zd_lw => ta   ! (ua,va,ta) used  as workspace 
     194      USE wrk_nemo, ONLY:   imlc  => iwrk_2d_1   ! 2D INTEGER workspace 
     195      USE wrk_nemo, ONLY:   zhlc  =>  wrk_2d_1   ! 2D REAL workspace 
     196      USE wrk_nemo, ONLY:   zpelc =>  wrk_3d_1   ! 3D REAL workspace 
    198197      !! 
    199198      INTEGER  ::   ji, jj, jk                      ! dummy loop arguments 
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftmx.F90

    r2633 r2636  
    2424   USE in_out_manager  ! I/O manager 
    2525   USE iom             ! I/O Manager 
     26   USE lib_mpp         ! MPP library 
    2627   USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    2728 
Note: See TracChangeset for help on using the changeset viewer.