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/LIM_SRC_3/limwri.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/LIM_SRC_3/limwri.F90

    r2777 r3294  
    2323   USE lbclnk 
    2424   USE lib_mpp         ! MPP library 
     25   USE wrk_nemo        ! work arrays 
    2526   USE par_ice 
    2627 
     
    4849   REAL(wp)  ::   epsi16 = 1e-16_wp 
    4950   REAL(wp)  ::   zzero  = 0._wp 
    50    REAL(wp)  ::   zone   = 1._wp 
    51  
    52    REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:,:) ::   zcmo, zcmoa   ! additional fields 
    53        
     51   REAL(wp)  ::   zone   = 1._wp       
    5452   !!---------------------------------------------------------------------- 
    5553   !! NEMO/LIM3 4.0 , UCL - NEMO Consortium (2011) 
     
    7371      !!  modif : 03/06/98 
    7472      !!------------------------------------------------------------------- 
    75       USE wrk_nemo, ONLY:   wrk_not_released, wrk_in_use 
    76       USE wrk_nemo, ONLY:   zfield => wrk_2d_1             ! 2D workspace 
    77       USE wrk_nemo, ONLY:   wrk_3d_3, wrk_3d_4, wrk_3d_5   ! 3D workspace 
    78       ! 
    7973      INTEGER, INTENT(in) ::   kindic   ! if kindic < 0 there has been an error somewhere 
    8074      ! 
     
    8377      REAL(wp),DIMENSION(1) ::   zdept 
    8478      REAL(wp) ::  zsto, zjulian, zout, zindh, zinda, zindb 
     79      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zcmo, zcmoa 
     80      REAL(wp), POINTER, DIMENSION(:,:  ) ::   zfield 
    8581      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zmaskitd, zoi, zei 
    8682 
     
    9389      !!------------------------------------------------------------------- 
    9490 
    95       IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 3,4,5) ) THEN 
    96          CALL ctl_stop( 'lim_wri : requested workspace arrays unavailable' )   ;   RETURN 
    97       ENDIF 
     91      CALL wrk_alloc( jpi, jpj, zfield ) 
     92      CALL wrk_alloc( jpi, jpj, jpnoumax, zcmo, zcmoa ) 
     93      CALL wrk_alloc( jpi, jpj, jpl, zmaskitd, zoi, zei ) 
    9894 
    9995      ipl = jpl 
    10096 
    101       zmaskitd => wrk_3d_3(:,:,1:jpl) 
    102       zoi      => wrk_3d_4(:,:,1:jpl) 
    103       zei      => wrk_3d_5(:,:,1:jpl) 
    104  
    105  
    10697      IF( numit == nstart ) THEN  
    10798 
    108          ALLOCATE( ndex51(jpij), ndexitd(jpij*jpl), zcmo(jpi,jpj,jpnoumax), zcmoa(jpi,jpj,jpnoumax), STAT=ierr ) 
     99         ALLOCATE( ndex51(jpij), ndexitd(jpij*jpl), STAT=ierr ) 
    109100         IF( lk_mpp    )   CALL mpp_sum ( ierr ) 
    110101         IF( ierr /= 0 ) THEN 
     
    354345      ENDIF 
    355346 
    356       IF( wrk_not_released(2, 1) .OR. wrk_not_released(3, 3,4,5) )   & 
    357          CALL ctl_stop( 'lim_wri: failed to release workspace arrays' ) 
     347      CALL wrk_dealloc( jpi, jpj, zfield ) 
     348      CALL wrk_dealloc( jpi, jpj, jpnoumax, zcmo, zcmoa ) 
     349      CALL wrk_dealloc( jpi, jpj, jpl, zmaskitd, zoi, zei ) 
    358350       
    359351   END SUBROUTINE lim_wri 
Note: See TracChangeset for help on using the changeset viewer.