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 3164 for branches/2011/dev_NEMO_MERGE_2011 – NEMO

Ignore:
Timestamp:
2011-11-21T14:41:25+01:00 (12 years ago)
Author:
cetlod
Message:

New dynamical allocation in some routines in OPA_SRC/LDF that have been just forgotten

Location:
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OPA_SRC
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90

    r3162 r3164  
    7272      !!---------------------------------------------------------------------- 
    7373      ! 
    74       IF( nn_timing == 1 )  CALL timing_start('day_init') 
    75       ! 
    7674      ! all calendar staff is based on the fact that MOD( rday, rdttra(1) ) == 0 
    7775      IF( MOD( rday     , rdttra(1) ) /= 0. )   CALL ctl_stop( 'the time step must devide the number of second of in a day' ) 
     
    130128      ! call day to set the calendar parameters at the begining of the current simulaton. needed by iom_init 
    131129      CALL day( nit000 ) 
    132       ! 
    133       IF( nn_timing == 1 )  CALL timing_stop('day_init') 
    134130      ! 
    135131   END SUBROUTINE day_init 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn.F90

    r2715 r3164  
    2323   USE lib_mpp         ! distribued memory computing library 
    2424   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
     25   USE wrk_nemo_2      ! Memory Allocation 
    2526 
    2627   IMPLICIT NONE 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_c2d.h90

    r2715 r3164  
    140140      !!---------------------------------------------------------------------- 
    141141      USE ldftra_oce, ONLY:   aht0 
    142       USE wrk_nemo  , ONLY:   iwrk_in_use, iwrk_not_released 
    143       USE wrk_nemo  , ONLY:   icof => iwrk_2d_1 
    144142      ! 
    145143      LOGICAL, INTENT (in) ::   ld_print   ! If true, output arrays on numout 
     
    150148      REAL(wp) ::   zahmeq, zcoft, zcoff, zmsk 
    151149      CHARACTER (len=15) ::   clexp 
    152       INTEGER, DIMENSION(jpidta,jpidta) ::   idata 
    153       !!---------------------------------------------------------------------- 
    154  
    155       IF( iwrk_in_use(2, 1) )THEN 
    156          CALL ctl_stop('ldf_dyn_c2d_orca: requested workspace array is unavailable')   ;   RETURN 
    157       ENDIF 
    158  
     150      INTEGER, POINTER, DIMENSION(:,:)  :: icof 
     151      INTEGER, POINTER, DIMENSION(:,:)  :: idata 
     152      !!---------------------------------------------------------------------- 
     153      !                                 
     154      CALL wrk_alloc( jpi   , jpj   , icof  ) 
     155      CALL wrk_alloc( jpidta, jpjdta, idata ) 
     156      ! 
    159157      IF(lwp) WRITE(numout,*) 
    160158      IF(lwp) WRITE(numout,*) 'inildf: 2d eddy viscosity coefficient' 
     
    280278         CALL prihre(ahm2,jpi,jpj,1,jpi,1,1,jpj,1,1.e-3,numout) 
    281279      ENDIF 
    282  
    283       IF( iwrk_not_released(2, 1) )   CALL ctl_stop('ldf_dyn_c2d_orca: failed to release workspace array') 
     280      ! 
     281      CALL wrk_dealloc( jpi   , jpj   , icof  ) 
     282      CALL wrk_dealloc( jpidta, jpjdta, idata ) 
    284283      ! 
    285284   END SUBROUTINE ldf_dyn_c2d_orca 
     
    302301      !!---------------------------------------------------------------------- 
    303302      USE ldftra_oce, ONLY:   aht0 
    304       USE wrk_nemo  , ONLY:   iwrk_in_use, iwrk_not_released 
    305       USE wrk_nemo  , ONLY:   icof => iwrk_2d_1 
    306303      ! 
    307304      LOGICAL, INTENT (in) ::   ld_print   ! If true, output arrays on numout 
     
    313310      REAL(wp) ::   zahmeq, zcoft, zcoff, zmsk, zam20s 
    314311      CHARACTER (len=15) ::   clexp 
    315       INTEGER, DIMENSION(jpidta,jpidta) ::   idata 
    316       !!---------------------------------------------------------------------- 
    317  
    318       IF( iwrk_in_use(2, 1) ) THEN 
    319          CALL ctl_stop('ldf_dyn_c2d_orca_R1: requested workspace array is unavailable')   ;   RETURN 
    320       ENDIF 
     312      INTEGER, POINTER, DIMENSION(:,:)  :: icof 
     313      INTEGER, POINTER, DIMENSION(:,:)  :: idata 
     314      !!---------------------------------------------------------------------- 
     315      !                                 
     316      CALL wrk_alloc( jpi   , jpj   , icof  ) 
     317      CALL wrk_alloc( jpidta, jpjdta, idata ) 
     318      !                                 
    321319 
    322320      IF(lwp) WRITE(numout,*) 
     
    450448         CALL prihre(ahm2,jpi,jpj,1,jpi,1,1,jpj,1,1.e-3,numout) 
    451449      ENDIF 
    452  
    453       IF( iwrk_not_released(2, 1) )   CALL ctl_stop('ldf_dyn_c2d_orca_R1: failed to release workspace array') 
     450      ! 
     451      CALL wrk_dealloc( jpi   , jpj   , icof  ) 
     452      CALL wrk_dealloc( jpidta, jpjdta, idata ) 
    454453      ! 
    455454   END SUBROUTINE ldf_dyn_c2d_orca_R1 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_c3d.h90

    r2715 r3164  
    2727      !!---------------------------------------------------------------------- 
    2828      USE ldftra_oce, ONLY :   aht0 
    29       USE wrk_nemo  , ONLY:   wrk_in_use, wrk_not_released 
    30       USE wrk_nemo  , ONLY:   zcoef => wrk_1d_2 
    3129      !! 
    3230      LOGICAL, INTENT (in) ::   ld_print   ! If true, output arrays on numout 
     
    3735      REAL(wp) ::   zd_max       ! maximum grid spacing over the global domain 
    3836      REAL(wp) ::   za00, zc, zd, zetmax, zefmax, zeumax, zevmax   ! local scalars 
    39       !!---------------------------------------------------------------------- 
    40  
    41       IF( wrk_in_use(1,2) ) THEN 
    42          CALL ctl_stop('ldf_dyn_c3d: requested workspace array unavailable')   ;   RETURN 
    43       ENDIF 
    44  
     37      REAL(wp), POINTER, DIMENSION(:) :: zcoef    
     38      !!---------------------------------------------------------------------- 
     39      ! 
     40      CALL wrk_alloc( jpk, zcoef ) 
     41      ! 
    4542      IF(lwp) WRITE(numout,*) 
    4643      IF(lwp) WRITE(numout,*) 'ldf_dyn_c3d : 3D lateral eddy viscosity coefficient' 
     
    182179      ENDIF 
    183180      ! 
    184       IF( wrk_not_released(1,2) )   CALL ctl_stop('ldf_dyn_c3d: failed to release workspace array') 
     181      CALL wrk_dealloc( jpk, zcoef ) 
    185182      ! 
    186183   END SUBROUTINE ldf_dyn_c3d 
     
    196193      !!---------------------------------------------------------------------- 
    197194      USE ldftra_oce, ONLY:   aht0 
    198       USE wrk_nemo  , ONLY:   wrk_in_use, wrk_not_released, iwrk_in_use, iwrk_not_released 
    199       USE wrk_nemo  , ONLY:   icof  => iwrk_2d_1 
    200       USE wrk_nemo  , ONLY:   zahm0 =>  wrk_2d_1 
    201       USE wrk_nemo  , ONLY:   zcoef =>  wrk_1d_1 
    202195      !! 
    203196      LOGICAL, INTENT(in) ::   ld_print   ! If true, output arrays on numout 
     
    207200      INTEGER ::   inum, iim, ijm      !  
    208201      INTEGER ::   ifreq, il1, il2, ij, ii 
    209       INTEGER, DIMENSION(jpidta, jpjdta) ::   idata 
    210  
    211202      REAL(wp) ::   zahmeq, zcoff, zcoft, zmsk   ! local scalars 
    212203      REAL(wp) ::   zemax , zemin, zeref, zahmm 
    213204      CHARACTER (len=15) ::   clexp 
    214       !!---------------------------------------------------------------------- 
    215  
    216       IF( iwrk_in_use(2,1) .OR. wrk_in_use(2,1) .OR. wrk_in_use(1,1) ) THEN 
    217          CALL ctl_stop('ldf_dyn_c3d_orca: requested workspace arrays are unavailable')   ;   RETURN 
    218       ENDIF 
    219  
     205      INTEGER , POINTER, DIMENSION(:,:)  :: icof 
     206      INTEGER , POINTER, DIMENSION(:,:)  :: idata 
     207      REAL(wp), POINTER, DIMENSION(:  )  :: zcoef    
     208      REAL(wp), POINTER, DIMENSION(:,:)  :: zahm0 
     209      !!---------------------------------------------------------------------- 
     210      ! 
     211      CALL wrk_alloc( jpi   , jpj   , icof  ) 
     212      CALL wrk_alloc( jpidta, jpjdta, idata ) 
     213      CALL wrk_alloc( jpk   ,         zcoef ) 
     214      CALL wrk_alloc( jpi   , jpj   , zahm0 ) 
     215      ! 
    220216      IF(lwp) WRITE(numout,*) 
    221217      IF(lwp) WRITE(numout,*) 'ldfdyn_c3d_orca : 3D eddy viscosity coefficient' 
     
    457453         CALL prihre(ahm4(:,:,1),jpi,jpj,1,jpi,1,1,jpj,1,1.e-3,numout) 
    458454      ENDIF 
    459  
    460       IF( iwrk_not_released(2,1) .OR.   & 
    461            wrk_not_released(2,1) .OR.   & 
    462            wrk_not_released(1,1)   ) CALL ctl_stop('ldf_dyn_c3d_orca: failed to release workspace arrays') 
     455      ! 
     456      CALL wrk_dealloc( jpi   , jpj   , icof  ) 
     457      CALL wrk_dealloc( jpidta, jpjdta, idata ) 
     458      CALL wrk_dealloc( jpk   ,         zcoef ) 
     459      CALL wrk_dealloc( jpi   , jpj   , zahm0 ) 
    463460      ! 
    464461   END SUBROUTINE ldf_dyn_c3d_orca 
Note: See TracChangeset for help on using the changeset viewer.