/[MITgcm]/MITgcm/pkg/cd_code/cd_code_write_pickup.F
ViewVC logotype

Annotation of /MITgcm/pkg/cd_code/cd_code_write_pickup.F

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


Revision 1.2 - (hide annotations) (download)
Thu Oct 26 00:24:41 2006 UTC (17 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint58u_post, checkpoint58r_post, checkpoint58t_post, checkpoint58v_post, checkpoint58s_post
Changes since 1.1: +14 -15 lines
- call pkg/rw S/R (rather than directly MDSIO)
- all threads call I/0 S/R (needed for singleCPUIO to work in multi-threaded)

1 jmc 1.2 C $Header: /u/gcmpack/MITgcm/pkg/cd_code/cd_code_write_pickup.F,v 1.1 2006/10/25 20:40:31 jmc Exp $
2 jmc 1.1 C $Name: $
3    
4     #include "CD_CODE_OPTIONS.h"
5    
6     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7     CBOP
8     C !ROUTINE: CD_CODE_WRITE_PICKUP
9    
10     C !INTERFACE:
11 jmc 1.2 SUBROUTINE CD_CODE_WRITE_PICKUP(
12     I prec,
13     I lgf,
14     I permCheckPoint,
15     I myIter,
16 jmc 1.1 I myThid )
17    
18     C !DESCRIPTION:
19     C Read the pickup.
20    
21     C !USES:
22     IMPLICIT NONE
23     #include "SIZE.h"
24     #include "EEPARAMS.h"
25     #include "PARAMS.h"
26 jmc 1.2 #include "CD_CODE_VARS.h"
27 jmc 1.1 #ifdef ALLOW_MNC
28     #include "MNC_PARAMS.h"
29     #endif
30    
31     C !INPUT/OUTPUT PARAMETERS:
32     INTEGER prec
33     LOGICAL lgf
34 jmc 1.2 LOGICAL permCheckPoint
35 jmc 1.1 INTEGER myIter
36     INTEGER myThid
37     CEOP
38    
39     #ifdef ALLOW_CD_CODE
40    
41     C !LOCAL VARIABLES:
42     CHARACTER*(MAX_LEN_FNAM) fn
43    
44     IF ( permCheckPoint ) THEN
45     WRITE(fn,'(A)') 'pickup_cd'
46     ELSE
47     WRITE(fn,'(A,A)') 'pickup_cd.',checkPtSuff(nCheckLev)
48     ENDIF
49    
50     #ifdef ALLOW_MNC
51     IF (useMNC .AND. pickup_write_mnc) THEN
52     C Read variables from the pickup file
53     CALL MNC_FILE_CLOSE_ALL_MATCHING(fn, myThid)
54     CALL MNC_CW_SET_UDIM(fn, 1, myThid)
55     IF ( permCheckPoint ) THEN
56     CALL MNC_CW_SET_CITER(fn, 3, 3, myIter, -1, myThid)
57     ELSE
58     CALL MNC_CW_SET_CITER(fn, 2, -1, -1, -1, myThid)
59     ENDIF
60     CALL MNC_CW_SET_UDIM(fn, 1, myThid)
61     CALL MNC_CW_RL_W('D',fn,0,0,'uVelD',uVelD, myThid)
62     CALL MNC_CW_RL_W('D',fn,0,0,'vVelD',vVelD, myThid)
63     CALL MNC_CW_RL_W('D',fn,0,0,'Unm1',Unm1, myThid)
64     CALL MNC_CW_RL_W('D',fn,0,0,'Vnm1',Vnm1, myThid)
65     CALL MNC_CW_RL_W('D',fn,0,0,'etaNm1', etaNm1, myThid)
66     ENDIF
67     #endif /* ALLOW_MNC */
68    
69     IF ( permCheckPoint ) THEN
70     WRITE(fn,'(A,I10.10)') 'pickup_cd.',myIter
71     ELSE
72     WRITE(fn,'(A,A)') 'pickup_cd.',checkPtSuff(nCheckLev)
73     ENDIF
74 jmc 1.2
75 jmc 1.1 IF (pickup_write_mdsio) THEN
76 jmc 1.2 CALL WRITE_REC_3D_RL( fn, prec, Nr, uVelD, 1, myIter, myThid )
77     CALL WRITE_REC_3D_RL( fn, prec, Nr, vVelD, 2, myIter, myThid )
78     CALL WRITE_REC_3D_RL( fn, prec, Nr, uNM1, 3, myIter, myThid )
79     CALL WRITE_REC_3D_RL( fn, prec, Nr, vNM1, 4, myIter, myThid )
80     CALL WRITE_REC_3D_RL( fn, prec, 1,etaNm1,4*Nr+1,myIter,myThid)
81 jmc 1.1 ENDIF
82    
83     #endif /* ALLOW_CD_CODE */
84    
85     RETURN
86     END

  ViewVC Help
Powered by ViewVC 1.1.22