[MITgcm-devel] 'stop in exf_interp.F: value of filePrec not allowed'

Martin Losch Martin.Losch at awi.de
Wed Dec 13 14:36:29 EST 2006


Dimitris,
that was too fast. Or at least, just removing the stop statement is  
not enough: I read only garbage from double precision files. We  
probably need something like (copied from mds_readfield_loc.F):
>            if (filePrec .eq. precFloat32) then
>             read(dUnit,rec=irec) r4seg
> #ifdef _BYTESWAPIO
>             call MDS_BYTESWAPR4( sNx, r4seg )
> #endif
>             if (arrType .eq. 'RS') then
>              call MDS_SEG4toRS( j,bi,bj,k,nNz, r4seg, .TRUE., arr )
>             elseif (arrType .eq. 'RL') then
>              call MDS_SEG4toRL( j,bi,bj,k,nNz, r4seg, .TRUE., arr )
>             else
>              write(msgbuf,'(a)')
>      &         ' MDSREADFIELD: illegal value for arrType'
>              call print_error( msgbuf, mythid )
>              stop 'ABNORMAL END: S/R MDSREADFIELD'
>             endif
>            elseif (filePrec .eq. precFloat64) then
>             read(dUnit,rec=irec) r8seg
> #ifdef _BYTESWAPIO
>             call MDS_BYTESWAPR8( sNx, r8seg )
> #endif
>             if (arrType .eq. 'RS') then
>              call MDS_SEG8toRS( j,bi,bj,k,nNz, r8seg, .TRUE., arr )
>             elseif (arrType .eq. 'RL') then
>              call MDS_SEG8toRL( j,bi,bj,k,nNz, r8seg, .TRUE., arr )
>             else
>              write(msgbuf,'(a)')
>      &         ' MDSREADFIELD: illegal value for arrType'
>              call print_error( msgbuf, mythid )
>              stop 'ABNORMAL END: S/R MDSREADFIELD'
>             endif
>            else
>             write(msgbuf,'(a)')
>      &        ' MDSREADFIELD: illegal value for filePrec'
>             call print_error( msgbuf, mythid )
>             stop 'ABNORMAL END: S/R MDSREADFIELD'
>            endif

I don't know enough about this routine but if this is all we need  
(with the appropriate adjustments, of course) than I can try to add  
that.

M.

On 13 Dec 2006, at 19:38, Dimitris Menemenlis wrote:

> Martin,
>
>> not that it is important, but what is the issue with the exf  
>> interpolation
>> and exf_iprec being tied to 32. Is that stop statement in  
>> exf_interp.F still
>> required?
>
> You are right.  It looks like I applied a patch to get rid of this  
> restriction:
>
>> File: [MITgcm] / MITgcm / pkg / exf / exf_interp.F (download)
>> Revision: 1.8, Tue Sep 28 14:40:10 2004 UTC (2 years, 2 months  
>> ago) by dimitri added MDS_RECLEN patch to pkg/exf/exf_interp.F
>
> but then forgot to remove the stop statement.  Thanks for  
> spotting.  Stop statement has been removed.  D.
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list