Changeset 2490


Ignore:
Timestamp:
Apr 4, 2016, 7:05:44 PM (8 years ago)
Author:
jyg
Message:

Bug fix in cv3_unsat (in cv3_routines.F90) in
order to guarantee water conservation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/cv3_routines.F90

    r2481 r2490  
    26052605!
    26062606
    2607           d6 = bfac*wdtrain(il) - 100.*sigd(il)*bfac*(ph(il,i)-ph(il,i+1))*evap(il, i)
    2608           e6 = bfac*wdtrain(il)
    2609           f6 = -100.*sigd(il)*bfac*(ph(il,i)-ph(il,i+1))*evap(il, i)
    2610 
     2607!jyg<
     2608          d6 = prec(il,i)-prec(il,i+1)
     2609
     2610!!          d6 = bfac*wdtrain(il) - 100.*sigd(il)*bfac*(ph(il,i)-ph(il,i+1))*evap(il, i)
     2611!!          e6 = bfac*wdtrain(il)
     2612!!          f6 = -100.*sigd(il)*bfac*(ph(il,i)-ph(il,i+1))*evap(il, i)
     2613!>jyg
    26112614!CR:tmax_fonte_cv: T for which ice is totally melted (used to be 275.15)
    26122615          thaw = (t(il,i)-273.15)/(tmax_fonte_cv-273.15)
    26132616          thaw = min(max(thaw,0.0), 1.0)
     2617!jyg<
    26142618          water(il, i) = water(il, i+1) + (1-fraci(il,i))*d6
    2615           water(il, i) = max(water(il,i), 0.)
    2616           ice(il, i) = ice(il, i+1) + fraci(il, i)*d6
    2617           ice(il, i) = max(ice(il,i), 0.)
     2619          ice(il, i)   = ice(il, i+1)   + fraci(il, i)*d6
     2620          water(il, i) = min(prec(il,i), max(water(il,i), 0.))
     2621          ice(il, i)   = min(prec(il,i), max(ice(il,i),   0.))
     2622
     2623!!          water(il, i) = water(il, i+1) + (1-fraci(il,i))*d6
     2624!!          water(il, i) = max(water(il,i), 0.)
     2625!!          ice(il, i) = ice(il, i+1) + fraci(il, i)*d6
     2626!!          ice(il, i) = max(ice(il,i), 0.)
     2627!>jyg
    26182628          fondue(il, i) = ice(il, i)*thaw
    26192629          water(il, i) = water(il, i) + fondue(il, i)
Note: See TracChangeset for help on using the changeset viewer.