Back to home page

MITgcm

 
 

    


File indexing completed on 2023-08-03 05:10:21 UTC

view on githubraw file Latest commit 57622776 on 2023-08-02 18:02:22 UTC
19ca09a97c Jean*0001 #undef USE_OBSOLETE_MDS_RW_SLICE
801544b676 Jean*0002 #include "MDSIO_OPTIONS.h"
                0003 
                0004 C--  File mdsio_rw_slice.F: old version of MDS_READ/WRITE_SEC_XZ/YZ S/R with
                0005 C    fewer arguments (kept for backward compatibility): call new MDSIO S/R
                0006 C    with fixed additional arguments
                0007 C--   Contents
                0008 C--   o MDSREADFIELDXZ
                0009 C--   o MDSREADFIELDYZ
                0010 C--   o MDSREADFIELDXZ_LOC
                0011 C--   o MDSREADFIELDYZ_LOC
                0012 C--   o MDSWRITEFIELDXZ
                0013 C--   o MDSWRITEFIELDYZ
                0014 C--   o MDSWRITEFIELDXZ_LOC
                0015 C--   o MDSWRITEFIELDYZ_LOC
                0016 
                0017 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0018 
                0019       SUBROUTINE MDSREADFIELDXZ(
                0020      I   fName,
                0021      I   filePrec,
                0022      I   arrType,
                0023      I   nNz,
                0024      |   arr,
                0025      I   irecord,
                0026      I   myThid )
                0027 
                0028 C Arguments:
                0029 C
                0030 C fName      string  :: base name for file to written
                0031 C filePrec   integer :: number of bits per word in file (32 or 64)
                0032 C arrType    char(2) :: declaration of "arr": either "RS" or "RL"
                0033 C nNz        integer :: size of third dimension: normally either 1 or Nr
                0034 C arr         RS/RL  :: array to write, arr(:,:,nNz,:,:)
                0035 C irecord    integer :: record number to read
                0036 C myThid     integer :: thread identifier
                0037 C
                0038 C Routine now calls MDS_READ_SEC_XZ, just a way to add extra arguments
                0039 C to the argument list.
                0040 C The 1rst new argument (useCurrentDir=.FALSE.) allows to read files from
                0041 C the "mdsioLocalDir" directory (if it is set).
                0042 C The 2nd new argument avoid argument array of undefined type (RL/RS).
                0043 
                0044       IMPLICIT NONE
                0045 C Global variables / COMMON blocks
                0046 #include "SIZE.h"
                0047 c #include "EEPARAMS.h"
                0048 
                0049 C Routine arguments
                0050       CHARACTER*(*) fName
                0051       INTEGER filePrec
                0052       CHARACTER*(2) arrType
                0053       INTEGER nNz
                0054       _RL     arr(*)
                0055       INTEGER irecord
                0056       INTEGER myThid
                0057 
19ca09a97c Jean*0058 #ifdef USE_OBSOLETE_MDS_RW_SLICE
801544b676 Jean*0059 C Local variables
                0060       _RL dummyRL(1)
                0061       _RS dummyRS(1)
                0062 
                0063       IF ( arrType.EQ.'RL' ) THEN
                0064         CALL MDS_READ_SEC_XZ(
57622776fd Jean*0065      I                fName, filePrec, .FALSE., arrType, nNz, 1, nNz,
801544b676 Jean*0066      O                arr, dummyRS,
                0067      I                irecord, myThid )
                0068       ELSE
                0069         CALL MDS_READ_SEC_XZ(
57622776fd Jean*0070      I                fName, filePrec, .FALSE., arrType, nNz, 1, nNz,
801544b676 Jean*0071      O                dummyRL, arr,
                0072      I                irecord, myThid )
                0073       ENDIF
                0074 
19ca09a97c Jean*0075 #else /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0076       STOP 'ABNORMAL END: S/R MDSREADFIELDXZ is retired'
19ca09a97c Jean*0077 #endif /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0078 
                0079       RETURN
                0080       END
                0081 
                0082 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0083 
                0084       SUBROUTINE MDSREADFIELDYZ(
                0085      I   fName,
                0086      I   filePrec,
                0087      I   arrType,
                0088      I   nNz,
                0089      |   arr,
                0090      I   irecord,
                0091      I   myThid )
                0092 
                0093 C Arguments:
                0094 C
                0095 C fName      string  :: base name for file to written
                0096 C filePrec   integer :: number of bits per word in file (32 or 64)
                0097 C arrType    char(2) :: declaration of "arr": either "RS" or "RL"
                0098 C nNz        integer :: size of third dimension: normally either 1 or Nr
                0099 C arr         RS/RL  :: array to write, arr(:,:,nNz,:,:)
                0100 C irecord    integer :: record number to read
                0101 C myThid     integer :: thread identifier
                0102 C
                0103 C Routine now calls MDS_READ_SEC_YZ, just a way to add extra arguments
                0104 C to the argument list.
                0105 C The 1rst new argument (useCurrentDir=.FALSE.) allows to read files from
                0106 C the "mdsioLocalDir" directory (if it is set).
                0107 C The 2nd new argument avoid argument array of undefined type (RL/RS).
                0108 
                0109       IMPLICIT NONE
                0110 C Global variables / COMMON blocks
                0111 #include "SIZE.h"
                0112 c #include "EEPARAMS.h"
                0113 
                0114 C Routine arguments
                0115       CHARACTER*(*) fName
                0116       INTEGER filePrec
                0117       CHARACTER*(2) arrType
                0118       INTEGER nNz
                0119       _RL     arr(*)
                0120       INTEGER irecord
                0121       INTEGER myThid
                0122 
19ca09a97c Jean*0123 #ifdef USE_OBSOLETE_MDS_RW_SLICE
801544b676 Jean*0124 C Local variables
                0125       _RL dummyRL(1)
                0126       _RS dummyRS(1)
                0127 
                0128       IF ( arrType.EQ.'RL' ) THEN
                0129         CALL MDS_READ_SEC_YZ(
57622776fd Jean*0130      I                fName, filePrec, .FALSE., arrType, nNz, 1, nNz,
801544b676 Jean*0131      O                arr, dummyRS,
                0132      I                irecord, myThid )
                0133       ELSE
                0134         CALL MDS_READ_SEC_YZ(
57622776fd Jean*0135      I                fName, filePrec, .FALSE., arrType, nNz, 1, nNz,
801544b676 Jean*0136      O                dummyRL, arr,
                0137      I                irecord, myThid )
                0138       ENDIF
                0139 
19ca09a97c Jean*0140 #else /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0141       STOP 'ABNORMAL END: S/R MDSREADFIELDYZ is retired'
19ca09a97c Jean*0142 #endif /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0143 
                0144       RETURN
                0145       END
                0146 
                0147 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0148 
                0149       SUBROUTINE MDSREADFIELDXZ_LOC(
                0150      I   fName,
                0151      I   filePrec,
                0152      I   arrType,
                0153      I   nNz,
                0154      |   arr,
                0155      I   irecord,
                0156      I   myThid )
                0157 
                0158 C Arguments:
                0159 C
                0160 C fName      string  :: base name for file to written
                0161 C filePrec   integer :: number of bits per word in file (32 or 64)
                0162 C arrType    char(2) :: declaration of "arr": either "RS" or "RL"
                0163 C nNz        integer :: size of third dimension: normally either 1 or Nr
                0164 C arr         RS/RL  :: array to write, arr(:,:,nNz,:,:)
                0165 C irecord    integer :: record number to read
                0166 C myThid     integer :: thread identifier
                0167 C
                0168 C Routine now calls MDS_READ_SEC_XZ, just a way to add extra arguments
                0169 C to the argument list.
                0170 C The 1rst new argument (useCurrentDir=.TRUE.) forces to ignore the
                0171 C "mdsioLocalDir" parameter and to always write to the current directory.
                0172 C The 2nd new argument avoid argument array of undefined type (RL/RS).
                0173 
                0174       IMPLICIT NONE
                0175 C Global variables / COMMON blocks
                0176 #include "SIZE.h"
                0177 c #include "EEPARAMS.h"
                0178 
                0179 C Routine arguments
                0180       CHARACTER*(*) fName
                0181       INTEGER filePrec
                0182       CHARACTER*(2) arrType
                0183       INTEGER nNz
                0184       _RL     arr(*)
                0185       INTEGER irecord
                0186       INTEGER myThid
                0187 
19ca09a97c Jean*0188 #ifdef USE_OBSOLETE_MDS_RW_SLICE
801544b676 Jean*0189 C Local variables
                0190       _RL dummyRL(1)
                0191       _RS dummyRS(1)
                0192 
                0193       IF ( arrType.EQ.'RL' ) THEN
                0194         CALL MDS_READ_SEC_XZ(
57622776fd Jean*0195      I                fName, filePrec, .TRUE., arrType, nNz, 1, nNz,
801544b676 Jean*0196      O                arr, dummyRS,
                0197      I                irecord, myThid )
                0198       ELSE
                0199         CALL MDS_READ_SEC_XZ(
57622776fd Jean*0200      I                fName, filePrec, .TRUE., arrType, nNz, 1, nNz,
801544b676 Jean*0201      O                dummyRL, arr,
                0202      I                irecord, myThid )
                0203       ENDIF
                0204 
19ca09a97c Jean*0205 #else /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0206       STOP 'ABNORMAL END: S/R MDSREADFIELDXZ_LOC is empty'
19ca09a97c Jean*0207 #endif /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0208 
                0209       RETURN
                0210       END
                0211 
                0212 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0213 
                0214       SUBROUTINE MDSREADFIELDYZ_LOC(
                0215      I   fName,
                0216      I   filePrec,
                0217      I   arrType,
                0218      I   nNz,
                0219      |   arr,
                0220      I   irecord,
                0221      I   myThid )
                0222 
                0223 C Arguments:
                0224 C
                0225 C fName      string  :: base name for file to written
                0226 C filePrec   integer :: number of bits per word in file (32 or 64)
                0227 C arrType    char(2) :: declaration of "arr": either "RS" or "RL"
                0228 C nNz        integer :: size of third dimension: normally either 1 or Nr
                0229 C arr         RS/RL  :: array to write, arr(:,:,nNz,:,:)
                0230 C irecord    integer :: record number to read
                0231 C myThid     integer :: thread identifier
                0232 C
                0233 C Routine now calls MDS_READ_SEC_YZ, just a way to add extra arguments
                0234 C to the argument list.
                0235 C The 1rst new argument (useCurrentDir=.TRUE.) forces to ignore the
                0236 C "mdsioLocalDir" parameter and to always write to the current directory.
                0237 C The 2nd new argument avoid argument array of undefined type (RL/RS).
                0238 
                0239       IMPLICIT NONE
                0240 C Global variables / COMMON blocks
                0241 #include "SIZE.h"
                0242 c #include "EEPARAMS.h"
                0243 
                0244 C Routine arguments
                0245       CHARACTER*(*) fName
                0246       INTEGER filePrec
                0247       CHARACTER*(2) arrType
                0248       INTEGER nNz
                0249       _RL     arr(*)
                0250       INTEGER irecord
                0251       INTEGER myThid
                0252 
19ca09a97c Jean*0253 #ifdef USE_OBSOLETE_MDS_RW_SLICE
801544b676 Jean*0254 C Local variables
                0255       _RL dummyRL(1)
                0256       _RS dummyRS(1)
                0257 
                0258       IF ( arrType.EQ.'RL' ) THEN
                0259         CALL MDS_READ_SEC_YZ(
57622776fd Jean*0260      I                fName, filePrec, .TRUE., arrType, nNz, 1, nNz,
801544b676 Jean*0261      O                arr, dummyRS,
                0262      I                irecord, myThid )
                0263       ELSE
                0264         CALL MDS_READ_SEC_YZ(
57622776fd Jean*0265      I                fName, filePrec, .TRUE., arrType, nNz, 1, nNz,
801544b676 Jean*0266      O                dummyRL, arr,
                0267      I                irecord, myThid )
                0268       ENDIF
                0269 
19ca09a97c Jean*0270 #else /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0271       STOP 'ABNORMAL END: S/R MDSREADFIELDYZ_LOC is empty'
19ca09a97c Jean*0272 #endif /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0273 
                0274       RETURN
                0275       END
                0276 
                0277 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0278 
                0279       SUBROUTINE MDSWRITEFIELDXZ(
                0280      I   fName,
                0281      I   filePrec,
                0282      I   globalFile,
                0283      I   arrType,
                0284      I   nNz,
                0285      I   arr,
                0286      I   irecord,
                0287      I   myIter,
                0288      I   myThid )
                0289 
                0290 C Arguments:
                0291 C
                0292 C fName      string  :: base name for file to write
                0293 C filePrec   integer :: number of bits per word in file (32 or 64)
                0294 C globalFile logical :: selects between writing a global or tiled file
                0295 C arrType    char(2) :: declaration of "arr": either "RS" or "RL"
                0296 C nNz        integer :: size of third dimension: normally either 1 or Nr
                0297 C arr         RS/RL  :: array to write, arr(:,:,nNzdim,:,:)
                0298 C irecord    integer :: record number to write
                0299 C myIter     integer :: time step number
                0300 C myThid     integer :: thread identifier
                0301 C
                0302 C Routine now calls MDS_WRITE_REC_XZ, just a way to add extra arguments
19ca09a97c Jean*0303 C to the argument list.
801544b676 Jean*0304 C The 1rst new argument (useCurrentDir=.FALSE.) allows to write files to
                0305 C the "mdsioLocalDir" directory (if it is set).
                0306 C The 2nd new argument avoid argument array of undefined type (RL/RS).
                0307 
                0308       IMPLICIT NONE
                0309 C Global variables / common blocks
                0310 #include "SIZE.h"
                0311 c #include "EEPARAMS.h"
                0312 
                0313 C Routine arguments
                0314       CHARACTER*(*) fName
                0315       INTEGER filePrec
                0316       LOGICAL globalFile
                0317       CHARACTER*(2) arrType
                0318       INTEGER nNz
                0319       _RL     arr(*)
                0320       INTEGER irecord
                0321       INTEGER myIter
                0322       INTEGER myThid
                0323 
19ca09a97c Jean*0324 #ifdef USE_OBSOLETE_MDS_RW_SLICE
801544b676 Jean*0325 C Local variables
                0326       _RL dummyRL(1)
                0327       _RS dummyRS(1)
                0328 
                0329       IF ( arrType.EQ.'RL' ) THEN
                0330         CALL MDS_WRITE_SEC_XZ(
                0331      I                 fName, filePrec, globalFile, .FALSE.,
57622776fd Jean*0332      I                 arrType, nNz, 1, nNz, arr, dummyRS,
801544b676 Jean*0333      I                 irecord, myIter, myThid )
                0334       ELSE
                0335         CALL MDS_WRITE_SEC_XZ(
                0336      I                 fName, filePrec, globalFile, .FALSE.,
57622776fd Jean*0337      I                 arrType, nNz, 1, nNz, dummyRL, arr,
801544b676 Jean*0338      I                 irecord, myIter, myThid )
                0339       ENDIF
                0340 
19ca09a97c Jean*0341 #else /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0342       STOP 'ABNORMAL END: S/R MDSWRITEFIELDXZ is retired'
19ca09a97c Jean*0343 #endif /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0344 
                0345       RETURN
                0346       END
                0347 
                0348 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0349 
                0350       SUBROUTINE MDSWRITEFIELDYZ(
                0351      I   fName,
                0352      I   filePrec,
                0353      I   globalFile,
                0354      I   arrType,
                0355      I   nNz,
                0356      I   arr,
                0357      I   irecord,
                0358      I   myIter,
                0359      I   myThid )
                0360 
                0361 C Arguments:
                0362 C
                0363 C fName      string  :: base name for file to write
                0364 C filePrec   integer :: number of bits per word in file (32 or 64)
                0365 C globalFile logical :: selects between writing a global or tiled file
                0366 C arrType    char(2) :: declaration of "arr": either "RS" or "RL"
                0367 C nNz        integer :: size of third dimension: normally either 1 or Nr
                0368 C arr         RS/RL  :: array to write, arr(:,:,nNzdim,:,:)
                0369 C irecord    integer :: record number to write
                0370 C myIter     integer :: time step number
                0371 C myThid     integer :: thread identifier
                0372 C
                0373 C Routine now calls MDS_WRITE_REC_YZ, just a way to add extra arguments
19ca09a97c Jean*0374 C to the argument list.
801544b676 Jean*0375 C The 1rst new argument (useCurrentDir=.FALSE.) allows to write files to
                0376 C the "mdsioLocalDir" directory (if it is set).
                0377 C The 2nd new argument avoid argument array of undefined type (RL/RS).
                0378 
                0379       IMPLICIT NONE
                0380 C Global variables / common blocks
                0381 #include "SIZE.h"
                0382 c #include "EEPARAMS.h"
                0383 
                0384 C Routine arguments
                0385       CHARACTER*(*) fName
                0386       INTEGER filePrec
                0387       LOGICAL globalFile
                0388       CHARACTER*(2) arrType
                0389       INTEGER nNz
                0390       _RL     arr(*)
                0391       INTEGER irecord
                0392       INTEGER myIter
                0393       INTEGER myThid
                0394 
19ca09a97c Jean*0395 #ifdef USE_OBSOLETE_MDS_RW_SLICE
801544b676 Jean*0396 C Local variables
                0397       _RL dummyRL(1)
                0398       _RS dummyRS(1)
                0399 
                0400       IF ( arrType.EQ.'RL' ) THEN
                0401         CALL MDS_WRITE_SEC_YZ(
                0402      I                 fName, filePrec, globalFile, .FALSE.,
57622776fd Jean*0403      I                 arrType, nNz, 1, nNz, arr, dummyRS,
801544b676 Jean*0404      I                 irecord, myIter, myThid )
                0405       ELSE
                0406         CALL MDS_WRITE_SEC_YZ(
                0407      I                 fName, filePrec, globalFile, .FALSE.,
57622776fd Jean*0408      I                 arrType, nNz, 1, nNz, dummyRL, arr,
801544b676 Jean*0409      I                 irecord, myIter, myThid )
                0410       ENDIF
                0411 
19ca09a97c Jean*0412 #else /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0413       STOP 'ABNORMAL END: S/R MDSWRITEFIELDYZ is retired'
19ca09a97c Jean*0414 #endif /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0415 
                0416       RETURN
                0417       END
                0418 
                0419 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0420 
                0421       SUBROUTINE MDSWRITEFIELDXZ_LOC(
                0422      I   fName,
                0423      I   filePrec,
                0424      I   globalFile,
                0425      I   arrType,
                0426      I   nNz,
                0427      I   arr,
                0428      I   irecord,
                0429      I   myIter,
                0430      I   myThid )
                0431 
                0432 C Arguments:
                0433 C
                0434 C fName      string  :: base name for file to write
                0435 C filePrec   integer :: number of bits per word in file (32 or 64)
                0436 C globalFile logical :: selects between writing a global or tiled file
                0437 C arrType    char(2) :: declaration of "arr": either "RS" or "RL"
                0438 C nNz        integer :: size of third dimension: normally either 1 or Nr
                0439 C arr         RS/RL  :: array to write, arr(:,:,nNzdim,:,:)
                0440 C irecord    integer :: record number to write
                0441 C myIter     integer :: time step number
                0442 C myThid     integer :: thread identifier
                0443 C
                0444 C Routine now calls MDS_WRITE_REC_XZ, just a way to add extra arguments
19ca09a97c Jean*0445 C to the argument list.
801544b676 Jean*0446 C The 1rst new argument (useCurrentDir=.TRUE.) forces to ignore the
                0447 C "mdsioLocalDir" parameter and to always write to the current directory.
                0448 C The 2nd new argument avoid argument array of undefined type (RL/RS).
                0449 
                0450       IMPLICIT NONE
                0451 C Global variables / common blocks
                0452 #include "SIZE.h"
                0453 c #include "EEPARAMS.h"
                0454 
                0455 C Routine arguments
                0456       CHARACTER*(*) fName
                0457       INTEGER filePrec
                0458       LOGICAL globalFile
                0459       CHARACTER*(2) arrType
                0460       INTEGER nNz
                0461       _RL     arr(*)
                0462       INTEGER irecord
                0463       INTEGER myIter
                0464       INTEGER myThid
                0465 
19ca09a97c Jean*0466 #ifdef USE_OBSOLETE_MDS_RW_SLICE
801544b676 Jean*0467 C Local variables
                0468       _RL dummyRL(1)
                0469       _RS dummyRS(1)
                0470 
                0471       IF ( arrType.EQ.'RL' ) THEN
                0472         CALL MDS_WRITE_SEC_XZ(
                0473      I                 fName, filePrec, globalFile, .TRUE.,
57622776fd Jean*0474      I                 arrType, nNz, 1, nNz, arr, dummyRS,
801544b676 Jean*0475      I                 irecord, myIter, myThid )
                0476       ELSE
                0477         CALL MDS_WRITE_SEC_XZ(
                0478      I                 fName, filePrec, globalFile, .TRUE.,
57622776fd Jean*0479      I                 arrType, nNz, 1, nNz, dummyRL, arr,
801544b676 Jean*0480      I                 irecord, myIter, myThid )
                0481       ENDIF
                0482 
19ca09a97c Jean*0483 #else /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0484       STOP 'ABNORMAL END: S/R MDSWRITEFIELDXZ_LOC is empty'
19ca09a97c Jean*0485 #endif /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0486 
                0487       RETURN
                0488       END
                0489 
                0490 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0491 
                0492       SUBROUTINE MDSWRITEFIELDYZ_LOC(
                0493      I   fName,
                0494      I   filePrec,
                0495      I   globalFile,
                0496      I   arrType,
                0497      I   nNz,
                0498      I   arr,
                0499      I   irecord,
                0500      I   myIter,
                0501      I   myThid )
                0502 
                0503 C Arguments:
                0504 C
                0505 C fName      string  :: base name for file to write
                0506 C filePrec   integer :: number of bits per word in file (32 or 64)
                0507 C globalFile logical :: selects between writing a global or tiled file
                0508 C arrType    char(2) :: declaration of "arr": either "RS" or "RL"
                0509 C nNz        integer :: size of third dimension: normally either 1 or Nr
                0510 C arr         RS/RL  :: array to write, arr(:,:,nNzdim,:,:)
                0511 C irecord    integer :: record number to write
                0512 C myIter     integer :: time step number
                0513 C myThid     integer :: thread identifier
                0514 C
                0515 C Routine now calls MDS_WRITE_REC_YZ, just a way to add extra arguments
19ca09a97c Jean*0516 C to the argument list.
801544b676 Jean*0517 C The 1rst new argument (useCurrentDir=.TRUE.) forces to ignore the
                0518 C "mdsioLocalDir" parameter and to always write to the current directory.
                0519 C The 2nd new argument avoid argument array of undefined type (RL/RS).
                0520 
                0521       IMPLICIT NONE
                0522 C Global variables / common blocks
                0523 #include "SIZE.h"
                0524 c #include "EEPARAMS.h"
                0525 
                0526 C Routine arguments
                0527       CHARACTER*(*) fName
                0528       INTEGER filePrec
                0529       LOGICAL globalFile
                0530       CHARACTER*(2) arrType
                0531       INTEGER nNz
                0532       _RL     arr(*)
                0533       INTEGER irecord
                0534       INTEGER myIter
                0535       INTEGER myThid
                0536 
19ca09a97c Jean*0537 #ifdef USE_OBSOLETE_MDS_RW_SLICE
801544b676 Jean*0538 C Local variables
                0539       _RL dummyRL(1)
                0540       _RS dummyRS(1)
                0541 
                0542       IF ( arrType.EQ.'RL' ) THEN
                0543         CALL MDS_WRITE_SEC_YZ(
                0544      I                 fName, filePrec, globalFile, .TRUE.,
57622776fd Jean*0545      I                 arrType, nNz, 1, nNz, arr, dummyRS,
801544b676 Jean*0546      I                 irecord, myIter, myThid )
                0547       ELSE
                0548         CALL MDS_WRITE_SEC_YZ(
                0549      I                 fName, filePrec, globalFile, .TRUE.,
57622776fd Jean*0550      I                 arrType, nNz, 1, nNz, dummyRL, arr,
801544b676 Jean*0551      I                 irecord, myIter, myThid )
                0552       ENDIF
                0553 
19ca09a97c Jean*0554 #else /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0555       STOP 'ABNORMAL END: S/R MDSWRITEFIELDYZ_LOC is empty'
19ca09a97c Jean*0556 #endif /* USE_OBSOLETE_MDS_RW_SLICE */
801544b676 Jean*0557 
                0558       RETURN
                0559       END