[3] | 1 | !!---------------------------------------------------------------------- |
---|
| 2 | !! *** ldfdyn_2d.h90 *** |
---|
| 3 | !!---------------------------------------------------------------------- |
---|
| 4 | |
---|
| 5 | !!---------------------------------------------------------------------- |
---|
| 6 | !! OPA 9.0 , LODYC-IPSL (2003) |
---|
| 7 | !!---------------------------------------------------------------------- |
---|
| 8 | |
---|
| 9 | SUBROUTINE ldf_dyn_2d( ld_print ) |
---|
| 10 | !!---------------------------------------------------------------------- |
---|
| 11 | !! *** ROUTINE ldf_dyn_2d *** |
---|
| 12 | !! |
---|
| 13 | !! ** Purpose : initializations of the horizontal ocean physics |
---|
| 14 | !! |
---|
| 15 | !! ** Method : |
---|
| 16 | !! ORCA05 OCEAN VERSION with bilaplacian |
---|
| 17 | !! |
---|
| 18 | !! 2D eddy viscosity coefficients ( longitude, latitude ) |
---|
| 19 | !! |
---|
| 20 | !! biharmonic operator : ahm1 is defined at u-point |
---|
| 21 | !! ahm2 is defined at v-point |
---|
| 22 | !! : ahm3, ahm4 not used |
---|
| 23 | !! |
---|
| 24 | !!---------------------------------------------------------------------- |
---|
| 25 | !! * Arguments |
---|
| 26 | LOGICAL, INTENT(in) :: ld_print ! print coef. in numout |
---|
| 27 | |
---|
| 28 | !! * Local variables |
---|
| 29 | REAL(wp) :: za00, zdx |
---|
| 30 | !!---------------------------------------------------------------------- |
---|
| 31 | |
---|
| 32 | IF(lwp) WRITE(numout,*) |
---|
| 33 | IF(lwp) WRITE(numout,*) 'inildf: 2d eddy viscosity coefficient for bilaplacian' |
---|
| 34 | IF(lwp) WRITE(numout,*) '~~~~~~ --' |
---|
| 35 | |
---|
| 36 | ! Read 2d integer array to specify western boundary increase in the |
---|
| 37 | ! ===================== equatorial strip (20N-20S) defined at t-points |
---|
| 38 | |
---|
| 39 | ! Set ahm1 and ahm2 |
---|
| 40 | ! ================= |
---|
| 41 | |
---|
| 42 | ! define ahm1 and ahm2 at the right grid point position |
---|
| 43 | ! biharmonic : ahm1 (ahm2) defined at u- (v-) point |
---|
| 44 | |
---|
| 45 | zdx = ra * rad * 0.5 |
---|
| 46 | za00 = ahm0/(zdx*zdx*zdx) |
---|
| 47 | |
---|
| 48 | IF(lwp) WRITE(numout,*) ' orca05 ocean model eq resolution = ', zdx, ' eq ahm = ' ahm0 |
---|
| 49 | IF(lwp) WRITE(numout,*) ' zdx=', zdx |
---|
| 50 | DO jj = 1, jpj |
---|
| 51 | DO ji = 1, jpi |
---|
| 52 | ahm1(ji,jj) = za00 * e1u(ji,jj) * e1u(ji,jj) * e1u(ji,jj) |
---|
| 53 | ahm2(ji,jj) = za00 * e1v(ji,jj) * e1v(ji,jj) * e1v(ji,jj) |
---|
| 54 | END DO |
---|
| 55 | END DO |
---|
| 56 | |
---|
| 57 | ! Control print |
---|
| 58 | IF( lwp .AND. ld_print ) THEN |
---|
| 59 | WRITE(numout,*) |
---|
| 60 | WRITE(numout,*) 'inildf: 2D ahm1 array' |
---|
| 61 | CALL prihre(ahm1,jpi,jpj,1,jpi,1,1,jpj,1,1.e-3,numout) |
---|
| 62 | WRITE(numout,*) |
---|
| 63 | WRITE(numout,*) 'inildf: 2D ahm2 array' |
---|
| 64 | CALL prihre(ahm2,jpi,jpj,1,jpi,1,1,jpj,1,1.e-3,numout) |
---|
| 65 | ENDIF |
---|
| 66 | |
---|
| 67 | END SUBROUTINE ldf_dyn_2d |
---|