grid points for defining FORCES

Facts, news, and guidance about ROMS software

Moderators: arango, robertson

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

grid points for defining FORCES

#1 Post by chenchai » Mon Aug 08, 2016 6:28 pm

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

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

Re: grid points for defining FORCES

#2 Post by kate » Tue Aug 09, 2016 11:22 am

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

#3 Post by chenchai » Tue Aug 09, 2016 5:10 pm

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

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

Re: grid points for defining FORCES

#4 Post by kate » Wed Aug 10, 2016 11:31 am

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

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

Re: grid points for defining FORCES

#5 Post by wilkin » Wed Aug 10, 2016 1:40 pm

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

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

Re: grid points for defining FORCES

#6 Post by kate » Sat Aug 13, 2016 11:56 am

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

Post Reply