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 3184 for branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/NST_SRC/agrif_opa_update.F90 – NEMO

Ignore:
Timestamp:
2011-11-25T16:42:54+01:00 (12 years ago)
Author:
cetlod
Message:

New dynamic allocation in NST modules

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/NST_SRC/agrif_opa_update.F90

    r3104 r3184  
    99   USE in_out_manager  ! I/O manager 
    1010   USE lib_mpp 
     11   USE wrk_nemo_2 
     12 
    1113   IMPLICIT NONE 
    1214   PRIVATE 
     
    2830      !!   *** ROUTINE Agrif_Update_Tra *** 
    2931      !!--------------------------------------------- 
    30       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    31       USE wrk_nemo, ONLY: wrk_4d_1 
    3232      !! 
    3333      INTEGER, INTENT(in) :: kt 
     
    3737      IF((Agrif_NbStepint() .NE. (Agrif_irhot()-1)).AND.(kt /= 0)) RETURN 
    3838#if defined TWO_WAY 
    39       IF( wrk_in_use(4, 1) ) THEN 
    40          CALL ctl_stop('agrif_update_tra: ERROR: requested workspace arrays unavailable') 
    41          RETURN 
    42       END IF 
    43       ztab => wrk_4d_1 
     39      CALL wrk_alloc( jpi, jpj, jpk, jpts, ztab ) 
    4440 
    4541      Agrif_UseSpecialValueInUpdate = .TRUE. 
     
    5450      Agrif_UseSpecialValueInUpdate = .FALSE. 
    5551 
    56       IF( wrk_not_released(4, 1) ) THEN 
    57          CALL ctl_stop('Agrif_Update_Tra: ERROR: failed to release workspace arrays') 
    58       END IF 
     52      CALL wrk_dealloc( jpi, jpj, jpk, jpts, ztab ) 
    5953#endif 
    6054 
     
    6559      !!   *** ROUTINE Agrif_Update_Dyn *** 
    6660      !!--------------------------------------------- 
    67       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    68       USE wrk_nemo, ONLY: wrk_2d_1 
    69       USE wrk_nemo, ONLY: wrk_3d_1 
    7061      !! 
    7162      INTEGER, INTENT(in) :: kt 
     
    7667      IF ((Agrif_NbStepint() .NE. (Agrif_irhot()-1)).AND.(kt /= 0)) Return 
    7768#if defined TWO_WAY 
    78       ztab => wrk_3d_1 ; ztab2d => wrk_2d_1 
    79       IF( ( wrk_in_use(2, 1)) .OR.  wrk_in_use(3, 1) )THEN 
    80          CALL ctl_stop('agrif_update_dyn: ERROR: requested workspace arrays unavailable') 
    81          RETURN 
    82       END IF 
     69      CALL wrk_alloc( jpi, jpj,      ztab2d ) 
     70      CALL wrk_alloc( jpi, jpj, jpk, ztab   ) 
    8371 
    8472      IF (mod(nbcline,nbclineupdate) == 0) THEN 
     
    10088      Agrif_UseSpecialValueInUpdate = .FALSE. 
    10189 
    102       IF( wrk_not_released(2, 1) .OR. wrk_not_released(3, 1) )THEN 
    103          CALL ctl_stop('agrif_update_dyn: ERROR: failed to release workspace arrays') 
    104       END IF 
     90      CALL wrk_dealloc( jpi, jpj,      ztab2d ) 
     91      CALL wrk_dealloc( jpi, jpj, jpk, ztab   ) 
    10592 
    10693!Done in step 
Note: See TracChangeset for help on using the changeset viewer.