Custom Query (969 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (781 - 783 of 969)

Ticket Owner Reporter Resolution Summary
#759 arango Done Miscelaneous Update: Date Clock, Calendar, makefile, build script
Description

Minor update to several files:

  • Updated routines calendar and ref_clock of module dateclock.F for the computation of the 360DAY calendar (time_ref=-1). It has a year length of 360 days and every month has 30 days:

In this calendar, the time in days is simply:

   TimeInDays = year * 360 + (month - 1) * 30 + (day - 1)

And its inverse:

   year  = INT(TimeInDays / 360)
   yday  = INT((TimeInDays - year * 360) + 1)
   month = INT(((yday - 1) / 30) + 1)
   day   = MOD(yday - 1, 30) + 1

In the above equations, the origin (TimeInDays=0) corresponds to 01-Jan-000. However, historically ROMS assumed that TimeInDays=1 corresponded to 01-Jan-0000 instead. So there is a one-day shift when compared with third-party software (like ESMF). The equations can be manipulated to give either origin, but it is confusing. Since the above equations are simpler, effective immediately the origin (TimeInDays=0) occurs on 01-Jan-0000. Therefore, to guarantee compatibility with previous ROMS solutions and datasets with this climatological calendar, the reference date is changed to

 'time-units since 0000-12-30 00:00:00'

to fix the one-day shift.

  • Updated routines datenum and datevec of module dateclock.F to be consitent with the Matlab version of these functions. For simplicity, the equations coded in ROMS assumed that the origin (datenum=0) occurs on 01-Mar-0000 while in Matlab occurs on 00-00-0000:
         Matlab:  datenum(0000,00,00)=0       reference date
                  datenum(0000,01,01)=1 
    
           ROMS:  datenum(0000,03,01)=0       refecence date: Mar 1, 0000 !
                  datenum(0000,01,01)=-59                              
    
    To avoid confusion, an offset of 61 days is added to match Matlab datenum function. The difference between 0000-00-00 00:00:00 and 0000-03-01 00:00:00 is 61 days.
  • Updated makefile to use cleaner logical test statements:
    ifneq ($(MAKECMDGOALS),clean)
       -include $(SCRATCH_DIR)/MakeDependend
    endif
    
    instead of
    
    ifneq "$(MAKECMDGOALS)" "clean"
       -include $(SCRATCH_DIR)/MakeDependend
    endif
    
  • Added a new option -p ot the build.sh and build.bash compiling scripts to print any macro of the compilation:
# Usage:                                                                :::
#                                                                       :::
#    ./build.sh [options]                                               :::
#                                                                       :::
# Options:                                                              :::
#                                                                       :::
#    -j [N]      Compile in parallel using N CPUs                       :::
#                  omit argument for all available CPUs                 :::
#                                                                       :::
#    -p macro    Prints any Makefile macro value. For example,          :::
#                                                                       :::
#                  build.sh -p FFLAGS                                   :::
#                                                                       :::
#    -noclean    Do not clean already compiled objects                  :::
  • Added an extra argument Mgrids to function load_s2d of file inp_par.F to the number of nested grids in a application to allow coupling to other DATA model in the future:
          FUNCTION load_s2d (Nval, Fname, Fdim, line, label, ifile, igrid,  &
         &                   Mgrids, Nfiles, Ncount, idim, S)
    

Notice that in read_phypar.F now we have:

            CASE ('FRCNAME')
              label='FRC - forcing fields'
              Npts=load_s2d(Nval, Cval, Cdim, line, label, ifile,       &
    &                       igrid, Ngrids, nFfiles, Ncount, max_Ffiles, &
    &                       FRC)
#760 arango Done Updated Copyright 2002-2018
Description

Updated the ROMS/TOMS Copyright to all algorithms:

  Copyright (c) 2002-2018 The ROMS/TOMS Group
     Licensed under a MIT/X style license
     See License_ROMS.txt

In case that you were wondering, the Copyright for the ROMS repositories is updated with the either of ROMS/Bin/copyright.sh or ROMS/Bin/copyright.bash by executing the script from the root of the repository:

ROMS/Bin/copyright.sh -verbose

For example, notice that in copyright.sh there are two sections that are used to update all files:

set search = "2002-2017 The ROMS/TOMS"
set replace = "2002-2018 The ROMS/TOMS"

and

if ( $setsvn == 1 ) then
  svn propset -R copyright '(c) 2002-2018 The ROMS/TOMS Group' Compilers
  svn propset -R copyright '(c) 2002-2018 The ROMS/TOMS Group' Data
  svn propset -R copyright '(c) 2002-2018 The ROMS/TOMS Group' Master
  svn propset -R copyright '(c) 2002-2018 The ROMS/TOMS Group' ROMS
  svn propset -R copyright '(c) 2002-2018 The ROMS/TOMS Group' User
  svn propset copyright '(c) 2002-2018 The ROMS/TOMS Group' . makefile
  svn propset copyright '(c) 2002-2018 The ROMS/TOMS Group' Waves/SWAN/Src/Module.mk
  svn propset copyright '(c) 2002-2016 The ROMS/TOMS Group' Waves/SWAN/Src/waves_coupler.F
else
  echo ""
  echo "Not updating svn properties."
  echo ""
endif

Notice that the svn properties for all the files and directories are also updated.

If this is done annually, the replacement is trivial. Otherwise, the search string needs to be modified accordingly.

Finally, this is required by our institutions to keep the Open Source license of ROMS.

#761 arango Done Updated few Matlab Scripts
Description

Several Matlab scripts are updated, and new are included:

  • boundary/extract_bry.m: A new function to read requested variable from a ROMS NetCDF file at the specified time record and extracts the lateral boundary edges. No interpolation is carried out.
  • boundary/interp_boundary.m: A new function function interpolates lateral boundary conditions for a ROMS generic 2D or 3D state variable from a Donor to Receiver grids.
  • grid/ad_interpolator.m: Adjoint of intepolator.m, which spatially interpolates a ROMS field to horizontal path/trajectory. It is primarily used to compute observation impact and sensitivity functional. Corrected and an adjoint bug in the vector summation. The summation is now coded in for-loops. Many thanks to Andy Moore for correcting this function.
  • utility/daynum360.m: New function to calculates date number from a 360-day calendar date (ROMS Version). It has a year length of 360 days and every month have 30 days.
  • utility/dayvec360.m: New function to calculates date from a date number of the 360-day calendar. It is the inverse of daynum360.
  • And offset of 61 days are added to ROMS date processing functions daynum.m and its inverse dayvec.m to match native Matlab functions datenum and datevec. Both daynum and dayvec are used to verify and ROMS date managing functions since they use different equations.
Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.