1 |
gforget |
1.1 |
c flag for adjoint process |
2 |
|
|
logical smooth_isset |
3 |
|
|
c flag for 3D case |
4 |
|
|
logical wc01_implicitDiffusion |
5 |
|
|
|
6 |
|
|
c the index associated with the current smoothing operator |
7 |
|
|
integer smoothOpNbCur |
8 |
|
|
integer smoothOpNbMax |
9 |
|
|
PARAMETER ( smoothOpNbMax = 10 ) |
10 |
|
|
|
11 |
|
|
c main fields: |
12 |
|
|
_RL fld_wc01(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy) |
13 |
|
|
_RL gTwc01(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy) |
14 |
|
|
_RL normFilterwc01 (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy) |
15 |
|
|
_RL fld_wc01_2D(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy) |
16 |
|
|
_RL gTwc01_2D(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy) |
17 |
|
|
_RL normFilterwc01_2D (1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy) |
18 |
|
|
_RL wc01_2D_mask (1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy) |
19 |
|
|
|
20 |
|
|
c the fields defining the smoothing function |
21 |
|
|
_RL wc01_dt,wc01_T |
22 |
|
|
integer wc01_nbt(smoothOpNbMax) |
23 |
|
|
integer smooth3DtypeZ(smoothOpNbMax) |
24 |
|
|
integer smooth3DsizeZ(smoothOpNbMax) |
25 |
|
|
integer smooth3DtypeH(smoothOpNbMax) |
26 |
|
|
integer smooth3DsizeH(smoothOpNbMax) |
27 |
|
|
integer smooth2Dfilter(smoothOpNbMax) |
28 |
|
|
integer smooth3Dfilter(smoothOpNbMax) |
29 |
|
|
_RL wc01_3D_Lx0(smoothOpNbMax), |
30 |
|
|
& wc01_3D_Ly0(smoothOpNbMax), wc01_3D_Lz0(smoothOpNbMax) |
31 |
|
|
_RL wc01_3D_Lx(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy) |
32 |
|
|
_RL wc01_3D_Ly(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy) |
33 |
|
|
_RL wc01_3D_Lz(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy) |
34 |
|
|
_RL wc01_2D_dt,wc01_2D_T |
35 |
|
|
integer wc01_2D_nbt(smoothOpNbMax), |
36 |
|
|
& smooth2Dtype(smoothOpNbMax),smooth2Dsize(smoothOpNbMax) |
37 |
|
|
_RL wc01_2D_Lx0(smoothOpNbMax),wc01_2D_Ly0(smoothOpNbMax) |
38 |
|
|
_RL wc01_2D_Lx(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy) |
39 |
|
|
_RL wc01_2D_Ly(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy) |
40 |
|
|
|
41 |
|
|
c these are useless... I leave them here by now, but will |
42 |
|
|
c remove then after removing them from mitoa_init and mitoa_rhs |
43 |
|
|
_RL diffKhwc01,diffK4wc01 |
44 |
|
|
c bis |
45 |
|
|
_RL kappaRwc01 (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy) |
46 |
|
|
_RL wc01_Kwx(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
47 |
|
|
_RL wc01_Kwy(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
48 |
|
|
_RL wc01_Kwz(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
49 |
|
|
_RL wc01_Kux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
50 |
|
|
_RL wc01_Kvy(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
51 |
|
|
_RL wc01_Kuz(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
52 |
|
|
_RL wc01_Kvz(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
53 |
|
|
_RL wc01_Kuy(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
54 |
|
|
_RL wc01_Kvx(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
55 |
|
|
c ter |
56 |
|
|
_RL diffKhwc01_2D_x (1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy) |
57 |
|
|
_RL diffKhwc01_2D_y (1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy) |
58 |
|
|
|
59 |
|
|
|
60 |
|
|
COMMON /smooth_flags/ |
61 |
|
|
& smooth_isset, wc01_implicitDiffusion |
62 |
|
|
|
63 |
|
|
COMMON /smooth_flds_r/ |
64 |
|
|
& fld_wc01, gTwc01, normFilterwc01, |
65 |
|
|
& fld_wc01_2D, gTwc01_2D, normFilterwc01_2D, wc01_2D_mask |
66 |
|
|
|
67 |
|
|
COMMON /smooth_operators_i/ |
68 |
|
|
& smoothOpNbCur, wc01_nbt, wc01_2D_nbt |
69 |
|
|
& , smooth2Dtype, smooth2Dsize |
70 |
|
|
& , smooth3DtypeZ, smooth3DsizeZ |
71 |
|
|
& , smooth3DtypeH, smooth3DsizeH |
72 |
|
|
& , smooth2Dfilter, smooth3Dfilter |
73 |
|
|
|
74 |
|
|
COMMON /smooth_operators_r/ |
75 |
|
|
& wc01_3D_Lx,wc01_3D_Ly,wc01_3D_Lz,wc01_dt,wc01_T |
76 |
|
|
& ,wc01_2D_Lx,wc01_2D_Ly,wc01_2D_dt,wc01_2D_T |
77 |
|
|
& ,kappaRwc01,wc01_Kwx,wc01_Kwy,wc01_Kwz |
78 |
|
|
& ,wc01_Kux,wc01_Kvy,wc01_Kuz,wc01_Kvz |
79 |
|
|
& ,wc01_Kuy,wc01_Kvx |
80 |
|
|
& ,diffKhwc01_2D_x,diffKhwc01_2D_y |
81 |
|
|
& , wc01_2D_Lx0,wc01_2D_Ly0 |
82 |
|
|
& , wc01_3D_Lx0,wc01_3D_Ly0,wc01_3D_Lz0 |
83 |
|
|
|
84 |
|
|
|
85 |
|
|
COMMON /smooth_operators_tmp/ |
86 |
|
|
& diffKhwc01, diffK4wc01 |
87 |
|
|
|