Custom Query (986 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (712 - 714 of 986)

Ticket Owner Reporter Resolution Summary
#851 arango Done VERY IMPORTANT: Consolidating Research Repositories with Released Version
Description

I have several research repositories for several ongoing new algorithms that will be available in the future. I have so many exceptional flags to update the codes that sometimes one fails, and undesired changes appear in public released version of ROMS and erase features in the research versions. To avoid doing that in the future, I am consolidating the research 4DVAR repository with the public version of the code.

For the last two months, we have been developing the saddle-point 4D-Var. By far, one of the most technically tricky algorithms that Andy and I have put our hands on. As formulated, the current available 4D-Var algorithms are sequential, and its inner loops cannot be parallelized in time to accelerate the analysis. The conjugate gradient solver used to minimize the cost function J, depends sequentially on the previous iteration.

Fisher and Gürol (2017) proposed a new weak constraint 4D-Var algorithm based on the saddle-point formulation that can be parallelized in time. The time trajectory can be split into the solution of Nsaddle intervals that can run concurrently to reduce the 4D-Var computational cost.

To achieve these technically challenging computations, we need to make changes to several ROMS routines to:

  • To split the MPI communicator to carry out disjointed and concurrent runs of the nonlinear, tangent linear, and adjoint ROMS kernels. Therefore, several of the routines of distribute.F have an optional argument to pass the desired MPI communicators that are defined in mod_parallel.F.
  • Add optional arguments to output NetCDF routines nf_fwrite2d.F, nf_fwrite2d_bry.F, nf_fwrite3d.F, nf_fwrite3d_bry.F, and nf_fwrite4d.F to get the minimun and maximun values ot the written fields.
  • Include several new generic routines to manipulate ROMS state vector: ADfromTL.F, def_state.F, state_join.F, state_read.F, and wrt_state.F.
  • No change is made to ROMS nonlinear, tangent linear, and adjoint time-stepping kernels.
  • Added several routines from the LAPACK library that are needed for the Generalized Minimal Residual (GMRES) minimization solver.
  • The saddle-point algorithm with be released in the future when it is fully tested and we have the proper documentation and relevant publication.
#852 arango Done VERY IMPORTANT: Several Improvements
Description

This update included several enhancements:

  • All the roms_*.in standard input scripts were modified to include Nsaddle parameter as the number of kernel trajectory intervals for the solution of the Saddle-Point 4D-Var (SP4DVAR). It is used to accelerate 4D-Var by parallelizing the inner loops in time. The tangent linear and adjoint models are time-stepped concurrently over short integration windows.
    ! Model iteration loops parameters.
    
           ERstr =  1
           ERend =  1
          Nouter =  1
    
          Ninner =  1
         Nsaddle =  1
      Nintervals =  1
    
  • All the roms_*.in standard input scripts were modified to allow the lateral boundary conditions and climatological variables to be separate in different files, similar to the surface forcing files. For Example, the User may have different files for physical, biology, and sediment variables. The model will scan the file list and will read the needed data in the first file containing the required variable. Therefore, the order of the filenames is critical. It is also possible to split input data time records into several NetCDF files.
    ! Input lateral boundary conditions file names. The USER has the option
    ! to separate the required lateral boundary variables into individual
    ! NetCDF files (NBCFILES > 1), as in the input surface forcing.  Also,
    ! the USER may split input data time records into several NetCDF files
    ! (monthly, seasonal, or annual). See prologue instructions above. Use
    ! a single line per entry with a continuation (\) or a vertical bar (|)
    ! symbol after each entry, except the last one.
    
        NBCFILES == 1                          ! number of boundary files
    
         BRYNAME == ../Data/doppio_bry_Mercator2007_corr.nc
    
    ! Input climatology file names. The USER has the option to separate the
    ! climatology variables into individual NetCDF files (NCLMFILES > 1),
    ! as in the input surface forcing.  Also, the USER may split input data
    ! time records into several NetCDF files (monthly, seasonal, or annual).
    ! See prologue instructions above. Use a single line per entry with a
    ! continuation (\) or a vertical bar (|) symbol after each entry, except
    ! the last one.
    
       NCLMFILES == 1                          ! number of climatology files
    
         CLMNAME == ../Data/doppio_clm_Mercator2007_corr.nc
    

That is, we can have:

    NBCFILES == 2                            ! number of boundary files

     BRYNAME == my_physics_bry_year1.nc |    ! physical kernel variables
                my_physics_bry_year2.nc \
                my_biology_bry_year1.nc |    ! biological tracers
                my_biology_bry_year2.nc


    NCLMFILES == 2                           ! number of climatology files

      CLMNAME == my_physics_clm_year1.nc |   ! physical kernel variables
                 my_physics_bry_year2.nc \
                 my_biology_bry_year1.nc |   ! biological tracers
                 my_biology_bry_year2.nc

  • The routine metrics.F was updated to include some of the statistics to exclude the land values when MASKING is activated:
    Metrics information for Grid 01:
     ===============================
    
     Minimum X-grid spacing, DXmin =  6.88663955E+00 km    Water points =  6.90302997E+00 km
     Maximum X-grid spacing, DXmax =  7.03257515E+00 km    Water points =  7.03257508E+00 km
     Minimum Y-grid spacing, DYmin =  6.86772676E+00 km    Water points =  6.88396066E+00 km
     Maximum Y-grid spacing, DYmax =  7.01314814E+00 km    Water points =  7.01314814E+00 km
     Minimum Z-grid spacing, DZmin =  1.22555380E-01 m     Water points =  1.23127234E-01 m
     Maximum Z-grid spacing, DZmax =  3.61224935E+02 m     Water points =  3.61224935E+02 m
    
     Minimum barotropic Courant Number =  1.69968839E-02
     Maximum barotropic Courant Number =  5.37936938E-01
     Maximum Coriolis   Courant Number =  3.77305364E-02
    
     Horizontal mixing scaled by grid area squared root, MAXVAL(grdscl) =  7.02285483E+00 km  (Water Points)
    
  • All the batch, csh, and perl scripts were updated to acceptable Standards to include:
    • The csh scripts need to have extension .csh (we were using .sh)
    • The batch scripts need to have extension .sh (we were using .bash)
    • The perl scripts need use strict, variables declared via my or our, avoid overriding the $a built-in, and require version 5.6 or newer.

WARNING:

  • All the ROMS standard input scripts roms_*.in were modified.
  • All the ROMS build scripts were updated and renamed to have the proper extension according to the Standard.
  • All the csh and bash scripts were renamed so they have proper extension.
#853 arango Fixed Updated def_state.F
Description

The routine def_state.F is missing the sediment module when the SEDIMENT is activated.

#ifdef SEDIMENT
      USE mod_sediment
#endif

Many thanks to Zhigang Yao for bringing this problem to my attention.

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