Custom Query (964 matches)
Results (112 - 114 of 964)
Ticket | Owner | Reporter | Resolution | Summary |
---|---|---|---|---|
#158 | Done | 4DVAR Balance Operator | ||
Description |
We added the balance operator (BALANCE_OPERATOR option) to the 4DVAR algorithms. This formulation follows the methodology described by Weaver et al. (2006). It basically computes the off diagonal correlation/covariances terms used during variational data assimilation. The balance operator computes the multivariate covariances based on several balance relationships. The balance operator is used to computed the unobserved variables information from the directly observed data. The ocean state vector is split between balanced and unbalanced components, except for temperature which is treated in totality and used as the starting point to establish the balanced part of the other variables. The multivariate formulation is obtained by establishing linear balance relationships between temperature and the other state increments using T-S empirical formulas, the linear equation of state, hydrostatic balance, and geostrophic balance. Many thanks to Andy Moore and Javier Zavala for their help implementing this operator. This code is still in the early stages and it is likely to change in the future. It now released so the Beta-testers can start hacking it. |
|||
#159 | Fixed | Typo in ana_m2obc Kelvin wave test | ||
Description |
There is a typo in the computation of the Kelvin wave test (KELVIN) western and eastern boundary condition in subroutine ana_m2obc. Recall that Kelvin waves are gravity waves moving at the speed of SQRT(g*h). See the following forum post for details. Many thanks to Rachael Mueller for reporting this typo. |
|||
#162 | Fixed | bulk_flux itermax | ||
Description |
Small tiling bug in Nonlinear/bulk_flux.F due to variable Itermax. The variable Itermax is set in an i loop. Itermax takes a value of 1 or 3, depending on the last setting in the i loop. After that i loop completes, we have DO Iter=1,IterMax DO i=Istr-1,IendR ..... Well, the number of iterations for any given i-tile will depend on the last value of Itermax. Thus, the values in an i-tile will depend on how it is tiled. Solution: dimension Itermax(private_1d_scratch_array) and compute Itermax(i). Then change the order of the do loops as: DO i=Istr-1,IendR DO Iter=1,IterMax(i) ..... or just set Itermax = 3 and be done with it (?). |