Opened 7 years ago
Closed 7 years ago
#756 closed upgrade (Fixed)
Important Corrections
Reported by: | arango | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | Release ROMS/TOMS 3.7 |
Component: | Nonlinear | Version: | 3.7 |
Keywords: | Cc: |
Description
This update contains several minor corrections:
- check_multifile.F: Added the source/sink files (SSF structure) for multifile management. Splitting the SSF input data into multiple files is now possible. Also, corrected the forcing data time range checking in the adjoint model. We need to have instead:
IF (Lcheck) THEN IF (model.eq.iADM) THEN Tmin=Tscale*FRC(i,ng)%time_min(1) ... END IF END IF
Many thanks to Julia Levin for bringing this problem to my attention.
- qet_cycle.F: Replaced the multifile LowerBound logic with an ELSE statement to also allow computing the LOWER time-snapshot in the time cycling case:
! ! If not processing a multi-file field, find LOWER time-snapshot ! and its associated time record (Tindex). ! ELSE IF (job.gt.0) THEN ! forward: Tval(i) =< mday =< Tval(i+1) IF (Linside) THEN tstart=Tmin DO i=2,ntime IF ((tstart.le.mday).and.(mday.le.Tval(i))) THEN Tstr=tstart Tindex=i-1 ! one is added when processing EXIT END IF tstart=Tval(i) END DO ELSE Tstr=Tmax ! LowerBound for next multifile or Tindex=ntime ! time cycling END IF ELSE ... ENDIF ENDIF
Many thanks to Dezhou Yang for reporting this issue.
- read_asspar.F: Corrected loading of 4D-Var parameters HdecayB and VdecayB. The order of this input values in input script s4dvar.in is (4,1:NT,Ngrids):
CASE ('HdecayB(isTvar)') Npts=load_r(Nval, Rval, 4*MT*Ngrids, Rboundary) DO ng=1,Ngrids DO itrc=1,NT(ng) DO ib=1,4 HdecayB(isTvar(itrc),ib,ng)=Rboundary(ib,itrc,ng) END DO END DO END DO ... CASE ('VdecayB(isTvar)') Npts=load_r(Nval, Rval, 4*MT*Ngrids, Rboundary) DO ng=1,Ngrids DO itrc=1,NT(ng) DO ib=1,4 VdecayB(isTvar(itrc),ib,ng)=Rboundary(ib,itrc,ng) END DO END DO END DO
The documentation in s4dvar.in indicates that the tracer boundary decorrelation scales need to be specified in the (1:4,1:NT,1:Ngrids) to facilitate having different values for each tracer. For example for Ngrids=1 and NT=2, we can have:! Boundary conditions error covariance: horizontal, isotropic decorrelation ! scales (m). A value is expected for each boundary edge in the following ! order: ! 1: west 2: south 3: east 4: north HdecayB(isFsur) == 40.0d+3 40.0d+3 40.0d+3 40.0d+3 ! free-surface HdecayB(isUbar) == 40.0d+3 40.0d+3 40.0d+3 40.0d+3 ! 2D U-momentum HdecayB(isVbar) == 40.0d+3 40.0d+3 40.0d+3 40.0d+3 ! 2D V-momentum HdecayB(isUvel) == 40.0d+3 40.0d+3 40.0d+3 40.0d+3 ! 3D U-momentum HdecayB(isVvel) == 40.0d+3 40.0d+3 40.0d+3 40.0d+3 ! 3D V-momentum HdecayB(isTvar) == 4*40.0d+3 4*15.0d+3 ! (4,1:NT) tracers ! Boundary conditions error covariance: vertical, isotropic decorrelation ! scales (m). A value is expected for each boundary edge in the following ! order: ! 1: west 2: south 3: east 4: north VdecayB(isUvel) == 10.0d0 10.0d0 10.0d0 10.0d0 ! 3D U-momentum VdecayB(isVvel) == 10.0d0 10.0d0 10.0d0 10.0d0 ! 3D V-momentum VdecayB(isTvar) == 4*10.d0 4*20.d0 ! (4,1:NT) tracers
It allows to use the compact notation to specify different values for temperature and salinity.
- Added new makefile configurations files Linux-ftn-cray.mk and Linux-ftn-intel.mk. Many thnaks to Mark Hadfield for providing us these two new compiling files.
Note:
See TracTickets
for help on using tickets.