-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathCODING_VEGETATION
140 lines (116 loc) · 5.66 KB
/
CODING_VEGETATION
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
132
133
134
135
136
137
138
139
Brief History of Vegetation Folder
Written by Tarandeep S. Kalra
06/10/2015
Co-editors : Neil K. Ganju, Alexis Beudin
***************************************************************
How the VEGETATION FOLDER was added to COAWST
(If you see anything that is not clear or is missing, please feel free to edit or
contact the authors)
***************************************************************
-----------------------------------------------------------------------------------------
makefile should include Vegetation folder
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
INSIDE THE VEGETATION FOLDER (# VEGETATION)
-----------------------------------------------------------------------------------------
1. vegetation_mod.F -->
a) Assigned the number of variable and fixed property types (eg. NVEG_PROP, NVEG_PROPFIX)
b) Allocated variables that would be read in through vegetation.in (eg. CL_VEG, id's for output)
2. veg_arr.F -->
a) allocated all the vegetation arrays
These above two files are the most important for introducing new variables, arrays in the folder
3.) vegetation_def.F -->
a) Described the variables that are read in through vegetation.in
(equivalent to using varinfo.dat)
-- *Not sure if this is needed or being used
4.) vegetation_wrt.F -->
a) Writes the variables that are read in through vegetation.in in a NETCDF file
--* Not sure if this is needed or being used
5.) vegetation_drag.F --> (# VEG_DRAG)
a) Algorithm to calculate the contribution of right hand side terms from vegetation.
**********Outputs ru_veg, rv_veg, bend********
b) ru_veg--> Feeds back to the ../rhs3d.F
c) rv_veg--> Feeds back to the ../rhs3d.F
d) bend--> bending calculated for flexible plants --> Feeds back to the veg_gls_corstep.F
6.) vegetation_gls_corstep.F (# VEG_TURB)
a) Algorithm that calculates tke (turbulent kinetic energy) and gls(length scales) contribution
from vegetation.
*********Outputs tke_veg, gls_veg***********
b)tke_veg--> Feeds back to the ../gls_corstep.F
c)gls_veg--> Feeds back to the ../gls_cosrstep.F
7.) vegetation_stream.F (# VEG_STREAM)
a) Algorithm that calculates takes the effect of changes in current on waves due to veg
*********Outputs ***********
b)BWDXL_veg--> Feeds back to the ../Wec/wec_streaming.F
c)BWDYL_veg--> Feeds back to the ../Wec/wec_streaming.F
8) wave_thrust_marsh.F (# WAVE_THRUST_MARSH)
-----------------------------------------------
OUTSIDE THE VEGETATION FOLDER
-----------------------------------------------
7) Created mod_vegetation.F and created mod_vegarr.F
a) Modules/mod_array.F should have the vegetation modules included for reading them
ie. vegetation_mod.F and veg_arr.F
*These modules assign values to vegetation folder and create the
vegetation type
8) Nonlinear/rhs.3d.F
a) Include the calls for veg_rhs.F (search for VEG_RHS)
9 Nonlinear/gls_corstep.F
a) Include the calls for veg_gls_corstep.F (search for VEG_TURB)
10 Nonlinear/main3d.F
a) Include the call for wave_thrust_marsh.F (search for WAVE_THRUST_MARSH)
11)Also the "makefile" include vegetation folder ../ROMS/makefile
-----------------------------------------------
READING FROM VEGETATION.IN INPUT
-----------------------------------------------
12) Added NVEG, CL_VEG, Hout(idTmsk) Currently only outputting Wave thrust marsh outputs
idTims-> Initial masking for marsh face
idTmsk-> Tonelli's masking
idTmax-> Maximum thrust at the marsh face
idTton-> Reduced thrust at Tonelli's masking
a) Add inside Utility/inp_par.F to have vegetation.in read in
b) Add Modules/mod_iounits.F
c) Created Utilities/read_vegpar.F
d) Change Utilies/read_phypar.F
-----------------------------------------------
OUTPUT
-----------------------------------------------
13) Currently outputting data from plant properties and wave_thrust_marsh routine
1a) Introduce id's in vegetation_mod.h (mentioned before as well in point 1b) above)
1c). Inside Modules/mod_ncparams.F will have vegetation_var.h included
1d). Inside Vegetation/vegetation_inp.h will read in the id
Check if the Hout(id) are matched in the input
file to be true or false logicals
OUTPUT from the module should only deal with reading in ID's and then eventually
def_his.F and wrt_his.F are the files where it is written out
1e) Output to be written in vegetation_def_his.F and Utility/def_his.F
1f) Output to be written in vegetation_wrt_his.F and Utility/wrt_his.F
1g) Have the output variable definition in varinfo.dat
1h) Made changes for restart in def_rst.F, wrt_rst.F and added
vegetation_def_rst.F and vegetation_wrt_rst.F (Notice the change from his and rst.F
in veg folder)
------------------------------------------------
ANALYTICAL VEGETATION # ANA_VEGETATION
------------------------------------------------
14. Added ANA_VEGETATION
a). Added Functional/Analytical.F so that the analytical file is read
b). Added ANA_VEGETATION in Nonlinear/initial.F
c). Modify checkdefs.F (which shows what options are turned on)
-------------------------------------------------
READING FROM A .NC FILE
15. Utility/get_state.F
to read in the plant for each each veg type
16. Utility/checkvars.F
should have all the id s that are being written out (both for vegetation
and wave thrust stuff)
-------------------------------------------------
TURNING ON VEGETATION
-------------------------------------------------
************************************************
#ifdef vegetation
#ana_vegetation
#ifdef veg_rhs
#ifdef veg_turb
#ifdef veg_flex
#ifdef wave_thrust_marsh
#ifdef ana_marsh_mask
************************************************