AK K64G Demo Quick Start Guide 2c: Hydrology (soil hydraulic parameters via texture and or OM) - FASSt-simulation/fasst_simulation_tools GitHub Wiki

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:

  • Scrolling down to dropdown box of Choose Output File, and Click-Pickup ELM_output.nc,
  • 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.

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 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.
  • 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 the ORGANIC,

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 Terminal for running ELM docker container, Type the following command, OR, copy/paste it, and hit enter/return. NOTE the command line is appended 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/ fasstsimulation/elm-builds: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, image , 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-Pickup MySoilOM_...., and Clicking open menu Run, and clicking Run Selected Cell and All Below

  • Scrolling up/down to move your mouse pointer to cell of dropdown box Choose Output File, click-Pickup ELM_output.nc, and again Clicking open menu Run, and clicking Run 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 as H2OSOI.

  • AND, then Clicking open menu Run, and clicking Run 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)

Return to Home