Custom Query (986 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (277 - 279 of 986)

Ticket Owner Reporter Resolution Summary
#373 arango arango Done Level of no motion in 4DVar Balance Operator
Description

The error covariance balance operator was updated to include the options for what state variable to use as a constraints (in the off-diagonal terms), and a level of no motion option when computing the balanced free-surface contribution.

Notice that the following new parameters were added to input script External/s4dvar.in:

! Balance operator level of no motion depth (m) used when computing balanced
! free-surface contribution, [1:Ngrids].

      LNM_depth == 1000.0d0               ! meters, positive

! Balance operator level of no motion flag used to compute balanced
! free-surface contribution:
!
!      [0] Integrate from local bottom to the surface
!      [1] Integrate from LNM_depth to surface or integrate from local bottom
!          if shallower than LNM_depth
!

      LNM_flag  =  0

! Balance operator logical switches for state variables to consider in the
! error covariance multivariate constraints.

balance(isSalt) =  T                      ! salinity
balance(isFsur) =  T                      ! free-sruface
balance(isVbar) =  F                      ! 2D momentum (ubar, vbar)
balance(isVvel) =  T                      ! 3D momentum (u, v)

I also cleaned few things:

  • Removed the internal flag SET_ZETA. This is now the default configuration in all adjoint-based algorithm. This option was introduced a while ago during the perfect restart. The assignment of the free-surface to is its fast-time averaged value is now done by calling set_zeta in main3d and not in rhs3d. This change was supported in the adjoint-based algorithms by activating this flag. This is fully tested and we get identical solutions.
  • Removed obsolete routine load_forcing from frc_adjust.F. This is not longer necessary.
  • Added a new global attribute state_vector to output NetCDF file containing the variables and their order in the 4DVar state vector.
#374 arango arango Fixed WARNING: Corrected BUG in scale_factor attribute for input NetCDF files
Description

WARNING: This is a bug if you scale your data using the NetCDF scale_factor attribute which is used to compress data sometimes.


Corrected a bug in get_ngfld.F, get_ngfldr.F, get_2dflf.F, get_2dfldr.F, get_3dfld.F, and get_3dfldr.F. The Fscale(ifield,ng) was rewritten as:

!
!  If "scale_factor" attribute is present for a variable, the data are
!  to be multiplied by this factor.  Check if only water points are
!  available.
!
          IF (foundit) THEN
            DO i=1,nvatt
              IF (TRIM(var_Aname(i)).eq.'scale_factor') THEN
                scale=var_Afloat(i)
                Fscale(ifield,ng)=Fscale(ifield,ng)*scale
              ELSE IF (TRIM(var_Aname(i)).eq.'water_points') THEN
                Iinfo(1,ifield,ng)=-ABS(Iinfo(1,ifield,ng))
                Vtype=Iinfo(1,ifield,ng)
              END IF
            END DO
          END IF

This was changed to:

              IF (TRIM(var_Aname(i)).eq.'scale_factor') THEN
                scale=var_Afloat(i)
                Finfo(10,ifield,ng)=scale
              ELSE IF (TRIM(var_Aname(i)).eq.'water_points') THEN
              END IF

So no longer the value of Fscale(ifield,ng) is over-written. The scale value is now stored in Finfo(10,:,ng). This avoided scaling the variable twice by the scale_factor during reading in routines nf_fread*.

I apologize that missed this one completely when I tested this part. Many thanks to Brian Powell for bringing this to my attention.

#375 arango arango Done Generalized coupled biology and sediment models interface
Description

I updated the interface for the various ecosystem model in ROMS. This allows a lot of flexibility and customization:

  • The ecosystem model input parameters are declared in an new file xxx_mod.h which is included in module mod_biology.F as:
    #ifdef BIOLOGY
    # if defined BIO_FENNEL
    #  include <fennel_mod.h>
    # elif defined ECOSIM
    #  include <ecosim_mod.h>
    # elif defined NEMURO
    #  include <nemuro_mod.h>
    # elif defined NPZD_FRANKS
    #  include <npzd_Franks_mod.h>
    # elif defined NPZD_IRON
    #  include <npzd_iron_mod.h>
    # elif defined NPZD_POWELL
    #  include <npzd_Powell_mod.h>
    # endif
    #endif
    
  • The input parameters are now read from a new file xxx_inp.h which is included in inp_par.F as
    #ifdef BIOLOGY
    # if defined BIO_FENNEL
    #  include <fennel_inp.h>
    # elif defined NEMURO
    #  include <nemuro_inp.h>
    # elif defined NPZD_FRANKS
    #  include <npzd_Franks_inp.h>
    # elif defined NPZD_POWELL
    #  include <npzd_Powell_inp.h>
    # elif defined NPZD_IRON
    #  include <npzd_iron_inp.h>
    # elif defined ECOSIM
    #  include <ecosim_inp.h>
    # endif
    #endif
    
    #ifdef SEDIMENT
    # include <sediment_inp.h>
    #endif
    
  • The ecosystem model input parameters are defined (all output NetCDF files) in a new file xxx_def.h which is included in def_info.F as:
    #if defined BIOLOGY && defined SOLVE3D
    # if defined BIO_FENNEL
    #  include <fennel_def.h>
    # elif defined ECOSIM
    #  include <ecosim_def.h>
    # elif defined NEMURO
    #  include <nemuro_def.h>
    # elif defined NPZD_FRANKS
    #  include <npzd_Franks_def.h>
    # elif defined NPZD_IRON
    #  include <npzd_iron_def.h>
    # elif defined NPZD_POWELL
    #  include <npzd_Powell_def.h>
    # endif
    #endif
    
  • The ecosystem model input parameters are written (all output NetCDF files) in a new file xxx_wrt.h which is included in wrt_info.F as:
    #if defined BIOLOGY && defined SOLVE3D
    # if defined BIO_FENNEL
    #  include <fennel_wrt.h>
    # elif defined ECOSIM
    #  include <ecosim_wrt.h>
    # elif defined NEMURO
    #  include <nemuro_wrt.h>
    # elif defined NPZD_FRANKS
    #  include <npzd_Franks_wrt.h>
    # elif defined NPZD_IRON
    #  include <npzd_iron_wrt.h>
    # elif defined NPZD_POWELL
    #  include <npzd_Powell_wrt.h>
    # endif
    #endif
    

Check any of these files if you are adding a new ecosystem model into ROMS for guidance. Note that all the new ecosystem *.h files are located in ROMS/Nonlinear/Biology and included within <...> to allow the user to customize any of them in the project directory while keeping the distributed code intact (check the build script for details).

The input parameters for the NEMURO model were not written in the output NetCDF file before. I missed this one.

Also, notice that currently only sediment_inp.h is available for the sediment model. This will change in the future as this model evolves and more input parameters are required.

I also fixed couple unbounded local arrays bugs in ecosim.h and the sink tracer indices for the silica group.

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