-
Notifications
You must be signed in to change notification settings - Fork 3
AK K64G Demo Quick Start Guide 2c: Hydrology (soil hydraulic parameters via texture and or OM)
This example 2C runs a single-point, extracted from half-degree Global data, ELM v2 simulation, within which NGEE Kougarok Mile 64 study site located, Using user-provided soil physical properties, PCT_SAND
, PCT_CLAY
, ORGANIC
, to allow ELM derive its soil hydraulic (and thermal) parameters, namely Clapp-Hornberger
constants.
(1) It will start from an initial restart file from after-final-spinup in regular run of a site, but with option --site_name=kougarok
(2) It will modify surfdata.nc
, land surface properties for ELM to read, in a temporary work directory.
(3) Re-run ELM, using newly-generated surfdata.nc
.
(4) Check soil moisture or temperature output in jupyter notebook.
REPEAT (2)-(4), for purpose to obtain a reasonbly well soil moisture simulation for site if observed.
NOTE that this demo is using methods same as Leaf parameter SLA modification, BUT here land surface properties of SOIL are modified.
STEP 1. Prior to modification, inspect previously simulated soil moisture simulation in Jupyter Notebook, such as following:
-
Open
/scripts/plot_ELM_variable.ipyn
, and click thatrestart the kernel & run all cells
button, . -
Scrolling down to dropdown box of
Choose Case Name
, choose a previously-run case, such as:
- Scrolling down to dropdown box of
Choose Output File
, and Click-PickupELM_output.nc
,
- And further Scrolling down to dropdown box of
Choose Variable Name
, and Click-PickupH2OSOI
, volume fraction of soil water (for all soil layers), from drop-down box.
AND, then Clicking open menu Run
, and clicking Run Selected Cell and All Below
.
Similarly, if choose variable name TSOI
, soil temperature for all layers, it will show like:
STEP 2. Modifying ELM soil physical properties, PCT_SAND
, PCT_CLAY
, and/or, ORGANIC
, to adjust hydraulic parameters
- if not yet, Click Jupyter Notebook for visualizing's Left Panel Folder brower so that it back to folder work/kougarok.
- Click open file,
surfdata.txt
, like following:
NOTE that surfdata.txt
is an ASCII file converted from surfdata.nc
which actually read by ELM, and editable in juypter notebook text editor.
- Scrolling down the file
surfdata.txt
toLine 27-35
(shown in shade), where are the header information of soil physical propertyPCT_SAND
,PCT_CLAY
,ORGANIC
. Pay attention to their units and dimensions.
- Further Scrolling down to
Line 342 - 376
.
NOTE that,
(1) The 3 data blocks, for 3 properties respectively, have 10 values each. Those 10 values are for 10 soil layers (of one grid cell).
(2) By default, the bottom depth (meters) of layers, from ground surface, are:
1.7512817916255204E-002
4.5091787175931458E-002
9.0561820418344652E-002
0.16552923140455322
0.28912959650683373
0.49291214751726548
0.82889277396569816
1.3828311793343830
2.2961212109234443
3.8018819123227208
- For an example, modify first layer value of
81.9990416468083
of theORGANIC
,
To, 129.9990416468083
, a value nearly representing peat (130 kg m-3 at maximum in ELM).
NOTE that Jupyter Notebook text editor will automatically save this modified surfdata.txt
file. For sure, you may click open menu File
and chose save text
to save your change(s).
AND, this modified surfdata.txt
will be converted back to overwrite surfdata.nc
when running OLMT example script in STEP 3 next.
STEP 3. Re-Run the model of 1 year transient simulation
using OLMT
- In the Terminal for running ELM docker container, Type the following command, OR, copy/paste it, and hit enter/return. NOTE the command line is appended with one more option
--case_prefix=MySoilOM
so that this demo won't erase any previous same-site simulations.
docker run -t -i --hostname=docker --user=modeluser -v elmdata:/inputdata/ -v elmoutput:/output/ -v elmwork:/tmp/ serbinsh/ngeearctic_elm_containers:elm_v2-for-ngee_multiarch /bin/bash /tools/OLMT/examples/site_fullrun_docker_transient_nyears.sh --transient_years=1 --case_prefix=MySoilOM
OR, by pressing UP-ARROW
key one time (to get the same command as used before), as following:
STEP 4. Visualizing new ELM output variable, H2OSOI, TSOI, or others.
NOTE this time is similar as STEP 1, but for new run case MySoilOM_....
-
AFTER STEP 3 (re-run) finished, Click-open UPPER Tab
Plot_ELM_variable.ipynb
file again. And move starting cell to[1]
. -
THEN, click that
restart the kernel & run all cells
button, , it will run script in all-steps at once, and refresh simulation outputs to include the newly-finished one. -
Scrolling up/down to move your mouse pointer to cell of dropdown box
Choose Case Name
, click-PickupMySoilOM_....
, and Clicking open menuRun
, and clickingRun Selected Cell and All Below
- Scrolling up/down to move your mouse pointer to cell of dropdown box
Choose Output File
, click-PickupELM_output.nc
, and again Clicking open menuRun
, and clickingRun Selected Cell and All Below
-
Scrolling up/down to move your mouse pointer to cell of dropdown box
Choose Variable Name
, by clicking the dropdown arrow, it will show whole list of variables from ELM outputs, and Choose one, such asH2OSOI
. -
AND, then Clicking open menu
Run
, and clickingRun Selected Cell and All Below
.
THEN, it will plot like following:
YOU may check other variable, such as TSOI
(soil temperature by layers), simulated by ELM.
REPEAT STEP 2 - 4, by changing those soil property values, either by tuning or by real field data, to obtain reasonably well soil moisture, matrical potential, or soil temperaure for site.
FINALLY, you may save modified surfdata.nc
into your file systems (back to Docker Desktop App to do so)