/[MITgcm]/MITgcm/pkg/ebm/ebm_readparms.F
ViewVC logotype

Contents of /MITgcm/pkg/ebm/ebm_readparms.F

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


Revision 1.3 - (show annotations) (download)
Mon Aug 29 19:38:44 2011 UTC (12 years, 9 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64x, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63c, checkpoint64
Changes since 1.2: +7 -2 lines
- remove var "lambdaThetaZonRelax"
- move labBnd (formerly "lat") to common block, set in ebm_readparms.F
- move all local arrays from EMB.h to ebm_atmosphere.F

1 C $Header: /u/gcmpack/MITgcm/pkg/ebm/ebm_readparms.F,v 1.2 2011/08/28 21:53:43 jmc Exp $
2 C $Name: $
3 #include "EBM_OPTIONS.h"
4
5 CBOP 0
6 C !ROUTINE: EBM_READPARMS
7
8 C !INTERFACE:
9 SUBROUTINE EBM_READPARMS( myThid )
10
11 C !DESCRIPTION:
12 C *==========================================================*
13 C | SUBROUTINE EBM_READPARMS
14 C | o Routine to read in parameters from file data.ebm
15 C *==========================================================*
16
17 C !USES:
18 IMPLICIT NONE
19 C === Global variables ===
20 #include "SIZE.h"
21 #include "EEPARAMS.h"
22 #include "PARAMS.h"
23 #include "GRID.h"
24 #ifdef ALLOW_EBM
25 #include "EBM.h"
26 #endif
27
28 C !INPUT PARAMETERS:
29 C myThid :: my Thread Id number
30 INTEGER myThid
31 CEOP
32
33 #ifdef ALLOW_EBM
34 C !LOCAL VARIABLES:
35 C msgBuf :: Informational/error message buffer
36 C errIO :: IO error flag
37 C iUnit :: Work variable for IO unit number
38 CHARACTER*(MAX_LEN_MBUF) msgBuf
39 INTEGER errIO, iUnit
40
41 C-- Namelist
42 NAMELIST /EBM_PARM01/
43 & tauThetaZonRelax,
44 & scale_runoff,
45 & RunoffFile
46
47 _BEGIN_MASTER(myThid)
48
49 WRITE(msgBuf,'(A)') ' EBM_READPARMS: opening data.ebm'
50 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
51 & SQUEEZE_RIGHT, myThid )
52
53 CALL OPEN_COPY_DATA_FILE(
54 I 'data.ebm', 'EBM_READPARMS',
55 O iUnit,
56 I myThid )
57
58 C-- set default
59 tauThetaZonRelax = 0.
60 scale_runoff = 1.
61 RunoffFile = ' '
62
63 C-----------------------------------------------------------------------
64
65 C-- Read settings from model parameter file "data.ebm".
66 READ(UNIT=iUnit,NML=EBM_PARM01,IOSTAT=errIO)
67 IF ( errIO .LT. 0 ) THEN
68 WRITE(msgBuf,'(A)') 'S/R EBM_READPARMS'
69 CALL PRINT_ERROR( msgBuf, myThid )
70 WRITE(msgBuf,'(A)') 'Error reading numerical model '
71 CALL PRINT_ERROR( msgBuf, myThid )
72 WRITE(msgBuf,'(A)') 'parameter file "data.ebm"'
73 CALL PRINT_ERROR( msgBuf, myThid )
74 WRITE(msgBuf,'(A)') 'Problem in namelist EBM_PARM01'
75 CALL PRINT_ERROR( msgBuf, myThid )
76 C CALL MODELDATA_EXAMPLE( myThid )
77 STOP 'ABNORMAL END: S/R EBM_READPARMS'
78 ENDIF
79 C Close the open data file
80 CLOSE(iUnit)
81
82 WRITE(msgBuf,'(A)') ' EBM_READPARMS: finished reading data.ebm'
83 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
84 & SQUEEZE_RIGHT, myThid )
85
86 C-- Set other parameters
87 IF ( tauThetaZonRelax .NE. 0. _d 0 ) THEN
88 IF ( tauThetaClimRelax.NE.0. _d 0 ) THEN
89 WRITE(msgBuf,'(2A)') 'EBM_READPARMS: ',
90 & 'tauThetaClimRelax > 0 AND tauThetaZonRelax > 0'
91 CALL PRINT_ERROR( msgBuf, myThid )
92 WRITE(msgBuf,'(2A)') 'EBM_READPARMS: ',
93 & 'cannot relax Temp. to 2-d map AND ZonAver SST'
94 CALL PRINT_ERROR( msgBuf, myThid )
95 STOP 'ABNORMAL END: S/R EBM_READPARMS'
96 ELSE
97 WRITE(msgBuf,'(2A)') ' EBM_READPARMS: ',
98 & 'set tauThetaClimRelax to tauThetaZonRelax value'
99 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
100 & SQUEEZE_RIGHT, myThid )
101 tauThetaClimRelax = tauThetaZonRelax
102 ENDIF
103 ENDIF
104 C- Set latitude boundaries used in EBM
105 latBnd(1) = 0. _d 0
106 latBnd(2) = 35. _d 0
107 latBnd(3) = 85. _d 0
108
109 _END_MASTER(myThid)
110
111 C-- Everyone else must wait for the parameters to be loaded
112 _BARRIER
113
114 #endif /* ALLOW_EBM */
115
116 RETURN
117 END

  ViewVC Help
Powered by ViewVC 1.1.22