Changes between Initial Version and Version 2 of Ticket #2080


Ignore:
Timestamp:
2018-05-02T18:27:15+02:00 (3 years ago)
Author:
nicolasmartin
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #2080 – Description

    initial v2  
    33I think the IF test in line 327 of domvvl.F90 might be wrong. (I'm looking at the dev_merge_2017 branch). In fortran AND has precedence over OR, so the line 
    44 
     5{{{#!f 
    56IF( ln_vvl_ztilde .OR. ln_vvl_layer .AND. ll_do_bclinic ) THEN 
     7}}} 
    68 
    79is the same as 
    810 
     11{{{#!f 
    912IF( ln_vvl_ztilde .OR. ( ln_vvl_layer .AND. ll_do_bclinic ) ) THEN 
     13}}} 
    1014 
    1115But I think it should be 
    1216 
     17{{{#!f 
    1318IF( ( ln_vvl_ztilde .OR. ln_vvl_layer ) .AND. ll_do_bclinic ) THEN 
     19}}} 
    1420 
    1521If ln_vvl_ztilde is true and kcall=2 then ll_do_bclinic is set to false. But ( ln_vvl_ztilde .OR. ln_vvl_layer .AND. ll_do_bclinic ) evaluates as true in this case so it will still do the baroclinic calculation even though ll_do_bclinic is false. I don't know if this will give a wrong result or if it just an inefficiency - a repeated calculation.