swrad and lwrad

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
wanghaoyu
Posts: 16
Joined: Thu Sep 15, 2022 7:57 pm
Location: iocas

swrad and lwrad

#1 Unread post by wanghaoyu »

I would like to ask, what is the relationship between the swrad (lwrad) output by roms and the swrad (lwrad) input by forced field files? Should they be equal? Thank you very much

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

Re: swrad and lwrad

#2 Unread post by wilkin »

No, the inputs and outputs will not be exactly equal, and depending on your options could be quite different.

In the history files, ROMS outputs the instantaneous radiation at the model time step.

If you provide input swrad that is a long term (daily, monthly ...) average, and use #define DIURNAL_SRFLUX to introduce the diurnal cycle, then output swrad will sample this diurnal cycle. If you #undef DIURNAL_SRFLUX and accept the time resolution of your input swrad, ROMS is still interpolating between those values to model time.

Longwave is a bit tricky because there are several options to define this, described in the comments in Include/cppdefs.h

Code: Select all

**   There are three ways to provide longwave radiation in the atmospheric   **
**   boundary layer: (1) Compute the net longwave radiation internally using **
**   the Berliand (1952) equation (LONGWAVE) as function of air temperature, **
**   sea surface temperature, relative humidity, and cloud fraction;         **
**   (2) provide (read) longwave downwelling radiation only  and then add    **
**   outgoing longwave radiation (LONGWAVE_OUT) as a function of the model   **
**   sea surface temperature; (3) provide net longwave radiation (default).  **
**                                                                           **
** LONGWAVE                if computing net longwave radiation               **
** LONGWAVE_OUT            if computing outgoing longwave radiation          **
Thus (option (1) above), if you have #define LONGWAVE the model estimates LRad from air and sea temperature, clouds and humidity. See Nonlinear/bulk_fluxes.F in the code block that begins ...

Code: Select all

# if defined LONGWAVE
!
!  Use Berliand (1952) formula to calculate net longwave radiation.
!  The equation for saturation vapor pressure is from Gill (Atmosphere-
Option (2) above, if you have #define LONGWAVE_OUT then ...

Code: Select all

# elif defined LONGWAVE_OUT
!
!  Treat input longwave data as downwelling radiation only and add
!  outgoing IR from model sea surface temperature.
ROMS interpolates the input LRad, interpreted as downward radiation only to the model timestep, computes outgoing longwave based on instantaneous model SST, adds these and outputs that to the history file.

Option (3) above, the default, is #undef LONGWAVE and #undef LONGWAVE_OUT and ROMS reads Lrad from the input and uses this as net longwave, again interpolated to model time.

See the code in bulk_fluxes.F to see the logic of this.

If you are unsure what you are getting, look at Build_roms/bulk_fluxes.f90 to see the preprocessed FORTRAN code that is being compiled.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu

wanghaoyu
Posts: 16
Joined: Thu Sep 15, 2022 7:57 pm
Location: iocas

Re: swrad and lwrad

#3 Unread post by wanghaoyu »

Thank you very much for your reply, which has helped me solve a big problem. I still have a small doubt. If I use hour-by-hour swrad data, do I need to define #DIURNAL_SRFLUX and introduce it into daily cycle for sampling if I want to calculate ecological variables like chlorophyll :roll: :roll:

Post Reply