How to change Coriolis parameter?

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
haidong
Posts: 3
Joined: Sat Jan 17, 2015 5:54 pm
Location: National Hydro-Meteorology Service

How to change Coriolis parameter?

#1 Unread post by haidong »

I'm using ROMS model to calculate storm surge. So now I want to consider the effect of Coriolis force.

I have tried "undef UV_COR" to turn off Coriolis term or change f0 in some file such as ana_grid.h, analytical.f90 ..... But It was seem that It didn't effective.

Please show me What I should do that and give some advices?

Thank so much!

KN

mjfconan
Posts: 20
Joined: Mon Mar 03, 2014 1:57 pm
Location: SKLEC, ECNU, China

Re: How to change Coriolis parameter?

#2 Unread post by mjfconan »

In general, ROMS reads Coriolis factor "f" from the grid file. If using Matlab to create a grid file, you may find a function-"sw_f" provided by authority, which calculates it on every points. Or do you not offer your own grid but use an analytical one?

function f = sw_f(lat)

% SW_F Coriolis factor "f"
%===========================================================================
% SW_F $Id: sw_f.m 330 2009-03-10 05:57:42Z arango $
% Copyright (C) CSIRO, Phil Morgan 1993.
...
...

sonaljit.m
Posts: 43
Joined: Wed Nov 30, 2016 11:18 pm
Location: University of Massachusetts Dartmouth

Re: How to change Coriolis parameter?

#3 Unread post by sonaljit.m »

I am new to ROMS, but from what I understand, you can define or undef the Coriolis parameter in the header .h file (#define UV_COR) for your case. If you want to use a different Coriolis parameter, that is a bit tricky because for that you have to change the latitude/longitude which is embedded in the ROMS grid that you are using for your simulation.

The ROMS grid contains the locations of the rho points along zonal and meridional directions (x_rho and y_rho), as well as their corresponding latitudes and longitudes (lat_rho and lon_rho). There are also u and v points (lat_u, lon_u, lat_v, lon_v respectively). This grid can be generated using the SeaGrid toolbox (Matlab), or the Pyroms module (Python).

I don't know about seagrid, but in Pyroms there is this function called pyroms.grid.gridgen which builds the grid from 4 vertices of a rectangle (in eta and xi coordinates). You need to provide the appropriate latitudes and longitudes of these 4 vertices to the gridgen function. As an example, refer to the Yellow_Sea test case in Pyroms examples. https://github.com/ESMG/pyroms/blob/mas ... _grd_v1.py

I built my ROMS grid following this example. You can refer to the other test cases also.

Sonaljit.

Post Reply