Custom Query (986 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (370 - 372 of 986)

Ticket Owner Reporter Resolution Summary
#469 arango arango Fixed IMPORTANT: Corrected parallel bug in ini_fields.F and friends
Description
  • In src:ticket:178, Kate reported a shared-memory and serial with partition parallel bug in ini_fields.F when computing the vertically-integrated velocities (ubar, vbar). We needed to have the computation of Hz via set_depth in a different parallel region. In that ticket, I introduced a new routine ini_zeta which initialize Zt_avg1 to the initial conditions for zeta. The values of Zt_avg1 (time-averaged/filtered zeta) are the ones that actually used in set_depth.F. Well, all of this is fine but I forgot to move the call to set_depth from ini_fields.F. It is embarrassing... This needs to be done in a different parallel region in main3d.F:
    !
    !  Initialize free-surface and compute initial level thicknesses and
    !  depths.
    !
    !$OMP PARALLEL DO PRIVATE(thread,subs,tile) SHARED(ng,numthreads)
            DO thread=0,numthreads-1
              subs=NtileX(ng)*NtileE(ng)/numthreads
              DO tile=subs*thread,subs*(thread+1)-1,+1
                CALL ini_zeta (ng, TILE, iNLM)
                CALL set_depth (ng, TILE)
              END DO
            END DO
    !$OMP END PARALLEL DO
    !
    !  Initialize other state variables.
    !
    !$OMP PARALLEL DO PRIVATE(thread,subs,tile) SHARED(ng,numthreads)
            DO thread=0,numthreads-1
              subs=NtileX(ng)*NtileE(ng)/numthreads
              DO tile=subs*(thread+1)-1,subs*thread,-1
                CALL ini_fields (ng, TILE, iNLM)
              END DO
            END DO
    !$OMP END PARALLEL DO
    
  • The stratigraphic contributions to the bathymetry (h) are moved to ini_zeta since they are needed in set_depth when SEDIMENT and SED_MORPH are activated.
  • The routine ini_fields.F was cleaned and reorganized. This included the TLM, RPM, and ADM versions.
  • Corrected a distributed-memory I/O bug in periodic application for the radiation stress variables Sxx_bar, Sxy_bar, Syy_bar, Sxx, Sxy, Syy, Szx, and Szy. These are all ouput variables and not used in ROMS kernel. A mp_exchange2 and mp_exchange3 is needed for these variables.
  • By the way, the only way to apply periodic boundary conditions in a ROMS distributed-memory (MPI) application with more that one partition in the periodic direction is by a call to any of the mp_exchange routines since the array elements to be exchanged reside in a different node.
  • Re-organized routine radiation_stress.F to include new file nearshore_mellor05.h. It turns out the there are various formulations for radiation stresses in the literature. The formulation of Mellor (2005) has some fundamental problems which were addressed in Mellor (2008) reformulation. In the future, we plan to have other formulations available in ROMS. This is a very active topic in the literature nowadays. Be aware that the formulation currently distributed in ROMS is the one described by Mellor (2005) which has been replaced in Mellor (2008). This new formulation is still under testing and not available. John Warner is working on other formulations nowadays.
  • To facilitate future developments, the option NEARSHORE_MELLOR is renamed to NEARSHORE_MELLOR05.
  • The driver routine radiation_stress.F will be renamed in the future to a more generic name since it will include other types of wave forcing.
  • Corrected negative zero problem in extract_sta.F. Starting F95 zero values can be signed (-0 or +0) following the IEEE 754 floating point standard. This can be advantageous in some computations but not here when Ascl is negative and Apos is zero. This will produce different output files when comparing serial and distributed-memory applications (1x1 and any other tile partition combination are different). Since comparing serial and parallel output is essential for tracking parallel partition bugs, positive zero is enforced.
#470 arango arango Fixed Corrected bug in obs_write.F when computing final misfit
Description
  • A bug was corrected in obs_write.F when computing the final misfit in I4D-Var. The TLmodVal is included and we need only to have:
            IF (wrtMisfit(ng)) THEN
              DO iobs=Mstr,Mend
    #  if defined IS4DVAR
                misfit(iobs)=ObsScale(iobs)*SQRT(ObsErr(iobs))*             &
         &                   (NLmodVal(iobs)-ObsVal(iobs))
    
    This is just a diagnostic quantity for output and doesn't affect the I4D-Var computations. Many thanks to Ha Joon Song for nicely reporting this bug.
  • Updated the makefile to add version 3.82 of gmake to the NEED_VERSION macro. The gmake 3.82 was released earlier in the summer.
  • Updated the documentation in build.sh and build.bash. Notice that it is possible to compile with a serial NetCDF-4/HDF5 library in distributed-memory (MPI). The parallel version of these libraries is only required for parallel I/O when the C-preprocessing option PARALLEL_IO is activated in ROMS. Many thanks to David Robertson for bringing this to my attention.
  • Updated the UPWELLING test case so we can use either EW_PERIODIC or NS_PERIODIC. We just needed to reformulate the bathymetry (ana_grid.h) and wind stress (ana_smflux.h) forcing to the opposite direction in NS_PERIODIC applications. Still the EW_PERIODIC is the default configuration.
  • Updated documentation in distribute.F about why we cannot USE mod_netcdf in mp_ncread and mp_ncwrite because cyclic dependencies.
#471 arango arango Fixed Corrected typo in plotting package routine slevels.F
Description

Correted routine slevels.F in the plotting package. The variable tindx was already declared in common block (ncinfo.h).

Many thanks to David Robertson for bringing this to my attention. The was also reported by Robert Bauer in the forum.

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