- Timestamp:
- 2011-02-26T13:31:38+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90
r2590 r2618 27 27 PUBLIC dom_vvl_alloc ! called by nemogcm.F90 28 28 29 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:):: ee_t, ee_u, ee_v, ee_f !: ???30 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: mut , muu, muv, muf!: ???31 32 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:):: r2dt ! vertical profile time-step, = 2 rdttra33 ! ! except at nit000 (=rdttra) if neuler=029 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: ee_t, ee_u, ee_v, ee_f !: ??? 30 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: mut , muu , muv , muf !: ??? 31 32 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) :: r2dt ! vertical profile time-step, = 2 rdttra 33 ! ! except at nit000 (=rdttra) if neuler=0 34 34 35 35 !! * Substitutions … … 37 37 # include "vectopt_loop_substitute.h90" 38 38 !!---------------------------------------------------------------------- 39 !! NEMO/OPA 3.3 , NEMO Consortium (2010)39 !! NEMO/OPA 4.0 , NEMO Consortium (2011) 40 40 !! $Id$ 41 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 42 !!---------------------------------------------------------------------- 43 41 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 42 !!---------------------------------------------------------------------- 44 43 CONTAINS 45 44 46 FUNCTION dom_vvl_alloc()45 INTEGER FUNCTION dom_vvl_alloc() 47 46 !!---------------------------------------------------------------------- 48 47 !! *** ROUTINE dom_vvl_alloc *** 49 48 !!---------------------------------------------------------------------- 50 IMPLICIT none 51 INTEGER :: dom_vvl_alloc 52 !!---------------------------------------------------------------------- 53 54 ALLOCATE(mut(jpi,jpj,jpk), muu(jpi,jpj,jpk), muv(jpi,jpj,jpk), & 55 muf(jpi,jpj,jpk), & 56 ee_t(jpi,jpj), ee_u(jpi,jpj), ee_v(jpi,jpj), ee_f(jpi,jpj), & 57 r2dt(jpk), Stat=dom_vvl_alloc) 58 59 IF(dom_vvl_alloc /= 0)THEN 60 CALL ctl_warn('dom_vvl_alloc: failed to allocate arrays') 61 END IF 62 49 ! 50 ALLOCATE( mut (jpi,jpj,jpk) , muu (jpi,jpj,jpk) , muv (jpi,jpj,jpk) , muf (jpi,jpj,jpk) , & 51 & ee_t(jpi,jpj) , ee_u(jpi,jpj) , ee_v(jpi,jpj) , ee_f(jpi,jpj) , & 52 & r2dt(jpk) , STAT=dom_vvl_alloc) 53 ! 54 IF( lk_mpp ) CALL mpp_sum ( dom_vvl_alloc ) 55 IF( dom_vvl_alloc /= 0 ) CALL ctl_warn('dom_vvl_alloc: failed to allocate arrays') 56 ! 63 57 END FUNCTION dom_vvl_alloc 64 58 … … 71 65 !! ssh over the whole water column (scale factors) 72 66 !!---------------------------------------------------------------------- 73 USE wrk_nemo, ONLY: wrk_use, wrk_release74 USE wrk_nemo, ONLY: zs_t => wrk_2d_1, zs_u_1 => wrk_2d_2, &75 67 USE wrk_nemo, ONLY: wrk_use, wrk_release 68 USE wrk_nemo, ONLY: zs_t => wrk_2d_1, zs_u_1 => wrk_2d_2 69 USE wrk_nemo, ONLY: zs_v_1 => wrk_2d_3 76 70 !! 77 71 INTEGER :: ji, jj, jk 78 REAL(wp) :: zcoefu , zcoefv , zcoeff ! temporaryscalars79 REAL(wp) :: zv_t_ij, zv_t_ip1j, zv_t_ijp1, zv_t_ip1jp1 ! --72 REAL(wp) :: zcoefu , zcoefv , zcoeff ! local scalars 73 REAL(wp) :: zv_t_ij, zv_t_ip1j, zv_t_ijp1, zv_t_ip1jp1 ! - - 80 74 !!---------------------------------------------------------------------- 81 75 82 76 IF(.not. wrk_use(2, 1,2,3))THEN 83 CALL ctl_stop('dom_vvl: ERROR - requested workspace arrays unavailable.') 84 RETURN 77 CALL ctl_stop('dom_vvl: ERROR - requested workspace arrays unavailable.') ; RETURN 85 78 END IF 86 79 87 IF(lwp) 80 IF(lwp) THEN 88 81 WRITE(numout,*) 89 WRITE(numout,*) 'dom_vvl : Variable volume activated'82 WRITE(numout,*) 'dom_vvl : Variable volume initialization' 90 83 WRITE(numout,*) '~~~~~~~~ compute coef. used to spread ssh over each layers' 91 84 ENDIF 92 85 86 IF( dom_vvl_alloc /= 0 ) CALL ctl_stop( 'STOP', 'dom_vvl : unable to allocate arrays' ) 93 87 94 88 fsdept(:,:,:) = gdept (:,:,:)
Note: See TracChangeset
for help on using the changeset viewer.