Custom Query (964 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (658 - 660 of 964)

Ticket Owner Reporter Resolution Summary
#619 arango arango Fixed IMPORTANT: Updated nesting routines for refinement
Description

This is an important update for the nesting algorithms:

  • Corrected bugs in subroutine put_refine2d of nesting.F. The conditional to avoid updating contact points at refined grid physical boundaries for time index indx1(ng) was incorrect.
  • Corrected the time index to t2 for the donor grid mass fluxes REFINED(cr)%DU_avg2(1,m,t2) and REFINED(cr)%DV_avg2(1,m,t2) in put_refine2d.
  • Corrected the logic to use more than one refined grid in an application. The logic to initialize arrays in structure BRY_CONTACT(:,cr) is more robust by introducing the conjugate contact region (CCR) concept. See mod_nesting.F for details.
  • Corrected the index when the REFINED structure is used. Changed REFINED(ir) to REFINED(cr). This was a bug when we have more than one refined grid in an application.
  • Corrected the reading of several variables for the nested grid connectivity NetCDF file, NGCNAME, in set_contact.F. The local variables Lcoincident, Lcomposite, Lmosaic, and Lrefinement need to be dimension (Ngrids-1)*2 and not Ngrids. That is, they need to be of the size of number of contact regions, Ncontact = (Ngrids-1)*2. This was also corrected in the Matlab scripts c_contact.m and wrt_contact.m that defines and writes such variables.

WARNING: Users need to also update the Matlab repository and recreate the nesting grid connectivity NetCDF file, NGCNAME, for their applications.

Also correct few things in other files:

  • Added a more robust logic in the vertical interpolation in the 4D-Var routines extract_obs.F and ad_extract_obs.F. Many thanks to Paul Mattern for bringing this to my attention.

Comments on the nesting algorithms:

  • We are still learning how to use these algorithms and designing simple applications to insure that algorithms were coded correctly for the intended capabilities. We found out that in order to conserve volume in refinement applications, the nesting has to be two-way. This is a very interesting result that we are trying to find complete explanations for it. Our applications with one-way nesting (ONE_WAY) tend to loose volume after several days.

This can be illustrated by adding two refined grids to the LAKE_SIGNELL application:

One-way, free-surface after 2 days of simulation:

https://www.myroms.org/trac/zeta_one_way3.png

Notice that the free-surface in the bottom-left and top-right refined grids have lower values when compared to the coarse grid values. The refinement is 1:3 for both finer grids. The bathymetry is flat. Here both refined grids are loosing volume slowly in time. The bottom-left grid is completely dark blue. The top-right grid exhibits much lower values. Just click on the figure to see a large resolution figure.

Two-way, free-surface after 2 days of simulation:

https://www.myroms.org/trac/zeta_two_way3.png

This is the same configuration as the above case but with ONE_WAY turned off. That is, ROMS is run in a two-way configuration. You can see the smooth continuation of colors between the coarse and finer grids. Notice the finer grids have additional physics since the gravity wave phenomena is better resolved. In our realistic applications we can see the trail of internal waves.

I will load the LAKE_SIGNELL nesting application to the test repository soon. Many thanks to John Wilkin for setting this grids and testing the nesting algorithms. We are now looking at the science of nesting instead of coding...

  • It is very clear from our experience, so far, that we need to pay a lot of attention to how the nested grids and the connectivity information is built. We need to conserve volume and compute the bathymetry accordingly... I foresee the Matlab scripts to continue to evolve as we gain more experience and try new applications.
#620 arango arango Done IMPORTANT: Updated Matlab scripts for nesting
Description

Several Matlab scripts were updated for nesting applications:

  • grid/grid_connections.m: updated script to support more than one nested grid. The new logic is more robust. There were instances in the double loop logic:
    for dg=1:S.Ngrids,
      for rg=1:S.Ngrids,
        ...
      end
    end
    
    that do not lead to a valid contact region. The new logic is now generic and allows more than two grids.
  • grid/grids_structure.m: new function to compute a nested grids structure array, say G(:), containing all the grid variables associated with the application's horizontal and vertical grids. For example:
    G = grids_structure({'my_his_coarse.nc', 'my_his_fine1.nc', 'my_his_fine2.nc'});
    
  • grid/contact.m: added logic to process grids without the curvilinear metrics dndx and dmde. The curvilinear switch from the ROMS grid structure G (generated by get_roms_grid) is used process such non-curvilinear applications.
  • c_contact.m: corrected bug in the definition of output NetCDF variables: coincident, composite, mosaic, and refinement. They need to be of the size Ncontact instead of Ngrids.
  • fine2coarse.m: added logic to process grids without the curvilinear metrics dndx and dmde.
  • coarse2fine.m: added logic to process grids without the curvilinear metrics dndx and dmde. The interpolation of the bathymetry, h and hraw, is linear instead of natural to insure that the global integral of bathymetry is conserved.
  • grid/write_contact.m: corrected bug during the writing of NetCDF variables: coincident, composite, mosaic, and refinement. They need to be of the size Ncontact instead of Ngrids. The vertical intepolation variable switch is written as true, interpolation(:)=1.
  • grid/grid_metric.m: insure that dndx and dmde is zero in non-curvilinear applications.
#621 arango arango Done Updated Copyright 2002-2014
Description

Updated the ROMS/TOMS Copyright to all algorithms:

  Copyright (c) 2002-2014 The ROMS/TOMS Group
     Licensed under a MIT/X style license
     See License_ROMS.txt
Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.