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_interp.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_interp.F90

    r2977 r3184  
    2727   USE agrif_opa_sponge 
    2828   USE lib_mpp 
     29   USE wrk_nemo_2 
    2930 
    3031   IMPLICIT NONE 
     
    4748      !!                  ***  ROUTINE Agrif_Tra  *** 
    4849      !!---------------------------------------------------------------------- 
    49       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    50       USE wrk_nemo, ONLY: wrk_4d_1 
    5150      !! 
    5251      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
     
    5857      IF( Agrif_Root() )   RETURN 
    5958 
    60       ztsa => wrk_4d_1  
    61       IF( wrk_in_use(4, 1) )THEN 
    62          CALL ctl_stop('agrif_tra: requested workspace arrays unavailable.') 
    63          RETURN 
    64       END IF 
     59      CALL wrk_alloc( jpi, jpj, jpk, jpts, ztsa )  
    6560 
    6661      Agrif_SpecialValue    = 0.e0 
     
    159154      ENDIF 
    160155      ! 
    161       IF( wrk_not_released(4, 1) ) THEN 
    162          CALL ctl_stop('agrif_tra: failed to release workspace arrays.') 
    163       ENDIF 
     156      CALL wrk_dealloc( jpi, jpj, jpk, jpts, ztsa )  
    164157      ! 
    165158   END SUBROUTINE Agrif_tra 
     
    170163      !!                  ***  ROUTINE Agrif_DYN  *** 
    171164      !!----------------------------------------------------------------------   
    172       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    173       USE wrk_nemo, ONLY: wrk_2d_4, wrk_2d_5 
    174       USE wrk_nemo, ONLY: wrk_2d_6, wrk_2d_7 
    175       USE wrk_nemo, ONLY: wrk_3d_1, wrk_3d_2 
    176165      !!  
    177166      INTEGER, INTENT(in) ::   kt 
     
    187176      IF( Agrif_Root() )   RETURN 
    188177 
    189       spgu1  => wrk_2d_4 ; spgv1 => wrk_2d_5 
    190       zua2d  => wrk_2d_6 ; zva2d => wrk_2d_7 
    191       zua  => wrk_3d_1 ; zva => wrk_3d_2 
    192       IF( wrk_in_use(2, 4,5,6,7) .OR. wrk_in_use(3, 1,2) )THEN 
    193          CALL ctl_stop('agrif_dyn: requested workspace arrays unavailable.') 
    194          RETURN 
    195       END IF 
     178      CALL wrk_alloc( jpi, jpj, spgv1, spgu1, zua2d, zva2d ) 
     179      CALL wrk_alloc( jpi, jpj, jpk, zua, zva ) 
    196180 
    197181      zrhox = Agrif_Rhox() 
     
    506490      ENDIF 
    507491      ! 
    508       IF( wrk_not_released(3, 1,2) .OR. wrk_not_released(2, 4,5,6,7)) THEN 
    509          CALL ctl_stop('agrif_dyn: failed to release workspace arrays.') 
    510       ENDIF 
     492      CALL wrk_dealloc( jpi, jpj, spgv1, spgu1, zua2d, zva2d ) 
     493      CALL wrk_dealloc( jpi, jpj, jpk, zua, zva ) 
    511494      ! 
    512495   END SUBROUTINE Agrif_dyn 
Note: See TracChangeset for help on using the changeset viewer.