/[MITgcm]/MITgcm_contrib/bling/pkg/bling_read_pickup.F
ViewVC logotype

Contents of /MITgcm_contrib/bling/pkg/bling_read_pickup.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (show annotations) (download)
Sun Feb 28 21:49:24 2016 UTC (9 years, 4 months ago) by mmazloff
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +7 -3 lines
Update to BLING version 2

1 C $Header: /u/gcmpack/MITgcm_contrib/bling/pkg/bling_read_pickup.F,v 1.2 2014/06/05 21:26:26 mmazloff Exp $
2 C $Name: $
3
4 #include "BLING_OPTIONS.h"
5
6 CBOP
7 subroutine BLING_READ_PICKUP(
8 O pH_isLoaded,
9 I myIter, myThid )
10
11 C ==========================================================
12 C | subroutine bling_read_pickup
13 C | o
14 C ==========================================================
15
16 implicit none
17
18 C === Global variables ===
19 #include "SIZE.h"
20 #include "EEPARAMS.h"
21 #include "PARAMS.h"
22 #include "BLING_VARS.h"
23
24 C == Routine arguments ==
25 C myThid :: my Thread Id number
26 LOGICAL pH_isLoaded
27 INTEGER myIter
28 INTEGER myThid
29
30 #ifdef ALLOW_BLING
31
32 C !FUNCTIONS
33
34 C !LOCAL VARIABLES:
35 C == Local variables ==
36 CHARACTER*(MAX_LEN_FNAM) fn, filNam
37 CHARACTER*(MAX_LEN_MBUF) msgBuf
38 LOGICAL useCurrentDir, fileExist
39 INTEGER fp, ioUnit
40 CEOP
41
42 pH_isLoaded =.FALSE.
43 ioUnit = errorMessageUnit
44
45 C-- pickup file name :
46 IF (pickupSuff.EQ.' ') THEN
47 WRITE(fn,'(A,I10.10)') 'pickup_bling.', myIter
48 ELSE
49 WRITE(fn,'(A,A10)') 'pickup_bling.', pickupSuff
50 ENDIF
51 fp = precFloat64
52
53 C-- First check if pickup file exist
54 #ifdef ALLOW_MDSIO
55 useCurrentDir = .FALSE.
56 CALL MDS_CHECK4FILE(
57 I fn, '.data', 'BLING_READ_PICKUP',
58 O filNam, fileExist,
59 I useCurrentDir, myThid )
60 #else
61 STOP 'ABNORMAL END: S/R BLING_READ_PICKUP: Needs MDSIO pkg'
62 #endif
63
64 IF ( fileExist ) THEN
65 C-- Read pickup file
66 CALL READ_REC_3D_RL( fn, fp, Nr, pH, 1, myIter, myThid )
67 pH_isLoaded = .TRUE.
68
69 CALL READ_REC_3D_RL( fn, fp, Nr, irr_mem, 2, myIter, myThid )
70 CALL READ_REC_3D_RL( fn, fp, Nr, chl, 3, myIter, myThid )
71 CALL READ_REC_3D_RL( fn, fp, Nr, P_sm, 4, myIter, myThid )
72 CALL READ_REC_3D_RL( fn, fp, Nr, P_lg, 5, myIter, myThid )
73 CALL READ_REC_3D_RL( fn, fp, Nr, P_diaz, 6, myIter, myThid )
74
75 _EXCH_XYZ_RL( pH, myThid )
76 _EXCH_XYZ_RL( irr_mem, myThid )
77 _EXCH_XYZ_RL( chl, myThid )
78 _EXCH_XYZ_RL( P_sm, myThid )
79 _EXCH_XYZ_RL( P_lg, myThid )
80 _EXCH_XYZ_RL( P_diaz, myThid )
81
82 ELSE
83 pH_isLoaded = .FALSE.
84 IF ( pickupStrictlyMatch ) THEN
85 WRITE(msgBuf,'(4A)') 'BLING_READ_PICKUP: ',
86 & 'try with " pickupStrictlyMatch=.FALSE.,"',
87 & ' in file: "data", NameList: "PARM03"'
88 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
89 STOP 'ABNORMAL END: S/R BLING_READ_PICKUP'
90 ELSE
91 WRITE(msgBuf,'(2A)') 'WARNING >> BLING_READ_PICKUP: ',
92 & 'will restart from approximated pH'
93 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
94 ENDIF
95 ENDIF
96
97 #endif /* ALLOW_BLING */
98
99 RETURN
100 END

  ViewVC Help
Powered by ViewVC 1.1.22