WRF-Fire merge testing

From openwfm
Jump to navigation Jump to search

How to test

  • Base all future testing on branch fuel-moisture-model-jm. When something is changed/fixed, need to retest.
  • Record also unsuccessful tests, when fixed, replace by the final result and include link to the commit used
  • All tests should be reproducible by checking out the commit noted, which should include all data for ideal runs
  • For real runs, please link to the datasets to be reproducible

What needs to be tested

  • Fuel moisture model off vs. WRF4 baseline, with and without fire, did we change anything?
  • Fuel moisture model on, fire on, is it doing what it should?
  • Serial and parallel execution with different numbers of CPUs, do the numbers change?
  • WTF as specified in WRF testing requirements
  • Ideal cases and maybe some real

Jan's test results

All kingspeak runs are in /uufs/chpc.utah.edu/common/home/u6015690/merge and run on node kingspeak11 (nodes can be different).

Using fmc_g off vs. WRF4 baseline

===branch fuel-moisture-model vs. branch develop baseline===

  • ifort serial (13), nesting 1, configure -d, WRF-Fire-merge-fuel-moisture-model-jm branch fuel-moisture-model-jm 21e4b028d80723ca
    • jm3 test/em_fire_simple files at default:
    • jm4 test/em_fire_simple files at default: namelist.fire -> namelist.fire_fmc namelist.input -> namelist.input_hill_fuel_moisture

Fuel moisture model on

Angel's test results

All kingspeak runs are in /uufs/chpc.utah.edu/common/home/kochanski-group3/farguella and run on node kingspeak11 and kinspeak12. All the compilation are done using ifort serial (13), nesting 0.

Branch develop vs. added-fmc_g

The branch develop and branch added-fmc_g are in kingspeak in folders WRF-Fire-merge-develop and WRF-Fire-merge-added-fmc_g respectively. They are tested in order to see the first new functionalities of adding variable FMC_G in WRF4 baseline. Tests are from list in https://www.openwfm.org/index.php?title=Porting_WRF-SFIRE_fuel_moisture_model_to_WRF4#Testing_to_be_done.

fire_fmc_read not present in namelist.input

One can observe that both simple hill simulations are exactly the same running

diff WRF-Fire-merge-develop/test/em_fire/wrf.log WRF-Fire-merge-added-fmc_g/test/em_fire/hill_tests/original/wrf.log -I Timing

which returns

10c10
<    alloc_space_field: domain            1 ,              344571608  bytes allocated
---
>    alloc_space_field: domain            1 ,              345388824  bytes allocated

Therefore, the only difference is in the allocation size as expected.

However, the new branch added-fmc_g is creating new variable FMC_G taken constant value of fuelmc_g from namelist.fire all over the domain. Changing value of fuelmc_g in namelist.fire changes the value of the new variable FMC_G.

fire_fmc_read present in namelist.input

Setting

fire_fmc_read=0

and poblating FMC_G variable in wrfinput_d01 using ncreplace in Matlab. The branch added-fmc_g uses the new FMC_G in the simulation from new wrfinputs. Tested using:

  • Constant FMC_G field of 0.07: WRF-Fire-merge-added-fmc_g/test/em_fire/hill_tests/fmc_07.
  • Constant FMC_G field of 0.08: WRF-Fire-merge-added-fmc_g/test/em_fire/hill_tests/fmc_08. Exactly the same results that branch develop which was taking the information from namelist.fire file.
  • Random FMC_G field: WRF-Fire-merge-added-fmc_g/test/em_fire/hill_tests/fmc_rand. Gives the progression with random bumps as expected.
  • Slope FMC_G field: RF-Fire-merge-added-fmc_g/test/em_fire/hill_tests/fmc_slope.

Adam's test results

See also