Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:43:09 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
43f4355a12 Jean*0001 #include "RW_OPTIONS.h"
090cc462c0 Alis*0002 
db485ffb38 Jean*0003       SUBROUTINE WRITE_FLD_XY_RS( pref,suff,field,myIter,myThid )
090cc462c0 Alis*0004 C WRITE_FLD_XY_RS is a "front-end" interface to the low-level I/O
                0005 C routines. It assumes single record files.
                0006       IMPLICIT NONE
                0007 C Global
                0008 #include "SIZE.h"
                0009 #include "EEPARAMS.h"
                0010 #include "PARAMS.h"
                0011 C Arguments
                0012       CHARACTER*(*) pref,suff
                0013       _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
                0014       INTEGER myIter
                0015       INTEGER myThid
                0016 C Functions
                0017       INTEGER ILNBLNK,IFNBLNK
                0018 C Common
                0019       COMMON /RD_WR_FLD/ globalFile
                0020       LOGICAL globalFile
                0021 C Local
db485ffb38 Jean*0022       LOGICAL useCurrentDir
1ab8368700 Jean*0023       _RL dummyRL(1)
090cc462c0 Alis*0024       CHARACTER*(2) fType
                0025       INTEGER nNz
db485ffb38 Jean*0026       INTEGER iRec
090cc462c0 Alis*0027       INTEGER s1Lo,s1Hi,s2Lo,s2Hi
4406cfad08 Jean*0028       CHARACTER*(MAX_LEN_FNAM) fullName
090cc462c0 Alis*0029 C
                0030 C--   Build file name
                0031 C     Name has form 'prefix.suffix'
                0032 C     e.g. U.0000000100
                0033       s1Lo = IFNBLNK(pref)
                0034       s1Hi = ILNBLNK(pref)
                0035       IF ( suff .EQ. ' ' ) THEN
                0036        WRITE( fullName, '(A)' ) pref(s1Lo:s1Hi)
30cf7790a2 Jean*0037       ELSEIF ( suff .EQ. 'I10' ) THEN
                0038        WRITE( fullName, '(A,A,I10.10)' ) pref(s1Lo:s1Hi),'.',myIter
090cc462c0 Alis*0039       ELSE
                0040        s2Lo = IFNBLNK(suff)
                0041        s2Hi = ILNBLNK(suff)
                0042        WRITE( fullName, '(A,A)' ) pref(s1Lo:s1Hi),suff(s2Lo:s2Hi)
                0043       ENDIF
db485ffb38 Jean*0044 
                0045       useCurrentDir = .FALSE.
090cc462c0 Alis*0046       fType='RS'
                0047       nNz=1
db485ffb38 Jean*0048       iRec=1
43f4355a12 Jean*0049 #ifdef ALLOW_MDSIO
db485ffb38 Jean*0050       CALL MDS_WRITE_FIELD(
                0051      I                      fullName, writeBinaryPrec,
                0052      I                      globalFile, useCurrentDir,
1ab8368700 Jean*0053      I                      fType, nNz, 1, nNz, dummyRL, field,
db485ffb38 Jean*0054      I                      iRec, myIter, myThid )
43f4355a12 Jean*0055 #endif
090cc462c0 Alis*0056       RETURN
                0057       END