Skip to content

AK K64G Demo Quick Start Guide 2c: Hydrology (soil hydraulic parameters via texture and or OM)

Fengming Yuan edited this page Oct 11, 2022 · 11 revisions

NGEE-Arctic: AK-K64G simulation example 2 - Parameterization

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.

I. Parametering ELM Demo Example C

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 that restart the kernel & run all cells button, image.

  • Scrolling down to dropdown box of Choose Case Name, choose a previously-run case, such as:


Screen Shot 2022-10-10 at 8 39 58 PM
  • Scrolling down to dropdown box of Choose Output File, and Click-Pickup ELM_output.nc,

Screen Shot 2022-10-10 at 8 52 12 PM

  • And further Scrolling down to dropdown box of Choose Variable Name, and Click-Pickup H2OSOI, volume fraction of soil water (for all soil layers), from drop-down box.

Screen Shot 2022-10-10 at 8 53 48 PM


AND, then Clicking open menu Run, and clicking Run Selected Cell and All Below.


Screen Shot 2022-10-10 at 8 54 15 PM

Similarly, if choose variable name TSOI, soil temperature for all layers, it will show like:

Screen Shot 2022-10-10 at 8 55 10 PM


STEP 2. Modifying ELM soil physical properties, PCT_SAND, PCT_CLAY, 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, like following:
Screen Shot 2022-08-31 at 11 12 53 PM
  • Click open file, surfdata.txt, like following:
Screen Shot 2022-08-31 at 11 13 20 PM

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 to Line 27-35 (shown in shade), where are the header information of soil physical property PCT_SAND, PCT_CLAY, ORGANIC. Pay attention to their units and dimensions.
Screen Shot 2022-08-31 at 11 18 03 PM
  • Further Scrolling down to Line 342 - 376.
Screen Shot 2022-08-31 at 11 22 16 PM

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 the ORGANIC,
Screen Shot 2022-08-31 at 11 38 39 PM

To, 129.9990416468083, a value nearly representing peat (130 kg m-3 at maximum in ELM).

Screen Shot 2022-08-31 at 11 39 27 PM

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 one of Terminal (for running ELM docker container), Type the following command, OR, copy/paste it:
docker run -t -i --hostname=docker --user=modeluser -v elmdata:/inputdata/ -v elmoutput:/output/ -v elmwork:/tmp/ fasstsimulation/elm-builds:elm_v2-for-ngee_multiarch /bin/bash /tools/OLMT/examples/site_fullrun_docker_transient_nyears.sh --transient_years=1

OR, by pressing UP-ARROW key one time (to get the same command as used before), as following:

Screen Shot 2022-08-30 at 3 13 23 PM

STEP 4. Visualizing new ELM output variable, H2OSOI, TSOI, or others.

  • AFTER STEP 3 (re-run) finished, Click-open UPPER Tab Plot_ELM_variable.ipynb file again. And move starting cell to [1].

  • THEN, for an example, if click that restart the kernel & run all cells button, image , it will run script in all-steps at once, and will plot **GPP** by default, for individual PFT(s) if exist(s).

  • Scrolling up to move your mouse pointer to cell [4], like



  • By clicking the dropdown arrow, it will show whole list of variables from ELM outputs, and Choose one, such as H2OSOI.

  • AND, then Clicking open menu Run, and clicking Run Selected Cell and All Below

THEN, it will plot like following:

Screen Shot 2022-09-01 at 12 11 23 AM

YOU may notice what have changed, comparing to that in STEP 1, especially first layer (in blue line).


YOU may check other variable, such as TSOI (soil temperature by layers), simulated by ELM.

Screen Shot 2022-09-01 at 12 12 02 AM

REPEAT STEP 2 - 4, by changing those values, either by tuning or by real field data, to obtain reasonably well soil moisture, matrical potential, or soil temperaure for site.

FINALLY, save modified surfdata.nc into your file systems, like following (back to Docker App)