File indexing completed on 2019-06-15 05:10:38 UTC
view on githubraw file Latest commit e0f9a7ba on 2019-06-14 16:32:02 UTC
c0d1c06c15 Matt*0001 #include "BLING_OPTIONS.h"
0002
0003
0004 subroutine BLING_READ_PICKUP(
e0f9a7ba0b Matt*0005 O pH_isLoaded,
0006 I myIter, myThid )
c0d1c06c15 Matt*0007
0008
0009
df5a9764ba Jean*0010
c0d1c06c15 Matt*0011
0012
df5a9764ba Jean*0013 IMPLICIT NONE
0014
c0d1c06c15 Matt*0015
0016 #include "SIZE.h"
0017 #include "EEPARAMS.h"
0018 #include "PARAMS.h"
0019 #include "BLING_VARS.h"
0020
0021
0022
0023 LOGICAL pH_isLoaded
0024 INTEGER myIter
0025 INTEGER myThid
0026
0027 #ifdef ALLOW_BLING
0028
0029
0030
0031
df5a9764ba Jean*0032 CHARACTER*(10) suff
c0d1c06c15 Matt*0033 CHARACTER*(MAX_LEN_FNAM) fn, filNam
0034 CHARACTER*(MAX_LEN_MBUF) msgBuf
0035 LOGICAL useCurrentDir, fileExist
0036 INTEGER fp, ioUnit
0037
0038
0039 pH_isLoaded =.FALSE.
0040 ioUnit = errorMessageUnit
0041
0042
0043 IF (pickupSuff.EQ.' ') THEN
df5a9764ba Jean*0044 IF ( rwSuffixType.EQ.0 ) THEN
0045 WRITE(fn,'(A,I10.10)') 'pickup_bling.', myIter
0046 ELSE
0047 CALL RW_GET_SUFFIX( suff, startTime, myIter, myThid )
0048 WRITE(fn,'(A,A)') 'pickup_bling.', myIter
0049 ENDIF
c0d1c06c15 Matt*0050 ELSE
0051 WRITE(fn,'(A,A10)') 'pickup_bling.', pickupSuff
0052 ENDIF
0053 fp = precFloat64
0054
0055
0056 #ifdef ALLOW_MDSIO
0057 useCurrentDir = .FALSE.
0058 CALL MDS_CHECK4FILE(
0059 I fn, '.data', 'BLING_READ_PICKUP',
0060 O filNam, fileExist,
0061 I useCurrentDir, myThid )
0062 #else
0063 STOP 'ABNORMAL END: S/R BLING_READ_PICKUP: Needs MDSIO pkg'
0064 #endif
0065
0066 IF ( fileExist ) THEN
0067
0068 CALL READ_REC_3D_RL( fn, fp, Nr, pH, 1, myIter, myThid )
0069 pH_isLoaded = .TRUE.
0070
0071 CALL READ_REC_3D_RL( fn, fp, Nr, irr_mem, 2, myIter, myThid )
0072 CALL READ_REC_3D_RL( fn, fp, Nr, chl, 3, myIter, myThid )
4ac06494d5 Matt*0073 CALL READ_REC_3D_RL( fn, fp, Nr, phyto_sm, 4, myIter, myThid )
0074 CALL READ_REC_3D_RL( fn, fp, Nr, phyto_lg, 5, myIter, myThid )
e0f9a7ba0b Matt*0075 #ifndef USE_BLING_V1
4ac06494d5 Matt*0076 CALL READ_REC_3D_RL( fn, fp, Nr, phyto_diaz, 6, myIter, myThid )
e0f9a7ba0b Matt*0077 #endif
c0d1c06c15 Matt*0078
0079 _EXCH_XYZ_RL( pH, myThid )
0080 _EXCH_XYZ_RL( irr_mem, myThid )
0081 _EXCH_XYZ_RL( chl, myThid )
4ac06494d5 Matt*0082 _EXCH_XYZ_RL( phyto_sm, myThid )
0083 _EXCH_XYZ_RL( phyto_lg, myThid )
e0f9a7ba0b Matt*0084 #ifndef USE_BLING_V1
4ac06494d5 Matt*0085 _EXCH_XYZ_RL( phyto_diaz, myThid )
e0f9a7ba0b Matt*0086 #endif
c0d1c06c15 Matt*0087
0088 ELSE
0089 pH_isLoaded = .FALSE.
0090 IF ( pickupStrictlyMatch ) THEN
0091 WRITE(msgBuf,'(4A)') 'BLING_READ_PICKUP: ',
0092 & 'try with " pickupStrictlyMatch=.FALSE.,"',
0093 & ' in file: "data", NameList: "PARM03"'
0094 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0095 STOP 'ABNORMAL END: S/R BLING_READ_PICKUP'
0096 ELSE
0097 WRITE(msgBuf,'(2A)') 'WARNING >> BLING_READ_PICKUP: ',
0098 & 'will restart from approximated pH'
0099 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0100 ENDIF
0101 ENDIF
0102
0103 #endif /* ALLOW_BLING */
0104
0105 RETURN
0106 END