- Timestamp:
- Jul 23, 2024, 7:14:34 PM (8 weeks ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/sisvat_weq.f90
r5104 r5105 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 Variables22 C + ================23 1 24 use VARphy25 use VAR_SV26 use VARxSV27 28 IMPLICIT NONE29 2 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 3 SUBROUTINE 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)>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)>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 104 end subroutine sisvat_weq
Note: See TracChangeset
for help on using the changeset viewer.