ROMS 3.0: about sea surface heat flux

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
xqzhang
Posts: 11
Joined: Tue Jan 30, 2007 10:51 pm
Location: Texas A&M University

ROMS 3.0: about sea surface heat flux

#1 Unread post by xqzhang »

Hi everyone,

I am a new user to ROMS. Recently I am running a case with analytical short wave heat flux and wind forcing at the sea surface. However, the ocean temperature does not change with time at all even there is surface heat flux (I set the initial ocean temperature 14 degrees everywhere). I defined surface heat flux using ana_srflux, and it works well. I could not figure out why the ocean can not feel this sea surface heat flux forcing. Does anybody have any suggestions what might be wrong in my setup? Thanks.

The .h file with all the options I defined includes

#define UV_ADV
#define UV_COR
#define UV_QDRAG

#define TS_A4HADVECTION
#define TS_SVADVECTION
#define DJ_GRADPS
#define TS_DIF2
#define MIX_ISO_TS

#define SALINITY
#ifdef SALINITY
#define ANA_BSFLUX
#define ANA_SSFLUX
#endif
#define SOLVE3D
#define SPLINES
#undef PASSIVE_TRACER
#define NONLIN_EOS

#define EW_PERIODIC
#define NS_PERIODIC

#define ANA_GRID
#define ANA_INITIAL
#define SHORTWAVE
#define ANA_SRFLUX
#define ANA_TAIR
#define ANA_PAIR
#define ANA_HUMID

#define ANA_SMFLUX
#define ANA_STFLUX
#define ANA_BTFLUX

#define GLS_MIXING
#define CANUTO_A
#define N2S2_HORAVG

jcwarner
Posts: 1200
Joined: Wed Dec 31, 2003 6:16 pm
Location: USGS, USA

#2 Unread post by jcwarner »

what does this mean:
" I defined surface heat flux using ana_srflux, and it works well."
How do you know "it works well?"

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: ROMS 3.0: about sea surface heat flux

#3 Unread post by kate »

xqzhang wrote: #define ANA_GRID
#define ANA_INITIAL
#define SHORTWAVE
#define ANA_SRFLUX
#define ANA_TAIR
#define ANA_PAIR
#define ANA_HUMID

#define ANA_SMFLUX
#define ANA_STFLUX
#define ANA_BTFLUX
You've got ANA_STFLUX defined. I think this is where your surface heat flux will be coming from in this case. With the ANA_TAIR and friends, if you want ROMS to be computing your fluxes from atmospheric fields, you will need to define BULK_FLUXES instead of ANA_STFLUX. Bulk_flux will also be looking for winds at the very least.

xqzhang
Posts: 11
Joined: Tue Jan 30, 2007 10:51 pm
Location: Texas A&M University

#4 Unread post by xqzhang »

Sorry about the confusion I made before.

I defined the sea surface heat flux using ana_srflux.h in Functionals
as follows.

srflx(i,j) = 150.0_r8*SIN(2.0*pi*tdays(ng))
if(srflx(i,j).le.0) srflx(i,j)=0.

During the day, srflx is a sine function of time. At night, it is 0.

When I ran my case, I printed out srflx on the screen so that I knew
it was just as what I defined in my code.

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

#5 Unread post by kate »

To clarify, ROMS will not use srflx to compute the surface heat flux by default. You can modify ana_stflux to use the srflx or you can use BULK_FLUXES to compute the heat flux and wind stress from the atmospheric fields and the other inputs such as srflx and lrflx. You can poke through the files in the Build directory to see what's left after the C preprocessor goes through the code. Do you know the grep command? The heat fluxes will end up in the stflx variable.

xqzhang
Posts: 11
Joined: Tue Jan 30, 2007 10:51 pm
Location: Texas A&M University

#6 Unread post by xqzhang »

Thank you very much for your reply. I will check the stflx variable in the Build directory.

Post Reply