/[MITgcm]/MITgcm/pkg/shelfice/shelfice_readparms.F
ViewVC logotype

Annotation of /MITgcm/pkg/shelfice/shelfice_readparms.F

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


Revision 1.8 - (hide annotations) (download)
Wed Jul 8 21:58:30 2009 UTC (14 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62i, checkpoint62h, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.7: +2 -10 lines
move MNC calls from _readparms.F to _init_fixed.F (called after ini_model_io)

1 jmc 1.8 C $Header: /u/gcmpack/MITgcm/pkg/shelfice/shelfice_readparms.F,v 1.7 2008/09/10 08:55:12 mlosch Exp $
2 mlosch 1.1 C $Name: $
3    
4     #include "SHELFICE_OPTIONS.h"
5    
6     CBOP
7     C !ROUTINE: SHELFICE_READPARMS
8    
9     C !INTERFACE: ==========================================================
10     SUBROUTINE SHELFICE_READPARMS( myThid )
11    
12     C !DESCRIPTION:
13     C Initialize SHELFICE parameters, read in data.shelfice
14    
15     C !USES: ===============================================================
16     IMPLICIT NONE
17     #include "SIZE.h"
18     #include "EEPARAMS.h"
19     #include "SHELFICE.h"
20     #include "PARAMS.h"
21     #ifdef ALLOW_MNC
22     # include "MNC_PARAMS.h"
23     #endif
24    
25     C !INPUT PARAMETERS: ===================================================
26     C myThid :: thread number
27     INTEGER myThid
28    
29     C !OUTPUT PARAMETERS: ==================================================
30     C none
31    
32     #ifdef ALLOW_SHELFICE
33    
34     C !LOCAL VARIABLES: ====================================================
35     C iUnit :: unit number for I/O
36     C msgBuf :: message buffer
37     INTEGER iUnit
38     CHARACTER*(MAX_LEN_MBUF) msgBuf
39     CEOP
40    
41     NAMELIST /SHELFICE_PARM01/
42 mlosch 1.3 & SHELFICEheatTransCoeff,
43     & SHELFICEsaltTransCoeff,
44     & rhoShelfice, SHELFICEkappa,
45     & SHELFICElatentHeat, SHELFICEHeatCapacity_Cp,
46 mlosch 1.1 & SHELFICEDragLinear, SHELFICEDragQuadratic,
47 mlosch 1.3 & SHELFICEthetaSurface,
48 jmc 1.8 & useISOMIPTD, no_slip_shelfice,
49 mlosch 1.6 & SHELFICEconserve, SHELFICEboundaryLayer,
50 mlosch 1.1 & SHELFICEwriteState,
51     & SHELFICE_dumpFreq,
52     & SHELFICE_taveFreq,
53     & SHELFICE_tave_mnc,
54 mlosch 1.2 & SHELFICE_dump_mnc,
55 mlosch 1.7 & SHELFICEtopoFile, SHELFICEloadAnomalyFile
56 mlosch 1.1
57 jmc 1.5 _BEGIN_MASTER(myThid)
58    
59 mlosch 1.1 C This routine has been called by the main model so we set our
60     C internal flag to indicate we are in business
61     SHELFICEisON=.TRUE.
62    
63     C Set defaults values for parameters in SHELFICE.h
64 mlosch 1.3 useISOMIPTD = .FALSE.
65 mlosch 1.6 SHELFICEconserve = .FALSE.
66 mlosch 1.4 SHELFICEboundaryLayer = .FALSE.
67 mlosch 1.2 SHELFICEloadAnomalyFile = ' '
68 mlosch 1.7 SHELFICEtopoFile = ' '
69 mlosch 1.3 SHELFICElatentHeat = 334.0 _d 3
70     SHELFICEHeatCapacity_Cp = 2000.0 _d 0
71     recip_SHELFICElatentHeat = 0.0 _d 0
72     rhoShelfIce = 917.0 _d 0
73     SHELFICEheatTransCoeff = 1.0 _d -04
74     SHELFICEsaltTransCoeff = UNSET_RL
75     SHELFICEkappa = 1.54 _d -06
76     SHELFICEthetaSurface = - 20.0 _d 0
77 mlosch 1.1 no_slip_shelfice = no_slip_bottom
78     SHELFICEDragLinear = bottomDragLinear
79     SHELFICEDragQuadratic = bottomDragQuadratic
80     SHELFICEwriteState = .FALSE.
81     SHELFICE_dumpFreq = dumpFreq
82     SHELFICE_taveFreq = taveFreq
83     #ifdef ALLOW_MNC
84     SHELFICE_tave_mnc = timeave_mnc
85     SHELFICE_dump_mnc = snapshot_mnc
86     #else
87     SHELFICE_tave_mnc = .FALSE.
88     SHELFICE_dump_mnc = .FALSE.
89     #endif
90    
91     C Open and read the data.shelfice file
92     WRITE(msgBuf,'(A)') ' SHELFICE_READPARMS: opening data.shelfice'
93     CALL PRINT_MESSAGE(msgBuf, standardMessageUnit,
94 jmc 1.5 & SQUEEZE_RIGHT, myThid )
95 mlosch 1.1 CALL OPEN_COPY_DATA_FILE(
96     I 'data.shelfice', 'SHELFICE_READPARMS',
97     O iUnit,
98     I myThid )
99     READ(UNIT=iUnit,NML=SHELFICE_PARM01)
100     WRITE(msgBuf,'(A)')
101     & ' SHELFICE_READPARMS: finished reading data.shelfice'
102     CALL PRINT_MESSAGE(msgBuf, standardMessageUnit,
103 jmc 1.5 & SQUEEZE_RIGHT, myThid )
104 mlosch 1.1
105     C Close the open data file
106     CLOSE(iUnit)
107    
108 jmc 1.5 C Now set-up any remaining parameters that result from the input parameters
109 mlosch 1.1 IF ( SHELFICElatentHeat .NE. 0. _d 0 )
110     & recip_SHELFICElatentHeat = 1. _d 0/SHELFICElatentHeat
111 mlosch 1.3 IF ( SHELFICEsaltTransCoeff .EQ. UNSET_RL )
112 jmc 1.5 & SHELFICEsaltTransCoeff =
113 mlosch 1.3 & 5.05 _d -3 *SHELFICEheatTransCoeff
114 mlosch 1.1
115     C- Set Output type flags :
116     SHELFICE_tave_mdsio = .TRUE.
117     SHELFICE_dump_mdsio = .TRUE.
118     #ifdef ALLOW_MNC
119     IF (useMNC) THEN
120     IF ( .NOT.outputTypesInclusive
121     & .AND. SHELFICE_tave_mnc ) SHELFICE_tave_mdsio = .FALSE.
122     IF ( .NOT.outputTypesInclusive
123     & .AND. SHELFICE_dump_mnc ) SHELFICE_dump_mdsio = .FALSE.
124     ENDIF
125     #endif
126    
127 jmc 1.5 _END_MASTER(myThid)
128     C Everyone else must wait for the parameters to be loaded
129     _BARRIER
130    
131 mlosch 1.1 #endif /* ALLOW_SHELFICE */
132    
133     RETURN
134     END

  ViewVC Help
Powered by ViewVC 1.1.22