Changeset 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg.F90
- Timestamp:
- 2012-01-28T17:44:18+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg.F90
r2715 r3294 15 15 USE dom_oce ! ocean space and time domain variables 16 16 USE phycst ! physical constants 17 USE obc_oce ! ocean open boundary conditions18 17 USE sbc_oce ! surface boundary condition: ocean 19 18 USE sbcapr ! surface boundary condition: atmospheric pressure … … 29 28 USE lib_mpp ! MPP library 30 29 USE solver ! solver initialization 30 USE wrk_nemo ! Memory Allocation 31 USE timing ! Timing 32 31 33 32 34 IMPLICIT NONE … … 74 76 !! of the physical meaning of the results. 75 77 !!---------------------------------------------------------------------- 76 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released77 USE wrk_nemo, ONLY: ztrdu => wrk_3d_4 , ztrdv => wrk_3d_5 ! 3D workspace78 78 ! 79 79 INTEGER, INTENT(in ) :: kt ! ocean time-step index … … 82 82 INTEGER :: ji, jj, jk ! dummy loop indices 83 83 REAL(wp) :: z2dt, zg_2 ! temporary scalar 84 !!----------------------------------------------------------------------85 86 IF( wrk_in_use(3, 4,5) ) THEN87 CALL ctl_stop('dyn_spg: requested workspace arrays unavailable') ; RETURN88 ENDIF84 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv 85 !!---------------------------------------------------------------------- 86 ! 87 IF( nn_timing == 1 ) CALL timing_start('dyn_spg') 88 ! 89 89 90 90 !!gm NOTA BENE : the dynspg_exp and dynspg_ts should be modified so that … … 94 94 95 95 IF( l_trddyn ) THEN ! temporary save of ta and sa trends 96 CALL wrk_alloc( jpi, jpj, jpk, ztrdu, ztrdv ) 96 97 ztrdu(:,:,:) = ua(:,:,:) 97 98 ztrdv(:,:,:) = va(:,:,:) … … 149 150 END SELECT 150 151 CALL trd_mod( ztrdu, ztrdv, jpdyn_trd_spg, 'DYN', kt ) 152 ! 153 CALL wrk_dealloc( jpi, jpj, jpk, ztrdu, ztrdv ) 151 154 ENDIF 152 155 ! ! print mean trends (used for debugging) … … 154 157 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 155 158 ! 156 IF( wrk_not_released(3, 4,5) ) CALL ctl_stop('dyn_spg: failed to release workspace arrays')159 IF( nn_timing == 1 ) CALL timing_stop('dyn_spg') 157 160 ! 158 161 END SUBROUTINE dyn_spg … … 168 171 INTEGER :: ioptio 169 172 !!---------------------------------------------------------------------- 170 173 ! 174 IF( nn_timing == 1 ) CALL timing_start('dyn_spg_init') 175 ! 171 176 IF(lwp) THEN ! Control print 172 177 WRITE(numout,*) … … 221 226 IF( .NOT.ln_dynadv_vec ) CALL ctl_stop( 'Flux form not implemented for this free surface formulation' ) 222 227 ENDIF 223 224 #if defined key_obc 225 ! ! Conservation of ocean volume (key_dynspg_flt) 226 IF( lk_dynspg_flt ) ln_vol_cst = .true. 227 228 ! ! Application of Flather's algorithm at open boundaries 229 IF( lk_dynspg_flt ) ln_obc_fla = .false. 230 IF( lk_dynspg_exp ) ln_obc_fla = .true. 231 IF( lk_dynspg_ts ) ln_obc_fla = .true. 232 #endif 228 ! 229 IF( nn_timing == 1 ) CALL timing_stop('dyn_spg_init') 233 230 ! 234 231 END SUBROUTINE dyn_spg_init
Note: See TracChangeset
for help on using the changeset viewer.