- Timestamp:
- 2011-06-17T14:02:17+02:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ORCHIDEE_EXT/ORCHIDEE/src_stomate/stomate_alloc.f90
r64 r257 162 162 ! 1.1.1 soil levels 163 163 164 z_soil(0) = 0.164 z_soil(0) = zero 165 165 z_soil(1:nbdl) = diaglev(1:nbdl) 166 166 … … 202 202 ! 203 203 204 f_alloc(:,:,:) = 0.0205 f_alloc(:,:,icarbres) = 1.0204 f_alloc(:,:,:) = zero 205 f_alloc(:,:,icarbres) = un 206 206 ! 207 207 ! 1.3 Convolution of the temperature and humidity profiles with some kind of profile … … 212 212 213 213 ! 1.3.1.1 rpc is an integration constant such that the integral of the root profile is 1. 214 rpc(:) = 1. / ( 1.- EXP( -z_soil(nbdl) / z_nitrogen ) )214 rpc(:) = un / ( un - EXP( -z_soil(nbdl) / z_nitrogen ) ) 215 215 216 216 ! 1.3.1.2 integrate over the nbdl levels … … 229 229 230 230 ! 1.3.2.1 rpc is an integration constant such that the integral of the root profile is 1. 231 rpc(:) = 1. / ( 1.- EXP( -z_soil(nbdl) / z_nitrogen ) )231 rpc(:) = un / ( un - EXP( -z_soil(nbdl) / z_nitrogen ) ) 232 232 233 233 ! 1.3.2.2 integrate over the nbdl levels 234 234 235 h_nitrogen(:) = 0.0235 h_nitrogen(:) = zero 236 236 237 237 DO l = 1, nbdl … … 251 251 ! mean LAI on natural part 252 252 253 natveg_tot(:) = 0.0254 lai_nat(:) = 0.0253 natveg_tot(:) = zero 254 lai_nat(:) = zero 255 255 256 256 DO j = 2, nvm … … 259 259 veget_max_nat(:,j) = veget_max(:,j) 260 260 ELSE 261 veget_max_nat(:,j) = 0.0261 veget_max_nat(:,j) = zero 262 262 ENDIF 263 263 … … 314 314 ! 3/ must be at the beginning of the growing season 315 315 316 WHERE ( ( biomass(:,j,ileaf) .GT. 0.0) .AND. &316 WHERE ( ( biomass(:,j,ileaf) .GT. zero ) .AND. & 317 317 ( .NOT. senescence(:,j) ) .AND. & 318 318 ( lai(:,j) .LT. lai_happy(j) ) .AND. & … … 337 337 ELSEWHERE 338 338 339 transloc_leaf(:) = 0.0339 transloc_leaf(:) = zero 340 340 341 341 ENDWHERE … … 468 468 ! leaf allocation 469 469 470 LtoLSR(:) = 1.- RtoLSR(:) - StoLSR(:)470 LtoLSR(:) = un - RtoLSR(:) - StoLSR(:) 471 471 LtoLSR(:) = MAX( min_LtoLSR, MIN( max_LtoLSR, LtoLSR(:) ) ) 472 472 473 473 ! roots: the rest 474 474 475 RtoLSR(:) = 1.- LtoLSR(:) - StoLSR(:)475 RtoLSR(:) = un - LtoLSR(:) - StoLSR(:) 476 476 477 477 ENDWHERE … … 483 483 StoLSR(:) = StoLSR(:) + LtoLSR(:) 484 484 485 LtoLSR(:) = 0.0485 LtoLSR(:) = zero 486 486 487 487 ENDWHERE … … 514 514 515 515 IF ( ( biomass(i,j,icarbres)*sla(j) ) .LT. 2*lai_max(j) ) THEN 516 carb_rescale(i) = 1. / ( 1.+ ecureuil(j) * ( LtoLSR(i) + RtoLSR(i) ) )516 carb_rescale(i) = un / ( un + ecureuil(j) * ( LtoLSR(i) + RtoLSR(i) ) ) 517 517 ELSE 518 carb_rescale(i) = 1.518 carb_rescale(i) = un 519 519 ENDIF 520 520 … … 522 522 523 523 f_alloc(i,j,isapabove) = StoLSR(i) * alloc_sap_above(i) * & 524 ( 1.- f_alloc(i,j,ifruit) ) * carb_rescale(i)525 f_alloc(i,j,isapbelow) = StoLSR(i) * ( 1.- alloc_sap_above(i) ) * &526 ( 1.- f_alloc(i,j,ifruit) ) * carb_rescale(i)524 ( un - f_alloc(i,j,ifruit) ) * carb_rescale(i) 525 f_alloc(i,j,isapbelow) = StoLSR(i) * ( un - alloc_sap_above(i) ) * & 526 ( un - f_alloc(i,j,ifruit) ) * carb_rescale(i) 527 527 528 528 f_alloc(i,j,iroot) = RtoLSR(i) * ( 1.-f_alloc(i,j,ifruit) ) * carb_rescale(i) … … 530 530 ! this is equivalent to: 531 531 ! reserve alloc = ecureuil*(LtoLSR+StoLSR)*(1-fruit_alloc)*carb_rescale 532 f_alloc(i,j,icarbres) = ( 1.- carb_rescale(i) ) * ( 1.-f_alloc(i,j,ifruit) )532 f_alloc(i,j,icarbres) = ( un - carb_rescale(i) ) * ( 1.-f_alloc(i,j,ifruit) ) 533 533 534 534 ENDIF ! senescent?
Note: See TracChangeset
for help on using the changeset viewer.