** Warning **
Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle dbname=MITgcm at /usr/local/share/lxr/lib/LXR/Common.pm line 1224.
Last-Modified: Fri, 20 Nov 2025 06:09:03 GMT
Content-Type: text/html; charset=utf-8
MITgcm/MITgcm/pkg/mypackage/mypackage_write_pickup.F
File indexing completed on 2022-03-25 05:10:02 UTC
view on github raw file Latest commit 64811cb0 on 2022-03-25 02:40:24 UTC
5b141690f8 Jean* 0001 #include "MYPACKAGE_OPTIONS.h "
0002
0003
0004
0005
0006
0007 SUBROUTINE MYPACKAGE_WRITE_PICKUP ( permPickup ,
c173f65ed6 Jean* 0008 & suff , myTime , myIter , myThid )
5b141690f8 Jean* 0009
0010
0011
0012
0013
0014 IMPLICIT NONE
64811cb024 Jean* 0015
5b141690f8 Jean* 0016 #include "SIZE.h "
0017 #include "EEPARAMS.h "
0018 #include "PARAMS.h "
0019 #include "MYPACKAGE.h "
0020
0021
0022
0023
0024
c173f65ed6 Jean* 0025
5b141690f8 Jean* 0026
0027 LOGICAL permPickup
0028 CHARACTER *(*) suff
0029 _RL myTime
c173f65ed6 Jean* 0030 INTEGER myIter
5b141690f8 Jean* 0031 INTEGER myThid
0032
0033
0034
0035
68a8df71d9 Jean* 0036 #if (defined MYPACKAGE_3D_STATE ) || (defined MYPACKAGE_2D_STATE )
5b141690f8 Jean* 0037
0038
0039 INTEGER ILNBLNK
0040 EXTERNAL ILNBLNK
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052 INTEGER j , nj , fp , lChar
0053 LOGICAL glf
68a8df71d9 Jean* 0054 _RL timList (1)
5b141690f8 Jean* 0055 CHARACTER *(MAX_LEN_FNAM ) fn
0056 INTEGER listDim , nWrFlds
0057 PARAMETER ( listDim = 12 )
0058 CHARACTER *(8) wrFldList (listDim )
0059 CHARACTER *(MAX_LEN_MBUF ) msgBuf
0060
0061
0062 lChar = ILNBLNK (suff )
0063 IF ( lChar .EQ. 0 ) THEN
0064 WRITE (fn ,'(2A)' ) 'pickup_mypackage'
0065 ELSE
0066 WRITE (fn ,'(2A)' ) 'pickup_mypackage.' ,suff (1:lChar )
0067 ENDIF
0068 fp = precFloat64
0069 j = 0
0070
0071
0072
0073 #ifdef MYPACKAGE_3D_STATE
0074
0075 j = j + 1
0076 CALL WRITE_REC_3D_RL ( fn , fp , Nr ,
0077 & myPa_StatScal1 , -j , myIter , myThid )
0078 IF (j .LE. listDim ) wrFldList (j ) = 'myPaSta1'
0079
0080 j = j + 1
0081 CALL WRITE_REC_3D_RL ( fn , fp , Nr ,
0082 & myPa_StatScal2 , -j , myIter , myThid )
0083 IF (j .LE. listDim ) wrFldList (j ) = 'myPaSta2'
0084
0085 j = j + 1
0086 CALL WRITE_REC_3D_RL ( fn , fp , Nr ,
0087 & myPa_StatVelU , -j , myIter , myThid )
0088 IF (j .LE. listDim ) wrFldList (j ) = 'myPaStaU'
0089 j = j + 1
0090 CALL WRITE_REC_3D_RL ( fn , fp , Nr ,
0091 & myPa_StatVelV , -j , myIter , myThid )
0092 IF (j .LE. listDim ) wrFldList (j ) = 'myPaStaV'
0093 #endif /* MYPACKAGE_3D_STATE */
0094
0095
0096 nj = -j *Nr
0097
0098 #ifdef MYPACKAGE_2D_STATE
0099 j = j + 1
0100 nj = nj -1
0101 CALL WRITE_REC_3D_RL ( fn , fp , 1,
0102 & myPa_Surf1 , nj , myIter , myThid )
0103 IF (j .LE. listDim ) wrFldList (j ) = 'myPaSur1'
0104
0105 j = j + 1
0106 nj = nj -1
0107 CALL WRITE_REC_3D_RL ( fn , fp , 1,
0108 & myPa_Surf2 , nj , myIter , myThid )
0109 IF (j .LE. listDim ) wrFldList (j ) = 'myPaSur2'
0110 #endif /* MYPACKAGE_2D_STATE */
0111
0112
0113 nWrFlds = j
0114 IF ( nWrFlds .GT. listDim ) THEN
0115 WRITE (msgBuf ,'(2A,I5,A)' ) 'MYPACKAGE_WRITE_PICKUP: ' ,
0116 & 'trying to write ' ,nWrFlds ,' fields'
0117 CALL PRINT_ERROR ( msgBuf , myThid )
0118 WRITE (msgBuf ,'(2A,I5,A)' ) 'MYPACKAGE_WRITE_PICKUP: ' ,
0119 & 'field-list dimension (listDim=' ,listDim ,') too small'
0120 CALL PRINT_ERROR ( msgBuf , myThid )
7610a0b85a Jean* 0121 CALL ALL_PROC_DIE ( myThid )
5b141690f8 Jean* 0122 STOP 'ABNORMAL END: S/R MYPACKAGE_WRITE_PICKUP (list-size Pb)'
0123 ENDIF
0124 #ifdef ALLOW_MDSIO
0125
0126 j = 1
0127 nj = ABS(nj )
0128 IF ( nWrFlds *Nr .EQ. nj ) THEN
0129 j = Nr
0130 nj = nWrFlds
0131 ENDIF
0132 glf = globalFiles
68a8df71d9 Jean* 0133 timList (1) = myTime
5b141690f8 Jean* 0134 CALL MDS_WR_METAFILES ( fn , fp , glf , .FALSE. ,
0135 & 0, 0, j , ' ' ,
0136 & nWrFlds , wrFldList ,
ba68d2f969 Jean* 0137 & 1, timList , oneRL ,
5b141690f8 Jean* 0138 & nj , myIter , myThid )
0139 #endif /* ALLOW_MDSIO */
0140
0141
68a8df71d9 Jean* 0142 #endif /* MYPACKAGE_3D_STATE or MYPACKAGE_2D_STATE */
5b141690f8 Jean* 0143
0144 RETURN
0145 END