Custom Query (986 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (292 - 294 of 986)

Ticket Owner Reporter Resolution Summary
#389 arango arango Done Added observation impact capability for IS4DVAR
Description

The observation impact for 4D-Var drivers was updated:

  • Added the observation impact operator for IS4DVAR in driver obs_sen_ocean.h. It includes capability to compute the contributions due to initial conditions, surface forcing, and boundary conditions using the OBS_IMPACT_SPLIT option.
  • Added missing code for the balance operator in obs_sen_ocean.h.
  • Corrected the IO logic in obs_sen_w4dpsas.h and obs_sen_w4dvar.h to distinguish between observation sensitivity and observation impact. The ouput when OBS_IMPACT_SPLIT was not activated was missing for the obsevation sensitivity option.

Many thanks to Andy Moore his help in coding and testing this algorithms.

#390 arango arango Done Added new output variables to ocean.in and stations.in
Description

I updated several things:

  • Added new input fields to output history NetCDF file using the Hout logical switch in ocean.in. Many thanks to Mathieu Dutour for bringing this to my attention:
    Hout(idWptp) == F                          ! wave surface period
    Hout(idWpbt) == F                          ! wave bottom period
    Hout(idWorb) == F                          ! wave bottom orbital velocity
    Hout(idWdis) == F                          ! wave dissipation
    
  • Added new input fields to output stations NetCDF file using the Hout logical switch in stations.in. Many thanks to Mathieu Dutour for bringing this to my attention:
    Sout(idUbrs) == F                          ! bottom U-current stress
    Sout(idVbrs) == F                          ! bottom V-current stress
    Sout(idUbws) == F                          ! bottom U-wave stress
    Sout(idVbws) == F                          ! bottom V-wave stress
    Sout(idUbcs) == F                          ! bottom max wave-current U-stress
    Sout(idVbcs) == F                          ! bottom max wave-current V-stress
    
    Sout(idUbot) == F                          ! bed wave orbital U-velocity
    Sout(idVbot) == F                          ! bed wave orbital V-velocity
    Sout(idUbur) == F                          ! bottom U-velocity above bed
    Sout(idVbvr) == F                          ! bottom V-velocity above bed
    
    Sout(idW2xx) == F                          ! 2D radiation stress, Sxx component
    Sout(idW2xy) == F                          ! 2D radiation stress, Sxy component
    Sout(idW2yy) == F                          ! 2D radiation stress, Syy component
    Sout(idU2rs) == F                          ! 2D radiation U-stress
    Sout(idV2rs) == F                          ! 2D radiation V-stress
    Sout(idU2Sd) == F                          ! 2D U-Stokes velocity
    Sout(idV2Sd) == F                          ! 2D V-Stokes velocity
    
    Sout(idW3xx) == F                          ! 3D radiation stress, Sxx component
    Sout(idW3xy) == F                          ! 3D radiation stress, Sxy component
    Sout(idW3yy) == F                          ! 3D radiation stress, Syy component
    Sout(idW3zx) == F                          ! 3D radiation stress, Szx component
    Sout(idW3zy) == F                          ! 3D radiation stress, Szy component
    Sout(idU3rs) == F                          ! 3D U-radiation stress
    Sout(idV3rs) == F                          ! 3D V-radiation stress
    Sout(idU3Sd) == F                          ! 3D U-Stokes velocity
    Sout(idV3Sd) == F                          ! 3D V-Stokes velocity
    
    Sout(idWamp) == F                          ! wave height
    Sout(idWlen) == F                          ! wave length
    Sout(idWdir) == F                          ! wave direction
    Sout(idWptp) == F                          ! wave surface period
    Sout(idWpbt) == F                          ! wave bottom period
    Sout(idWorb) == F                          ! wave bottom orbital velocity
    Sout(idWdis) == F                          ! wave dissipation
    
  • Update ROMS/Programs/types.F to include logic for REAL*16 type variables. Notice that there are several compilers that do not support REAL*16 data types. For example PGF90, G95, and GFORTRAN. However, other compilers like IFORT do have REAL*16 support.
  • Corrected a compiler bug in the biology and sediment models include files *_mod.h. We need to use allocatable instead of pointer attributes during declaration. Many thanks to John Wilkin for reporting this problem. The PGI compiler didn't complained about. I am surprised how the PGI compiler relax the standard F90/F95 roules.
#391 arango arango Done Override of DU_avg1 and DV_avg1 when using UV_PSOURCE
Description

In src:ticket:384 I mentioned that the override of barotropic, time filtering arrays DU_avg1 and DV_avg1 is unnecessary in routine step2d, when the point sources (river runoff) option UV_PSOURCE is activated. In this ticket, I proposed that, if this is actually needed this computation needs to be done at the nfast(ng)+1 when all the barotropic time-filtering is finalized:

      IF ((iif(ng).eq.(nfast(ng)+1)).and.PREDICTOR_2D_STEP(ng)) THEN

#  ifdef UV_PSOURCE
        DO is=1,Nsrc
          i=Isrc(is)
          j=Jsrc(is)
          IF (((IstrR.le.i).and.(i.le.IendR)).and.                      &
     &        ((JstrR.le.j).and.(j.le.JendR))) THEN
            IF (INT(Dsrc(is)).eq.0) THEN
              DU_avg1(i,j)=Qbar(is)
            ELSE
              DV_avg1(i,j)=Qbar(is)
            END IF
          END IF
        END DO
#  endif
        ...
      END IF

I have some time to think and test the need of this code. It turns out that this is totally redundant. The algorithm takes care of this when computing the local transports DUon and DVom. At the point sources locations, the value of DU_avg1 or DV_avg1 is exactly the same as Qbar.

I don't recall how this was introduced in the code. As a matter of fact, the original formulation corrected in src:ticket:384 was wrong! This is a good example of how the adjoint model help us (in a very hard way to find) to track redundant computations. In this case the redundant computation was wrong.

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