Custom Query (986 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (535 - 537 of 986)

Ticket Owner Reporter Resolution Summary
#649 arango jcwarner Fixed MPDATA tiling bug
Description

TS_MPDATA developed a tiling bug in the mpdata_adiff.F routine when all the ranges were recoded to be more general. There were only a few places, but it was critical. I found the offending lines and provided a routine (attached) with correct ranges.

Also, i added a new flag TS_MPDATA_LIMIT. When this option is activated, the upwind corrector fluxes are further limited to be a factor of fac = 0.25 times the computed corrector flux. We have found that in some limited applications with rapidly varying topography and strong tracer gradients, that the upwind flux was creating some oscillations. This limits that behavior. Of course, if you set the fac = 1.0, then the method is purely upwind.

#650 arango arango Fixed Corrected bugs in inp_par.F
Description

Several reported bugs were corrected:

  • inp_par.F: Corrected the Rad+Nud boundary conditions for passive tracer when the compact specification is used and input data is required. Many thanks to Mark Hadfield for reporting this bug and a solution. We just needed to add:
    #ifdef SOLVE3D
    !
    !  If processing tracers and last standard input entry (Icont=0), set
    !  unspecified tracer values to the last tracer entry.
    !
            IF ((iTrcStr.gt.0).and.(iTrcEnd.gt.0)) THEN
              IF ((Icont.eq.0).and.(ifield.lt.isTvar(iTrcEnd))) THEN
                DO i=ifield+1,isTvar(iTrcEnd)
                  DO ibry=1,4
                    ...
                    S(ibry,i,igrid)%acquire   = S(ibry,ifield,igrid)%acquire
                  END DO
                  ic=ic+1
                END DO
              END IF
            END IF
    #endif
    
  • inp_par.F: Corrected the momentum LnudgeM3CLM switch. Many thanks to Xueming zhu and Mark Hadfield for reporting this. We just need to have:
    !
    !  Set internal switch for nudging to climatology fields.
    !
    #ifdef SOLVE3D
            IF (LnudgeM3CLM(ng).or.                                         &
         &      LnudgeM3CLM(ng).or.                                         &
         &      ANY(LnudgeTCLM(:,ng))) THEN
              Lnudging(ng)=.TRUE.
            END IF
    #else
            IF (LnudgeM2CLM(ng)) THEN
              Lnudging(ng)=.TRUE.
            END IF
    #endif
    
  • def_rst.F: Corrected typo when defining wetdry_psi mask. This does not affect solution. Many thanks to Kate Hedstrom for reporting this. We just need to have:
            Aval(5)=REAL(Iinfo(1,idPwet,ng),r8)
    

The other changes are for readability.

#651 arango arango Fixed Corrected minor bug in mod_stepping.F
Description

Corrected a minor bug in mod_stepping.F that was triggered when ADJUST_BOUNDARY was not activated in the 4D-Var algorithms. We need to have instead:

#if defined ADJUST_BOUNDARY || defined ADJUST_STFLUX || \
    defined ADJUST_WSTRESS
      allocate ( Lfinp(Ngrids) )
      Lfinp(1:Ngrids)=1

      allocate ( Lfout(Ngrids) )
      Lfout(1:Ngrids)=1
#endif

We were initializing Lbout instead Lfout above. A compilation error resulted if ADJUST_BOUNDARY is not activated. Many thanks to Julia Levin for bringing this to my attention.

I also corrected several comments that include ' or " in a line. Some compilers issue warnings. This is actually a bug in the compiler. It should not check commented statement like:

!    H Q(k) = Q(k) T(k) + Gamma(k) q(k+1) e'(k)                        !

The above comment was changed to:

!    H Q(k) = Q(k) T(k) + Gamma(k) q(k+1) transpose[e(k)]              !
Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.