ROMS/TOMS Developers

Algorithms Update Web Log

jcwarner - November 15, 2006 @ 12:47
ROMS_SED Subversion control log- Comments Off on ROMS_SED Subversion control log

I am considering this blog as a location for my notes on major model advancements and as an additional means to track what has been incorporated into the releases.

Subversion version control.
The idea is that we start with a distributed version of ROMS, roms_v2.2.
This was our starting point and we entered roms_v2.2 into SVN version control. As we make modifications for the sediment advancements, we will make new (internal) releases and use the second dot (which is the third number), such as
roms_sed_v2.2.1, v2.2.2, v2.2.3, etc etc. As more features become available, and as we gain confidence in the third number, we will merge back to the main roms trunk and make roms_v2.3.


Starting with roms_v2.2 we have added capabilites for:
ssw_bbl : bottom boundary layer model to account for increased bottom stress due to wave+currents

suspended sediment transport : minor additions to account for multiple sediment classes and new input file structures.

bedload transport : included 2 methods 1) Meyer-Peter Mueller and 2) Soulsby +Damgaard methodologies. Both use bottom stress for waves + currents but the SD method is more applicable to wave environemnts. The MPM method was developed just for currents.

bed model : 3D bed strucutre that tracks stratigraphy, multiple sed class distributions, resuspension + deposition interaction with suspended sed.

morphology : as bed evolves, the changing sea floor elevation is used as boundary condition to omega. Entire model knows about changing bed elevation (if activated).

wetting/drying : this is based on cell face blocking methodology. The user specifies a ‘critical depth.’ During computation, if the total water depth (h+zeta) at a rho point is less than the critical depth, then transport is prevented out of that cell. That is it. Water is always allowed to flow into a cell. Cells with an initial rho_mask = 0 will always be dry.

surface tke fluxes : there are 2 methods to account for flux of turbulent kinetic energy from breaking surface waves 1) Craig/Banner with Charnok coefficient that is based on a surface wind stress and 2) wave energy dissipation that is based on wave breaking. Both methods are incorporated into the GLS turbulence closure model.

wave/current interaction : this is currently based on Mellor 2003; 2005 JPO and adds ‘radiation stress terms’ to the momentum equations. These terms add forcing due to momentum flux from waves. The formulation requires information of wave height, length, and direction.

model coupling : we use the Model Coupling Toolkit to couple ROMS to SWAN (v40.41AB). Users need to install and compile MCT to make the librarires for linking. The model is driven with the ROMS/External/coupling*.in file.

These features now comprise our version roms_sed_v2.2.2.

– minor updates to several test cases

– update to new directory structure of

— src

jcwarner - September 18, 2006 @ 17:40
Updates from ROMS 2.2 to ROMS 2.3- Comments (2)

Following files were modified to consolidate sediment branch code to Hernan’s latest version.

  • master.F – added waves_ocean coupling and call to waves_ocean.h.
  • nl_ocean.h – added waves_ocean coupling and calls to initialize coupling for atmospheric and waves models.
  • Drivers/ – change CYGWIN special attribute to accomodate df and ifort.
  • mod_arrays.F – added rho point source option Q_PSOURCE.
  • mod_averages.F – updated sediment averages.
  • mod_forces.F – added wave input parameters.
  • globaldefs.h – create short notation definitions for combinations of wave data for HWAVE, LWAVE, DWAVE, PWAVE_TOP, PWAVE_BOT, and for BEDLOAD.
  • mod_grid.F – added bed_thick arrays to track changes of bed elevation for morphology.
  • mod_ncparam.F – added NetCDF cases for waves and radiation stress I/O.
  • mod_ocean.F – added stokes velocities.
  • mod_parallel.F – added WAVES_OCEAN parallel nodes variables.
  • mod_param.F – added setup parameters for new test cases: INLET_TEST, VISSER, SHOREFACE, TEST_CHAN, TRENCH, SED_TOY, BEVANO. Increase unmber of diagnostic terms to include radiation stresses.
  • mod_scalars.F – define diagnostics for radiation stresses. Define variables for model coupling.
  • mod_sediment.F – define new variables for bed_layer_thickness, morph_fac, bed biodiffusivity.
  • mod_sources.F – add Q_PSOURCE.
  • mod_stepping.F – add Q_PSOURCE.
  • checkdefs.F – add new applications and CPP definitions.
  • def_avg.F – change 365.25 to Julian for time description.
  • def_diags.F – change 365.25 to Julian for time description.
  • def_floats.F – change 365.25 to Julian for time description.
  • def_his.F – change 365.25 to Julian for time description, added nearshore radiation stress terms, allow h to vary for morphology, write out rmask for wet_dry, write out waves data.
  • def_info.F – change 365.25 to Julian for time description, prevent writing of static h for morphologic simulations.
  • def_ini.F – change 365.25 to Julian for time description.
  • def_rst.F – change 365.25 to Julian for time description, read in bathy for morphology.
  • get_state.F – including read for time dependent h when using sediment and morphology, include read for TKE and GLS when
  • inp_par.F – updated read of model coupling input file, added write out of raditaion stress terms, GLS wave breaking criteria, wet_dry, and h for morphology, update reports for stations file.
  • – update methodology to input coupling parameters for node allocations, time steps between coupling, and reads for input file names.
  • waves_coupler.F – new file added that initializes, runs, and finalizes MCT coupling.
  • waves_ocean.h – updated logic to determine colors to spawn new file added.
  • metrics.F – Use MAX(h) to calculate Courant number for wet_dry.
  • mp_routines.F – Added USE ifport statements for
  • set_scoord.F – Added option for log profile distribution of vertical levels.
  • wrt_his.F – Add write of time dependent bathy for morphology, write out radiation stress terms, stokes velocities, wave fields, and write out wet_dry mask. When using Nearshore_Mellor would like to write out velocities in Eulerian form by subtracting Stokes velocities but this may conflict with Adjoint (needs revisiting !!)
  • wrt_info.F – suppress write bathy for time dependent h with morphology.
  • wrt_rst.F – Add write of time dependent bathy for morphology, Stokes velocities, and write out wet_dry mask.
  • analytical.F – Added initial and forcings for various test cases.
  • step2d.F – Added contributions from nearshore_mellor radiation stresses, included wet_dry.
  • u2dbc_im.F – Update h to be h+zeta for shallow water (SQRT(g h+zeta)).
  • v2dbc_im.F – Update h to be h+zeta for shallow water (SQRT(g h+zeta)).
  • zetabc.F – Update h to be h+zeta for shallow water (SQRT(g h+zeta)).
  • step_floats.F – Modify float types. Float types are 1 = neutral, 2 = constant distance below moving sea surface.
  • step3d_uv.F – Include methodology for wet_dry.
  • step3d_t.F – Include poitn Q sources and add vertical velowity omega to bottom face for morphology.
  • ssw_bbl.h – update routine to account for nearshore velocities, set formdrag as a cpp definition.
  • sg_bbl.h – update routine to account for nearshore velocities.
  • mb_bbl.h – update routine to account for nearshore velocities.
  • rhs3d.F – update to include radiation stresses and include omega BC for morphology.
  • pre_step3d.F – update to include radiation stresses diagnostics and include omega BC for morphology.
  • omega.F – include bottom boundary condition for morphology, include Q_PSOURCE.
  • main2d.F – include coupler to wave model.
  • main3d.F – include coupler to wave model.
  • sediment.F – Update bedload routines, reform susp load.