Hello,
I'm new to ROMS and just started running and adjusting the upwelling test.I got stuck in a problem and really confused. Could anyone help me? Thanks~
Since the upwelling test was set in the southern-hemisphere. I'm now trying to run it in northern hemisphere. I chose to pick up the latitude of 48N. So I redefined the Coriolis Parameter f0 in the ANA-GRID.h file to the new value. But in the ocean_his.nc, the f still shows the minus value in the original model. It didn't change at all!
So I wonder if I want to reset the test in northern hemisphere, should I adjust something else except f0 in the ANA-GRID.h file?
Thanks a lot!
Shuang
About Coriolis parameter
-
- Posts: 5
- Joined: Thu Jul 02, 2009 5:45 pm
- Location: Applied Physics Lab. Univresity of Washington
-
- Posts: 3
- Joined: Tue May 26, 2009 3:09 pm
- Location: Institute Of Oceanology,Chinese Academy Of Science
Re: About Coriolis parameter
In realistic applications,you use the grid created by yourself, this problem does not exist.
Re: About Coriolis parameter
You changed f0 in the UPWELLING section of ana_grid.h? That should do the trick. You can check by looking in Build/analytical.f90 to see the exact code being used.
-
- Posts: 5
- Joined: Thu Jul 02, 2009 5:45 pm
- Location: Applied Physics Lab. Univresity of Washington
Re: About Coriolis parameter
Thanks a lot!:)
I figured it out. I think it's the 'make clean' thing that I missed before I do 'make' again.
I figured it out. I think it's the 'make clean' thing that I missed before I do 'make' again.
Re: About Coriolis parameter
Is coriolis parameter calculated somewhere in the code if we provide simply lon and lat values? In another words, do I have to strictly define it under ana_grid.F or my grid.nc?
Özgür
Özgür
Re: About Coriolis parameter
As it is, ana_grid will compute f from f0 and beta unless you change something.
get_grid will want to read f, not compute it. Again, you can change that or compute it outside ROMS since you know the lat.
get_grid will want to read f, not compute it. Again, you can change that or compute it outside ROMS since you know the lat.
- arango
- Site Admin
- Posts: 1367
- Joined: Wed Feb 26, 2003 4:41 pm
- Location: DMCS, Rutgers University
- Contact:
Re: About Coriolis parameter
I really don't know what is the fuzz about this issue. In realistic applications, you need to provide the Coriolis parameter in the input grid NetCDF file, variable f. This parameter cannot be computed inside ROMS because it breaks functionality and portability. In some curvilinear and global applications, a special manipulation can be done by rotating the poles (North and/or South), moving the Ecuator to the center of the grid, and many other posibilities. The latitudes/colatitudes can be set from -90 to 90 or 0 to 180. All this is arbitrary provided that you are consistent with your input data. For this reason, it is advantageous to provide the Coriolis from outside than coding a lot of conditionals for the various possibilites inside ROMS.
That is, you can compute the Coriolis parameter from outside and made all the possible manipulations for your particular grid. I always recommend users to plot this field when generating a grid I have seen users in the past assigning the incorrect sign. This is a physically absurdity because it changes the dynamics of wave motions.
The analytical options are for idealized applications in the f-plane or beta-plane. It also can be used to add additional centripetal accelerations to the Coriolis when computing time-varyinf rotation force used in polar coordinates applications. Here f is Coriolis plus centripetal accelerations (see ana_spinning.h). ROMS provides an example of this in the LAB_CANYON set-up for laboratory rotated tanks.
I don't see any reason why a user need to use an analytical grid set-up in a realistic applications. To master ROMS, the user needs to master NetCDF files first. This is unavoidable
Now that we are on this subject. There are two parameters that can be changed in ROMS to eliminate the circulation physics. You just need to set the acceleration due to gravity (assumed constant in ROMS) to zero, g=0, and then set the Corilis parameter to zero, f=0. Setting this parameter to zero is much easier in the input grid NetCDF file. It is that simple In addition, we need zero external forcing and zero viscosity and zero diffusion coefficients for temperature and salinity. Advanced users will find this usefull in some special adjoint-based applications.
If you are providing a grid NetCDF to specify the latitude, you can also add the Coriolis parameter very easily.
That is, you can compute the Coriolis parameter from outside and made all the possible manipulations for your particular grid. I always recommend users to plot this field when generating a grid I have seen users in the past assigning the incorrect sign. This is a physically absurdity because it changes the dynamics of wave motions.
The analytical options are for idealized applications in the f-plane or beta-plane. It also can be used to add additional centripetal accelerations to the Coriolis when computing time-varyinf rotation force used in polar coordinates applications. Here f is Coriolis plus centripetal accelerations (see ana_spinning.h). ROMS provides an example of this in the LAB_CANYON set-up for laboratory rotated tanks.
I don't see any reason why a user need to use an analytical grid set-up in a realistic applications. To master ROMS, the user needs to master NetCDF files first. This is unavoidable
Now that we are on this subject. There are two parameters that can be changed in ROMS to eliminate the circulation physics. You just need to set the acceleration due to gravity (assumed constant in ROMS) to zero, g=0, and then set the Corilis parameter to zero, f=0. Setting this parameter to zero is much easier in the input grid NetCDF file. It is that simple In addition, we need zero external forcing and zero viscosity and zero diffusion coefficients for temperature and salinity. Advanced users will find this usefull in some special adjoint-based applications.
If you are providing a grid NetCDF to specify the latitude, you can also add the Coriolis parameter very easily.