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 2690 for branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90 – NEMO

Ignore:
Timestamp:
2011-03-15T16:27:46+01:00 (13 years ago)
Author:
gm
Message:

dynamic mem: #785 ; homogeneization of the coding style associated with dyn allocation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90

    r2648 r2690  
    296296   END SUBROUTINE dta_dyn 
    297297 
     298 
    298299   INTEGER FUNCTION dta_dyn_alloc() 
    299300      !!--------------------------------------------------------------------- 
     
    302303 
    303304      ALLOCATE( tdta    (jpi,jpj,jpk,2), sdta    (jpi,jpj,jpk,2),    & 
    304              udta    (jpi,jpj,jpk,2), vdta    (jpi,jpj,jpk,2),    & 
    305              wdta    (jpi,jpj,jpk,2), avtdta  (jpi,jpj,jpk,2),    & 
     305         &      udta    (jpi,jpj,jpk,2), vdta    (jpi,jpj,jpk,2),    & 
     306         &      wdta    (jpi,jpj,jpk,2), avtdta  (jpi,jpj,jpk,2),    & 
    306307#if defined key_ldfslp  
    307              uslpdta (jpi,jpj,jpk,2), vslpdta (jpi,jpj,jpk,2),    & 
    308              wslpidta(jpi,jpj,jpk,2), wslpjdta(jpi,jpj,jpk,2),    & 
     308         &      uslpdta (jpi,jpj,jpk,2), vslpdta (jpi,jpj,jpk,2),    & 
     309         &      wslpidta(jpi,jpj,jpk,2), wslpjdta(jpi,jpj,jpk,2),    & 
    309310#endif 
    310311#if defined key_degrad 
    311              ahtudta (jpi,jpj,jpk,2), ahtvdta (jpi,jpj,jpk,2),    & 
    312              ahtwdta (jpi,jpj,jpk,2),                             & 
     312         &      ahtudta (jpi,jpj,jpk,2), ahtvdta (jpi,jpj,jpk,2),    & 
     313         &      ahtwdta (jpi,jpj,jpk,2),                             & 
    313314# if defined key_traldf_eiv 
    314              aeiudta (jpi,jpj,jpk,2), aeivdta (jpi,jpj,jpk,2),    & 
    315              aeiwdta (jpi,jpj,jpk,2),                             & 
     315         &      aeiudta (jpi,jpj,jpk,2), aeivdta (jpi,jpj,jpk,2),    & 
     316         &      aeiwdta (jpi,jpj,jpk,2),                             & 
    316317# endif 
    317318#endif 
    318319#if ! defined key_degrad &&  defined key_traldf_c2d && defined key_traldf_eiv 
    319        &        aeiwdta (jpi,jpj,    2),                             & 
    320 #endif 
    321  
    322        &        hmlddta (jpi,jpj,    2), wspddta (jpi,jpj,    2),    & 
    323        &        frlddta (jpi,jpj,    2), qsrdta  (jpi,jpj,    2),    & 
    324        &        empdta  (jpi,jpj,    2),                         STAT=dta_dyn_alloc )  
    325  
    326       IF( dta_dyn_alloc /= 0 ) CALL ctl_warn('dta_dyn_alloc: failed to allocate facvol array.') 
    327  
     320         &      aeiwdta (jpi,jpj,    2),                             & 
     321#endif 
     322         &      hmlddta (jpi,jpj,    2), wspddta (jpi,jpj,    2),    & 
     323         &      frlddta (jpi,jpj,    2), qsrdta  (jpi,jpj,    2),    & 
     324         &      empdta  (jpi,jpj,    2),                         STAT=dta_dyn_alloc )  
     325         ! 
     326      IF( dta_dyn_alloc /= 0 )   CALL ctl_warn('dta_dyn_alloc: failed to allocate facvol array') 
     327      ! 
    328328   END FUNCTION dta_dyn_alloc 
     329 
    329330 
    330331   SUBROUTINE dynrea( kt, kenr ) 
     
    353354      INTEGER ::  jkenr 
    354355      !!---------------------------------------------------------------------- 
    355  
    356       ! 0. Memory allocation 
     356      !  
    357357      IF( wrk_in_use(3, 1,2,3,4,5,6,7,8,9,10,11,12,13) .OR. & 
    358358          wrk_in_use(2, 1,2,3,4,5,6,7,8,9,10)               ) THEN 
    359          CALL ctl_stop('domrea/dta_dyn: requested workspace arrays unavailable')  ;  RETURN 
    360       END IF 
     359         CALL ctl_stop('domrea/dta_dyn: requested workspace arrays unavailable')   ;   RETURN 
     360      ENDIF 
    361361       
    362362      ! cas d'un fichier non periodique : on utilise deux fois le premier et 
     
    488488      IF( wrk_not_released(3, 1,2,3,4,5,6,7,8,9,10,11,12,13) .OR. & 
    489489          wrk_not_released(2, 1,2,3,4,5,6,7,8,9,10)               ) THEN 
    490          CALL ctl_stop('domrea/dta_dyn: failed to release workspace arrays.') 
     490         CALL ctl_stop('domrea/dta_dyn: failed to release workspace arrays') 
    491491      END IF 
    492492      ! 
     
    503503      !!---------------------------------------------------------------------- 
    504504      REAL(wp) :: znspyr   !: number of time step per year 
    505       INTEGER  :: ierr 
    506       !! 
     505      ! 
    507506      NAMELIST/namdyn/ ndtadyn, ndtatot, nsptint, lperdyn,  & 
    508       &                cfile_grid_T, cfile_grid_U, cfile_grid_V, cfile_grid_W 
    509       !!---------------------------------------------------------------------- 
    510  
    511       ierr = dta_dyn_alloc() 
    512       IF( ierr /= 0 )  CALL ctl_stop( 'STOP', 'dta_dyn_alloc : unable to allocate standard ocean arrays' ) 
    513  
    514       !  Define the dynamical input parameters 
    515       ! ====================================== 
    516  
     507         &             cfile_grid_T, cfile_grid_U, cfile_grid_V, cfile_grid_W 
     508      !!---------------------------------------------------------------------- 
     509      ! 
     510      IF( dta_dyn_alloc() /= 0 )  CALL ctl_stop( 'STOP', 'dta_dyn_alloc: unable to allocate standard ocean arrays' ) 
     511      ! 
    517512      REWIND( numnam )              ! Read Namelist namdyn : Lateral physics on tracers 
    518513      READ  ( numnam, namdyn ) 
    519  
     514      ! 
    520515      IF(lwp) THEN                  ! control print 
    521516         WRITE(numout,*) 
     
    537532      ! 
    538533      znspyr   = nyear_len(1) * rday / rdt   
    539       rnspdta  = znspyr / FLOAT( ndtadyn ) 
     534      rnspdta  = znspyr / REAL( ndtadyn, wp ) 
    540535      rnspdta2 = rnspdta * 0.5  
    541536      ! 
Note: See TracChangeset for help on using the changeset viewer.