source: tags/LIM1D_v3.20/SOURCES/source_3.20/ice_sal_conserv.f @ 6

Last change on this file since 6 was 6, checked in by vancop, 8 years ago

initial import of v3.20 /Users/ioulianikolskaia/Boulot/CODES/LIM1D/ARCHIVE/TMP/LIM1D_v3.20/

File size: 2.3 KB
Line 
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
Note: See TracBrowser for help on using the repository browser.