Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#415 closed defect (fixed)

bug in calculation of VPD and air_relhum

Reported by: nicolasviovy Owned by: somebody
Priority: major Milestone: ORCHIDEE 2.0
Component: Anthropogenic processes Version: trunc
Keywords: Cc:

Description

A bug was found in calculation of VPD (and air_relhum) in diffuco_trans_co2.
VPD is calculated from qsurf instead of q2m.
So the code:

air_relhum(:) = &

( qsurf(:) * pb(:) / (Tetens_1+qsurf(:)* Tetens_2) ) / &
( qsatt(:)*pb(:) / (Tetens_1+qsatt(:)*Tetens_2 ) )

VPD(:) = ( qsatt(:)*pb(:) / (Tetens_1+qsatt(:)*Tetens_2 ) ) &

-- ( qsurf(:) * pb(:) / (Tetens_1+qsurf(:)* Tetens_2) )

should be changed in :

air_relhum(:) = &

( q2m(:) * pb(:) / (Tetens_1+q2m(:)* Tetens_2) ) / &
( qsatt(:)*pb(:) / (Tetens_1+qsatt(:)*Tetens_2 ) )

VPD(:) = ( qsatt(:)*pb(:) / (Tetens_1+qsatt(:)*Tetens_2 ) ) &

-- ( q2m(:) * pb(:) / (Tetens_1+q2m(:)* Tetens_2) )

Attachments (1)

VPD_ 3_different_ways.pdf (888.4 KB) - added by maignan 4 years ago.

Download all attachments as: .zip

Change History (3)

comment:1 Changed 4 years ago by jgipsl

  • Resolution set to fixed
  • Status changed from new to closed

Done in the trunk rev [4778]

Changed 4 years ago by maignan

comment:2 Changed 4 years ago by maignan

Unsung heroes for this work are:

  • Daniel Goll, who vainly tried to attract some attention on this problem during several months,
  • Fabienne Maignan, who finally went through all the relevant code with Daniel, detected the problematic use of two saturated pressures and proposed two alternate formulations with (qsurf,qair) or (qsat,qair), which Daniel tested at global scale (see attachment:"VPD_ 3_different_ways.pdf").

I know we're in a hurry for CMIP6 but some more testing may have been appropriate.

Note: See TracTickets for help on using tickets.