Custom Query (964 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (385 - 387 of 964)

Ticket Owner Reporter Resolution Summary
#488 arango arango Fixed Water points and the GST propagators
Description

Several changes were made to the internal masking arrays and the computation of water points in src:ticket:483. The internal masking arrays are set in routine set_masks and the water points counters are computed in routine wpoints. In that ticket, the calls to these routines were moved from initial to main2d/main3d because we need to know the location of the point sources (via analytical expressions) to process internal masking arrays pmask_io, rmask_io, umask_io, and vmask_io.

It turns out that this breaks the logic to the Generalized Stability Theory (GST) propagators. We need to the call towpoints much earlier to allocated the state arrays that we use to communicate with ARPACK/PARPACK libraries. Therefore, the calls to set_masks and wpoints are moved back to initial (including ADM, TLM, and RPM versions).

The solution is to have a call to ana_psource in routine get_idata (and respective ADM, TLM, and RPM versions), so the locations of the point sources is known before set_masks and wpoints are called. Notice that the point sources locations were already processed in routine get_idata but when reading from input NetCDF forcing file. Now, it also processes analytical point sources locations.

Added an MPI exchange to routine scale_omega to we get identical files in different distributed memory partitions. See src:ticket:487 for previous change.

#489 arango jcwarner Done Suggestion for standard input files
Description

Friendly suggestion: I modified all my input files to help users more easily identify the output variable name with the associated Hout selection. For example i use:

Hout(idUvel) == T        ! u               3D U-velocity
Hout(idVvel) == T        ! v               3D V-velocity
Hout(idWvel) == T        ! w               3D W-velocity
Hout(idOvel) == T        ! omega           omega vertical velocity
Hout(idUbar) == T        ! ubar            2D U-velocity
Hout(idVbar) == T        ! vbar            2D V-velocity
Hout(idFsur) == T        ! zeta            free-surface
Hout(idBath) == T        ! bath            time-dependent bathymetry
Hout(idTvar) == T F      ! temp, salt      temperature and salinity

Hout(idUair) == F        ! Uwind           surface U-wind
Hout(idVair) == F        ! Vwind           surface V-wind
Hout(idUsms) == F        ! sustr           surface U-stress
Hout(idVsms) == F        ! svstr           surface V-stress
Hout(idUbms) == F        ! bustr           bottom U-stress
Hout(idVbms) == F        ! bvstr           bottom V-stress

Hout(idUbrs) == T        ! bustrc          bottom U-current stress
Hout(idVbrs) == T        ! bvstrc          bottom V-current stress
Hout(idUbws) == T        ! bustrw          bottom U-wave stress
Hout(idVbws) == T        ! bvstrw          bottom V-wave stress
Hout(idUbcs) == T        ! bustrcwmax      bottom max wave-current U-stress
Hout(idVbcs) == T        ! bvstrcwmax      bottom max wave-current V-stress
Hout(idUVwc) == F        ! bstrcwmax       bottom max wave-current stress magnitude

Hout(idTsur) == F        ! shflux          surface net heat and salt flux
Hout(idLhea) == F        ! latent          latent heat flux
Hout(idShea) == F        ! sensible        sensible heat flux
Hout(idLrad) == F        ! lwrad           longwave radiation flux
Hout(idSrad) == F        ! swrad           shortwave radiation flux
Hout(idEmPf) == F        ! EminusP         E-P flux
Hout(idevap) == F        ! evaporation     evaporation rate
Hout(idrain) == F        ! rain            precipitation rate

Hout(idDano) == F        ! rho             density anomaly
Hout(idVvis) == T        ! AKv             vertical viscosity
Hout(idTdif) == F        ! AKt             vertical T-diffusion
Hout(idSdif) == F        ! AKs             vertical Salinity diffusion
Hout(idHsbl) == F        ! Hsbl            depth of surface boundary layer
Hout(idHbbl) == F        ! Hbbl            depth of bottom boundary layer
Hout(idMtke) == T        ! tke             turbulent kinetic energy
Hout(idMtls) == T        ! gls             turbulent generic length scale
#490 arango arango Fixed Corrected adjoint time management logic in get_cycle.F
Description

Corrected the lower time value (Tstr) in get_cycle.F for adjoint applications. Now we have the following statements around line 161:

        tstart=Tmin
        IF (model.eq.iADM) THEN          ! backward time logic
          DO i=2,ntime
            IF ((tstart.lt.mday).and.(mday.le.Tval(i))) THEN
              Tindex=i-1
              Tstr=tstart
              EXIT
            END IF
            tstart=Tval(i)
          END DO
        ELSE                             ! forward  time logic
          DO i=2,ntime
            IF ((tstart.le.mday).and.(mday.lt.Tval(i))) THEN
              Tindex=i-1
              Tstr=tstart
              EXIT
            END IF
            tstart=Tval(i)
          END DO
        END IF

We need to have a different inequality in the IF-statement for backward time logic in adjoint applications. This was affecting the GST drivers when selecting the initial snapshot times to interpolate the forward trajectory. It is weird that we didn't noticed this problem in the 4D-Var algorithms. The reason for that is that the time window between the NLM and ADM is the same. In the GST algorithms, we can have smaller time-window from the forward trajectory and the bug appears...

I also initialized the local LwrtGST switch in the afte_ocean.h driver to allow check-pointing.

There is a parallel issue with the GST drivers. There is an MPI hang-on during the iterations. I am hunting for this elusive parallel (MPI) problem.

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