Custom Query (964 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (31 - 33 of 964)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Ticket Resolution Summary Owner Reporter
#935 Fixed IMPORTANT: Corrected initialization of boundary indices in 2D applications arango
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.

#934 Done Added new module get_env.F arango
Description

A new module get_env.F was added to retrieve system environmental variables, which can be decoded as logical, integer, or string values. For example, we can have in the environment:

setenv ROMS_DEBUG 1
setenv ROMS_TRACE 4
setenv ROMS_HOME  /Users/arango/ocean/repository/git

Then, we can retrieve such values into a logical, integer, and strings variables, respectively, inside ROMS code by using:

     Logical :: Ldebug
     integer :: Itrace
     character (len=256) :: roms_home

     status = get_env('ROMS_DEBUG', Ldebug)
     status = get_env('ROMS_TRACE', Itrace)
     status = get_env('ROMS_HOME',  roms_home)

Notice that get_env is a PUBLIC overloading function that decodes the string value of the environmental variables to another type of variable like integer and logical.

Currently, this capability is used in the ROMS-JEDi interface, but I can see its usage in the ROMS source code in the future.

The get_env.F module uses Fortran 2003 GET_ENVIRONMENT_VARIABLE intrinsic function.

#933 Done Updated several Matlab scripts arango
Description
  • Several scripts were enhanced including: ioda_read.m, plot_ioda.m, hplot.m, plot_diff.m, plot_field.m, and plot_section.m.
  • utility/interp_station.m: It extracts station data from ROMS NetCDF files at specific locations. It can be used to check ROMS-JEDI H(X) operators that interpolates model state variables at the observation locations. Also, it can be used to compare and verify horizontal and vertical interpolations from the IODA/UFO JEDI operators.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.