Changeset 6140 for trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynbfr.F90
- Timestamp:
- 2015-12-21T12:35:23+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynbfr.F90
r5120 r6140 29 29 30 30 !! * Substitutions 31 # include "domzgr_substitute.h90"32 # include "zdfddm_substitute.h90"33 31 # include "vectopt_loop_substitute.h90" 34 32 !!---------------------------------------------------------------------- … … 65 63 zm1_2dt = - 1._wp / ( 2._wp * rdt ) 66 64 67 IF( l_trddyn ) THEN ! temporary save of ua and vatrends68 CALL wrk_alloc( jpi,jpj,jpk, ztrdu, ztrdv )65 IF( l_trddyn ) THEN ! trends: store the input trends 66 CALL wrk_alloc( jpi,jpj,jpk, ztrdu, ztrdv ) 69 67 ztrdu(:,:,:) = ua(:,:,:) 70 68 ztrdv(:,:,:) = va(:,:,:) … … 78 76 ! 79 77 ! Apply stability criteria on absolute value : abs(bfr/e3) < 1/(2dt) => bfr/e3 > -1/(2dt) 80 ua(ji,jj,ikbu) = ua(ji,jj,ikbu) + MAX( bfrua(ji,jj) / fse3u(ji,jj,ikbu) , zm1_2dt ) * ub(ji,jj,ikbu)81 va(ji,jj,ikbv) = va(ji,jj,ikbv) + MAX( bfrva(ji,jj) / fse3v(ji,jj,ikbv) , zm1_2dt ) * vb(ji,jj,ikbv)78 ua(ji,jj,ikbu) = ua(ji,jj,ikbu) + MAX( bfrua(ji,jj) / e3u_n(ji,jj,ikbu) , zm1_2dt ) * ub(ji,jj,ikbu) 79 va(ji,jj,ikbv) = va(ji,jj,ikbv) + MAX( bfrva(ji,jj) / e3v_n(ji,jj,ikbv) , zm1_2dt ) * vb(ji,jj,ikbv) 82 80 END DO 83 81 END DO 84 85 IF ( ln_isfcav ) THEN82 ! 83 IF( ln_isfcav ) THEN ! ocean cavities 86 84 DO jj = 2, jpjm1 87 85 DO ji = 2, jpim1 … … 91 89 ! 92 90 ! Apply stability criteria on absolute value : abs(bfr/e3) < 1/(2dt) => bfr/e3 > -1/(2dt) 93 ua(ji,jj,ikbu) = ua(ji,jj,ikbu) + MAX( tfrua(ji,jj) / fse3u(ji,jj,ikbu) , zm1_2dt ) * ub(ji,jj,ikbu) &91 ua(ji,jj,ikbu) = ua(ji,jj,ikbu) + MAX( tfrua(ji,jj) / e3u_n(ji,jj,ikbu) , zm1_2dt ) * ub(ji,jj,ikbu) & 94 92 & * (1.-umask(ji,jj,1)) 95 va(ji,jj,ikbv) = va(ji,jj,ikbv) + MAX( tfrva(ji,jj) / fse3v(ji,jj,ikbv) , zm1_2dt ) * vb(ji,jj,ikbv) &93 va(ji,jj,ikbv) = va(ji,jj,ikbv) + MAX( tfrva(ji,jj) / e3v_n(ji,jj,ikbv) , zm1_2dt ) * vb(ji,jj,ikbv) & 96 94 & * (1.-vmask(ji,jj,1)) 97 95 ! (ISF) … … 99 97 END DO 100 98 END IF 101 102 99 ! 103 IF( l_trddyn ) THEN ! save the vertical diffusive trendsfor further diagnostics100 IF( l_trddyn ) THEN ! trends: send trends to trddyn for further diagnostics 104 101 ztrdu(:,:,:) = ua(:,:,:) - ztrdu(:,:,:) 105 102 ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 106 103 CALL trd_dyn( ztrdu(:,:,:), ztrdv(:,:,:), jpdyn_bfr, kt ) 107 CALL wrk_dealloc( jpi,jpj,jpk, ztrdu, ztrdv )104 CALL wrk_dealloc( jpi,jpj,jpk, ztrdu, ztrdv ) 108 105 ENDIF 109 106 ! ! print mean trends (used for debugging)
Note: See TracChangeset
for help on using the changeset viewer.