- Timestamp:
- 2011-03-15T15:49:11+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r2684 r2689 53 53 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ftsw, ftse ! (only used with een vorticity scheme) 54 54 55 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: un_b, vn_b 56 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: ub_b, vb_b 55 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: un_b, vn_b ! now averaged velocity 56 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: ub_b, vb_b ! before averaged velocity 57 57 58 58 !! * Substitutions … … 70 70 !! *** routine dyn_spg_ts_alloc *** 71 71 !!---------------------------------------------------------------------- 72 ! 73 ALLOCATE( ftnw (jpi,jpj) , ftne (jpi,jpj) , ftsw (jpi,jpj) , ftse (jpi,jpj) , & 74 & un_b (jpi,jpj) , vn_b (jpi,jpj) , ub_b (jpi,jpj) , vb_b (jpi,jpj) , ua_e (jpi,jpj) , va_e (jpi,jpj) , & 75 & sshn_e(jpi,jpj) , ssha_e(jpi,jpj) , sshn_b(jpi,jpj) , & 76 & hu_e (jpi,jpj) , hv_e (jpi,jpj) , hur_e (jpi,jpj) , hvr_e(jpi,jpj) , STAT=dyn_spg_ts_alloc ) 77 IF(lk_mpp) CALL mpp_sum( dyn_spg_ts_alloc ) 72 ALLOCATE( ftnw (jpi,jpj) , ftne(jpi,jpj) , un_b(jpi,jpj) , vn_b(jpi,jpj) , & 73 & ftsw (jpi,jpj) , ftse(jpi,jpj) , ub_b(jpi,jpj) , vb_b(jpi,jpj) , STAT= dyn_spg_ts_alloc ) 74 ! 75 IF( lk_mpp ) CALL mpp_sum( dyn_spg_ts_alloc ) 76 IF( dyn_spg_ts_alloc /= 0 ) CALL ctl_warn('dynspg_oce_alloc: failed to allocate arrays') 78 77 ! 79 78 END FUNCTION dyn_spg_ts_alloc … … 107 106 !! References : Griffies et al., (2003): A technical guide to MOM4. NOAA/GFDL 108 107 !!--------------------------------------------------------------------- 109 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 110 USE wrk_nemo, ONLY: zhdiv => wrk_2d_1, zsshb_e => wrk_2d_2 111 USE wrk_nemo, ONLY: zbfru => wrk_2d_3 , zbfrv => wrk_2d_4 112 USE wrk_nemo, ONLY: zsshun_e => wrk_2d_5, zsshvn_e => wrk_2d_6 113 USE wrk_nemo, ONLY: zcu => wrk_2d_7, zwx => wrk_2d_8, zua => wrk_2d_9, zun => wrk_2d_10 114 USE wrk_nemo, ONLY: zcv => wrk_2d_11, zwy => wrk_2d_12, zva => wrk_2d_13, zvn => wrk_2d_14 115 USE wrk_nemo, ONLY: zun_e => wrk_2d_15, zub_e => wrk_2d_16, zu_sum => wrk_2d_17 116 USE wrk_nemo, ONLY: zvn_e => wrk_2d_18, zvb_e => wrk_2d_19, zv_sum => wrk_2d_20 117 USE wrk_nemo, ONLY: zssh_sum => wrk_2d_21 118 !! 108 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 109 USE wrk_nemo, ONLY: zsshun_e => wrk_2d_1 , zsshb_e => wrk_2d_2 , zhdiv => wrk_2d_3 110 USE wrk_nemo, ONLY: zsshvn_e => wrk_2d_4 , zssh_sum => wrk_2d_5 111 USE wrk_nemo, ONLY: zcu => wrk_2d_6 , zwx => wrk_2d_7 , zua => wrk_2d_8 , zbfru => wrk_2d_9 112 USE wrk_nemo, ONLY: zcv => wrk_2d_10 , zwy => wrk_2d_11 , zva => wrk_2d_12 , zbfrv => wrk_2d_13 113 USE wrk_nemo, ONLY: zun => wrk_2d_14 , zun_e => wrk_2d_15 , zub_e => wrk_2d_16 , zu_sum => wrk_2d_17 114 USE wrk_nemo, ONLY: zvn => wrk_2d_18 , zvn_e => wrk_2d_19 , zvb_e => wrk_2d_20 , zv_sum => wrk_2d_21 115 ! 119 116 INTEGER, INTENT(in) :: kt ! ocean time-step index 120 ! !117 ! 121 118 INTEGER :: ji, jj, jk, jn ! dummy loop indices 122 119 INTEGER :: icycle ! local scalar … … 128 125 !!---------------------------------------------------------------------- 129 126 130 IF( wrk_in_use(2, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 127 IF( wrk_in_use(2, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, & 131 128 & 11,12,13,14,15,16,17,18,19,20,21 ) ) THEN 132 129 CALL ctl_stop( 'dyn_spg_ts: requested workspace arrays unavailable' ) ; RETURN 133 END 130 ENDIF 134 131 135 132 IF( kt == nit000 ) THEN !* initialisation … … 567 564 IF( wrk_not_released(2, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, & 568 565 & 11,12,13,14,15,16,17,18,19,20,21) ) & 569 CALL ctl_stop('dyn_spg_ts: failed to release workspace arrays .')566 CALL ctl_stop('dyn_spg_ts: failed to release workspace arrays') 570 567 ! 571 568 END SUBROUTINE dyn_spg_ts … … 642 639 643 640 IF( iom_varid( numror, 'sshn_b', ldstop = .FALSE. ) > 0 ) THEN 644 CALL iom_get( numror, jpdom_autoglo, 'sshn_b' , sshn_b (:,:) ) ! filtered extrenalssh641 CALL iom_get( numror, jpdom_autoglo, 'sshn_b' , sshn_b (:,:) ) ! filtered ssh 645 642 ELSE 646 sshn_b(:,:) =sshb(:,:) ! if not in restart set previous time mean to current baroclinic before value643 sshn_b(:,:) = sshb(:,:) ! if not in restart set previous time mean to current baroclinic before value 647 644 ENDIF 648 645 ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN
Note: See TracChangeset
for help on using the changeset viewer.