Opened 3 years ago

Closed 3 years ago

#887 closed upgrade (Done)

Important: Enhancements and Corrections

Reported by: arango Owned by:
Priority: major Milestone: Release ROMS/TOMS 4.0
Component: Nonlinear Version: 3.9
Keywords: Cc:

Description

There are several corrections and enhancements in this update.

  • The ecosystem header files npzd_Franks_inp.h, and npzd_Powell_inp.h, npzd_iron_inp.h where modified to read nested BioIni parameters from their respective input configuration script. Now, we have:
    #ifdef ANA_BIOLOGY
                CASE ('BioIni(iNO3_)')
                  Npts=load_r(Nval, Rval, Ngrids, BioIni(iNO3_,:))
                CASE ('BioIni(iPhyt)')
                  Npts=load_r(Nval, Rval, Ngrids, BioIni(iPhyt,:))
                CASE ('BioIni(iZoop)')
                  Npts=load_r(Nval, Rval, Ngrids, BioIni(iZoop,:))
                CASE ('BioIni(iSDet)')
                  Npts=load_r(Nval, Rval, Ngrids, BioIni(iSDet,:))
    #endif
    
    The second argument to BioIni was changed from 1 to : because load_r was returning zeros for nested grid 2. Many thanks to Jose Alves for bringing this issue to our attention.
  • Added missing module association in edit_multifile.F, routine edit_file_struct. Many thanks Chuning Wang for reporting this problem.
  • Corrected typo in get_idata.F. We needed to have TIDE(ng)% instead of TIDE(ing)%. Many thanks to Christopher Roach for reporting this bug.
  • Added def_mod_mod association to nl_roms.h driver when VERIFICATION is activated.
  • Corrected IF-statement condition in set_contact.F when dealing with composite nested grids. We need to have:
         IF (.not.ANY(Lcoincident).or.ANY(Lcomposite)) THEN
           get_Vweights=.TRUE.
         ELSE
           get_Vweights=.FALSE.
         END IF
    
    here .and. is changed to an .or. switch. Many thanks to Stefan Jendersie and John Warner for bringing this problem to my attention.
  • Corrected typo in wrt_info.F, we need to have instead:
         GRID_VARS : IF (FileH.eq.ABS(STA(ng)%pioFile%fh)) THEN
           ...
         END IF GRID_VARS
    
    here pioFile&fh was changed to pioFile%fh to correct the typo. Many thanks to Chuning Wang for reporting this bug.
  • The perl ROMS/Bin/dates script now accepts fractional (floating-point) values in addition to integers values in functions datenum and numdate.
  • The routines ad_get_data.F, tl_get_data.F, and rp_get_data.F were updated to process surface pressure (Pair) from the forward forcing file in the 4D-Var algorithms when ATM_PRESS is activated.
  • The nesting module nesting.F was updated to include U- and V-momentum averaging at the finer grid physical boundary in the fine2coarse3d routine. Similar treatment is added to the fine2coarse2d routine for Ubar and Vbar. Before, we only averaged the finer grid interior points and replaced such values in the coarser grid for two-way nesting applications. This update seems to minimize the problems reported by Guangyu Xu. His nested solution is behaving much better with the change to nesting.F:

https://www.myroms.org/trac/bry_vel_vec_2way_nest.png

The left panel shows the velocity vector at the finer grid eastern boundary with the old version of nesting.F. The right panel shows the solution with the updated changes to nesting.F. It is quite an improvement!

Many thanks to John Warner for looking at this problem and to Guangyu Xu and Ivica Janekovic for testing this change in their applications. Ivica also reported improvements in his application.

WARNING: we will update this change to tl_nesting.F and ad_nesting.F in the near future since it will require careful testing.

Change History (1)

comment:1 by arango, 3 years ago

Resolution: Done
Status: newclosed
Note: See TracTickets for help on using tickets.