Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Coon, Ethan
ELM_Kernels
Commits
ac2d7a5e
Commit
ac2d7a5e
authored
Feb 13, 2019
by
Ethan Coon
Browse files
updates comments and adds more detail/work plan to README
parent
f38bff08
Changes
2
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
ac2d7a5e
...
...
@@ -8,7 +8,7 @@ re-wrapped in a variety of drivers.
To build, see INSTALL.md in the top level directory.
ELM modules covered
include
:
ELM modules covered:
CanopyHydrologyMod
--------------------
...
...
@@ -16,3 +16,59 @@ CanopyHydrologyMod
Kernels include:
*
Interception: (rename me) partitions incoming precip into throughfall/precip
Work Plan
=================
Single kernel and single grid cell tests/questions:
-----------------------------------------------------------------------------
-
how do write kernels such that they can be called by: (Ethan)
-
fortran
-
c
-
Legion
-
Kokkos
-
how do we wrap a kernel for Legion (Himanshu)
-
sequence of blocked tasks
-
sequence of non-blocked tasks (based on futures)
Single kernel and multiple grid cell tests/questions: (Himanshu / Ethan)
-----------------------------------------------------------------------------
-
work out how to use IndexSpace/FieldSpace
Multiple kernel and multiple grid cell tests (module test): (Ethan / Himanshu)
------------------------------------------------------------------------------
-
IndexSpace/FieldSpace + actual task graph that isn't trivial
Module level part 2: (Dali / Ethan / Himanshu)
-----------------------------------------------------------------------------
-
Implement driver with ACTUAL ELM data layout (with filter / lake PFTs / ???) (masking??)
-
compare alternative data layouts
-
ragged layouts (no filter)
-
fixed layout with no filter (maybe better for threading models e.g. GPUs?)
automation...
-----------------------------------------------------------------------------
-
automated kernel generation
-
automated C kernel wrapper
-
automated Legion wrappers?
and beyond...
-----------------------------------------------------------------------------
-
integrate with ATS
tests/tests_c/CanopyHydrology_module.cc
View file @
ac2d7a5e
...
...
@@ -60,8 +60,6 @@ int main(int argc, char ** argv)
const
int
oldfflag
=
0
;
const
double
micro_sigma
=
0.1
;
const
double
min_h2osfc
=
1.0e-8
;
// FIXME: confusing parameters that need to be fixed --etc
const
double
n_melt
=
0.7
;
// phenology input
...
...
@@ -159,10 +157,11 @@ int main(int argc, char ** argv)
//printf("%i %i %16.8g %16.8g %16.8g %16.8g %16.8g %16.8g\n", g, p, forc_rain(t,g), forc_snow(t,g), elai(g,p), esai(g,p), h2ocan(g,p), qflx_prec_intr[g]);
//
// Calculate fraction of
?
LAI
?
that is wet vs dry.
// Calculate fraction of LAI that is wet vs dry.
//
// FIXME: this currently punts on what to do with the fwet/fdry variables.
// Surely they should be something, as such this is dead code.
// By the PFT?
// --etc
double
fwet
=
0.
,
fdry
=
0.
;
ELM
::
CanopyHydrology_FracWet
(
frac_veg_nosno
,
h2ocan
(
g
,
p
),
elai
(
g
,
p
),
esai
(
g
,
p
),
dewmx
,
fwet
,
fdry
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment