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 |
---|