Custom Query (986 matches)
Results (367 - 369 of 986)
Ticket | Owner | Reporter | Resolution | Summary |
---|---|---|---|---|
#466 | Fixed | IMPORTANT: horizontal viscosity and MIX_GEO_UV | ||
Description |
Checking the horizontal viscosity along geopotentials (MIX_GEO_UV) has been in my to-do list for very long time. We have some complains about this in the past about the model blowing-up in parallel applications and arrays out-of-range in couple of DO-loops. I checked this problem and I was able to reproduce the reported problems. I corrected the parallel bugs for uv3dmix2_geo.h and uv3dmix4_geo.h. Also corrected a missing dt factor in the biharmonic mixing. I did an analysis for each do loop and reworked all the DO-loop ranges and eliminated specifying them with local CPP directives. I wrote then in such a way that eliminated special treatment in nesting applications. I also revised and tested the tangent linear, representer, and adjoint version of these routines. I also added the new code for time-evolving, 3D viscosity coefficients. However, this time evolving capability is not yet available in adjoint-based applications. It is coded for completeness and availability in the future. Many thanks to Xinyou Lin for bringing this to my attention. Although the MIX_GEO_UV option is rarely used for momentum. I highly recommend everybody to update because this is an important correction and this bug has been in ROMS for long time. |
|||
#467 | Fixed | IMPORTANT, corrected a problem in mod_netcdf.F | ||
Description |
Corrected a problem in mod_netcdf.F when determining the size (Asize) of the array to be read. The value Asize is used to land/sea masking values (Aspval) or adding offset (Aoffset) when appropriate. The assignment of Asize depends if the optional arguments start and total are present in the routine family netcdf_get_fvar_xx. This may also explain complains about why the _FillValue (>=1E+35) values were not removed completed from the boundary conditions during reading. We were not scanning the full compact 1D array do to the incorrect value of Asize. I finally have time to look at this problem in the debugger and test with different compilers. Many thanks to Pierre St-Laurent for reporting this problem and for his persistence to get to the bottom of this issue. I also fixed a bug in interp_float.F. Around line 198, we need to have instead: j2=MIN(MAX(Jr+1,1),Mm(ng)+1) I also corrected few typos in the documentation. I have been carefully revising ROMS code for the last month or so. |
|||
#468 | Fixed | IMPORTANT: Corrected parallel bug in uv3dmix4_geo.h and friends | ||
Description |
Revisited routine uv3dmix4_geo.h and its TLM, RPM, and ADM versions again to correct parallel bugs. The NLM version now works in shared-memory and serial with partitions. The biharmonic operator for the stress tensor along geopotentials is very ticky!!! The good news is that I don't have to revisit these routines again. I already worked all the logic for nesting. In src:ticket:466 I fixed the problems in distributed-memory but I ignored shared-memory and serial with partitions. Also corrected and adjoint bug in ad_uv3dmix4_geo.h. I also updated the TLM, RPM, and ADM versions to include code for options VISC_3DCOEF and UV_U3ADV_SPLIT. The adjoint version of these routines now passes the operator symmetry sanity checks for WC13. |