Custom Query (964 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (586 - 588 of 964)

Ticket Owner Reporter Resolution Summary
#712 arango TomLav Fixed bug in WC13/PSAS build.bash, introduced at r822 (?)
Description

I am working from a fresh checkout (3 days ago), trying to run the WC13/PSAS test. After some segfaults and investigations, it seems the issue is in the build.bash file syntax, and specifically that a = sign is missing on line 129.

If I understand correctly, the 3 lines (1 causing the problem, and 2 commented ones) were added with revision 822. https://www.myroms.org/projects/src/changeset/822/test/WC13/PSAS/build.bash

The fix seems to be to add the '=' token.

I cannot assess if the results of the runs are scientifically correct, but without the '=', I get a segfault.

#713 arango arango Fixed Important: corrected long_name attribute for obs_type
Description

The is a typo in line 364 of 4dvar/c_observations.m for the 4D-Var long name attribute for obs_type. We have long instead of long_name attribute. We need to have instead:

Var.name          = Vname.type;
Var.type          = nc_constant('nc_int');
Var.dimid         = [did.datum];
Var.long_name     = 'model state variable associated with observations';
Var.flag_values   = S.state_flag_values;
Var.flag_meanings = S.state_flag_meanings;
[~,status]=nc_vdef(ncid,Var);
if (status ~= 0), return, end,
clear Var

There is an easy way to correct this in 4D-Var observations NetCDF file by using Matlab repository nc_attdel and nc_attadd functions:

>> ncfile='my_obsfile.nc';
>> Avalue='model state variable associated with observation';
>> nc_attdel(ncfile, 'long', 'obs_type');
>> nc_attadd(ncfile, 'long_name', Avalue, 'obs_type');

It deletes the long attribute for obs_type and adds the long_name attribute for obs_type.

I corrected this long time ago but I forgot to load correction to the repository. Many thanks to Chris Edwards for bringing this to my attention.

#714 arango arango Fixed Important: Updated output DAI NetCDF file
Description

The DAINAME NetCDF file was updated to include vertical viscosity (AKv) coefficients and vertical diffusion coefficients (AKt) for potential temperature and salinity. The DAI is used in 4D-Var to save the posterior analysis that can be used as initial conditions for the next data assimilation cycle. It is also used to restart the next run of an Ensemble Kalman Filter (EnKF).

Recall that applications that use any of the vertical mixing parameterizations need the values of AKv and AKt during initialization to ensure stability. This is usually required in data assimilation (4D-Var and EnKF) when running the next assimilation window or cycle. It also facilitates smooth running when restarting the nonlinear model in regular applications.

During initialization, ROMS checks if the AKv and AKt are available in the initial NetCDF file. If so, it will read and initialize those values appropriately.

Many thanks to Andy Moore for bringing this to my attention.

I also moved the call to obs_initial in routines initial.F, tl_initial.F, rp_initial.F, and ad_initial.F to be located after the initial conditions are processed. This is done to guarantee that the correct initial time is used when determining the first ObsTime(ng) needed to extract the model solution at the observation locations. This is not a bug but a safeguard. In previous versions, ObsTime(ng) was controlled by input parameter DSTART. The problem was that if this parameter is not updated correctly during restart, the following statement conditional

#  ifdef OBSERVATIONS
!
!-----------------------------------------------------------------------
!  If appropriate, process and write model state at observation
!  locations. Compute misfit (model-observations) cost function.
!-----------------------------------------------------------------------
!
      IF (((time(ng)-0.5_r8*dt(ng)).le.ObsTime(ng)).and.                &
     &    (ObsTime(ng).lt.(time(ng)+0.5_r8*dt(ng)))) THEN
        ProcessObs=.TRUE.
        CALL obs_read (ng, iNLM, .FALSE.)
        CALL obs_write (ng, tile, iNLM)
#   if !(defined VERIFICATION || defined W4DVAR)
        CALL obs_cost (ng, iNLM)
#   endif
      ELSE
        ProcessObs=.FALSE.
      END IF
#  endif
# endif

will fail because of incorrect ObsTime(ng) and the model solution at the observation locations is not extracted! This hasn't been a problem for us because we have automatic scripts that update DSTART in each assimilation cycle.

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