Changeset 901 for trunk/NEMO/OPA_SRC/LDF/ldfdyn_c2d.h90
- Timestamp:
- 2008-04-22T21:16:18+02:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/LDF/ldfdyn_c2d.h90
r719 r901 36 36 37 37 !! * Local variables 38 REAL(wp) :: za00, zdx_max 38 INTEGER :: ji, jj 39 REAL(wp) :: za00, zd_max, zetmax, zeumax, zefmax, zevmax 39 40 !!---------------------------------------------------------------------- 40 41 … … 50 51 ! (USER: modify ahm1 and ahm2 following your desiderata) 51 52 52 zd x_max = MAXVAL( e1t(:,:) )53 IF( lk_mpp ) CALL mpp_max( zd x_max ) ! max over the global domain53 zd_max = MAX( MAXVAL( e1t(:,:) ), MAXVAL( e2t(:,:) ) ) 54 IF( lk_mpp ) CALL mpp_max( zd_max ) ! max over the global domain 54 55 55 56 IF(lwp) WRITE(numout,*) ' laplacian operator: ahm proportional to e1' 56 IF(lwp) WRITE(numout,*) ' Caution, here we assume your mesh is isotropic ...' 57 IF(lwp) WRITE(numout,*) ' maximum grid-spacing = ', zdx_max, ' maximum value for ahm = ', ahm0 58 59 za00 = ahm0 / zdx_max 60 ahm1(:,:) = za00 * e1t(:,:) 61 ahm2(:,:) = za00 * e1f(:,:) 57 IF(lwp) WRITE(numout,*) ' maximum grid-spacing = ', zd_max, ' maximum value for ahm = ', ahm0 58 59 za00 = ahm0 / zd_max 60 DO jj = 1, jpj 61 DO ji = 1, jpi 62 zetmax = MAX( e1t(ji,jj), e2t(ji,jj) ) 63 zefmax = MAX( e1f(ji,jj), e2f(ji,jj) ) 64 ahm1(ji,jj) = za00 * zetmax 65 ahm2(ji,jj) = za00 * zefmax 66 END DO 67 END DO 62 68 63 69 IF( ln_dynldf_iso ) THEN … … 90 96 ! in the to horizontal direction 91 97 92 zd x_max = MAXVAL( e1u(:,:) )93 IF( lk_mpp ) CALL mpp_max( zd x_max ) ! max over the global domain98 zd_max = MAX( MAXVAL( e1u(:,:) ), MAXVAL( e2u(:,:) ) ) 99 IF( lk_mpp ) CALL mpp_max( zd_max ) ! max over the global domain 94 100 95 101 IF(lwp) WRITE(numout,*) ' bi-laplacian operator: ahm proportional to e1**3 ' 96 IF(lwp) WRITE(numout,*) ' Caution, here we assume your mesh is isotropic ...' 97 IF(lwp) WRITE(numout,*) ' maximum grid-spacing = ', zdx_max, ' maximum value for ahm = ', ahm0 98 99 za00 = ahm0 / ( zdx_max * zdx_max * zdx_max ) 100 ahm3(:,:) = za00 * e1u(:,:) * e1u(:,:) * e1u(:,:) 101 ahm4(:,:) = za00 * e1v(:,:) * e1v(:,:) * e1v(:,:) 102 IF(lwp) WRITE(numout,*) ' maximum grid-spacing = ', zd_max, ' maximum value for ahm = ', ahm0 103 104 za00 = ahm0 / ( zd_max * zd_max * zd_max ) 105 DO jj = 1, jpj 106 DO ji = 1, jpi 107 zeumax = MAX( e1u(ji,jj), e2u(ji,jj) ) 108 zevmax = MAX( e1v(ji,jj), e2v(ji,jj) ) 109 ahm3(ji,jj) = za00 * zeumax * zeumax * zeumax 110 ahm4(ji,jj) = za00 * zevmax * zevmax * zevmax 111 END DO 112 END DO 102 113 103 114 ! Control print
Note: See TracChangeset
for help on using the changeset viewer.