Search found 157 matches

by lanerolle
Mon May 02, 2016 6:43 am
Forum: ROMS Discussion
Topic: very diferent velocitities using GLS,MY25 or LMD
Replies: 13
Views: 4142

Re: very diferent velocitities using GLS,MY25 or LMD

If MY2.5 still blows up and GLS does not and gives diminished currents then the only thing I can conclude is that the bottom stress is coming into the two turbulent viscosity formulations differently - see my_corstep.F for example where (bustr, bvstr) and applied at the bottom most layer as a bounda...
by lanerolle
Sun May 01, 2016 8:34 am
Forum: ROMS Discussion
Topic: very diferent velocitities using GLS,MY25 or LMD
Replies: 13
Views: 4142

Re: very diferent velocitities using GLS,MY25 or LMD

I apply my GLS and MY2.5 schemes in ROMS as follows and I find that the GLS & MY2.5 give similar results with the exception that the former provides better stratification and is usually ~40% more expensive computationally. #if defined MY25_MIXING || defined GLS_MIXING # define N2S2_HORAVG # define K...
by lanerolle
Sun May 01, 2016 8:11 am
Forum: ROMS Discussion
Topic: very diferent velocitities using GLS,MY25 or LMD
Replies: 13
Views: 4142

Re: very diferent velocitities using GLS,MY25 or LMD

So the domain of computation is deeper than 20 cm (0.2 m) everywhere and anything shallower is under the permanent dry mask (mask_rho, mask_u, mask_v)? If possible, could you please show us a plot of your permanent dry mask (say mask_rho)?
by lanerolle
Sun May 01, 2016 7:48 am
Forum: ROMS Discussion
Topic: very diferent velocitities using GLS,MY25 or LMD
Replies: 13
Views: 4142

Re: very diferent velocitities using GLS,MY25 or LMD

Your model bathymetry in general is quite shallow and it blows up in a region where the water depth < 2m. Does the model have tides? If so what is the tidal range? Have you tried switching on the wetting-drying in ROMS?
by lanerolle
Fri Mar 13, 2015 7:22 pm
Forum: ROMS Discussion
Topic: GRTOFS sub-tidal water levels (3-hourly)
Replies: 1
Views: 715

GRTOFS sub-tidal water levels (3-hourly)

I use the 3-hourly operational Global RTOFS (GRTOFS) sub-tidal water levels to force my ROMS model for Cook Inlet (Alaska) along the open ocean boundaries. However, GRTOFS fields are arhived only for the past 2-years at the official website. I am looking for 3-hourly GRTOFS sub-tidal water levels fo...
by lanerolle
Thu Jan 08, 2015 4:31 pm
Forum: ROMS Discussion
Topic: Very early blowing up problem
Replies: 13
Views: 3203

Re: Very early blowing up problem

I can suggest: 1. Not using the spline-based vertical advection for momentum & tracers but instead using say the default 4th order centered schemes 2. Switching off the SPLINE CPP option 3. Reducing the time step 4. Changing the baroclinic:barotropic splitting ratio (NDTFAST) - I usually use 20, 30 ...
by lanerolle
Tue Jan 06, 2015 4:12 pm
Forum: ROMS Discussion
Topic: bulk options
Replies: 3
Views: 1129

Re: bulk options

Yes, look at the LONGWAVE_OUT CPP. It allows to you to input downward longwave radiation flux while calculating the upward longwave radiation flux internally (in bulk_flux.F).
by lanerolle
Mon Dec 15, 2014 3:33 pm
Forum: ROMS Problems
Topic: humidity in Bulk flux.F
Replies: 3
Views: 1484

Re: humidity in Bulk flux.F

In my simulations, I provide ROMS with Relative Humidity (RH) as a percentage (%). To avoid running into the Specific Humidity (SH) issue, I clip my RH values at a minimum of 2.1% and to avoid any potential problems with the mathematical formulation of the Bulk Fluxes, I also clip RH at 99% and do n...
by lanerolle
Mon Dec 08, 2014 10:26 pm
Forum: ROMS Problems
Topic: wetting and drying problem
Replies: 22
Views: 10439

Re: wetting and drying problem

I finally got my Cook Inlet ROMS model working in a stable fashion and the instabilities I saw were exactly as Zafer described. To stabilize my simulations, I had to do two things: (1) hand-tune the bathy-topo to ensure that the vertical grid aspect ratios were limited in value during the drying pha...
by lanerolle
Fri Nov 07, 2014 3:39 pm
Forum: ROMS Bugs
Topic: Arbitrary wetting over the land cells
Replies: 1
Views: 1777

Re: Arbitrary wetting over the land cells

Hi Zafer,

Which routine(s) in ROMS did you modify to multiply by the wet/dry mask?

Lyon.
by lanerolle
Mon Nov 03, 2014 6:14 pm
Forum: ROMS Discussion
Topic: blow up at first step as long as I turn on the bulk flux
Replies: 9
Views: 1824

Re: blow up at first step as long as I turn on the bulk flux

Yes, Kate is correct and sorry that I did not mention it in my message. I too avoid using winds over land during the interpolation and you may also want to look at air temperature and relative humidity/dew point over land and choose to exclude them if necessary - for some applications, I do this too.
by lanerolle
Mon Nov 03, 2014 3:06 pm
Forum: ROMS Discussion
Topic: blow up at first step as long as I turn on the bulk flux
Replies: 9
Views: 1824

Re: blow up at first step as long as I turn on the bulk flux

The easiest way to do this is to have another coarser grid that overlaps your model grid but is bigger in extent and put the met variables on this grid and get ROMS to internally do the interpolation when the model runs. Here is a sample ncdump of what I am doing (from my met NetCDF file): Dimension...
by lanerolle
Sat Oct 25, 2014 1:38 pm
Forum: ROMS Problems
Topic: Unexpected(?) blow up
Replies: 7
Views: 3139

Re: Unexpected(?) blow up

My personal experience with NaN blow-ups is that your H+zeta at some point in your grid has become zero or < 0 for some reason or other. Do you cut-off your minimum bathymetry at some depth - say minimum bathy value is 2m? I noticed that your CPP options indicate that you do not use wetting-drying a...
by lanerolle
Wed Oct 22, 2014 2:15 pm
Forum: ROMS Problems
Topic: wetting and drying problem
Replies: 22
Views: 10439

Re: wetting and drying problem

Yes, I do apply the wet/dry mask to the heat flux in bulk_flux.F after it is computed. I assumed that would be the most likely place to apply the wet/dry mask although I have seen posts on the ROMS forum indicating another location in ROMS (step_t.F?) to apply this mask would be more appropriate. Ly...
by lanerolle
Tue Oct 21, 2014 5:05 pm
Forum: ROMS Problems
Topic: wetting and drying problem
Replies: 22
Views: 10439

Re: wetting and drying problem

Hi Zafer, If I run my simulation without any surface/met forcing while also keeping T, S always constant (i.e. a constant density tidal simulation with or without sub-tidal forcing), the simulation is always stable and does not blow-up. I had to fix the bathymetry slightly to prevent blow-ups due to...
by lanerolle
Mon Oct 20, 2014 9:42 pm
Forum: ROMS Problems
Topic: wetting and drying problem
Replies: 22
Views: 10439

Re: wetting and drying problem

Hi Kate, Zafer and Wpgong, Thanks Kate and Zafer for sharing your experiences with us about the extreme T/S values. As you know, I too am battling this problem currently and the most annoying thing this is that they occur at isolated (single cell/node) locations and then the whole simulation blows-u...
by lanerolle
Wed Oct 15, 2014 2:09 pm
Forum: ROMS Discussion
Topic: time-step size
Replies: 1
Views: 831

Re: time-step size

Even if this was possible, using a different time step (other than once scaled by the ratio of the parent:nested grid size) would cause the nested grids to have different CFL numbers, diffusion numbers (K*dt/dx^2, K*dt/dy^2) than the parent grid and hence alter the numerical properties of the soluti...
by lanerolle
Mon Oct 13, 2014 7:50 pm
Forum: ROMS Discussion
Topic: About bottom friction
Replies: 9
Views: 3340

Re: About bottom friction

Which version of ROMS are you using? I think the newer versions of ROMS allows you do specify a spatially varying bottom friction within the grid NetCDF file (as an additional field) and thereafter use a CPP option (check /ROMS/Include/cppdefs.h) to bring it into the computation. In this way, you ca...
by lanerolle
Sun Oct 12, 2014 8:12 pm
Forum: ROMS Problems
Topic: wetting and drying problem
Replies: 22
Views: 10439

Re: wetting and drying problem

Have you tried using the LIMIT_BSTRESS CPP option when you have wetting-drying? I need it and without it, my runs are unstable and I use Dcrit=0.1 (the default value). Also, I use the wet/dry mask to mask out the net heat flux computed in bulk_flux.F. I am having a problem where my wetting-drying si...
by lanerolle
Fri Aug 22, 2014 1:55 pm
Forum: ROMS Discussion
Topic: Zob
Replies: 3
Views: 1112

Re: Zob

Sometimes that is the case - especially when there is like a standing wave contained within your computational domain. Then, much of the flow dynamics are "locked in" and show little sensitivity to things like bottom friction strength - e.g. Zob. You may find that your domain will become more sensit...
by lanerolle
Sun Jul 20, 2014 1:34 am
Forum: ROMS Discussion
Topic: mixed layer problem
Replies: 1
Views: 796

Re: mixed layer problem

1. What is the depth of the station you have plotted the time-series for? 2. Have you tried different ROMS vertical eddy-viscosity models (especially GLS k-omega, k-kl)? 3. During September, did you have extreme meteorological conditions (e.g. strong winds) which induced heavy vertical mixing? I am ...
by lanerolle
Thu Jul 17, 2014 4:04 pm
Forum: ROMS Bugs
Topic: Confusion about time units in forcing file
Replies: 5
Views: 3076

Re: Confusion about time units in forcing file

In my surface forcing NetCDF file(s), I simply changed: frc_time:units = "Days" ; to frc_time:units = "days since 1990-01-01 00:00:00 " ; and now everything works perfectly!!! I did not realize that ROMS svn 736 was so sensitive to the choice of words used in the units attribute of the forcing files...
by lanerolle
Wed Jul 16, 2014 11:05 pm
Forum: ROMS Bugs
Topic: Confusion about time units in forcing file
Replies: 5
Views: 3076

Re: Confusion about time units in forcing file

Here is the ncdump -h of the Uwind forcing file (where the first complaint from ROMS occurs): netcdf CBOFS2_forcing_surface_synoptic_Uwind { dimensions: eta_surf = 91 ; xi_surf = 179 ; frc_time = UNLIMITED ; // (19753 currently) variables: float frc_time(frc_time) ; frc_time:long_name = "Surface for...
by lanerolle
Wed Jul 16, 2014 9:13 pm
Forum: ROMS Bugs
Topic: Confusion about time units in forcing file
Replies: 5
Views: 3076

Confusion about time units in forcing file

I have always assumed that the ROMS initialization file needs to give the initialization time in seconds relative to a base date and the times in the forcing files needs to be in days also relative to the same base date. However, when I run ROMS svn 736 with multiple forcing files (a separate forcin...
by lanerolle
Thu Jul 10, 2014 2:20 pm
Forum: ROMS Discussion
Topic: mpirun error
Replies: 4
Views: 1188

Re: mpirun error

How big is your averages.nc file? With some NetCDF libraries and on some systems, only files as large as ~2.18Gb can be written and if you attempt to write files bigger than this, two things could happen: (a) your run could crash or (b)ROMS stops writing to the averages.nc file which continues to re...
by lanerolle
Thu Jul 10, 2014 2:16 pm
Forum: ROMS Problems
Topic: Near-bottom numerical instability over the slope
Replies: 16
Views: 5626

Re: Near-bottom numerical instability over the slope

Have you tried another sigma grid formulation which refines the grid both at the top (surface) and bottom? What about something like V_transform=1, V_stretching=1, theta_s=4.5, theta_b=0.9, Tcline=10? V_transform=1, V_stretching=1 is more robust (but may not necessary be more accurate) than V_transf...
by lanerolle
Tue May 27, 2014 1:47 am
Forum: ROMS Discussion
Topic: About bottom friction
Replies: 9
Views: 3340

Re: About bottom friction

Also, look at the locations of the stations you are using to evaluate/validate your tidal water levels/elevations and their depths. If you place stations using their (lon,lat) locations and they are excessively close to the permanent (i.e. not wetting/drying) land/sea boundary, you get artificial wa...
by lanerolle
Wed Apr 16, 2014 10:42 pm
Forum: ROMS Bugs
Topic: Potential bug in ROMS perfect restart
Replies: 16
Views: 5010

Potential bug in ROMS perfect restart

I am using ROMS/TOMS version 3.7 and I did two runs: * Run 1: Ran ROMS for 207360 timesteps and saved the outputs including the perfect restart file. Then continued the run forward with a perfect restart (all input parameters identical to previous run) and the model blew-up: 208957 12 02:13:05 5.590...
by lanerolle
Fri Mar 14, 2014 3:34 pm
Forum: ROMS Discussion
Topic: Time Profile
Replies: 0
Views: 563

Time Profile

In the older versions of ROMS, at the end of a simulation, the elapsed time profile breakdown was written out. I find that this is not so with the newer version that I am using (ROMS 3.7 version 645-688). Is there some way to output this information as screen output? We are having an MPI speed-up is...
by lanerolle
Wed Feb 12, 2014 8:12 pm
Forum: ROMS Discussion
Topic: Unable to write large restart file with NetCDF 3.6.3
Replies: 5
Views: 1665

Re: Unable to write large restart file with NetCDF 3.6.3

You are correct Kate, the only time USE_LARGE is used is in the *.mk files in the /Compilers directory and for the following architectures only: Compilers/AIX-xlf.mk Compilers/IRIX64-f90.mk Compilers/Linux-path.mk Compilers/SunOS-f95.mk I use Linux-ifort.mk and it does not use USE_LARGE and this swi...
by lanerolle
Wed Feb 12, 2014 7:50 pm
Forum: ROMS Discussion
Topic: Unable to write large restart file with NetCDF 3.6.3
Replies: 5
Views: 1665

Re: Unable to write large restart file with NetCDF 3.6.3

I am still attempting to generate a ROMS code executable capable of writing files > 2.18 Gb. I am using ROMS svn version 562. When I compile the code, it says the CPU configuration is x86_64 meaning that the compilation is being carried out with 64-bit processing. The NetCDF libraries I use too seem...
by lanerolle
Mon Feb 10, 2014 9:20 pm
Forum: ROMS Discussion
Topic: Unable to write large restart file with NetCDF 3.6.3
Replies: 5
Views: 1665

Re: Unable to write large restart file with NetCDF 3.6.3

Yes, I have those two lines in their exact form in my netcdf.inc. What should I do? Could I switch them around so that parameter (nf_format_classic = 1) parameter (nf_format_64bit = 2) becomes parameter (nf_format_classic = 2) parameter (nf_format_64bit = 1) or are there more things I need to do? In...
by lanerolle
Mon Feb 10, 2014 8:27 pm
Forum: ROMS Discussion
Topic: Unable to write large restart file with NetCDF 3.6.3
Replies: 5
Views: 1665

Unable to write large restart file with NetCDF 3.6.3

I have a large application (1044 x 724 grid points with 30 vertical levels) and I find that upon writing out the perfect restart file, ROMS crashes saying: NETCDF_ENDDEF - unable to end definition mode for file: cook_inlet_rst1.nc call from: def_rst.F If run the same application with the RST_SINGLE ...
by lanerolle
Wed Jul 31, 2013 9:13 pm
Forum: ROMS Discussion
Topic: Generating a ROMS grid with Delft3D
Replies: 0
Views: 921

Generating a ROMS grid with Delft3D

The Delft3D-RGFGRID grid generator (Deltares, Netherlands) now has the capability of outputting a ROMS-compatible grid in NetCDF format. If you choose the Cartesian coordinate system, the NetCDF file has coordinates as x_*,y_* where *=rho,u,v,psi and if you choose Spherical you get lon_*, lat_* whic...
by lanerolle
Mon Jul 08, 2013 3:22 pm
Forum: ROMS Discussion
Topic: How to check my Grid file?
Replies: 7
Views: 2085

Re: How to check my Grid file?

Make sure to plot all the fields say in Matlab - I usually tend to look at dx (1/pm), dy (1/pn), dmde, dndx, f (Coriolis parameter), the masks (rho-, u-, v- and phi- masks) and also the angle. I sometimes found problems with the angle and have had to compute it outside of Seagrid and overwrite it in...
by lanerolle
Wed Mar 13, 2013 2:06 pm
Forum: ROMS Discussion
Topic: ROMS wetting-drying and bulk flux heating/cooling
Replies: 9
Views: 3231

Re: ROMS wetting-drying and bulk flux heating/cooling

I followed John's (Warner) advice and multiplied the surface heat and salinity forcing fluxes in bulk_flux.F by the wet-dry rho-mask to account for wetting-drying and made only that change to ROMS. It works beautifully and the code is numerically totally stable and the min/max T, S generated are wit...
by lanerolle
Wed Mar 06, 2013 12:38 am
Forum: ROMS Discussion
Topic: Doubts about Seagrid
Replies: 5
Views: 1708

Re: Doubts about Seagrid

What we do is to generate a grid via Seagrid with a default/dummy bathymetric value. Thereafter, we take the grid NetCDF file and write the bathymetry into it via say Matlab as a separate procedure. I have dealt with way more than 2 million points (may be x 10 or x 50 more than that) and loop over t...
by lanerolle
Wed Feb 06, 2013 12:43 am
Forum: ROMS Tools and Techniques
Topic: UTM to geographical coordinates
Replies: 4
Views: 3135

Re: UTM to geographical coordinates

Yes, I found one online and have used it extenstively and its working very well - just simply do a google search with something like "Matlab UTM to longitude conversion" and you will find several routines.
by lanerolle
Wed Jan 30, 2013 3:03 pm
Forum: ROMS Discussion
Topic: ROMS wetting-drying and bulk flux heating/cooling
Replies: 9
Views: 3231

Re: ROMS wetting-drying and bulk flux heating/cooling

Good points both John and Kate. Yes, Kate we do not use any light attenuation and perhaps we should - there is a ton of sediment in the water around Fire Island and above (saw it with my own eyes when I was there!!!). Interestingly, my model blows-up in Knik Arm from Anchorage upwards and that area ...
by lanerolle
Sat Jan 26, 2013 12:23 am
Forum: ROMS Bugs
Topic: Possible bug in ROMS bulk flux when there is wetting-drying
Replies: 0
Views: 928

Possible bug in ROMS bulk flux when there is wetting-drying

Please see the posting "ROMS wetting-drying and Bulk Flux heating/cooling" under ROMS Discussion.
by lanerolle
Fri Jan 25, 2013 9:56 pm
Forum: ROMS Discussion
Topic: ROMS wetting-drying and bulk flux heating/cooling
Replies: 9
Views: 3231

Re: ROMS wetting-drying and bulk flux heating/cooling

Thanks John for your prompt reply. Does this mean that there is a bug in ROMS which needs to be fixed (in bulk_fluxes.F)?
by lanerolle
Fri Jan 25, 2013 7:09 pm
Forum: ROMS Discussion
Topic: ROMS wetting-drying and bulk flux heating/cooling
Replies: 9
Views: 3231

ROMS wetting-drying and bulk flux heating/cooling

I am running a ROMS application with very heavy tidal wetting-drying in Cook Inlet, AK. When I run ROMS without any surface forcing (i.e. zero wind stresses and net heat fluxes), it is numerically very stable and generates good results. When however, I include surface forcing via the Bulk Fluxes, du...
by lanerolle
Fri Jan 25, 2013 6:47 pm
Forum: ROMS Discussion
Topic: How to calculate the residence time
Replies: 5
Views: 4896

Re: How to calculate the residence time

I have used both a passive tracer and Lagrangian particles to calculate Residence Times. However, I think if we are to stick to strict definitions, if we use a tracer/dye, the times calculated are called Flushing Times as opposed to Residence Times. My applications involve idealized model problems a...
by lanerolle
Sat Dec 29, 2012 12:38 am
Forum: ROMS Discussion
Topic: How can I decide the most appropriate parameter
Replies: 7
Views: 1779

Re: How can I decide the most appropriate parameter

Yes, if you have tides - especially with sub-tidal effects also included, its best not to use the VOLCONS option. It applies mainly in cases which include model coupling/nesting where you want the full flow (and hence also the temperature and salinity and any biological fluxes) from the outer domain...
by lanerolle
Sun Dec 23, 2012 8:28 pm
Forum: ROMS Discussion
Topic: How can I decide the most appropriate parameter
Replies: 7
Views: 1779

Re: How can I decide the most appropriate parameter

There are some rough rules of thumb that you can use: 1. What is the minimum diffusivity/viscosity value you need to use to maintain T, S > 0 (assuming that you do not have negative temperatures)? So you can try some values which give T, S > 0 and then pick the minimum, 2. You can calculate the non-...
by lanerolle
Sat Dec 22, 2012 12:24 am
Forum: ROMS Ice
Topic: Sea Ice Module
Replies: 4
Views: 3963

Re: Sea Ice Module

Have there been updates since this posting Kate? I am using ROMS svn v. 562 which is relatively new and it appears that in this version too, its the ICESHELF CPP option that is (only) available. The SeaIce directory has an empty subroutine. So is ROMS still only capable of doing Ice shelves and if w...
by lanerolle
Sat Dec 15, 2012 12:56 am
Forum: ROMS Discussion
Topic: Question about particle tracking
Replies: 17
Views: 3841

Re: Question about particle tracking

One of the (unfortunate) things to keep in mind when doing off-line particle tracking is that we have to do a sensitivity study where we examine the sensitivity of the particle paths to the the frequency at which the velocity fields are saved in the *_his.nc or *_avg.nc ROMS output files. Hence, for...
by lanerolle
Thu Dec 13, 2012 3:44 pm
Forum: ROMS Discussion
Topic: River locations when there is wetting/drying
Replies: 4
Views: 2061

Re: River locations when there is wetting/drying

Thanks very much John - I followed your advice and generated a layer of wet cells across my mudflats which never dry and it all works well. In reality, if you do go to AK and look at the mudflats (e.g. in Turnagain Arm on the way from Anchorage to Seward) you will see that even in low tide, rivers c...
by lanerolle
Thu Dec 13, 2012 3:34 pm
Forum: ROMS Discussion
Topic: Bulk Fluxes in extreme situations
Replies: 0
Views: 955

Bulk Fluxes in extreme situations

I am developing an Operational Forecast System for the Cook Inlet region of Alaska. In the winter time, air temperatures can fall to -40C or below, the humidity can fluctuate between 30%-100%, there are winds up to 35 m/s (~80 mph) and the air pressure fluctuates between 960mb and 1060mb. So conditi...
by lanerolle
Fri Dec 07, 2012 4:52 pm
Forum: ROMS Discussion
Topic: River locations when there is wetting/drying
Replies: 4
Views: 2061

River locations when there is wetting/drying

In ROMS, in general, we place rivers/point sources adjacent to land mask cells - as otherwise (e.g. placing them in the middle of the ocean) a dipole-type behavior results in T, S and possibly also blow-ups. When we have wetting/drying, this is not easy to do because (i) the permanent dry/land mask ...
by lanerolle
Sat Jun 23, 2012 8:55 pm
Forum: ROMS Bugs
Topic: Another bug in /Nonlinear/step3d_t.F when using Q_PSOURCE
Replies: 3
Views: 1715

Re: Another bug in /Nonlinear/step3d_t.F when using Q_PSOURC

I tried John's suggestion and it works well - Thank you. The only issue I have is that I did a run using UV_PSOURCE and another with Q_PSOURCE (also used TS_PSOURCE for both of them) for a passive tracer and the vertical distributions from these two runs are very different. In the former, the passiv...
by lanerolle
Thu Jun 21, 2012 9:08 pm
Forum: ROMS Bugs
Topic: Another bug in /Nonlinear/step3d_t.F when using Q_PSOURCE
Replies: 3
Views: 1715

Another bug in /Nonlinear/step3d_t.F when using Q_PSOURCE

I found another bug in step3d_t.F when using the Q_PSOURCE CPP options. If you look at the code segment: +902 # ifdef Q_PSOURCE +903 ! +904 ! Apply mass point sources - Volume influx. +905 ! +906 DO is=1,Nsrc +907 i=Isrc(is) +908 IF (LtracerSrc(itrc,ng)) THEN +909 IF (((IstrR.le.i).and.(i.le.IendR))...
by lanerolle
Tue Jun 19, 2012 8:56 pm
Forum: ROMS Bugs
Topic: Bug in ROMS/Nonlinear/step3d_t.F when using Q_PSOURCE
Replies: 0
Views: 890

Bug in ROMS/Nonlinear/step3d_t.F when using Q_PSOURCE

I found a bug in step3d_t.F when using the Q_PSOURCE CPP option. If you go to code block with line numbers 902-919, a logical switch is missing. We need to insert: ! ! Apply mass point sources - Volume influx. ! IF (LtracerSrc(itrc,ng)) THEN . . . END IF Otherwise, if we do a simulation with point s...
by lanerolle
Fri Jun 08, 2012 12:25 am
Forum: ROMS Bugs
Topic: Possible bug with Q_PSOURCE and perfect restart
Replies: 0
Views: 869

Possible bug with Q_PSOURCE and perfect restart

I ran two ROMS model simulations. In both cases, I have two run segments - initial run and then one which begins after a perfect restart (I use the PERFECT_RESTART CPP option). In the first run, I specify a point source via the UV_PSOURCE CPP option and in the second, I use Q_PSOURCE CPP option inst...
by lanerolle
Fri Jun 01, 2012 2:20 pm
Forum: ROMS Discussion
Topic: Add a passive tracer to the model which has run for one year
Replies: 5
Views: 2162

Re: Add a passive tracer to the model which has run for one

Do not forget:

ANA_SPFLUX
ANA_BPFLUX

if you do not have ocean surface or ocean bottom passive tracer fluxes.

Also, be careful to either bring-in or not bring-in passive tracers into the computation via rivers/point sources. This can be controlled by the parameters in ocean.in
by lanerolle
Tue Feb 14, 2012 12:54 am
Forum: ROMS Discussion
Topic: blows up at 1st time step even after decreasing time step
Replies: 8
Views: 2629

Re: blows up at 1st time step even after decreasing time ste

Why not run with a flat bathymetry of say 10m everywhere? If this works then there is an issue with your bathymetry but if it also blows-up then it is either your initialization fields or forcing fields. Also, in case you are not currently doing so, its best to ramp-up the winds (in the surface forc...
by lanerolle
Fri Feb 10, 2012 12:50 am
Forum: ROMS Discussion
Topic: Problem with ROMS wetting/drying and turbulence model(s)
Replies: 8
Views: 3214

Re: Problem with ROMS wetting/drying and turbulence model(s)

I tried your modified code and the model runs beautifully without encountering any numerical stability issues (or blow-ups)!! The wetting-drying also appears to be happening nicely. Thanks very much for your help. I have a few questions and could you please let us know what you think? (a) Why does y...
by lanerolle
Mon Feb 06, 2012 1:27 am
Forum: ROMS Discussion
Topic: Problem with ROMS wetting/drying and turbulence model(s)
Replies: 8
Views: 3214

Re: Problem with ROMS wetting/drying and turbulence model(s)

Sorry, I should have elaborated on the nature of the model blow-up. The model blows-up due to very large velocities which develop at isolated horizontal locations on sigma level #1 (i.e. the bottom most sigma-level on the rho-grid in the vertical). The blow-up also manifests itself in the turbulent ...
by lanerolle
Sun Feb 05, 2012 11:00 pm
Forum: ROMS Discussion
Topic: Problem with ROMS wetting/drying and turbulence model(s)
Replies: 8
Views: 3214

Problem with ROMS wetting/drying and turbulence model(s)

I have been struggling really hard trying to get my ROMS application for Cook Inlet, AK working. This application needs wetting/drying and is quite challenging because the tidal water elevation range is ~10m (~33ft) - so there is heavy and rapid wetting/drying going on. Irrespective of what I do, th...
by lanerolle
Sat Nov 19, 2011 9:52 pm
Forum: ROMS Discussion
Topic: Passive tracer simulation in ROMS
Replies: 2
Views: 1646

Re: Passive tracer simulation in ROMS

Sorry, I forgot to add, could we then simply change:

# if defined SEDIMENT || defined BIOLOGY
.
# endif

to


# if defined SEDIMENT || defined BIOLOGY || T_PASSIVE
.
# endif
by lanerolle
Sat Nov 19, 2011 9:48 pm
Forum: ROMS Discussion
Topic: Passive tracer simulation in ROMS
Replies: 2
Views: 1646

Passive tracer simulation in ROMS

I noticed that if we are to do a passive tracer simulation with ROMS and we wish to use ANA_BPFLUX and ANA_SPFLUX (bottom and surface passive tracer flux prescriptions which are necessary to close the discrete model equations), these CPP options are nested within: # if defined SEDIMENT || defined BI...
by lanerolle
Fri Oct 14, 2011 3:43 pm
Forum: ROMS Discussion
Topic: speaking of advection and spurious dyes
Replies: 6
Views: 2135

Re: speaking of advection and spurious dyes

Are you advecting the three dyes simply from some initial condition (only) or are you having both initial conditions plus point sources for the dyes? I am assuming that you have some sort of open boundary value for the dyes too. Could you please let us know what the minimum and maximum value of the ...
by lanerolle
Mon Oct 10, 2011 8:19 pm
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

I have been using rotated (geopotentials and isopycnic) tensors in all my realistic applications for years without problems with both harmonic and biharmonic. I just need to use the appropriate time-step and viscosity with the stress tensor. So In addition to MIX_GEO_TS + TS_DIF2 for the tracers, s...
by lanerolle
Fri Oct 07, 2011 8:34 pm
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

As I was mainly interested in simulating a passive tracer, I wanted to minimize the "damage" I would do to the numerical solutions by introducing "numerical/articificial" viscosity and diffusivity. So what I did was : 1. For tracers, I used TS_DIF2 and MIX_S_TS (as MIX_GEO_TS gave blow-ups) and used...
by lanerolle
Thu Oct 06, 2011 10:22 pm
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

I have done an extensive series of experiments and here is what I found out (at least for my application) : 1. If I use MIX_GEO_TS with TS_DIF2 (or TS_DIF4), ROMS is unconditionally unstable! I tried using diffusivity values 0 <= K <= 100 m2/s and with time steps dt, dt/3, dt/5 and in all cases, ROM...
by lanerolle
Fri Sep 23, 2011 11:25 pm
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

Sorry, I should have mentioned that with K=0 for T, S and P, ROMS runs successfully in a stable fashion. However the P field has a lot of + and - values - even more so that using the upstream-biased advection CPP options. ROMS only blows up when I used K > 0 - even small values such as 3 m2/s.
by lanerolle
Fri Sep 23, 2011 10:41 pm
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

So I set-up a simulation using exactly the CPP options which Hernan recommended. My simulation is such that dt=15s (baroclinic), dx=dy=1000m (approx). For the diffusivity, I tried K=3, 7, 67, 100 m2/s which correspond to the dimensionless parameter mu=K*dt/(dx*dx)=4.5e-5, 1.05e-4, 1.0e-3, 1.5e-3 all...
by lanerolle
Thu Sep 22, 2011 9:54 pm
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

I have a quick question : the "optimal" CPP options you have recommended are 4th order accurate in space. Therefore, to remove the spatial oscillations, shouldn't we use a biharmonic viscosity/diffusivity (e.g. TS_DIFF4, etc.) instead of the harmonic options (e.g. TS_DIFF2) you suggested? - i.e. are...
by lanerolle
Thu Sep 22, 2011 3:47 pm
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

OK, I'll try these CPP options and post the results I fine. It appears that the CPP option you mentioned - UV_C4VADVECTION is not used in ROMS! It is documented in Utility/checkdefs.h but it does not appear anywhere else in the code and its not written-up in Include/cppdefs.h either. I am using ROMS...
by lanerolle
Thu Sep 22, 2011 12:15 am
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

So taking Mark's and John's advice, I set-up a passive tracer simulation where the point source was adjacent to land (to avoid the horizontal dipole). Now, I have a new problem!!! The passive tracer assumes both positive and negative values in the horizontal, vertical and also in time (intermittentl...
by lanerolle
Thu Sep 15, 2011 2:42 am
Forum: ROMS Discussion
Topic: ROMS restart and floats
Replies: 25
Views: 7494

Re: ROMS restart and floats

Many thanks for your thoughts and advice. The reason I use both PERFECT_RESTART and RST_SINGLE is because I am trying to emulate a very large, real-life ROMS application. I that application, we have to continue the ROMS simulations by breaking them in to segments (as we only get 4-hours of time on t...
by lanerolle
Thu Sep 15, 2011 1:15 am
Forum: ROMS Discussion
Topic: ROMS restart and floats
Replies: 25
Views: 7494

Re: ROMS restart and floats

When I run the floats with my modified test problem without the PERFECT_RESTART and RST_SINGLE CPP options, the serial and parallel (MPI) outputs are the same. However, when I include these two CPP options, the parallel ROMS outputs has zero X, Y values upon carrying out a restart and the problems b...
by lanerolle
Thu Sep 15, 2011 1:09 am
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

Yes, I use the LtracerSrc in toms.in and have put it to F F T so that I only activate one (single) passive tracer. Yes, in the past, I have always put point sources adjacent to land. For this application, it is in the middle of the ocean and just like you, I too get a dipole with positive-negative v...
by lanerolle
Wed Sep 14, 2011 11:27 pm
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

So I repeated the above mentioned simulation with the only differences being : (1) I included UV_PSOURCE in the CPP options when compiling the code and, (2) for river_transport, I used 1 m3/s - a small value. Please find attached the outcome from ROMS. Now, we find that the passive tracer is much cl...
by lanerolle
Wed Sep 14, 2011 12:08 am
Forum: ROMS Bugs
Topic: Parallel bug in ROMS floats
Replies: 0
Views: 859

Parallel bug in ROMS floats

I think there is a parallel bug in ROMS floats specially when carrying out a perfect restart. I took the ROMS floats 3D test problem and modified it a little : (a) changed the Nx, Ny, Nz to make it a little bigger in terms of computational effort, (b) modified the time step to allow the run to be st...
by lanerolle
Tue Sep 13, 2011 11:40 pm
Forum: ROMS Discussion
Topic: ROMS restart and floats
Replies: 25
Views: 7494

Re: ROMS restart and floats

Thanks for posting the toms.in and floats.in files. I took the 3D Floats ROMS test case, modified it a little and did some debugging runs. The serial run produces the expected results but the parallel run has problems upon carrying out a restart (a perfect restart). Please see my posting under "ROMS...
by lanerolle
Sat Sep 10, 2011 2:45 am
Forum: ROMS Wish List
Topic: ROMS Wish List
Replies: 6
Views: 3821

Re: ROMS Wish List

I think ROMS is a great model to employ for simulations and I suggest the following to be added to the wish list : 1. 2-way nesting/coupling 2. Multiply connnected domains 3. Implicit time-stepping (to allow for bigger dt when grids are very fine) 4. An improved bulk flux formulation (applicable to ...
by lanerolle
Fri Sep 09, 2011 7:54 pm
Forum: ROMS Discussion
Topic: ROMS restart and floats
Replies: 25
Views: 7494

Re: ROMS restart and floats

I just checked and all of the times in my floats.in file(s) are relative to DSTART (in toms.in). I find that when FRREC == 0, particles are correctly injected in to the ROMS simulations. However, when I use FRREC == -1, the particle info written in to the same ocean_flt.nc file (e.g. lon, lat, depth...
by lanerolle
Thu Sep 08, 2011 9:33 pm
Forum: ROMS Discussion
Topic: ROMS restart and floats
Replies: 25
Views: 7494

Re: ROMS restart and floats

Really? I thought the times in the floats.in file (in units of days) have to be relative to the initialization time which is 0.0!
by lanerolle
Thu Sep 08, 2011 6:36 pm
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

To answer your questions : 1. Yes, the dye concentration is distributed uniformely in the vertical across all of the sigma layers (at each time snapshot) in the river/point source forcing NetCDF file - e.g. in the river_dye_01(Nt, Ns, Nz) variable, the dye value at each time is distributed evenly in...
by lanerolle
Thu Sep 08, 2011 6:16 pm
Forum: ROMS Discussion
Topic: ROMS restart and floats
Replies: 25
Views: 7494

Re: ROMS restart and floats

I tried the suggestions of Mark and Kate. Unfortunately, for me, the floats is not working correctly or I have done something wrong! To summarize, I am doing a simulation beginning on day 68.0 relative to a base date of 2011/01/01 0000 hrs GMT. In my floats.in file, I inject an ensemble of particles...
by lanerolle
Wed Sep 07, 2011 11:31 pm
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

Sorry, I forgot to add that in the simulations pertaining to (a) and (b), the resulting ROMS T and S fields between them are identical. So differences between them are only seen in the passive tracer field.
by lanerolle
Wed Sep 07, 2011 10:35 pm
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

I did some ROMS simulations with a single point source. In the river/point source forcing NetCDF file, in the vertical, I put the distribution to be uniform and as I was only interested in a passive tracer evolution, I put both T and S to zero (in time and space). As I was also trying to simulate a ...
by lanerolle
Wed Sep 07, 2011 4:21 pm
Forum: ROMS Discussion
Topic: ROMS restart and floats
Replies: 25
Views: 7494

Re: ROMS restart and floats

Thanks for all your informative replies. Let me explain a little bit more about what I am trying to achieve. I am attempting to set-up a series of N-day runs (need to run in segments because the supercomputer only allows 4-hour time slots at a time) where subsequent runs are retarted (perfectly or i...
by lanerolle
Tue Sep 06, 2011 11:06 pm
Forum: ROMS Discussion
Topic: ROMS restart and floats
Replies: 25
Views: 7494

ROMS restart and floats

If I am continuing a ROMS simulation using a perfect or imperfect restart and it has floats (in both the previous and current simulation), does the restart simulation : (a) get the floats locations from the previous simulation or? (b) get the floats locations from the floats.in file (specified in to...
by lanerolle
Mon Aug 08, 2011 9:34 pm
Forum: ROMS Bugs
Topic: ROMS I/O bug when using floats
Replies: 2
Views: 1453

Re: ROMS I/O bug when using floats

Sorry, I should have mentioned, I am using ROMS svn version 526.
by lanerolle
Mon Aug 08, 2011 9:33 pm
Forum: ROMS Bugs
Topic: ROMS I/O bug when using floats
Replies: 2
Views: 1453

ROMS I/O bug when using floats

I have ~43000 floats in my floats.in file (doing a simulation for a real-life problem) and when I run with it, I get a ROMS I/O error message in the screen output and the code crashes. I am also using MPI. If however, I go to the following code segment in ROMS/Utility/inp_par.F (SUBROUTINE read_Floa...
by lanerolle
Fri Aug 05, 2011 6:28 pm
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

OK, I'll post the results of the numerical experiment(s) you suggested (in the next few days). Meanwhile, I was thinking, can we do the following two changes to ROMS? (1) change ocean.in so that LTracerSrc can take the following form? Assume that we have 5 point sources and we have 2 passive tracers...
by lanerolle
Fri Aug 05, 2011 4:09 pm
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Re: Can we have only passive tracers in rivers/point sources

I am extremely concerned by your reply. So to summarize, from what you wrote, if we have a 3D baroclinic simulation with : 1. N1 rivers treated as point sources 2. N2 point sources in the middle of the ocean with Np passive tracers We have to ensure that ALL of the point sources (both rivers and tho...
by lanerolle
Tue Aug 02, 2011 9:32 pm
Forum: ROMS Discussion
Topic: Can we have only passive tracers in rivers/point sources?
Replies: 40
Views: 9575

Can we have only passive tracers in rivers/point sources?

I am attempting to set-up an application where some point sources will be rivers (with transport, T, S) but others will be passive tracer sources only (with transport, passive tracers but no T and S). Now when I look at the river_flag option in ROMS : river_flag =0 is all tracers off river_flag =1 o...
by lanerolle
Tue Jul 12, 2011 1:12 am
Forum: ROMS Discussion
Topic: ROMS Particle Tracking
Replies: 5
Views: 3387

Re: ROMS Particle Tracking

I believe the errors are not in the time integration scheme (which is 4th order and hence very accurate) but rather in the spatial interpolation scheme - in particular in the vertical. As you know, in ROMS, the particle tracking is NOT done in terms of the x/lon, y/lat, z variables but rather with t...
by lanerolle
Sun Jul 10, 2011 8:15 pm
Forum: ROMS Discussion
Topic: ROMS Particle Tracking
Replies: 5
Views: 3387

ROMS Particle Tracking

As many of you know, the ROMS Lagrangian particle tracking accuracy in the vertical direction is dependent on the degree of stretching in the vertical sigma grid. The more uniform the vertical grid is, the more accurate the tracked vertical movement of the particles is and the more stretched the gri...
by lanerolle
Thu Jun 30, 2011 3:56 pm
Forum: ROMS Discussion
Topic: ROMS Large File I/O
Replies: 8
Views: 2978

Re: ROMS Large File I/O

I have found a partial solution to my large restart file I/O problem. If we look at ROMS/Modules/mod_netcdf.F, we see the following code segments : #ifdef OUT_DOUBLE integer, parameter :: NF_FOUT = nf90_double #else integer, parameter :: NF_FOUT = nf90_real #endif #ifdef RST_SINGLE integer, paramete...
by lanerolle
Thu Jun 30, 2011 3:24 pm
Forum: ROMS Discussion
Topic: Unexpected ROMS blow-up
Replies: 2
Views: 2012

Unexpected ROMS blow-up

I am running ROMS and it suddenly blows up saying : Blowing-up: Saving latest model state into RESTART file WRT_RST - wrote re-start fields (Index=1,1) into time record = 0000001 When I look at the contents of the restart file or the screen output log file (I also write-out the maximum CFL number an...
by lanerolle
Thu Jun 09, 2011 10:52 am
Forum: ROMS Bugs
Topic: Possible bug in writing out restart file?
Replies: 3
Views: 2842

Re: Possible bug in writing out restart file?

[quote]Now it is something a bit new: it looks like it went through several netCDF calls regarding creation of all dimensions and the variables, and then cannot finish its definition. Do you have any other error messages prior to this? Do you attempt to create the restart file from scratch, or there...
by lanerolle
Wed Jun 08, 2011 11:47 pm
Forum: ROMS Bugs
Topic: Possible bug in writing out restart file?
Replies: 3
Views: 2842

Possible bug in writing out restart file?

I am running a large ROMS application - 622 x 667 x 50 points and the model crashes when it attempts to write out the restart file for the very first time. It however successfully writes out the history file and a ncdump shows that its contents are OK. I have tried using the Fortran-NetCDF library v...
by lanerolle
Wed Jun 08, 2011 11:38 pm
Forum: ROMS Discussion
Topic: ROMS Large File I/O
Replies: 8
Views: 2978

Re: ROMS Large File I/O

Thanks for your advice and I tried out the NetCDF 3.6.3 library. Unfortunately, the outcome is the same as using the 4.0.1 library. ROMS begins to run and writes out the history file (the initial conditions) but when it comes to writing out the restart file (for the very first time) it crashes gives...
by lanerolle
Mon Jun 06, 2011 9:18 pm
Forum: ROMS Discussion
Topic: ROMS Large File I/O
Replies: 8
Views: 2978

ROMS Large File I/O

I am running a large ROMS application (662 x 667 x 50 grid points) and I use the PERFECT_RESTART CPP option because the simulation needs to be run in continuous segments. When the restart file is written out, I find that is it ~3.97Gb in size and the variables up to AKv are written but those includi...
by lanerolle
Wed Jan 26, 2011 4:59 pm
Forum: ROMS Bugs
Topic: A bug in the 2D barotropic BC routines?
Replies: 4
Views: 2048

Re: A bug in the 2D barotropic BC routines?

The issue is the we force tides using an open boundary forcing NetCDF file with water level and barotropic current series in it. So we do NOT use the SSH_TIDES or UV_TIDES CPP options because we do not use a tidal harmonics NetCDF file. So the two code segments in u2dbc_im.f90 become : ROMS version ...
by lanerolle
Wed Jan 26, 2011 12:11 am
Forum: ROMS Discussion
Topic: A bug in the 2D barotropic BC routines?
Replies: 0
Views: 681

A bug in the 2D barotropic BC routines?

I have been trying to reproduce a result from an older version of ROMS (version 92) using a newer version (version 526). The simulation is pretty simple in that it only has tidal forcing with the M2 consituent and has constant T (20C) and S (35 PSU) initial conditions. There is no river, met/atmos o...
by lanerolle
Wed Jan 26, 2011 12:09 am
Forum: ROMS Bugs
Topic: A bug in the 2D barotropic BC routines?
Replies: 4
Views: 2048

A bug in the 2D barotropic BC routines?

I have been trying to reproduce a result from an older version of ROMS (version 92) using a newer version (version 526). The simulation is pretty simple in that it only has tidal forcing with the M2 consituent and has constant T (20C) and S (35 PSU) initial conditions. There is no river, met/atmos o...
by lanerolle
Mon Jan 03, 2011 4:44 pm
Forum: ROMS Discussion
Topic: ROMS Logarithmic bottom drag, tides and wetting-drying
Replies: 1
Views: 1632

ROMS Logarithmic bottom drag, tides and wetting-drying

The logarithmic bottom drag coefficient "Cd" = {k/(log[dz/Zob])}^2 where dz is the height of the first rho-point above the ocean bottom z=-H is "clipped" in set_vbc.F as "Cd"=min[A,max(B,"Cd")] where A=0.5, B=1.0 x 10^(-6). For highly tidally active regions such as AK, dz will have a large variation...
by lanerolle
Fri Sep 10, 2010 7:11 pm
Forum: ROMS Discussion
Topic: Dependence of water levels on sigma parameters
Replies: 6
Views: 2172

Re: Dependence of water levels on sigma parameters

In the water level sensitivity studies I did, I always kept the number of vertical model levels, Nz constant and the quadratic drag coefficient, Cd constant also and only varied the theta_s, theta_b values. But I guess this then changes the height of the first rho-point in the vertical above the mod...
by lanerolle
Fri Sep 10, 2010 6:40 pm
Forum: ROMS Discussion
Topic: Dependence of water levels on sigma parameters
Replies: 6
Views: 2172

Re: Dependence of water levels on sigma parameters

I am using the ROMS Quadratic bottom friction formulation (UV_QDRAG) and have tried Cd=0.003-0.010 (constant) values.
by lanerolle
Fri Sep 10, 2010 6:18 pm
Forum: ROMS Discussion
Topic: Dependence of water levels on sigma parameters
Replies: 6
Views: 2172

Dependence of water levels on sigma parameters

I am running the ROMS in Cook Inlet, AK which is tidally very active and am doing so in a fully three-dimensional baroclinic mode (i.e. SOLVE3D is defined) but with T=const. (15C) and S=const. (35 PSU) to validate (first) the water levels/elevations and the currents. The only forcing in the simulati...
by lanerolle
Wed Sep 01, 2010 10:16 pm
Forum: ROMS Discussion
Topic: Wet-points only ROMS
Replies: 2
Views: 1012

Wet-points only ROMS

I have helped develop several realistic ROMS applications for Bays & Estuaries around the US and one of the things that makes me feel guilty about them is that in each of these applications, although only about 20% of the grid points are wet, ROMS computes the equations on all of the points without ...
by lanerolle
Tue Jun 08, 2010 7:35 pm
Forum: ROMS Discussion
Topic: Adding a new ana_XXX.h to ROMS
Replies: 3
Views: 1068

Adding a new ana_XXX.h to ROMS

I am attempting to add a new (analytical) process to ROMS. (1) I came up with an ana_XXX.h file for it (based on the templates in ROMS/Functionals). (2) I put this *.h in a new directory called ROMS/My_Functionals. (3) I pointed to it in the makefile by defining its full path as MY_ANALYTICAL_DIR = ...
by lanerolle
Wed May 05, 2010 3:47 am
Forum: ROMS Discussion
Topic: model horizontal velocities error
Replies: 4
Views: 2308

Re: model horizontal velocities error

What velocities do you get if you do a simple geostropic balance using your T, S vertical stratification? The rho that you need for it can be calculated using the expressions in ROMS/Nonlinear/rho_eos.F (which you may need to code up in a separte routine in C++, Matlab or Fortran).
by lanerolle
Thu Apr 22, 2010 8:19 pm
Forum: ROMS Discussion
Topic: ROMS wetting/drying inundation/storm-surge simulations
Replies: 2
Views: 1820

ROMS wetting/drying inundation/storm-surge simulations

Has anyone applied ROMS to do inundation/storm-surge type wetting-drying simulations? I need to do such an application and I am wondering whether ROMS can accept negative depths (land) in addition to positive ones (water)? Suppose I have an island in a tidal zone where the water depths vary from 0m ...
by lanerolle
Mon Apr 19, 2010 12:49 am
Forum: ROMS Discussion
Topic: Good fix for issue with Bulk Flux in ROMS
Replies: 8
Views: 2958

Re: Good fix for issue with Bulk Flux in ROMS

The reason I came up with the fix for Bulk Flux was because it is known that the upper region of my domain (Chesapeake Bay) where water temperatures were going well below 0 C (in the ROMS application) is NOT known to freeze regularly and hence NOT produce ice. So I think it is important for you to v...
by lanerolle
Thu Apr 08, 2010 8:31 pm
Forum: ROMS Discussion
Topic: ROMS tidal forcing with water elevation ONLY
Replies: 8
Views: 4049

ROMS tidal forcing with water elevation ONLY

I think there is a general agreement that the optimal way to do tidal forcing in ROMS is via the Chapman-Flather BC combination for the water elevations and barotropic velocities respectively. I have tried the Clamped-Flather BC combination and it too seems to work. Now the problem with using these ...
by lanerolle
Mon Mar 29, 2010 3:28 pm
Forum: ROMS Discussion
Topic: ROMS wet/dry mask
Replies: 6
Views: 1964

ROMS wet/dry mask

I am running ROMS for AK using wetting-drying and as my run is quite long and I need to use a small time-step, I am doing it in segments using the PERFECT_RESTART CPP option. For non-wetting-drying applications, this CPP option has worked very well. Now, when a ROMS run is initialized, the field wet...
by lanerolle
Fri Mar 26, 2010 3:36 pm
Forum: ROMS Discussion
Topic: ROMS Wetting/Drying
Replies: 3
Views: 1056

Re: ROMS Wetting/Drying

Thanks for your quick reply. So, if I were to download ROMS svn 452 from Rutgers today then : (1) this would have the latest ROMS wetting/drying algorithms and, (2) it would contain your improvements and modifications to the algorithms and, (3) it would also contain improvements and modifications ma...
by lanerolle
Fri Mar 26, 2010 2:31 pm
Forum: ROMS Discussion
Topic: ROMS Wetting/Drying
Replies: 3
Views: 1056

ROMS Wetting/Drying

I am using ROMS 3.0 version svn: $Id: Version 90 2007-07-30 17:36:53Z arango $ for a wetting/drying application in AK. I have been experiencing some numerical instabilities which are hard to get rid of. Have the ROMS wetting/drying algorithms been updated since this version? If so, which version of ...
by lanerolle
Thu Dec 17, 2009 6:25 pm
Forum: Job Opportunities
Topic: Storm surge modeling programmer at National Hurricane Center
Replies: 0
Views: 1578

Storm surge modeling programmer at National Hurricane Center

I would like to call your attention to a contract position currently available at NOAA's National Hurricane Center in Miami, FL ( http://www.nhc.noaa.gov/ ). Interviews are commencing for a scientist/programmer familiar with geophysical modeling that can learn the operational infrastructure within N...
by lanerolle
Tue Mar 17, 2009 5:35 pm
Forum: ROMS Discussion
Topic: Good fix for issue with Bulk Flux in ROMS
Replies: 8
Views: 2958

Good fix for issue with Bulk Flux in ROMS

In some ROMS applications in the Chesapeake Bay, we have found that in the winter, the water temperature plummets to -5 C or below and in the summer, the temperatures rise above 35 C specially in the shallow regions (Chesapeake Bay is in general quite shallow in that the maximum depth is about 45m)....
by lanerolle
Tue Mar 17, 2009 4:08 pm
Forum: ROMS Discussion
Topic: Useful CFL number based ROMS diagnostic
Replies: 0
Views: 1539

Useful CFL number based ROMS diagnostic

I have modified the diag.F routine in ROMS/Nonlinear (in ROMS version 3.0) to compute the CFL number (CFL = |u|*dt/dx + |v|*dt/dy + |w|*dt/dz) in both serial mode and in MPI and then write it out to the screen output along with the usual quantities (such as iteration number, volume averaged kinetic,...
by lanerolle
Mon Mar 09, 2009 9:56 pm
Forum: ROMS Discussion
Topic: Maximum permitted CFL number for ROMS
Replies: 0
Views: 917

Maximum permitted CFL number for ROMS

I usually run the ROMS with the following CPP options for advection, etc : #define SOLVE3D #define PERFECT_RESTART #define CURVGRID #define UV_ADV #define UV_SADVECTION #define UV_COR #define UV_QDRAG #define TS_SVADVECTION #define TS_U3HADVECTION #define DJ_GRADPS #define SPLINES #define RADIATION_...
by lanerolle
Tue Jan 27, 2009 10:11 pm
Forum: ROMS Discussion
Topic: OA Fortran routines
Replies: 2
Views: 1242

OA Fortran routines

I am interested in using a Fortran-based Objective Analysis (OA) pakage to interpolate and extrapolate scatter data on to a ROMS model grid. I see that under the ROMS webpages, there is an OA package dating back to 1994. Could someone please let me know whether this is indeed the recommended package...
by lanerolle
Tue Jan 06, 2009 11:02 pm
Forum: ROMS Bugs
Topic: Potential problem/bug in Bulk Fluxes
Replies: 1
Views: 1521

Re: Potential problem/bug in Bulk Fluxes

We found this heating problem occurs due to the diffusion coefficient associated with the temperature variable (ie. AKt) becoming very small (locally and from time to time - irregularly) near the ocean surface; then, ROMS applies all of the net heat flux to the top sigma level and it heats up dramat...
by lanerolle
Tue Jan 06, 2009 11:01 pm
Forum: ROMS Discussion
Topic: Potential problem/bug in Bulk Fluxes
Replies: 1
Views: 714

Re: Potential problem/bug in Bulk Fluxes

We found this heating problem occurs due to the diffusion coefficient associated with the temperature variable (ie. AKt) becoming very small (locally and from time to time - irregularly) near the ocean surface; then, ROMS applies all of the net heat flux to the top sigma level and it heats up dramat...
by lanerolle
Tue Dec 16, 2008 1:07 am
Forum: ROMS Bugs
Topic: Potential problem/bug in Bulk Fluxes
Replies: 1
Views: 1521

Potential problem/bug in Bulk Fluxes

I just noticed something strange resulting from the use of the Bulk Flux formulation. Basically if I do a realistic ROMS model run (with tidal, river, atmospheric, open boundary forcing, etc.) and then look at the water temperatures recorded at various stations, there are "hot" spikes in them at and...
by lanerolle
Tue Dec 16, 2008 1:03 am
Forum: ROMS Discussion
Topic: Potential problem/bug in Bulk Fluxes
Replies: 1
Views: 714

Potential problem/bug in Bulk Fluxes

I just noticed something strange resulting from the use of the Bulk Flux formulation. Basically if I do a realistic ROMS model run (with tidal, river, atmospheric, open boundary forcing, etc.) and then look at the water temperatures recorded at various stations, there are "hot" spikes in them at and...
by lanerolle
Thu Nov 13, 2008 3:10 pm
Forum: ROMS Discussion
Topic: 1-D ROMS application to test stratification
Replies: 3
Views: 1759

Re: 1-D ROMS application to test stratification

Thanks for the reply! It is somewhat similar to my configuration. I have two questions : (1) What is the justification for using E-W periodic open boundary conditions in one direction and N-S wall open boundary conditions in the other direction? Should not all boundaries/directions treated equally a...
by lanerolle
Wed Nov 12, 2008 10:49 pm
Forum: ROMS Discussion
Topic: 1-D ROMS application to test stratification
Replies: 3
Views: 1759

1-D ROMS application to test stratification

I am attempting to set-up a 1-D ROMS application to study vertical T/S stratification and I was wondering whether anyone else out there has already done something like this? I set-up a 9 x 9 grid in the horizontal with 20 vertical levels and the horizontal and vertical extents of the grid were 0.1 d...
by lanerolle
Tue Nov 04, 2008 12:35 am
Forum: ROMS Discussion
Topic: Final set of model constants for the GLS turbulence closures
Replies: 4
Views: 1454

Final set of model constants for the GLS turbulence closures

I have noticed that for each different version of ROMS released, the constants sets/names associated with the GLS eddy-viscosity parameterizations appear to change. For example, normally we have GLS MY, GLS k-epsilon, GLS k-omega, GLS k-tau as options and the current version of ROMS I am using (3.0 ...
by lanerolle
Thu Oct 23, 2008 3:52 am
Forum: ROMS Discussion
Topic: Delft3D grids to NetCDF
Replies: 20
Views: 3670

Re: Delft3D grids to NetCDF

My email address is : lyon.lanerolle@noaa.gov

When emailing me, please do so from your official/professional email address (and not from a personal email address)
by lanerolle
Fri Sep 12, 2008 12:07 am
Forum: ROMS Discussion
Topic: ROMS reduced open boundary conditions
Replies: 1
Views: 1340

ROMS reduced open boundary conditions

If only water levels/elevation/harmonic consituents are available then, we can perform tides in ROMS for example in the following two ways: #define XXXX_FSCLAMPED #define FSOBC_REDUCED #define XXXX_M2FLATHER or #define XXXX_FSCLAMPED #define FSOBC_REDUCED #define XXXX_M2REDUCED where XXXX=EAST, WEST...
by lanerolle
Thu Sep 04, 2008 1:14 am
Forum: ROMS Discussion
Topic: Regridding of winds and their rotation within ROMS
Replies: 16
Views: 7093

Re: Regridding of winds and their rotation within ROMS

I have done some experiments with ROMS where: (1) I created the fields necessary for the bulk fluxes via Matlab using bicubic interpolation on the ROMS grid and rotated the winds to be locally orthogonal on the grid and also (2) I created the fields necessary for bulk fluxes on a coarser, bigger gri...
by lanerolle
Mon Sep 01, 2008 2:27 am
Forum: ROMS Discussion
Topic: Regridding of winds and their rotation within ROMS
Replies: 16
Views: 7093

Re: Regridding of winds and their rotation within ROMS

Thanks very much for your informative reply. So, just to confirm, are you saying that in addition to the winds being in true Northings and Eastings (which seems very reasonable to me) they also need to be provided in a NetCDF file in a 2D array format as opposed a 1D array/vector format? What we nor...
by lanerolle
Wed Aug 27, 2008 11:31 pm
Forum: ROMS Discussion
Topic: Regridding of winds and their rotation within ROMS
Replies: 16
Views: 7093

Regridding of winds and their rotation within ROMS

It is my belief that the surface forcing (meteorological/atmospheric forcing) in ROMS can be done in two ways: (1) prescribe the two wind stress components and the net heat flux directly via values read from a NetCDF file or (2) use the Bulk Flux formulation in ROMS which needs air temperature, pres...
by lanerolle
Mon May 26, 2008 8:55 pm
Forum: ROMS Discussion
Topic: Strange vertical behavior of floats
Replies: 15
Views: 2946

Here is my ROMS screen output for particle positions specified as (lon, lat): Sun May 25 14:19:20 EDT 2008 Node # 44 (pid= 250120) is active. Process Information: Node # 0 (pid= 79254) is active. Node # 45 (pid= 152800) is active. Node # 1 (pid= 151706) is active. Node # 46 (pid= 46826) is active. N...
by lanerolle
Sat May 24, 2008 7:21 pm
Forum: ROMS Discussion
Topic: Strange vertical behavior of floats
Replies: 15
Views: 2946

I repeated my experiments from a cold start and here is what I found: (1) the horizontal and vertical positions of the particles are still messed up right from the beginning when I specify the locations as (lon, lat) values (ie. C=1); however, (2) the horizontal and vertical positions of the particl...
by lanerolle
Sat May 24, 2008 2:01 am
Forum: ROMS Discussion
Topic: Strange vertical behavior of floats
Replies: 15
Views: 2946

I did not use the TS_FIXED option. All that I did was to : (1) use T=15, S=35 globally in my initial conditions file, (2) have NO atmospheric, river or open boundary T, S forcing (OB T, S are radiation), (3) include tides and use FS_REDUCED, SSH_TIDES and M2_REDUCED I then just all the fields (u, v,...
by lanerolle
Thu May 22, 2008 6:40 pm
Forum: ROMS Discussion
Topic: Strange vertical behavior of floats
Replies: 15
Views: 2946

In the previous reply I posted, the numbers I cut and pasted are actually spaced apart by about 5 blank spaces each in the floats.in file and are not all together as in the reply. Also, the model application I am running has a true coastline and true bathymetry and is not say a flat-bottom applicati...
by lanerolle
Thu May 22, 2008 6:37 pm
Forum: ROMS Discussion
Topic: Strange vertical behavior of floats
Replies: 15
Views: 2946

My floats.in file looks like: POS = G, C, T, N, Ft0, Fx0, Fy0, Fz0, Fdt, Fdx, Fdy, Fdz 1 1 1 1 10.041667 -76.46159 38.30779 -1.0 0.0 0.0 0.0 0.0 1 1 1 1 10.041667 -76.46145 38.30779 -1.0 0.0 0.0 0.0 0.0 So I have only 1 nested grid (actually I only run on 1 grid - no sub-grids/nests), the particle l...
by lanerolle
Thu May 22, 2008 4:00 am
Forum: ROMS Discussion
Topic: Strange vertical behavior of floats
Replies: 15
Views: 2946

Strange vertical behavior of floats

I ran a fully 3D simulation of the Chesapeake bay using only tidal forcing (from a tides.nc file containing harmonic constituents) but I maintained T, S constant throughout the simulation via constant T, S initial conditions (there were no other forcings such as bulk fluxes, open boundary forcing, r...
by lanerolle
Thu Apr 17, 2008 2:42 pm
Forum: ROMS Discussion
Topic: Delft3D grids to NetCDF
Replies: 20
Views: 3670

DELFT3D grid to ROMS NetCDF grid

Hi, We use the DELFT3D grid generator to generate our ROMS curvilinear, orthogonal grids and I have written a Matlab routine to convert a DELFT3D grid to a ROMS NetCDF grid file. As the DELFT3D only generates grid points at wet-points, we need to artificially construct land points (and if necessary ...
by lanerolle
Mon Feb 18, 2008 5:17 pm
Forum: ROMS Discussion
Topic: Sorting routine in MPI & adding new CFL routine to ROMS
Replies: 2
Views: 1451

Sorting routine in MPI & adding new CFL routine to ROMS

For the purpose of setting up new (physically realistic) ROMS applications in a numerically stable and reliable fashion & for debugging purposes, I attempted to add a new routine to ROMS to do the following: (1) Loop over all of the wet points in 3D and calculate the full 3D CFL number (|u|dt/dx + |...
by lanerolle
Wed Nov 14, 2007 7:10 pm
Forum: ROMS Discussion
Topic: ROMS grid stiffnesses and consequences
Replies: 7
Views: 5066

I think in ROMS (ROMS/Utility/stiffness.F), the two metrics (Beckmann & Haidvogel and
Haney) are written out (to screen) the wrong way round.
by lanerolle
Wed Nov 14, 2007 5:19 pm
Forum: ROMS Discussion
Topic: ROMS grid stiffnesses and consequences
Replies: 7
Views: 5066

ROMS grid stiffnesses and consequences

When I run ROMS, I always use the Parabolic Splines density Jacobian (DJ_GRADPS) option and I am under the impression that the pressure gradient errors are related to the grid stiffnesses. I have some questions regarding the grid stiffness criteria: (1) For ROMS with DJ_GRADPS, do I need to satisfy ...
by lanerolle
Mon Sep 17, 2007 10:01 pm
Forum: ROMS Discussion
Topic: ROMS 3.0 possible bug with volume conservation
Replies: 6
Views: 2485

ROMS 3.0 possible bug with volume conservation

For a particular application that I am running, I need to use the volume conservation CPP options in ROMS (I use EAST_VOLCONS, WEST_VOLCONS and SOUTH_VOLCONS). I test to see whether the volume is indeed being conserved by integrating the (normal) velocities along each of the open boundary faces of t...
by lanerolle
Mon Sep 17, 2007 10:00 pm
Forum: ROMS Bugs
Topic: ROMS 3.0 possible bug with volume conservation
Replies: 0
Views: 1320

ROMS 3.0 possible bug with volume conservation

For a particular application that I am running, I need to use the volume conservation CPP options in ROMS (I use EAST_VOLCONS, WEST_VOLCONS and SOUTH_VOLCONS). I test to see whether the volume is indeed being conserved by integrating the (normal) velocities along each of the open boundary faces of t...
by lanerolle
Sat Aug 25, 2007 6:36 pm
Forum: ROMS Discussion
Topic: Wind stress rotation issue in ROMS
Replies: 3
Views: 2548

Wind stress rotation issue in ROMS

I have noticed that with the latest version(s) of ROMS, unlike the older version(s), when providing wind stresses (as opposed to using the Bulk Flux formulation), we need to provide them on the appropriate staggered grid - ie. u-stress at u-points and v-stress at v-points. In the older ROMS version(...
by lanerolle
Wed May 02, 2007 2:16 pm
Forum: ROMS Installation
Topic: make problem on some platforms
Replies: 1
Views: 1421

On IBMs need GNU make 3.81

We found that the latest SVN version of ROMS did not compile (or even begin to do so) with GNU make version 3.80 on our IBMs but when we switched to version 3.81, everything appears to work well. I am now trying to do the same tests on the LINUX systems.

Lyon.
by lanerolle
Sat Apr 14, 2007 8:12 pm
Forum: ROMS Discussion
Topic: Test problem for wetting-drying
Replies: 1
Views: 1342

Test problem for wetting-drying

Hi,

I have got the latest version of ROMS and I would like to test and evaluate its wetting & drying capabilities. Does anybody have/know of any suitable model/test problems which I can use for this purpose?

Thanks.
by lanerolle
Tue Dec 13, 2005 9:41 pm
Forum: ROMS Discussion
Topic: Will new sigma formulation give problems?
Replies: 3
Views: 3177

Will new sigma formulation give problems?

Hi Everybody, I have coded up a new sigma formulation in to ROMS where theta_b is no longer a constant (but theta_s, Tcline, hC are all constant as before) but is a function of depth (h): theta_b=A*tanh(c_cut*(h-h_cut))+B where A, B, h_cut, c_cut are all constants. This means that over the grid, if ...
by lanerolle
Wed Sep 28, 2005 4:09 am
Forum: ROMS Discussion
Topic: Getting better speed-ups with OPENMP on Linux using ifort
Replies: 0
Views: 1581

Getting better speed-ups with OPENMP on Linux using ifort

I have got the ROMS to run in parallel on a Linux platform (with Fedora 2) using the ifort 8.1 compiler. When doing so, it was necessary for me to change the stacksize on each of the threads (I used 2 processors with each having 2 threads) and I did so using the command : export KMP_STACKSIZE=50m (s...
by lanerolle
Wed Aug 31, 2005 2:05 pm
Forum: ROMS Discussion
Topic: Simulating tides with ROMS
Replies: 2
Views: 2525

Simulating tides with ROMS

When simulating tides in ROMS with harmonics (say ADCIRC harmonics for SSH, UBAR, VBAR) there are two options that could be specified: #define SSH_TIDES /* turn on computation of tidal elevation */ AND/OR #define UV_TIDES /* turn on computation of tidal currents */ Should both of these options be tu...
by lanerolle
Mon Aug 29, 2005 3:22 pm
Forum: ROMS Problems
Topic: Model blows up in ragged region
Replies: 10
Views: 6174

When I come across very rugged and highly varying bathymetry, I usually filter it using a simple Laplacian filter and even with a little bit of filtering, I find a massive improvement in the model performance - numerical stability and accuracy of results. In Matlab, you can filter very easily by usi...
by lanerolle
Fri Aug 05, 2005 10:19 pm
Forum: ROMS Discussion
Topic: Running the multiple connected domain set-up with ROMS
Replies: 4
Views: 2772

Running the multiple connected domain set-up with ROMS

If I run ROMS in a multiple connected domain set-up by providing a sequence of connected grid files and the corresponding initial and forcing files, does ROMS know how to put all the domains/grids together and perform the run as if on a single domain/grid? Or (1) do I have to tell ROMS how these mul...
by lanerolle
Mon Jun 27, 2005 8:36 pm
Forum: ROMS Installation
Topic: ROMS/TOMS 2.1 array size limitation problem
Replies: 3
Views: 3353

ROMS/TOMS 2.1 array size limitation problem

Further to my earlier email, I have found that when using ifort to compile and run ROMS/TOMS 2.1 there appears to be an array size limitation. For example, if I were to compile and run the UPWELLING model problem, it runs successfully for the default arrays sizes of Lm=41, Mm=80, N=16 (in mod_param....
by lanerolle
Mon Jun 27, 2005 8:23 pm
Forum: ROMS Discussion
Topic: ROMS/TOMS 2.1 array size limitation problem
Replies: 2
Views: 1899

ROMS/TOMS 2.1 array size limitation problem

Further to my earlier email, I have found that when using ifort to compile and run ROMS/TOMS 2.1 there appears to be an array size limitation. For example, if I were to compile and run the UPWELLING model problem, it runs successfully for the default arrays sizes of Lm=41, Mm=80, N=16 (in mod_param....
by lanerolle
Mon Jun 27, 2005 5:29 pm
Forum: ROMS Problems
Topic: Compiling and running ROMS/TOMS 2.1 with ifort 8.1
Replies: 0
Views: 1433

Compiling and running ROMS/TOMS 2.1 with ifort 8.1

I have successfully compiled ROMS/TOMS 2.1 (the latest version with all the updates, etc.) using ifort but when I run it, I get a "Segmentation fault" in pre_step_tile. It occurs due to the statement : real(r8), dimension(PRIVATE_2D_SCRATCH_ARRAY,0:N(ng)) :: swdk I suspect that similar statements oc...
by lanerolle
Mon Jun 27, 2005 5:25 pm
Forum: ROMS Installation
Topic: Compiling and running ROMS/TOMS 2.1 with ifort 8.1
Replies: 0
Views: 1450

Compiling and running ROMS/TOMS 2.1 with ifort 8.1

I have successfully compiled ROMS/TOMS 2.1 (the latest version with all the updates, etc.) using ifort but when I run it, I get a "Segmentation fault" in pre_step_tile. It occurs due to the statement : real(r8), dimension(PRIVATE_2D_SCRATCH_ARRAY,0:N(ng)) :: swdk I suspect that similar statements oc...
by lanerolle
Sat Feb 19, 2005 12:07 am
Forum: ROMS Discussion
Topic: Getting a perfect restart with ROMS
Replies: 1
Views: 2083

Getting a perfect restart with ROMS

Is it possible with a suitable set of values for NRREC and LCYCLE, etc. (in the toms.in/ocean.in input file) to achieve a perfect restart computation with ROMS - so that the restart computation will proceed as if the original computation was uninterrupted? As ROMS has a higher order time marching sc...
by lanerolle
Wed Jan 19, 2005 8:15 pm
Forum: ROMS Discussion
Topic: Applying Atm. Pressure as a body force
Replies: 2
Views: 2334

Applying Atm. Pressure as a body force

Is it possible in ROMS to apply Atmospheric Pressure as a body force?
Are there any current CPP options in cppdefs.h to do this?