Custom Query (964 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (256 - 258 of 964)

Ticket Owner Reporter Resolution Summary
#346 arango arango Fixed Corrected parallel bugs in ana_psource.h
Description

The analytical specification of point sources (TS_PSOURCE, UV_PSOURCE, and Q_PSOURCE), in ana_psource.h, are extremely tricky in ROMS parallel applications. This is due to ROMS coarse-grain parallel design that support serial, serial with tile partitions, parallel shared-memory (OpenMP), and parallel distributed-memory (MPI). It requires full knowledge of ROMS framework design and parallelism to modify this ana_psource.h. So please look at the corrected routine and study it. I highly recommend you to understand first what it is involve before attempting to modidy this routine.

The routine ana_psource.h was previously designed for serial applications without tile partitions. The example tests cases were very simple and small and didn't required running in parallel. Nowadays, there is an increased number of users using this routine for their own applications. So I decided to correct this routine for you to have an idea of what it is involved. Still the best way to specify the point sources (river runoff) in ROMS is from an input (river) forcing NetCDF. Then, ROMS will take care of all the parallel issues internally.

#349 arango arango Fixed 4DVar unbalanced error covariance standard deviation scripts
Description

Added a new directory matlab/4dvar in the Matlab scripts repository containing several scripts to compute the unbalanced standard deviation used to scale 4DVar error covariance. This scripts use the balance operator (K-1) to compute the balanced and unbalanced components. Currently, this directory has the following scripts (see Contents.m):

%
% ROMS 4DVar data assimilation Matlab scripts
% ===========================================
%
% This package contains several generic Matlab scripts to process
% data for ROMS 4DVar data assimilation algorithms.
%
%
% Error Covariance Matrix:
%
%   average:      - Computes the time average of requested NetCDF variable.
%   variance:     - Computes the variance of requested NetCDF variable from
%                     its specified time mean.
%
% Error Covaraince Matrix Balance Operator:
%
%   balance_4dvar - Computes 4DVar balance operator.
%   biconj        - Biconjugate gradient solver for the SSH elliptic
%                     equation.
%   ini_balance   - Initializes balance operator structure array.
%                     It sets internal parameters, reads needed grid
%                     metrics and computes several quantities.
%   lateral_obc   - Sets lateral boundary conditions for a 2D or 3D
%                     field.
%   rho_balance   - Computes balanced density anomaly using a linear
%                     equation of state.
%   s_balance     - Given a temperature anomaly, deltaT=T-Tavg, it
%                     computes balanced salinity anomaly using a T-S
%                     empirical formula.
%   uv_balance    - Computes balanced, baroclinic U- and V-momentum
%                     anomalies (m/s) using the geostrophic balance.
%   zeta_balance  - Computes balanced, baroclinic free-surface anomaly
%                     by solving an elliptical equation OR integrating
%                     the hydrostatic equation from surface to bottom.
%
% Error Covariance Matrix NetCDF file:
%
%   c_std         - Creates 4DVar standard deviation NetCDF file.
%

I also added a new script matlab/utility/nc_getatt.m to read a global or variable attribute from a NetCDF file.

I modified matlab/utility/nc_read.m to have an additional argument, FillValue, to pass the desired value to use when the _FillValue attribute is found in a variable. The default is to replace its value with zero. In some circumstances, like plotting, it is advantageous to set FillValue=NaN to visualize better the land/sea masking or the missing data.

Many thanks to Andy Moore for his great help in coding and testing the 4DVar balance operator in ROMS.

#350 arango kate Fixed set_data: subscript out of range
Description

This code:

 726       IF (SOUTH_WEST_TEST) THEN
 727 #   ifdef WEST_FSOBC
 728         DO j=JLB,JUB
 729           cff=Dcrit(ng)-GRID(ng)%h(0,j)
 730           IF (BOUNDARY(ng)%zeta_west(j).le.cff) THEN
 731             BOUNDARY(ng)%zeta_west(j)=cff
 732           END IF
 733         END DO
 734 #   endif

becomes:

   292       IF (.true.) THEN
    293         DO j=JLB,JUB
    294           cff=Dcrit(ng)-GRID(ng)%h(0,j)
    295           IF (BOUNDARY(ng)%zeta_west(j).le.cff) THEN
    296             BOUNDARY(ng)%zeta_west(j)=cff
    297           END IF
    298         END DO

running in parallel, I get:

0: Subscript out of range for array grid%h (set_data.f90: 294)
    subscript=0, lower bound=159, upper bound=242, dimension=2
0: Subscript out of range for array grid%h (set_data.f90: 294)
    subscript=83, lower bound=0, upper bound=82, dimension=2
0: Subscript out of range for array grid%h (set_data.f90: 294)
    subscript=0, lower bound=559, upper bound=642, dimension=2

and so on.

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