Custom Query (986 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (943 - 945 of 986)

Ticket Owner Reporter Resolution Summary
#935 arango Fixed IMPORTANT: Corrected initialization of boundary indices in 2D applications
Description

Removed the initialization of 3D boundary indices in mod_ncparam.F for shallow-water applications where SOLVE3D is undefined. Now we have:

!
!  Set generic lateral boundary indices for LBC structure. Use the same
! values of the state variables at the same C-grid location. Generic
! indices are used for testing periodicity. The PSI-variables and
! W-variables are assigned the same value as the RHO-variables.
!
      isBp2d=isFsur                           ! 2D PSI-variables
      isBr2d=isFsur                           ! 2D RHO-variables
      isBu2d=isUbar                           ! 2D U-variables
      isBv2d=isVbar                           ! 2D V-variables
#if defined SOLVE3D
      isBp3d=isTvar(1)                        ! 3D PSI-variables
      isBr3d=isTvar(1)                        ! 3D RHO-variables
      isBu3d=isUvel                           ! 3D U-variables
      isBv3d=isVvel                           ! 3D V-variables
      isBw3d=isTvar(1)                        ! 3D W-variables
# if defined GLS_MIXING || defined MY25_MIXING
      isMtke=isTvar(MT)+1                     ! turbulent variables
# endif
#endif

In 2D applications, the total number of tracers, MT=0. Therefore, the isTvar vector is allocated as

     IF (.not.allocated(isTvar)) THEN
       allocate ( isTvar(MT) )
       Dmem(1)=Dmem(1)+REAL(MT,r8)
     END IF

Thus, we have only access to element zero of the vector isTvar, which may trigger a segmentation violation when accessing isTvar(1).

Many thanks to Moein DoostMohammadi for bringing this issue to my attention.

#937 arango Done Refactored the location of cpp_clean when using CMake
Description
  • Unified the location of cpp_clean in standalone ROMS and ROMS-JEDI for CMake configuration. In Compilers/roms_functions.cmake we now have:
    # Functions used in CMake to overcome its rudimentary capabilities.
    
    find_program(
      GREP
      NAMES grep egrep
      DOC "Grep command"
      REQUIRED
    )
    
    find_program(
      PERL
      NAMES perl
      DOC "Perl command"
      REQUIRED
    )
    
    find_program(
      CPP_CLEAN
      NAMES cpp_clean
      HINTS "${CMAKE_CURRENT_SOURCE_DIR}/ROMS/Bin/"
      DOC "ROMS CPP Clean command"
      REQUIRED
    )
    
    find_program(
      CPP_EXECUTABLE
      NAMES cpp
      DOC "C-preprocessor command"
      REQUIRED
    )
    
    message( STATUS "CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR}" )
    message( STATUS "CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}" )
    message( STATUS "CPP_CLEAN=${CPP_CLEAN}" )
    
  • Added CMake (cbuild_roms.csh and cbuild_roms.sh) scripts to all the applications in the test repository. As build_roms.csh and build_roms.sh, they can be used for any version of ROMS in the git and svn repositories.
#946 wilkin Fixed SetFillVal argument missing when writing vertical coordinates
Description
  • The variables associated with depth are special in ROMS because of wetting/drying and other algorithms. We cannot add a _FillValue in output NetCDF files. Although the output variables z_rho, z_u, z_v, and z_w are defined with SetFillVal = .FALSE. in module def_his.F, the same optional variable is missing when writing in wrt_his.F and wrt_quick. For example, we need to have in wrt_his.F instead:
    !
    !  Write time-varying depths of RHO-points.
    !
          IF (Hout(idpthR,ng)) THEN
            scale=1.0_dp
            gtype=gfactor*r3dvar
            status=nf_fwrite3d(ng, model, HIS(ng)%ncid,                     &
         &                     HIS(ng)%Vid(idpthR),                         &
         &                     HIS(ng)%Rindex, gtype,                       &
         &                     LBi, UBi, LBj, UBj, 1, N(ng), scale,         &
    # ifdef MASKING
         &                     GRID(ng) % rmask,                            &
    # endif
         &                     GRID(ng) % z_r,                              &
         &                     SetFillVal = .FALSE.)
            IF (FoundError(status, nf90_noerr, __LINE__, MyFile)) THEN
              IF (Master) THEN
                WRITE (stdout,10) TRIM(Vname(1,idpthR)), HIS(ng)%Rindex
              END IF
              exit_flag=3
              ioerror=status
              RETURN
            END IF
          END IF
    
    To avoid those land values being read in MATLAB as 1e+37. Those variables were written correctly in wrt_dai.F, which is used for EnKF and 4D-Var.
  • Corrected typo in def_his.F when defining implicit omega vertical velocity.
  • Updated metadata varinfo.yaml to include omega_implicit and added scale factor 1/rho0 for wave dissipation variables.
Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.