Custom Query (964 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (379 - 381 of 964)

Ticket Owner Reporter Resolution Summary
#482 arango arango Done Spatially varying bottom friction parameters
Description

The model was updated to include:

  • Spatially varying bottom roughness length (ZoBot(i,j); m), linear bottom drag coefficients (rdrag(i,j); m/s), or quadratic bottom drag coefficients (rdrag2(i,j); non-dimensional). This can be activated with new C-preprocessing option UV_DRAG_GRID.
  • These spatially varying bottom friction parameters can be specified with either analytical expressions using new C-preprocessing option ANA_DRAG in new routine ana_drag.h or read from application GRID NetCDF file. These parameters are defined at RHO-points and processed according to the momentum bottom friction options UV_LOGDRAG (ZoBot), UV_LDRAG (rdrag), or UV_QDRAG (rdrag2).
  • If reading these variables from the GRID NetCDF, you need to have the following metadata:
            double ZoBot(eta_rho, xi_rho) ;
                    ZoBot:long_name = "time invariant, bottom roughness length" ;
                    ZoBot:units = "meter ;
                    ZoBot:coordinates = "lon_rho lat_rho" ;
    
            double rdrag(eta_rho, xi_rho) ;
                    rdrag:long_name = "linear bottom drag coefficient" ;
                    rdrag:units = "meter second-1 ;
                    rdrag:coordinates = "lon_rho lat_rho" ;
    
            double rdrag2(eta_rho, xi_rho) ;
                    rdrag2:long_name = "quadratic bottom drag coefficient" ;
                    rdrag2:coordinates = "lon_rho lat_rho" ;
    
    Notice that only one of these variables is needed according to the C-preprocessing option UV_LOGDRAG, UV_LDRAG, or UV_QDRAG, respectively. It is also possible to use spatially varying ZoBot when SEDIMENT and/or internal BBL_MODEL options are/is activated. The user is allowed to have different NetCDF variables names for these bottom friction parameters. This can be done in the metadata file varinfo.dat.
  • Any of these time-independent variables are written to the header of output NetCDF files when UV_DRAG_GRID is activated.
  • Notice that the sediment variable bottom(i,j,izdef) is initialized to ZoBot. However, bottom(i,j,izdef) change in time due to sediment processes. There is a difference in these variables due to the time dependency which affect the adjoint model.
  • Several routines in ROMS were changed to allow the use of ZoBot, rdrag, and rdrag2 arrays instead of the scalar values. These variables are initialized to standard input parameters Zob(ng), rdrg(ng), and rdrg2(ng) values, respectively. Their values are over-written if the spatially varying option UV_DRAG_GRID is activated.
  • The routine ana_bmflux.h is obsolete and removed. Its functionality is replaced with new routine ana_drag.h.
  • All these new variables are assumed to be time independent and not adjointable. The time dependency of ZoBot is only possible when any of the bottom boundary models and/or sediment are/is activated. Notice that the spatial dependency of these bottom friction parameters is an approximation and lacks of the physics included in bottom boundary layer (BBL) models. ZoBot depends on sediment density and size, wave and current interactions, and other BBL processes. These bottom friction variables can be used to fine tune solutions that are forced by tides. There is a lot of papers in the literature to estimate these variables using adjoint techniques. We may considered that type of parameter estimation in the future.
  • Added the capability for writing surface pressure (Pair) and surface wind components (Uair, Vair) to history, averages, and station output NetCDF files. This is done for convenience during post-processing of the model output. For example, it can be used to plot the dependency between surface elevation, pressure , and winds at a particular station location. The winds are written as provided at input, ROMS curvilinear coordinates (XI, ETA) and rotated angles, if applicable. This was requested by NOAA and it is needed in their forecasting operations. This can be activated in standard input file ocean.in by turning on the following new switches:
    Hout(idPair) == T                          ! surface air pressure
    Hout(idUair) == T                          ! surface U-wind component
    Hout(idVair) == T                          ! surface V-wind component
    
    ...
    
    Aout(idPair) == T                          ! surface air pressure
    Aout(idUair) == T                          ! surface U-wind component
    Aout(idVair) == T                          ! surface V-wind component
    
    and station.in input script:
    Sout(idPair) == T                          ! surface air pressure
    Sout(idUair) == T                          ! surface U-wind component
    Sout(idVair) == T                          ! surface V-wind component
    

WARNING:

  • All the ROMS standard input files ocean_*.in where updated to include the new output switches Hout and Aout shown above.
  • All the station_*.in files where updated to include the new output switches Sout shown above.
  • The file varinfo.dat was updated to include the metadata definitions for spatially varying bottom friction parameters. The users need to update their version of this file for this to work correctly!

Good luck using this new option for spatially varying bottom friction. This has been requested by several users for awhile. Sorry that it took that long... My priority list is very long...

#483 arango arango Fixed Updated writing of water points, WRITE_WATER option
Description

The option to write only water points (WRITE_WATER) in output NetCDF files was updated to account for the recent internal changes to land/sea masking (see src:ticket:476):

  • The call to the wpoints routine is moved from initial to main2d/main3d after the call to set_masks during the initialization step. This is because we need to have the point source modifications to internal land/sea masking arrays (rmask_io and friends) before the waters points counters and indices are computed.
  • The code to compute the water points is changed to correct bug leading to a miscount in periodic boundary applications. Notice that the (IstrR, IendR) and (JstrR, JendR) ranges are different in periodic applications. We need to process interior points and boundary points separately.
  • Notice that the calls to set_masks and wpoints need to be in a separate parallel loops. This is to avoid a serial with partition or shared-memory bug.
  • The masking arrays in output NetCDF headers is changed to pmask_io, rmask_io, umask_io, and vmask_io when either WRITE_WATER or UV_PSOURCE is actiavated. This does not affect ROMS computations because the land/sea masks array pmask, rmask, umask, and vmask are still read from input GRID NetCDF file.

Many thanks to Mathieu Dutour for bringing this to my attention.

#484 arango arango Fixed Corrected metadata for spatially varying bottom friction
Description
  • There is a typo in Data/ROMS/CDL/grd_spherical.cdl. The spatially varying bottom friction arrays are defined at RHO-grid points:
            double rdrag(eta_rho, xi_rho) ;
                    rdrag:long_name = "linear bottom drag coefficient" ;
                    rdrag:units = "meter second-1 ;
                    rdrag:coordinates = "lon_rho lat_rho" ;
            double rdrag2(eta_rho, xi_rho) ;
                    rdrag2:long_name = "quadratic bottom drag coefficient" ;
                    rdrag2:coordinates = "lon_rho lat_rho" ;
            double ZoBot(eta_rho, xi_rho) ;
                    ZoBot:long_name = "time invariant, bottom roughness length" ;
                    ZoBot:units = "meter ;
                    ZoBot:coordinates = "lon_rho lat_rho" ;
    

Many thanks to Aijun Zhang for bringing this to my attention.

  • I also corrected a typo in ad_set_vbc.F for 2D applications. Many thanks to Kate for reporting this problem.
Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.