Dear hive mind-
Does anyone have a code that takes an initial density field on a ROMS grid (or any other grid) and a level of no motion and uses it to return a geostrophically balanced flow field? It would be nice if it delt with curved grids...
It would not be hard to do, but I am hoping to avoid re-inventing the wheel.
Cheers,
Jamie Pringle
geostrophically adjusted initial condition.
What is your exact intension with this? We have counted on ROMS spinning up a balanced velocity field in short order from say Levitus. More recently, we've done runs with initial conditions coming from a larger model domain which includes the velocities. Many such fields are available these days, including global POP runs.
I've heard of putting the model into diagnostic mode, where the tracers are held fixed until the velocities get spun up. I was talked into skipping this step as being unnecessary. The only problem with using the model for this is that the barotropic transport could well be off since there is no real way to impose this in ROMS.
I've heard of putting the model into diagnostic mode, where the tracers are held fixed until the velocities get spun up. I was talked into skipping this step as being unnecessary. The only problem with using the model for this is that the barotropic transport could well be off since there is no real way to impose this in ROMS.
I am starting a short, semi-idealized run with density features that are only 2-3 times larger than the radius of deformation. As part of the adjustment processes, gravity waves rattle around the domain, and bother the boundary condition. I could get away with a simpler model setup if I did not have to worry about these fast gravity waves. It struck me that an initially adjust boundary condition would do the trick.
Cheers,
Jamie
Cheers,
Jamie
Hi, Dr. Pringle,
I have an IDL package dealing with the ROMS OA package output with ROMS grids but at z levels to get the geostrophic velocity. The density is calculated in the code from T/S. It may be useful for your problems. If you want to directly process the ROMS initial netcdf file with an S coordinate with topography above the reference level, it is quite different story. I have a code for that, but with large errors due to the interpolation of large pressure numbers along S level especially when a large density gradient occurs above a large topography slope.
Send email to me if you are interested in looking at them: zhang@ccpo.odu.edu.
Bin Zhang
I have an IDL package dealing with the ROMS OA package output with ROMS grids but at z levels to get the geostrophic velocity. The density is calculated in the code from T/S. It may be useful for your problems. If you want to directly process the ROMS initial netcdf file with an S coordinate with topography above the reference level, it is quite different story. I have a code for that, but with large errors due to the interpolation of large pressure numbers along S level especially when a large density gradient occurs above a large topography slope.
Send email to me if you are interested in looking at them: zhang@ccpo.odu.edu.
Bin Zhang
If your features are only 2-3 times the deformation radius, your flow field might not be all that geostrophic.
I would think about spinning up diagnostically, to get a cyclostrophic/geostrophic/QG (or whatever) balance that better matches your density field *and* the physics at the scales you are interested in.
I would think about spinning up diagnostically, to get a cyclostrophic/geostrophic/QG (or whatever) balance that better matches your density field *and* the physics at the scales you are interested in.
Jamie,
I have a couple of matlab files that do most of what I think you intend.
These are:
http://marine.rutgers.edu/~wilkin/wip/r ... m_stdlev.m which computes geostrophic velocity from tmep/salt provided on a vector of z depths. So it coud be data mapped to the ROMS horizontal gird (but NOT the s-vertical coordinates).
http://marine.rutgers.edu/~wilkin/wip/r ... m_stdlev.m which will do the mapping to the s-coordinates. If the data are already on the ROMS horizontal grid set do_interp=0.
The advantage of mapping to the horizontal grid first is that the new u,v will be aligned with the ROMS direction. Then to get ubar,vbar just so the vertical integral on the u,v staggerred points, for which you can use: http://marine.rutgers.edu/~wilkin/wip/r ... oms_zint.m
Hope this helps reinvent most of your wheel. It comes with no warranty and little tech support.
If your original temp/salt data are not smooth this process can produce noisy velocity data. One way around that is to run a short, very stiff nudging to these data as 'climatology'. It's a bit brute force but at this point in a project you'll be allowed to do this data preparation in any way that works.
John.
I have a couple of matlab files that do most of what I think you intend.
These are:
http://marine.rutgers.edu/~wilkin/wip/r ... m_stdlev.m which computes geostrophic velocity from tmep/salt provided on a vector of z depths. So it coud be data mapped to the ROMS horizontal gird (but NOT the s-vertical coordinates).
http://marine.rutgers.edu/~wilkin/wip/r ... m_stdlev.m which will do the mapping to the s-coordinates. If the data are already on the ROMS horizontal grid set do_interp=0.
The advantage of mapping to the horizontal grid first is that the new u,v will be aligned with the ROMS direction. Then to get ubar,vbar just so the vertical integral on the u,v staggerred points, for which you can use: http://marine.rutgers.edu/~wilkin/wip/r ... oms_zint.m
Hope this helps reinvent most of your wheel. It comes with no warranty and little tech support.
If your original temp/salt data are not smooth this process can produce noisy velocity data. One way around that is to run a short, very stiff nudging to these data as 'climatology'. It's a bit brute force but at this point in a project you'll be allowed to do this data preparation in any way that works.
John.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu