Opened 15 years ago

Closed 15 years ago

#286 closed defect (WorksForMe)

_FillValue and side effects

Reported by: crode1968 Owned by: arango
Priority: minor Milestone: Release ROMS/TOMS 3.2
Component: Nonlinear Version: 3.2
Keywords: _FillValue, ocean_his, restart Cc:

Description (last modified by arango)

Since the _FillValue has been introduced to mark land points in the ocean_his output files, one can not use them directly to restart the model (assuming the ocean_his files containing all relevant data). Since grid points' values located on land are set to _FillValue, ROMS stops during initialization by reporting unreasonable input values.

Setting the _FillValues to zero (like in the old case) resolves the problem but might be not intended. Therefore I would suggest, if the checking of unreasonable values might be improved and is restricted only on ocean points by using the existing masks.

Thanks in advance

Change History (1)

comment:1 by arango, 15 years ago

Description: modified (diff)
Resolution: WorksForMe
Status: newclosed

No, this is not the case. All _FillValues are replaced with zero in all the nf_fread* routines. For example, in nf_fread2d.F we have:

        status=nf90_get_var(ncid, ncvarid, wrk, start, total)
        IF (status.eq.nf90_noerr) THEN
          Amin=spval
          Amax=-spval
          DO i=1,Npts
            IF (ABS(wrk(i)).ge.ABS(Aspval)) THEN
              wrk(i)=0.0_r8                      ! masked with _FillValue
            ELSE
              ...
            END IF
          END DO
        END IF

This will remove any _FillValue at input. We cannot apply land/sea mask here because this type of coding is not adjointable. Anyway, the mask multiplication takes place in ini_fields for all the model state variables.

Therefore, I don't see the problem that you are reporting.

Note: See TracTickets for help on using tickets.