source: LMDZ6/trunk/libf/phylmd/inlandsis/sisvat_weq.f90 @ 5282

Last change on this file since 5282 was 5246, checked in by abarral, 10 days ago

Convert fixed-form to free-form sources .F -> .{f,F}90
(WIP: some .F remain, will be handled in subsequent commits)

File size: 2.9 KB
Line 
1
2
3subroutine SISVAT_wEq( labWEq ,istart)
4
5  ! +------------------------------------------------------------------------+
6  ! | MAR          SISVAT_wEq                                22-09-2001  MAR |
7  ! |   SubRoutine SISVAT_wEq computes the Snow/Ice  Water  Equivalent       |
8  ! |                                                                        |
9  ! |                                                                        |
10  ! |   Preprocessing  Option: SISVAT IO (not always a standard preprocess.) |
11  ! |   ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^                                     |
12  ! |   FILE                 |      CONTENT                                  |
13  ! |   ~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
14  ! | # SISVAT_wEq.ve        | #ve: OUTPUT/Verification: Snow/Ice Water Eqv. |
15  ! |                        |      unit 45, SubRoutine  SISVAT_wEq **ONLY** |
16  ! +------------------------------------------------------------------------+
17
18
19
20
21  ! +--Global Variables
22  ! +  ================
23
24  use VARphy
25  use VAR_SV
26  use VARxSV
27
28  IMPLICIT NONE
29
30
31
32  character(len=6) :: labWEq
33  integer :: istart
34
35  logical :: logWEq
36  common/SISVAT_wEq_L/logWEq
37
38
39  ! +--Local  Variables
40  ! +  ================
41
42  integer :: ikl   ,isn
43  real :: SnoWEQ,IceWEQ
44
45
46  ! +--Switch Initialization
47  ! +  =====================
48
49  IF (.NOT.logWEq)                                              THEN
50           logWEq = .true.
51           open(unit=45,status='unknown',file='SISVAT_wEq.ve')
52           rewind    45
53  END IF
54
55
56  ! +--Snow Water Equivalent
57  ! +  =====================
58
59       ikl   = 1
60  IF          (isnoSV(ikl).gt.iiceSV(ikl))                      THEN
61
62      SnoWEQ = 0.
63    DO isn   = iiceSV(ikl)+1 ,isnoSV(ikl)
64      SnoWEQ = SnoWEQ       + ro__SV(ikl,isn) * dzsnSV(ikl,isn)
65    END DO
66
67  END IF
68
69
70  ! +--Ice  Water Equivalent
71  ! +  =====================
72
73  IF        (iiceSV(1).gt.0)                                    THEN
74
75      IceWEQ = 0.
76    DO isn   =             1 ,iiceSV(ikl)
77      IceWEQ = IceWEQ       + ro__SV(ikl,isn) * dzsnSV(ikl,isn)
78    END DO
79
80  END IF
81
82
83  ! +--OUTPUT
84  ! +  ======
85
86  !!      IF (istart.eq.1)                                              THEN
87  !!        write(45,45)dahost,i___SV(lwriSV(1)),j___SV(lwriSV(1)),
88  !!     .              n___SV(lwriSV(1))
89  !! 45     format(a18,10('-'),'Pt.',3i4,60('-'))
90  !!      END IF
91
92  !!      write(45,450) labWEq,IceWEQ,iiceSV(ikl),SnoWEQ
93  !!     .                    ,IceWEQ+SnoWEQ,isnoSV(ikl)
94  !!     .                                  ,drr_SV(ikl)*dt__SV
95  !!     .                                  ,dsn_SV(ikl)*dt__SV
96  !!     .                                  ,BufsSV(ikl)
97  !! 450  format(a6,3x,'  I+S =',f11.4,'(',i2,') +',f11.4,' =',
98  !!     .                       f11.4,'(',i2,')',
99  !!     .             '  drr =', f7.4,
100  !!     .             '  dsn =', f7.4,
101  !!     .             '  Buf =', f7.4)
102
103  return
104end subroutine sisvat_weq
Note: See TracBrowser for help on using the repository browser.