1 | |
---|
2 | |
---|
3 | subroutine SISVAT_wEq( labWEq ,istart) |
---|
4 | |
---|
5 | C +------------------------------------------------------------------------+ |
---|
6 | C | MAR SISVAT_wEq 22-09-2001 MAR | |
---|
7 | C | SubRoutine SISVAT_wEq computes the Snow/Ice Water Equivalent | |
---|
8 | C | | |
---|
9 | C | | |
---|
10 | C | Preprocessing Option: SISVAT IO (not always a standard preprocess.) | |
---|
11 | C | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ | |
---|
12 | C | FILE | CONTENT | |
---|
13 | C | ~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
---|
14 | C | # SISVAT_wEq.ve | #ve: OUTPUT/Verification: Snow/Ice Water Eqv. | |
---|
15 | C | | unit 45, SubRoutine SISVAT_wEq **ONLY** | |
---|
16 | C +------------------------------------------------------------------------+ |
---|
17 | |
---|
18 | |
---|
19 | |
---|
20 | |
---|
21 | C +--Global Variables |
---|
22 | C + ================ |
---|
23 | |
---|
24 | use VARphy |
---|
25 | use VAR_SV |
---|
26 | use VARxSV |
---|
27 | |
---|
28 | IMPLICIT NONE |
---|
29 | |
---|
30 | |
---|
31 | |
---|
32 | character*6 labWEq |
---|
33 | integer istart |
---|
34 | |
---|
35 | logical logWEq |
---|
36 | common/SISVAT_wEq_L/logWEq |
---|
37 | |
---|
38 | |
---|
39 | C +--Local Variables |
---|
40 | C + ================ |
---|
41 | |
---|
42 | integer ikl ,isn |
---|
43 | real SnoWEQ,IceWEQ |
---|
44 | |
---|
45 | |
---|
46 | C +--Switch Initialization |
---|
47 | C + ===================== |
---|
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 | C +--Snow Water Equivalent |
---|
57 | C + ===================== |
---|
58 | |
---|
59 | ikl = 1 |
---|
60 | IF (isnoSV(ikl)>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 | C +--Ice Water Equivalent |
---|
71 | C + ===================== |
---|
72 | |
---|
73 | IF (iiceSV(1)>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 | C +--OUTPUT |
---|
84 | C + ====== |
---|
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 |
---|
104 | end |
---|