add new task       

Task ID:  4178  Prop_up action of SurfaceOrganicMatter not working    
 
Created by fai04d on 2016-07-20 1:38 PM, 669 days ago
Project:  Module Code
Category:  Bug
Priority:  [no priority]
Assigned to:  [not assigned]  
Status:  closed
Apsim Version:
Your Name:
Contact Details:
 
 

show inline images      show change history

 comment 42555 posted by hol353 on 2017-04-20 3:26 PM, 395 days ago 

Fixed in R4008

file 40457 attached by fai04d on 2016-07-20 1:39 PM, 669 days ago 
Example simulation

attachment: testing standing fr.apsim   view   save

size: 28442   content-type: application/octet-stream

 comment 40456 posted by fai04d on 2016-07-20 1:38 PM, 669 days ago 
Submitted by Kirsten Verberg:

Years ago I worked with Don Gaydon and Neil Huth to redesign what became the surfaceom module (we were APSIM5.2 and possibly a customised working version). The work introduced the capability of having standing residue that wouldn’t decompose (i.e. be inert). The original intention was to also build in processes that would allow the standing stubble, which would otherwise be inert, fall over as a function of time or other factors (e.g. rainfall, field operations), but lack of data to test this on, meant that didn’t happen at the time. We did introduce a “prop_up” action that allowed the user to assign or change the fraction standing, e.g. after harvest when the residue is initially all put into the lying pool. Or back to all flat when you manually knocked it down in your field trial.



At the time the manager code for this was:

surfaceOM prop_up name = wheat, standing_fract = 0.50



I wasn’t sure whether this was implemented into the release version (as it wasn’t completed with that slower decomposition of standing residue), but I was encouraged when I found that the source code online on apsim.info did present relevant code (surfaceom.f90)



!================================================================

subroutine surfom_prop_up ()

!================================================================



And acknowledgement of the action in the subroutine Main:

else if (Action .eq. 'prop_up') then

     call surfom_prop_up ()





However, when I tried it with a line of manager code inserted after harvest of a wheat crop it doesn’t seem to work (see attached apsim file, which is a variation on the example continuous wheat run).

          if [crop].StageName = 'harvest_ripe' or [crop].plant_status = 'dead' then

             [crop]  harvest

             [crop]  end_crop

             SurfaceOrganicMatter prop_up name = wheat, standing_fract = 0.50

          endif



The manager does send the command (and a similar command with tillage = burn works), but no change in standing_fract is seen in output.

    Manager sending message :- surfaceorganicmatter prop_up  name = wheat, standing_fract = 0.50