Opened 11 years ago
Closed 9 years ago
#14 closed enhancement (fixed)
Percent throughfall
Reported by: | dsolyga | Owned by: | jgipsl |
---|---|---|---|
Priority: | minor | Milestone: | ORCHIDEE 2.0 |
Component: | Physical processes | Version: | orchidee_1_9_6 |
Keywords: | Hydrology, Choisnel | Cc: |
Description
For CWRR, the pft parameter throughfall_by_pft is used only in coupled mode to compensate a bias from LMDZ. In off-line mode, it is not used so the equations are doubled in hydrol.f90 :
qsintveg(:,1) = zero DO jv=2,nvm IF ( ok_throughfall_by_pft ) THEN ! Correction Nathalie - Juin 2006 - une partie de la pluie arrivera toujours sur le sol ! sorte de throughfall supplementaire qsintveg(:,jv) = qsintveg(:,jv) + veget(:,jv) * ((1-throughfall_by_pft(jv))*precip_rain(:)) ELSE qsintveg(:,jv) = qsintveg(:,jv) + veget(:,jv) * precip_rain(:) ENDIF END DO ! !! 1.3 Limits the effect and sum what receives soil ! precisol(:,1)=veget_max(:,1)*precip_rain(:) DO jv=2,nvm DO ji = 1, kjpindex zqsintvegnew(ji,jv) = MIN (qsintveg(ji,jv),qsintmax(ji,jv)) IF ( ok_throughfall_by_pft ) THEN ! correction throughfall Nathalie - Juin 2006 precisol(ji,jv) = (veget(ji,jv)*throughfall_by_pft(jv)*precip_rain(ji)) + & qsintveg(ji,jv) - zqsintvegnew (ji,jv) + & (veget_max(ji,jv) - veget(ji,jv))*precip_rain(ji) ELSE precisol(ji,jv) = qsintveg(ji,jv) - zqsintvegnew (ji,jv) + & (veget_max(ji,jv) - veget(ji,jv))*precip_rain(ji) ENDIF ENDDO END DO
But in hydrolc.f90, throughfall_by_pft is used whatever the mode (coupled or not). If it is only necessary to used this parameter in coupled mode, the following equations should be corrected in hydrolc.f90 :
DO jv=1,nvm ! Correction Nathalie - Juin 2006 - une partie de la pluie arrivera toujours sur le sol ! sorte de throughfall supplementaire !qsintveg(:,jv) = qsintveg(:,jv) + veget(:,jv) * precip_rain(:) !MM veget(:,1) BUG ??!!!!!!!!!!! IF (jv .EQ. 1) THEN qsintveg(:,jv) = qsintveg(:,jv) + tot_bare_soil(:) * ((1-throughfall_by_pft(jv))*precip_rain(:)) ELSE qsintveg(:,jv) = qsintveg(:,jv) + veget(:,jv) * ((1-throughfall_by_pft(jv))*precip_rain(:)) ENDIF END DO ! ! 1.3 Limits the effect and sum what receives soil ! precisol(:,:) = zero DO jv=1,nvm DO ji = 1, kjpindex zqsintvegnew(ji,jv) = MIN (qsintveg(ji,jv),qsintmax(ji,jv)) ! correction throughfall Nathalie - Juin 2006 !precisol(ji,jv) = qsintveg(ji,jv ) - zqsintvegnew (ji,jv) !MM veget(:,1) BUG ??!!!!!!!!!!! IF (jv .EQ. 1) THEN precisol(ji,jv) = (tot_bare_soil(ji)*throughfall_by_pft(jv)*precip_rain(ji)) + qsintveg(ji,jv ) - zqsintvegnew (ji,jv) ELSE precisol(ji,jv) = (veget(ji,jv)*throughfall_by_pft(jv)*precip_rain(ji)) + qsintveg(ji,jv ) - zqsintvegnew (ji,jv) ENDIF ENDDO ENDDO
Change History (9)
comment:1 Changed 11 years ago by dsolyga
- Version changed from orchidee_1_9_7 to orchidee_1_9_6
comment:2 Changed 11 years ago by nvuilsce
comment:3 follow-up: ↓ 4 Changed 11 years ago by dsolyga
I agree with Nicolas. throughfall_by_pft should be initialized in pft_parameters module :
IF ( OFF_LINE_MODE ) THEN throughfall_by_pft(:) = zero ELSE throughfall_by_pft(:) = throughfall_by_mtc(pft_to_mtc(:)) ! = 30. END IF
The equations in the code are compatible if we look at hydrol and hydrolc.
comment:4 in reply to: ↑ 3 Changed 11 years ago by jpolcher
Replying to dsolyga:
I agree with Nicolas. throughfall_by_pft should be initialized in pft_parameters module :
IF ( OFF_LINE_MODE ) THEN throughfall_by_pft(:) = zero ELSE throughfall_by_pft(:) = throughfall_by_mtc(pft_to_mtc(:)) ! = 30. END IFThe equations in the code are compatible if we look at hydrol and hydrolc.
Is "OFF_LINE_MODE" the right flag ? Other atmospheric models can provide correct rainfall characteristics and thus it would be wiser to have a flag that specifically controls this through-fall fraction.
comment:5 Changed 10 years ago by peylin
- Owner changed from somebody to aducharne
- Status changed from new to assigned
comment:6 Changed 10 years ago by aducharne
- Status changed from assigned to accepted
comment:7 Changed 10 years ago by aducharne
Ticket meeting of March 4, 2014 with JG, NVui, AD: we suggest to:
- remove the flag ok_throughfall_by_pft, because we can get the same effect by setting throughfall_by_pft(:)=0.
- keep the default behaviour as in the trunk rev [1943], i.e. throughfall_by_pft(:)=30
- adapt hydrol.f90
It leads to the following changes in pft_parameters:
DELETE THE BLOCK BELOW:
IF ( active_flags%hydrol_cwrr ) THEN !! 2.1 Read the flag ok_throughfall_by_pft to know if !! we have to use the parameter throughfall_by_pft !Config Key = OK_THROUGHFALL_PFT !Config Desc = Activate use of PERCENT_THROUGHFALL_PFT !Config If = HYDROL_CWRR !Config Def = FALSE !Config Help = If NOT OFF_LINE_MODE it is always TRUE (coupled with a GCM) !Config Units = [FLAG] IF ( .NOT. OFF_LINE_MODE ) ok_throughfall_by_pft = .TRUE. CALL getin_p('OK_THROUGHFALL_PFT',ok_throughfall_by_pft) END IF
CHANGE THE FOLLOWING BLOCK:
IF ( .NOT.(active_flags%hydrol_cwrr) .OR. (active_flags%hydrol_cwrr .AND. ok_throughfall_by_pft) ) THEN throughfall_by_pft(:) = throughfall_by_mtc(pft_to_mtc(:)) ENDIF
TO:
IF ( active_flags%hydrol_cwrr .AND. OFF_LINE_MODE ) THEN throughfall_by_pft(:) = 0. ELSE throughfall_by_pft(:) = throughfall_by_mtc(pft_to_mtc(:)) ENDIF
comment:8 Changed 10 years ago by aducharne
- Owner changed from aducharne to jgipsl
- Status changed from accepted to assigned
comment:9 Changed 9 years ago by jgipsl
- Resolution set to fixed
- Status changed from assigned to closed
Done rev [2381]
I would be in favour of using the parameter throughfall_by_pft everywhere and to remove the flag ok_throughtfall_by_pft. The condition NOT ok_throughfall_by_pft equals to set throughfall_by_pft to 0.