/[MITgcm]/MITgcm/pkg/generic_advdiff/gad_read_pickup.F
ViewVC logotype

Contents of /MITgcm/pkg/generic_advdiff/gad_read_pickup.F

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


Revision 1.2 - (show annotations) (download)
Fri May 9 21:43:16 2008 UTC (16 years ago) by jmc
Branch: MAIN
CVS Tags: checkpoint60, checkpoint61, checkpoint59r, checkpoint61b, checkpoint61c, checkpoint61a
Changes since 1.1: +3 -3 lines
change option: GAD_ALLOW_SOM_ADVECT to GAD_ALLOW_TS_SOM_ADV which only
applies to files where Temperature & salinity 2nd Order moments are used

1 C $Header: /u/gcmpack/MITgcm/pkg/generic_advdiff/gad_read_pickup.F,v 1.1 2007/01/16 04:38:34 jmc Exp $
2 C $Name: $
3
4 #include "GAD_OPTIONS.h"
5
6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7 CBOP
8 C !ROUTINE: GAD_READ_PICKUP
9
10 C !INTERFACE:
11 SUBROUTINE GAD_READ_PICKUP( myIter, myThid )
12
13 C !DESCRIPTION:
14 C Reads current state of 2nd.Order moments from a pickup file
15
16 C !USES:
17 IMPLICIT NONE
18 #include "SIZE.h"
19 #include "EEPARAMS.h"
20 #include "PARAMS.h"
21 #include "GAD.h"
22 #include "GAD_SOM_VARS.h"
23 #ifdef ALLOW_MNC
24 #include "MNC_PARAMS.h"
25 #endif
26
27 C !INPUT PARAMETERS:
28 C myIter :: time-step number
29 C myThid :: thread number
30 INTEGER myIter
31 INTEGER myThid
32
33 #ifdef GAD_ALLOW_TS_SOM_ADV
34
35 C !LOCAL VARIABLES:
36 C n :: 2nd.O. moment loop index
37 C iRec :: record number
38 C fn :: character buffer for creating filename
39 C prec :: precision of pickup files
40 INTEGER n,prec,iRec
41 CHARACTER*(MAX_LEN_MBUF) fn
42 CEOP
43
44 C- Need to synchronize here before doing master-thread IO
45 _BARRIER
46
47 #ifdef ALLOW_MNC
48 IF ( useMNC .AND. pickup_read_mnc ) THEN
49 c IF ( tempSOM_Advection ) THEN
50 C Read variables from the pickup file
51 c WRITE(fn,'(a)') 'pickup_som'
52 c CALL MNC_FILE_CLOSE_ALL_MATCHING(fn, myThid)
53 c CALL MNC_CW_SET_UDIM(fn, 1, myThid)
54 c CALL MNC_CW_SET_CITER(fn, 3, 3, myIter, -1, myThid)
55 c prefix = 'somT_'
56 c DO n = 1,nSOM
57 c CALL MNC_CW_RL_R('D',fn,0,0, som_name,
58 c & som_T(1-OLx,1-OLy,1,1,1,n),myThid)
59 c ENDDO
60 c ENDIF
61 ENDIF
62 #endif /* ALLOW_MNC */
63
64 c IF ( pickup_read_mdsio .AND. tempSOM_Advection ) THEN
65 IF ( tempSOM_Advection ) THEN
66 C-- Pot. Temp. 2nd.Order moments
67
68 IF (pickupSuff .EQ. ' ') THEN
69 WRITE(fn,'(A,I10.10)') 'pickup_somT.', myIter
70 ELSE
71 WRITE(fn,'(A,A10)') 'pickup_somT.', pickupSuff
72 ENDIF
73 prec = precFloat64
74 C Read 2nd Order moments as consecutive records
75 DO n=1,nSOM
76 iRec = n
77 CALL READ_REC_3D_RL( fn, prec, Nr,
78 O som_T(1-Olx,1-Oly,1,1,1,n),
79 I iRec, myIter, myThid )
80 ENDDO
81
82 ENDIF
83
84 c IF ( pickup_read_mdsio .AND. saltSOM_Advection ) THEN
85 IF ( saltSOM_Advection ) THEN
86 C-- Salinity 2nd.Order moments
87
88 IF (pickupSuff .EQ. ' ') THEN
89 WRITE(fn,'(A,I10.10)') 'pickup_somS.', myIter
90 ELSE
91 WRITE(fn,'(A,A10)') 'pickup_somS.', pickupSuff
92 ENDIF
93 prec = precFloat64
94 C Read 2nd Order moments as consecutive records
95 DO n=1,nSOM
96 iRec = n
97 CALL READ_REC_3D_RL( fn, prec, Nr,
98 O som_S(1-Olx,1-Oly,1,1,1,n),
99 I iRec, myIter, myThid )
100 ENDDO
101
102 ENDIF
103
104 #endif /* GAD_ALLOW_TS_SOM_ADV */
105
106 RETURN
107 END

  ViewVC Help
Powered by ViewVC 1.1.22