-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathS3M_Module_Phys.f90
69 lines (55 loc) · 3.14 KB
/
S3M_Module_Phys.f90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
!------------------------------------------------------------------------------------------
! File: S3M_Module_Phys.f90
! Author: Fabio Delogu.
!
! Created on April 2, 2014, 5:19 PM
! Last update on Sep 06, 2018 11:00 AM
!
! Snow physics module
!------------------------------------------------------------------------------------------
!------------------------------------------------------------------------------------------
! Module Header
module S3M_Module_Phys
!------------------------------------------------------------------------------------------
! External module(s) for all subroutine in this module
use S3M_Module_Namelist, only: oS3M_Namelist
use S3M_Module_Vars_Loader, only: oS3M_Vars
use S3M_Module_Tools_Debug
use S3M_Module_Phys_Snow, only: S3M_Phys_Snow_Cpl
! Implicit none for all subroutines in this module
implicit none
!------------------------------------------------------------------------------------------
contains
!------------------------------------------------------------------------------------------
! Subroutine to run model physics
subroutine S3M_Phys_Cpl(iID, &
iRowsStart, iRowsEnd, iColsStart, iColsEnd, &
iTime, iNTime, sTime, &
iNData, &
iDaySteps)
!------------------------------------------------------------------------------------------
! Variable(s)
integer(kind = 4) :: iID
integer(kind = 4) :: iRows, iRowsStart, iRowsEnd, iCols, iColsStart, iColsEnd
integer(kind = 4) :: iNData
integer(kind = 4) :: iTime, iNTime
integer(kind = 4) :: iDaySteps
character(len = 19) :: sTime
!------------------------------------------------------------------------------------------
!------------------------------------------------------------------------------------------
! Defining iRows and iCols
iRows = iRowsEnd - iRowsStart + 1
iCols = iColsEnd - iColsStart + 1
!------------------------------------------------------------------------------------------
!------------------------------------------------------------------------------------------
! Subroutine to compute SNOW
call S3M_Phys_Snow_Cpl(iID, iRows, iCols)
!------------------------------------------------------------------------------------------
!------------------------------------------------------------------------------------------
! Info message for extra time step(s)
call mprintf(.true., iINFO_Extra, ' Extra time step ---> Swow routine(s) are skipped!')
!------------------------------------------------------------------------------------------
end subroutine S3M_Phys_Cpl
!------------------------------------------------------------------------------------------
end module S3M_Module_Phys
!------------------------------------------------------------------------------------------ù