Custom Query (964 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (439 - 441 of 964)

Ticket Owner Reporter Resolution Summary
#549 arango arango Fixed Corrected bug in zetabc.F
Description

Corrected a bug in zetabc.F and associated TLM, RPM, and ADM versions. The lateral boundary condition edge index for the northern clamped, gradient and closed boundary condition was isouth instead of inorth. We need to have instead:

!
!  Northern edge, clamped boundary condition.
!
        ELSE IF (LBC(inorth,isFsur,ng)%clamped) THEN
          ...

!
!  Northern edge, gradient boundary condition.
!
        ELSE IF (LBC(inorth,isFsur,ng)%gradient) THEN
          ...

!
!  Northern edge, closed boundary condition.
!

        ELSE IF (LBC(inorth,isFsur,ng)%closed) THEN
          ...

        END IF

Many thanks to Sérgio Larangeiro for reporting this bug.

#550 arango arango Fixed IMPORTANT: Updated TS_MPDATA, biology, sediment, difussion
Description

Several updates are carried out:

  • The TS_MPDATA option is updated so it is also included in the tracer predictor step in pre_step3d.F. Previously, TS_MPDATA was only applied in the corrector step in step3d_t.F. This cleaned out the awkward logic in all the biological models, sediment model, and horizontal tracer difussion routines. There is not longer a need to update n+1/2 time level in the tracer array, which is stored in t(:,:,:,3,itrc). For example, the following statement is eliminated from the biological models:
    #ifdef TS_MPDATA
                  t(i,j,k,3,ibio)=t(i,j,k,nnew,ibio)*Hz_inv(i,k)
    #endif
    
    Because of this change, we not longer can reproduce identical solutions when TS_MPDATA is activated.
  • Added first-order horizontal and vertical advection to pre_step3d.F (predictor step) when TS_MPDATA is activated. Many thanks to John Warner for working and testing the logic for this capability.
  • Corrected the Fennel biological model, fennel.h, to compute the correct source/sink term due to biogeochemical processes. Notice that all the biological model in ROMS use the old time level (nstp) concentration to initialize the source/sink terms. Therefore, the change due to biogeochemical processes is at the end of the biological model is:
            DO itrc=1,NBT
              ibio=idbio(itrc)
              DO k=1,N(ng)
                DO i=Istr,Iend
                  cff=Bio(i,k,ibio)-Bio_old(i,k,ibio)
                  t(i,j,k,nnew,ibio)=t(i,j,k,nnew,ibio)+cff*Hz(i,j,k)
                END DO
              END DO
            END DO
    
    ALL the biological models in ROMS must have this update at the end!!! This maybe not obvious to everybody, but it is the correct way to update the tracer array with the source/sink contribution for time-step nnew. This is due to ROMS design and separate time-stepping scheme for each tracer term. Notice that we subtract the Bio_old quantity, which have the value at time-step nstp. This also takes into account any constraints (non-negative concentrations, concentration limiters) specified before entering biogeochemical kernel. If Bio were unchanged by biogeochemical processes, the increment would be exactly zero. Notice that final tracer values, t(:,:,:,nnew,:) are not bounded >=0 so that we can preserve total inventory of nutrients when advection causes tracer concentration to go negative. Many thanks to John Wilkin for his persistence trying to figure out why there were a mismatch in the tracer diagnostic budgets. This is the only way that a problem like this can be detected. By the way, the other biological models in this repository are correct. We just missed this problem in the fennel.h. It has been like this for several years.
  • Corrected a shared-memory problem in the random walk of Lagrangian floats, vwalk_floats.F. Many thanks to Mark Hadfield for bringing this problem to my attention.
  • Allowed nAVG and nDIA to be one. Although this logic is weird, I can see circumstances were such capability maybe useful. Many thanks to Changwei Bian reporting this problem.
  • Corrected a bug in def_rst.F for PERFECT_RESTART and WET_DRY. The NetCDF variable wetdry_mask_rho has the wrong dimensions. We need to use sr2dgrd instead:
             status=def_var(ng, iNLM, RST(ng)%ncid, RST(ng)%Vid(idRwet),     &
    ncname,      &
          &                 NF_FOUT, nvd3, sr2dgrd, Aval, Vinfo, ncname,     &
          &                 SetFillVal = .FALSE.)
    
    Many thanks to Turuncoglu and Kate Hedstrom reporting and tracking this problem.

WARNING: TS_MPDATA can only used in distributed_memory (MPI) for more that one thread. There is a parallel bug in serial with partitions and shared-memory. I have been tracking this on and off for more than a year. I think that it is a problem is the implementation of TS_MPDATA. It needs to be split in couple of parallel regions. I will address this issue in the future when I will revise the OpenMP directives.

#551 arango arango Done IMPORTANT: Major overhault of scripts on the ROMS Matlab repository
Description

I have been working on a major overhaul of Matlab scripts and tools in the ROMS repository for several weeks. Since all the data in ROMS is managed with NetCDF files, some of these scripts use a NetCDF interface to Matlab to process the data. There are several interfaces for Matlab available from third parties. The most widely used interfaces are MEXNC and SNCTOOLS.

However, starting with Matlab version 2012a, released on Feb 9, 2012, the native interface to NetCDF is the preferred method for processing NetCDF data in the scripts distributed in the ROMS repository matlab and described here. The native interface was introduced in Matlab version 2008b for NetCDF-3 type files. The NetCDF-4 support started in version 2010b. The support for HDF5 files was completed in version 2011a. The OpenDAP support began in version 2012a. If your Matlab version is older than 2008b, we highly recommend that you update to the newest version. However, in the basic generic scripts we have switches for older versions to activate either the MEXNC interface for standard NetCDF files and the SNCTOOLS interface to process NetCDF files on an OpenDAP server.

Nesting Scripts:

This update also includes several new scripts to process ROMS nesting contact regions and contact points. The contact points are processed outside of ROMS and all the connectivity within nested grids is read from an input NetCDF file. This facilitates the configuration of various grid Sub-Classes. It tremendously simplifies the processing of such points in parallel computations. It also gives the user full editing control of the contact points. The contact points need to be set-up once for a particular application.

The information about these new scripts is very technical and difficult to explain with plain words. We need definitions, equations, and a lot of diagrams to explain and illustrate the complexity of ROMS nesting capabilities. Therefore, we decided to put all that information in WikiROMS instead of a very long message in this forum. In particular, we added two new menus to the documentation portal:

Nested Grids

Matlab Scripts

Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.