1 | SUBROUTINE ice_sal_conserv(kideb,kiut,message,err, |
---|
2 | & zmb0,zmb1,zfb,zfsu,zdt) |
---|
3 | |
---|
4 | !=============================================================================! |
---|
5 | |
---|
6 | ! This routine tests conservation of the mass of salt |
---|
7 | ! (c) Martin Vancoppenolle, September 2008 |
---|
8 | |
---|
9 | INCLUDE 'type.com' |
---|
10 | INCLUDE 'para.com' |
---|
11 | |
---|
12 | CHARACTER(len=15) :: |
---|
13 | & message ! : message indicating the name of the routine calling |
---|
14 | |
---|
15 | REAL(8) :: |
---|
16 | & err |
---|
17 | |
---|
18 | REAL(8) :: |
---|
19 | & zmb0 , |
---|
20 | & zmb1 , |
---|
21 | & zfb , |
---|
22 | & zfsu |
---|
23 | |
---|
24 | REAL(8) :: |
---|
25 | & zdt |
---|
26 | |
---|
27 | INTEGER :: |
---|
28 | & ji , ! : index for space |
---|
29 | & jk , ! : index for ice layers |
---|
30 | & jn ! : index for tracers |
---|
31 | |
---|
32 | REAL(8) :: |
---|
33 | & zdm ! : actual mass variation |
---|
34 | & zdmf |
---|
35 | |
---|
36 | !=============================================================================! |
---|
37 | |
---|
38 | WRITE(numout,*) ' ice_sal_conserv : ' |
---|
39 | WRITE(numout,*) ' ~~~~~~~~~~~~~~~ ' |
---|
40 | WRITE(numout,*) ' message : ', message |
---|
41 | WRITE(numout,*) ' error : ', err |
---|
42 | WRITE(numout,*) ' kideb, kiut : ', kideb, kiut |
---|
43 | WRITE(numout,*) ' ddtb : ', zdt |
---|
44 | WRITE(numout,*) ' ms_i_init : ', zmb0 |
---|
45 | WRITE(numout,*) ' ms_i_final : ', zmb1 |
---|
46 | |
---|
47 | zdm = ( zmb1 - zmb0 ) / zdt |
---|
48 | zdmf = zfb + zfsu |
---|
49 | |
---|
50 | WRITE(numout,*) ' Actual mass variation zdm : ', zdm |
---|
51 | WRITE(numout,*) ' Mass variation from fluxes zdmf : ', zdmf |
---|
52 | WRITE(numout,*) ' Sal conserv error : ', ABS(zdm-zdmf) |
---|
53 | |
---|
54 | WRITE(503,*) zmb1, ABS(zdm-zdmf)*zdt |
---|
55 | |
---|
56 | IF ( ABS ( zdm - zdmf ) .GT. err ) THEN |
---|
57 | WRITE(numout,*) ' Conservation error after ', message |
---|
58 | WRITE(numout,*) ' Error : ', |
---|
59 | & ABS( zdm - zdmf ) |
---|
60 | WRITE(numout,*) ' Actual mass variation zdm : ', zdm |
---|
61 | WRITE(numout,*) ' Mass variation from fluxes zdmf : ', zdmf |
---|
62 | WRITE(numout,*) |
---|
63 | WRITE(numout,*) ' ms_i_init : ', zmb0 |
---|
64 | WRITE(numout,*) ' ms_i_final : ', zmb1 |
---|
65 | ! WRITE(numout,*) ' s_i_b : ', ( s_i_b(ji,layer), |
---|
66 | ! & layer = 1, nlay_i ) |
---|
67 | ENDIF |
---|
68 | RETURN |
---|
69 | |
---|
70 | !=============================================================================! |
---|
71 | !-- End of ice_sal_conserv -- |
---|
72 | END |
---|