Specific humidity performs worse than the relative

Cool Findings and Plots

Moderators: arango, robertson

Post Reply
Message
Author
User avatar
Eugen
Posts: 36
Joined: Wed Apr 06, 2016 4:36 pm
Location: University of Liege

Specific humidity performs worse than the relative

#1 Unread post by Eugen »

Dear ROMS community,

I have to run a long-term hindcast.

ECMWF has recently discontinued ERA-Interim atmospheric forcing data and replaced it with ERA5.

I used Kate's python scripts to download ERA5 forcing, and I have noticed that the relative humidity is replaced with the specific humidity.

However, switching from relative to specific gives bad results. On the picture you see an annual cycle of SST at a given locaiton (somewhere in the North sea) for the simulation run with relative and specific humidity respectively. In case of the specific humidity, the SST is unrealistically high (up to 21.5 C for the North Sea), contrary to a realistic 18 C for the simulation with the relative humidity. All the other model settings were the same.

Image

Here below are the variable definitions for both cases.

'Qair'
'surface air relative humidity'
'fraction'
'Qair, scalar, series'
'qair_time'
'idQair'
'r2dvar'
0.01d0
(Min = ~40, Max = ~95)

'Qair'
'surface air specific humidity'
'g/kg'
'Qair, scalar, series'
'qair_time'
'idQair'
'r2dvar'
1.0d0
(Min = 2.94353056E+00 Max = 7.77762556E+00)

Did I make a mistake somewhere in the variable definition? I would still need to run the hindcast with the ERA5 data after all.

P.S. apparently ERA5 has relative humidity as well, but I had encountered some troubled to download it.
Evgeny Ivanov

PostDoc,
MAST, University of Liege, Belgium

User avatar
wilkin
Posts: 875
Joined: Mon Apr 28, 2003 5:44 pm
Location: Rutgers University
Contact:

Re: Specific humidity performs worse than the relative

#2 Unread post by wilkin »

When I make forcing files for ROMS from ERA5 (in my roms_wilkin tools function roms_write_era5_NCARds633_frcfile.m) I compute relative humidity from 2-m air temperature and specific humidity.

Code: Select all

% Compute relative humidity using Clausius-Clapeyron equation
      tsur  = t2;          % 2m temperature from ERA5
      tdew  = d2;          % 2m dewpoint from ERA5
      tsur  = tsur - 273.15;
      tdew  = tdew - 273.15;   
     
      % New code 
      % Annex 4.B of "Guide to Instruments and Methods of Observation
      % Volume I: Measurement of Meteorological Variables", WMO No. 8, 2018 
      % https://library.wmo.int/index.php?lvl=notice_display&id=12407#.XiGSwf5KiUk
      % The adjustment for air pressure is not needed in the ratio for RH.
      
      % Saturation vapor pressure at dew point and surface temperature
      vpdew = 6.112 * exp( 17.62*tdew ./ (243.12+tdew));
      vp2m  = 6.112 * exp( 17.62*tsur ./ (243.12+tsur));
      field = 100.0 * vpdew./vp2m;  
      Pair = field;
      
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu

User avatar
Eugen
Posts: 36
Joined: Wed Apr 06, 2016 4:36 pm
Location: University of Liege

Re: Specific humidity performs worse than the relative

#3 Unread post by Eugen »

Thank John !

I've actually tried that as well (by another formula though), and it worked, but I thought there was a more direct way without conversion.

Gonna continue using relative humidity then.
Evgeny Ivanov

PostDoc,
MAST, University of Liege, Belgium

User avatar
wilkin
Posts: 875
Joined: Mon Apr 28, 2003 5:44 pm
Location: Rutgers University
Contact:

Re: Specific humidity performs worse than the relative

#4 Unread post by wilkin »

Notice that ROMS bulk_flux.F has this code....

Code: Select all

!
!  Compute specific humidity, Q (kg/kg).
!
          IF (RH.lt.2.0_r8) THEN                       !RH fraction
            cff=cff*RH                                 !Vapor pres (mb)
            Q(i)=0.62197_r8*(cff/(PairM-0.378_r8*cff)) !Spec hum (kg/kg)
          ELSE          !RH input was actually specific humidity in g/kg
            Q(i)=RH/1000.0_r8                          !Spec Hum (kg/kg)
          END IF
... which implies that if the user has provided Qair not as relative humidity but as specific humidity, then it will use it as such. I believe the logic is that if Qair is less than 2 it has to be a fractional relative humidity converted from percent. It can't possibly be specific humidity, which would always have a value exceeding 2 g/kg over the ocean.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu

Post Reply