option for wind forcing

Discussion of how to use ROMS on different regional and basin scale applications.

Moderators: arango, robertson

Post Reply
Message
Author
nobuhitomori
Posts: 22
Joined: Fri Jul 08, 2005 5:42 pm
Location: Kyoto University

option for wind forcing

#1 Unread post by nobuhitomori »

Dear community,

I have a trivial question about wind forcing option in ROMS. I tried to exclude the wind forcing from external file but was alway there. I'm currently put zero in forcing files but there must be related option in *.h file.
Does anyone give me the information of it?

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

#2 Unread post by kate »

There is convoluted logic here, starting with how you want it to compute surface stresses. Will you apply them analytically? Then use ANA_SRFLUX. Will you compute them from winds and other atmospheric fields? Then use BULK_FLUXES. If you have BULK_FLUXES, will the winds (etc.) come from a file or from an analytic formula? Check ANA_WINDS.

nobuhitomori
Posts: 22
Joined: Fri Jul 08, 2005 5:42 pm
Location: Kyoto University

#3 Unread post by nobuhitomori »

Dear kate,

I currently do not want to compute wind stress and turned off BULK_FLUXES and ANA_WINDS. I'm using roms_tools to setup initial conditions. Therefore, there is forcing file in User/data diretory. The ROMS seems to reading forcing file but I don't want to read it.

User avatar
arango
Site Admin
Posts: 1367
Joined: Wed Feb 26, 2003 4:41 pm
Location: DMCS, Rutgers University
Contact:

#4 Unread post by arango »

Obviously, you are very confused. To run ROMS, you need wind stress :!: There is no such thing as telling ROMS that you don't want wind stress. This does not make any sense at all. The momentum equations require surface (wind stress) and bottom (bed stress) boundary conditions. This is part of the discretization of the continuous equations.

If you don't want surface wind stress effects, you need to set sustr and svstr to zero :!: You still need to tell ROMS how are you providing the wind stress, even if is zero. This is unavoidable. You either provide this forcing with an analytical function (ANA_SMFLUX) and specify sustr and svstr to zero in ana_smflux.h or provide a forcing NetCDF file with zero values for these fields.

The BULK_FLUXES option is to compute the surface wind stress and surface heat fluxes using a bulk parameterization. This option is used when the COARE surface boundary layer is desired to compute such stresses. In this case, you need to provide surface (or near surface) horizontal winds vector components and several other atmospheric fields. Notice that ROMS actually never uses surface wind (m/s) vectors but surface wind stress (Pa).

nobuhitomori
Posts: 22
Joined: Fri Jul 08, 2005 5:42 pm
Location: Kyoto University

#5 Unread post by nobuhitomori »

Dear arango,

I totally misunderstood and now I know my way to.
I appreciate for your kind suggestions and information.

mariafattorini
Posts: 52
Joined: Tue Mar 03, 2009 2:39 pm
Location: C.N.R. - LaMMA

Re: option for wind forcing

#6 Unread post by mariafattorini »

Hello all,

If I have to set a constant wind (constant in the space and in time), can I use the ANA_WIND?

And, if ANA_WIND is defined (as in some test cases), where I set velocity and direction values?

I hope in your help,
Maria

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

Re: option for wind forcing

#7 Unread post by kate »

Yes, you can set it analytically. Copy ana_wind.h into the directory where you put your cpp file and edit it accordingly. You can check Build/analytical.f90 during the build to see if it got the right ana_wind.h.

jacopo
Posts: 81
Joined: Fri Nov 21, 2003 9:30 pm
Location: CNR-ISMAR

Re: option for wind forcing

#8 Unread post by jacopo »

Make sure your makefile point to the right ana_wind.h specifying the dir

MY_ANALYTICAL_DIR ?= /home/the_pat_to_the_folder_with_your_ana_files

jacopo
Posts: 81
Joined: Fri Nov 21, 2003 9:30 pm
Location: CNR-ISMAR

Re: option for wind forcing

#9 Unread post by jacopo »

kate wrote:You can check Build/analytical.f90 during the build to see if it got the right ana_wind.h.
It is also specified in the ROMS log file once you make it to run

mariafattorini
Posts: 52
Joined: Tue Mar 03, 2009 2:39 pm
Location: C.N.R. - LaMMA

Re: option for wind forcing

#10 Unread post by mariafattorini »

Hello all,

I would like to see how it changes the Sed_test1 test-case if I add a wind forcing. To do this, I have to add the following cpp options in the header file:

bulk_fluxes, ana_winds, ana_pair, ana_tair, ana_humidity, ana_rain, ana_cloud, longwave

and I have to eliminate ana_smflux and ana_stflux.
Have I to eliminate ana_tobc and ana_fobc too?

It is right?

I am very confused.

Thank you very much for each suggestion,
Maria

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

Re: option for wind forcing

#11 Unread post by jcwarner »

if you just want to see what the winds would do, then edit
ROMS/External/Functionals
and add sustr and svstr in there, similar to the way SED_TOY or SHOREFACE has it.

User avatar
ckharris
Posts: 40
Joined: Wed Nov 03, 2004 4:37 pm
Location: VIMS
Contact:

Re: option for wind forcing

#12 Unread post by ckharris »

Question:

Is it possible to include a time-series forcing for the surface momentum but neglect the surface heat fluxes? If so, how do I do this?

BULK_FLUXES requires a time-series of wind speeds (which I have), but also specification of things that I don't have (air temperature, cloud cover, etc.).

I need to include my hourly time-series of wind speeds, but would rather not track down reasonable values for all of the other variables.

thanks,
Courtney
Courtney Harris
Professor
Virginia Institute of Marine Sciences
http://www.vims.edu/about/directory/fac ... ris_ck.php

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

Re: option for wind forcing

#13 Unread post by kate »

What bulk_flux does is approximate an atmospheric boundary layer and compute stresses and heat from that. What you need is a formula for estimating wind stress from winds alone. With that in hand, you can hack it into ROMS, but you'll be fighting the ROMS logic machine on it figuring out which fields it needs. I could do it, but there would be trial and error, so I can't tell you all the steps off hand. Try it and see what doesn't work, then attack that. Get to know what globaldefs.h is doing, also get_data and set_data.

jacopo
Posts: 81
Joined: Fri Nov 21, 2003 9:30 pm
Location: CNR-ISMAR

Re: option for wind forcing

#14 Unread post by jacopo »

Courtney,

the easiest option I see is the following:

1) estimate (offline) the momentum stress using simple parameterizations that require only the wind field. An example parameterization is here
http://woodshole.er.usgs.gov/operations ... tress.html

2) Create a netcdf forcing file with momentum stress.

3) set:
# define ANA_STFLUX and set surface temperature fluxe to zero (so no need for heat fluxes)
# undef BULK_FLUXES (you don't need that anymore)

hope this helps

Jacopo

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

Re: option for wind forcing

#15 Unread post by wilkin »

Courtney,

You can use #define ANA_TAIR and edit the Functionals files ana_tair.h (and Pair, Qair, swrad, lwrad) to set simple sensible values for those variables, and let ROMS read the wind speed components from your netcdf files (i.e do not define ANA_WINDS). With constant but sensible values for Tair, Qair, Pair etc bulk_fluxes will compute stresses (but also heat fluxes).

If you really want to zero out the heat fluxes while retaining the stresses, then you can hack just the few lines in bulk_flux.F where stflx(...itemp) is set according to the sum of the 4 components and leave sustr,svstr unchanged. You would need to make swrad zero in that case using analytical.

Another approach is to look in get_data.F and notice where Uair and Vair are read. You'll see that the option ECOSIM forces a reading of those data even if they are not going to be used (because BULK_FLUX is undefined). You can create your own cpp flag and then use it to similarly activate the reading of the wind components, then use the wind components inside an ana_smflux.h you write to compute stress with a simple drag rule. You should be careful about vector directions if your grid is rotated from east-north (that's something you don't have to worry about if you work through bulk_flux.F as I suggest above).

John.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu

fdaryabor
Posts: 78
Joined: Wed Jan 02, 2008 3:15 pm
Location: University of Copenhagen

Re: option for wind forcing

#16 Unread post by fdaryabor »

Hi
In order to the arango guide for ignore wind stress don't touch to subroutine. You have to zero all of the array of wind stress matrix for this case if you refer to 'make_forcing.m' in ROMSTOOLS in line that is for writing of wind stress in netcdf file you put u=0 and v=0 after 'horizontal extrapolation of variables on ROMS grid FUNCTION'. And you must run the model like previous of ignoring wind stress.
Best Regards
F.Daryabor
Center for Tropical and Climate Change Systems
National University of Malaysia

yaoyao
Posts: 3
Joined: Wed Dec 29, 2021 4:31 pm
Location: Ocean University of China

Re: option for wind forcing

#17 Unread post by yaoyao »

Hello, everyone!
I want to add wind forcing. but the change of water level is not obvious, so now I want to change the wind drag cofficient (Cd). What I have done is the followings:
1. In the *.h file, #define BULK_FLUXES and #undef ANA_SMFLUX. Add #define CCSM_FLUXES;
2. In the .in file, change these two options to T;
Hout(idUair) == T ! Uair surface U-wind component
Hout(idVair) == T ! Vair surface V-wind component
The probllems are:
1. After compiling, it seems that the CPP option (CCSM_FLUXES) didn't compiled,what can I do to make this option effective.
2. There is not a variable named Uair and Vair in the output history file even though I chage them to T, I really don't know how to set?
Thanks!

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

Re: option for wind forcing

#18 Unread post by kate »

Those options you mention are from my (unsupported) rogue version of ROMS, not the trunk code. Which code are you using?

yaoyao
Posts: 3
Joined: Wed Dec 29, 2021 4:31 pm
Location: Ocean University of China

Re: option for wind forcing

#19 Unread post by yaoyao »

Thanks kate, as you say, I just used the trunk code. So where could I get your version of ROMS?

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

Re: option for wind forcing

#20 Unread post by kate »

How many times do I have to say "unsupported"?

https://github.com/kshedstrom/roms

Post Reply