1 | subroutine set_diffusion |
---|
2 | |
---|
3 | ! routine to set the diffusivity profiles, Km_of_z and Kt_of_z |
---|
4 | |
---|
5 | use grid_info |
---|
6 | use user_parameters ! for Km_of_z and Kt_of_z |
---|
7 | use dependent_variables |
---|
8 | use dimensional_scales |
---|
9 | use counters_flags_etc |
---|
10 | use mpi_parameters |
---|
11 | implicit none |
---|
12 | include '../input/problem_size.h' |
---|
13 | |
---|
14 | ! local variables |
---|
15 | real :: zpos,diff |
---|
16 | real :: diffd |
---|
17 | !!! real, dimension(locnz) :: zz |
---|
18 | |
---|
19 | do k=1,locnz |
---|
20 | ! zpos = Grid(0)%z(1,k)*L_scale ! [m] |
---|
21 | ! diff = diffd(zpos) |
---|
22 | ! Km_of_z(k) = diff |
---|
23 | ! Kt_of_z(k) = diff |
---|
24 | !!! zz(k) = zpos |
---|
25 | Km_of_z(k) = nu |
---|
26 | Kt_of_z(k) = nu |
---|
27 | enddo |
---|
28 | !!! write(0,'(A4,I2.2,2F10.5)') (('PROF',myid,zz(k),Km_of_z(k)),k=1,locnz) |
---|
29 | return |
---|
30 | end subroutine set_diffusion |
---|
31 | ! |
---|
32 | ! DIFFD |
---|
33 | ! FUNCTION TO GET INTERPOLATED VALUE OF DIFF FROM GRIDDED DATA |
---|
34 | ! |
---|
35 | REAL FUNCTION DIFFD(ZK) |
---|
36 | ! |
---|
37 | PARAMETER(ND=14) |
---|
38 | ! |
---|
39 | REAL ZK |
---|
40 | ! |
---|
41 | REAL ZD(ND),DD(ND) |
---|
42 | ! |
---|
43 | DATA IZTOPD/ND/ |
---|
44 | ! |
---|
45 | !!! xlv Km_of_z/Kt_of_z : pas assez de profondeur |
---|
46 | !!! DATA ZD/0.,20.,25.,30.,35.,40.,43.,43.7,54.1,60./ |
---|
47 | !!! DATA DD/.00001,.00001,.00001,.0004,.0010,.0018,.0023,.0118,.0227,.0227/ |
---|
48 | |
---|
49 | DATA ZD/0.,20.,25.,30.,35.,40.,43.,43.7,54.1,60.,100.,200.,500.,1000./ |
---|
50 | DATA DD/1.e-6,8.e-6,1.e-5,.00004,.00006,.00008,.0001,.0004,.0010,.0018,.0023,.0118,.0227,.0227/ |
---|
51 | ! |
---|
52 | DIFFD = FK(ZK,ZD,DD,ND,IZTOPD) |
---|
53 | ! |
---|
54 | RETURN |
---|
55 | END |
---|