Custom Query (964 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (661 - 663 of 964)

Ticket Owner Reporter Resolution Summary
#622 arango arango Done IMPORTANT: Updated reading LBC structure
Description

This ticket updates various files:

  • The processing of the lateral boundary conditions structure (LBC) was not correct for biology and sediment models in nesting applications. We need to have instead the following statement in ecosim_inp.h, fennel_inp.h, nemuro_inp.h, npzd_Franks_inp.h, npzd_Powell_inp.h, and npzd_iron_inp.h:
                CASE ('LBC(isTvar)')
                  IF (itracer.lt.NBT) THEN
                    itracer=itracer+1
                  ELSE
                    itracer=1                      ! next nested grid
                  END IF
                  ifield=isTvar(idbio(itracer))
                  Npts=load_lbc(Nval, Cval, line, nline, ifield, igrid,     &
         &                      idbio(iTrcStr), idbio(iTrcEnd),             &
         &                      Vname(1,idTvar(idbio(itracer))), LBC):
    
    We need to pass idbio(iTrcStr) and idbio(iTrcEnd) as arguments instead of just iTrcStr and iTrcEnd. Users need to make such changes to their additional ecosystem models that are not part of this repository!
  • Similarly, sediment_inp.h was modified to have instead:
                CASE ('LBC(isTvar)')
                  IF (itracer.lt.NST) THEN
                    itracer=itracer+1
                  ELSE
                    itracer=1                      ! next nested grid
                  END IF
                  ifield=isTvar(idsed(itracer))
                  Npts=load_lbc(Nval, Cval, line, nline, ifield, igrid,     &
         &                      idsed(iTrcStr), idsed(iTrcEnd),             &
         &                      Vname(1,idTvar(idsed(itracer))), LBC)
    
    We need to pass idsed(iTrcStr) and idsed(iTrcEnd) as a arguments.
  • Modified read_phypar.F so the input parameters for NestLayers and GridsInLayer are equal to unity in non-nesting applications. Users may have the tendency to set such values to zero.
  • Improved check_multifile.F to report when the input data time records from NetCDF files is not enough to finish the simulation. Persisting the last available data record is not possible in ROMS. Users need to provide enough data to cover the simulation period from start to finish. Many thanks to Kate Hedstrom for bringing this to my attention.
#623 arango arango Done Introducing LAKE_JERSEY test for Nesting.
Description

A new idealized test case is introduced for nesting applications, LAKE_JERSEY. It can be found in the test repository. It can configured with one or two refinement grids (1:3 ratio): bottom-left refinement grid and top-right refinement grid. The user can have three different nesting application using one of the following input scripts:

  • ocean_lake_jersey_nested2_bot.in for coarse and bottom-left refinement grid. The following figures show free-surface, surface temperature and salinity after 2 days of simulation:

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

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

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

  • ocean_lake_jersey_nested2_top.in for coarse and top-right refinement grid. The following figures show free-surface, surface temperature and salinity after 2 days of simulation:

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

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

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

  • ocean_lake_jersey_nested3.in for coarse and both bottom-left and top-right refinement grids.

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

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

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

The plots above were made with the Matlab script plot_nesting.m from the repository. For example, for the 3-grid applications we need to compute first the grid structure:

  Hnames = {'lake_jersey_his_coarse.nc',       ...
            'lake_jersey_his_refined_bot.nc',  ...
            'lake_jersey_rst_refined_top.nc'};
  G = grids_structure(Hnames);
  F = plot_nesting(G, Hnames, 'salt', 97, 8);

Many thanks to John Wilkin for his help configuring this test case.

#624 arango arango Done IMPORTANT: Few corrections
Description

I have been working on a big ROMS update for the last three weeks but I am still not ready to release it. Some users have reported few problems, so here I am including few important updates:

  • Modified logic on how to initialize the structure BRY_CONTACT in mod_nesting.F with the correct nested grid contact points information. I have been looking for a generic way to code this. I have rewritten this logic several times so it can handle all the possible nesting capabilities. I think that we need to compute the information for the conjugate contact region (CRR) points at the same time of the regular contact points. I hope that this logic is now robust and I don't have to change it again.
  • Added couple of CPP options for nesting:

NO_CORRECT_TRACER: Switch to avoid correcting coarser grid tracers next (outside) to the physical of the boundary of the finer grid in two-way refinement. See routine correct_tracer in nesting.F for details. The default behavior is to correct the tracer values so this option can be used to turn off such two-way adjustment.

TIME_INTERP_FLUX: Switch to time interpolate coarser grid mass flux when computing finer grid boundary conditions for (ubar, vbar) in the finner grid physical boundary in routine put_refine2d. The default is to persist in time the coarser grid mass flux during the RefineScale sub-timesteps.

  • A safeguard is added to routine z_weights in nesting.F to bound i-1, i+1, j-1, and j+1 operations. Their values are bounded to the maximum possible values at the edge of the contact region. In such cases, Hweight(1,m)=1 and Hweight(2:3,m)=0. This is done to avoid out of range errors. This is relevant in mosaic grids when the vertical interpolation is activated. That is, interpolate = 1 in the input contact points NetCDF file. For example, for the RHO-points we have:
                DO Kdg=1,N(dg)
                  DO m=1,Npoints
                    Idg  =Rcontact(cr)%Idg(m)
                    Idgp1=MIN(Idg+1, BOUNDS(dg)%UBi(-1))
                    Jdg  =Rcontact(cr)%Jdg(m)
                    Jdgp1=MIN(Jdg+1, BOUNDS(dg)%UBj(-1))
                    IF (((IminD.le.Idg).and.(Idg.le.ImaxD)).and.            &
         &              ((JminD.le.Jdg).and.(Jdg.le.JmaxD))) THEN
                      Zd(1,Kdg,m)=GRID(dg)%z_r(Idg  ,Jdg  ,Kdg)
                      Zd(2,Kdg,m)=GRID(dg)%z_r(Idgp1,Jdg  ,Kdg)
                      Zd(3,Kdg,m)=GRID(dg)%z_r(Idgp1,Jdgp1,Kdg)
                      Zd(4,Kdg,m)=GRID(dg)%z_r(Idg  ,Jdgp1,Kdg)
                    END IF
                  END DO
                END DO
    
  • Corrected minor bug in extract_sta.F. Many thanks to Kelly Kearney bringing this to my attention.
  • Corrected an adjoint bug in ad_npzd_iron.h. The variables ad_ExpAtt and ad_Itop need to be initialized to zero at the top of the routine. Many thanks to Paul Mattern for reporting this problem.
  • Updated the contact NetCDF files (dogbone_ngc_composite.nc and dogbone_ngc_refined.nc) for the DOGBONE test case.
  • Updated few files in the test reposiotry.
Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.