## grid points for defining FORCES

Facts, news, and guidance about ROMS software

Moderators: arango, robertson

Message
Author
chenchai
Posts: 3
Joined: Wed Aug 03, 2016 6:29 pm
Location: SAIC/NRLMRY

### grid points for defining FORCES

Hi,

I think FORCES(ng)%Tair is defined at the 'rho' points. I am not sure about FORCES(ng)%Uwind and FORCES(ng)%Vwind. Are they defined at the 'rho' points as well? I noticed that in the forcing data (coamps_wc13_wind.nc), u,v have coordinates at the 'rho' points.

Thanks,

James

kate
Posts: 3717
Joined: Wed Jul 02, 2003 5:29 pm
Location: IMS/UAF, USA

### Re: grid points for defining FORCES

It depends. If ROMS has to interpolate and rotate the winds, it wants them at rho points. If you have already interpolated and rotated them, then Uwind is at u-points and Vwind is at v-points.

chenchai
Posts: 3
Joined: Wed Aug 03, 2016 6:29 pm
Location: SAIC/NRLMRY

### Re: grid points for defining FORCES

Kate,

Thank you for the reply and help to clarify.

I have a question about wind rotation.

The code set_data.F has the following. Appears that the wind is rotate from (e,n)ward to (x,y)ward. Is this correct?

Thanks,

James

===================
# ifdef CURVGRID
!
! If input point surface winds or interpolated from coarse data, rotate
! to curvilinear grid.
!
IF (.not.Linfo(1,idUair,ng).or. &
& (Iinfo(5,idUair,ng).ne.Lm(ng)+2).or. &
& (Iinfo(6,idUair,ng).ne.Mm(ng)+2)) THEN
DO j=JstrR,JendR
DO i=IstrR,IendR
cff1=FORCES(ng)%Uwind(i,j)*GRID(ng)%CosAngler(i,j)+ &
& FORCES(ng)%Vwind(i,j)*GRID(ng)%SinAngler(i,j)
cff2=FORCES(ng)%Vwind(i,j)*GRID(ng)%CosAngler(i,j)- &
& FORCES(ng)%Uwind(i,j)*GRID(ng)%SinAngler(i,j)
FORCES(ng)%Uwind(i,j)=cff1
FORCES(ng)%Vwind(i,j)=cff2
END DO
END DO

kate
Posts: 3717
Joined: Wed Jul 02, 2003 5:29 pm
Location: IMS/UAF, USA

### Re: grid points for defining FORCES

Yes, that's right. For ROMS to do the interpolation/rotation, the winds have to be on a regular lat/lon grid.

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

### Re: grid points for defining FORCES

It depends. If ROMS has to interpolate and rotate the winds, it wants them at rho points. If you have already interpolated and rotated them, then Uwind is at u-points and Vwind is at v-points.
I don't think that's correct. Stresses sustr,svstr are at the corresponding u,v points, but the wind components Uwind,Vwind are always represented at rho-points, even after they are interpolated from a simple gridded input file that is not aligned with the ROMS grid.

This is apparent in code that uses Uwind,Vwind like Nonlinear_bulk_flux.F. There you see that the wind stress components Taux,Tauy are computed at rho-points, and only at the end are they mapped to the velocity points with a step like:

Code: Select all

``````          sustr(i,j)=cff*(Taux(i-1,j)+Taux(i,j))
...
svstr(i,j)=cff*(Tauy(i,j-1)+Tauy(i,j))``````
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu

kate
Posts: 3717
Joined: Wed Jul 02, 2003 5:29 pm
Location: IMS/UAF, USA

### Re: grid points for defining FORCES

It just goes to show that you need to check the source code to know the answer for sure.