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