Custom Query (986 matches)
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 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.
|
Note:
See
TracQuery
for help on using queries.