We've moved!
You can find our new documentation site and support forum for posting questions here.

issue with size arithmetic in FC

esalinasesalinas BroadMember, Broadie ✭✭✭
edited February 2017 in Ask the FireCloud Team

I have a task in a WDL with a variable "diskGB" that is defined as Int and is used in the local-disk runtime setting like so :

task token_make
    File refTar
    File bam
    File bamIdx    
        Int diskGB
...#(diskGB not used in command or in output block!)
runtime {
        disks: "local-disk ${diskGB} HDD"

To set the diskGB setting the call I wrote in the WDL as :

        call token_make

In the setting here I do some small calculation to set the size of the disk. The size for BAMs, for the refTar (and its untarring) and 5GB for output space. But when I tried this in FC, it did not run at all! I tried changing "Int diskGB" in the task variable definition to "Float diskGB" and it did not work either.

Is what I am trying to do possible? I thought it was possible. But since it is not running it is seeming impossible.

Should I have written "diskGB=size(refTar,"G")*3+size(bam,"G")+size(bamIdx,"G")+5 to instead refer to task-variables (on the left-hand side of the = )? I have not tried that.

I did this in FC sometime on Jan 31, 2017


  • esalinasesalinas BroadMember, Broadie ✭✭✭

    To get around this issue I put "diskGB=100" in the call and it worked fine. After the FC demo yesterday, I created a workflow-level input named "token_make_diskGB" of type "Array[Int]" and the relevant part of the call is "diskGB=token_make_diskGB[index]" and it is running fine.

  • Geraldine_VdAuweraGeraldine_VdAuwera Cambridge, MAMember, Administrator, Broadie admin

    Does your original WDL work if you run locally, outside of FireCloud? I wonder if it's a Cromwell issue or a FC issue.

Sign In or Register to comment.