-
Notifications
You must be signed in to change notification settings - Fork 1
/
CSP_INPHENOL.FOR
131 lines (116 loc) · 5.07 KB
/
CSP_INPHENOL.FOR
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
C= FILE: CSP_INPHENOL.FOR===============================================
C CSP_INPHENOL - Adapted by O.H. Daza
C INPHENOL - CHP
C Initializes phenological parameters.
C----------------------------------------------------------------------
C REVISION HISTORY
C 07/30/1998 CHP moved from PHENOL
C 12/11/2000 GH added cowpea code
C 09/26/2001 OHD adapted for the sugarcane model CASUPRO
C 07/26/2004 CHP Removed variables which were not being used
C-----------------------------------------------------------------------
C Called by: CSP_PHENOL in CSP_PHENOL.FOR
C Calls : None
C=======================================================================
SUBROUTINE CSP_INPHENOL(
& CROP, PHTHRS, TB, TO1, !Input
& CumOptStageDur, OptStageDur, STNAME) !Output
! & CROP, PHTHRS, PLME, TB, TO1, TO2, !Input
C-----------------------------------------------------------------------
USE ModuleDefs
IMPLICIT NONE
C-----------------------------------------------------------------------
CHARACTER*2 CROP
! CHARACTER*1 PLME
CHARACTER*10 STNAME(20)
INTEGER I, J, NPHS
PARAMETER (NPHS = 4)
INTEGER, PARAMETER :: NumOfPhases = 4
REAL PHTHRS(NumOfPhases)
REAL Tb(5), To1(5) ! , To2(5)
! Dopt optimum thermal time, °C-d
! OptStageDur(4) Optimum stage duration, days
! CumOptStageDur(4) Cumulative optimum stage duration, days
REAL Dopt, OptStageDur(NPHS), CumOptStageDur(NPHS)
C-----------------------------------------------------------------------
C This section computes factors which vary with cultivar
C at the beginning of each run
C-----------------------------------------------------------------------
C Set minimum days for phenological events under optimum conditions
C (temperature and short photoperiod)
C-----------------------------------------------------------------------
DO I = 1,NPHS
OptStageDur(I) = 0
CumOptStageDur(I) = 0
END DO
IF (CROP .NE. 'FA') THEN
Dopt = To1(1) - Tb(1)
DO I = 1,NPHS
OptStageDur(I) = PHTHRS(I) / Dopt
IF (I == 1) THEN
CumOptStageDur(I) = OptStageDur(I)
ELSE
CumOptStageDur(I) = CumOptStageDur(I - 1) + OptStageDur(I)
END IF
END DO
END IF
C-----------------------------------------------------------------------
C Define names of stages
C-----------------------------------------------------------------------
DO J = 1,20 ! Initialize array to blanks
STNAME(J) = ' '
END DO
! These are the phenological stages defined in the model.
! More stages can be added if needed.
!chp IF (CROP .EQ. 'SC') THEN
STNAME(1) = 'Planting '
STNAME(2) = 'Sprouting '
STNAME(3) = 'Emergence '
STNAME(4) = 'Beg sk grw' ! Begining of stalk growth
STNAME(5) = 'Flowering '
! Positions 15 to 20 are reserved to other quasi-stages like
! Start of Simulation and End of Simulation
STNAME(15) = 'Start Sim '
STNAME(16) = 'Harvest '
!chp 2/13/07 'FA' crop handled by CROPGRO
!chp ELSE IF (CROP .EQ. 'FA') THEN
!chp STNAME(15) = 'Start Sim '
!chp STNAME(16) = 'End Sim '
!chp END IF
! IF (PLME == 'T') THEN
! STNAME(1) = 'Transplant'
! Check this again. It is required to simulate plant and ratoon crops.
! However R is an input in the IBSNAT35.INP file
! IF (PLME == 'R') THEN
! STNAME(1) = 'Ratooning '
! STNAME(2) = 'Ratooning ' !
! ENDIF
!***********************************************************************
RETURN
END !SUBROUTINE CSP_INPHENOL
!-----------------------------------------------------------------------
! INPHENOL LOCAL VARIABLES:
!-----------------------------------------------------------------------
! VARIABLE DEFINITION, UNITS
! CROP Crop identification code
! CumOptStageDur(I) Cumulative optimum stage duration, days
! Davg Average optimum thermal time, °C-d
! OptStageDur(I) Optimum stage duration, days
! PHTHRS(I) Threshold time that must accumulate in phase I for
! the next stage to occur (thermal or photothermal
! days), °C-d
! PLME Planting method (read from FILEX)
! T = transplant
! S = seed
! P = pre-germinated seed
! N = nursery,
! R = ratooning (for sugarcane)
! STNAME Output headings for specified crops
! Tavg Average optimum temperature, °C
! TB Base temperature, °C
! TM Maximum Temperature, °C
! TO1 Lower optimum temperature, °C
! TO2 Upper optimum temperature, °C
!-----------------------------------------------------------------------
! END SUBROUTINE INPHENOL
!-----------------------------------------------------------------------