/[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.2 - (hide annotations) (download)
Fri Feb 10 10:00:42 2006 UTC (18 years, 3 months ago) by mlosch
Branch: MAIN
Changes since 1.1: +5 -3 lines
  - separate shelfice load anomaly from pload (breaks with time
    dependent forcing), => introduce constant field shelficeLoadAnomaly.
    Its default is 0., but it may be computed more cleverly from (unknown)
    t- and s-profiles (tRef, sRef) and actual EOS. For now this has to be
    done offline. A good approximation of the pressure load anomaly is
    necessary to avoid large initial adjustment processes underneath
    deep-reaching shelfice.
  - small fix in shelfice_thermodynamics

1 mlosch 1.2 C $Header: /u/gcmpack/MITgcm/pkg/shelfice/shelfice_readparms.F,v 1.1 2006/02/07 11:45:21 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     & SHELFICEexchangeVelocity,
43     & SHELFICElatentHeat,
44     & SHELFICEDragLinear, SHELFICEDragQuadratic,
45     & useISOMIPTD, no_slip_shelfice,
46     & SHELFICEwriteState,
47     & SHELFICE_dumpFreq,
48     & SHELFICE_taveFreq,
49     & SHELFICE_tave_mnc,
50 mlosch 1.2 & SHELFICE_dump_mnc,
51     & SHELFICEloadAnomalyFile
52 mlosch 1.1
53     C This routine has been called by the main model so we set our
54     C internal flag to indicate we are in business
55     SHELFICEisON=.TRUE.
56    
57     C Set defaults values for parameters in SHELFICE.h
58 mlosch 1.2 useISOMIPTD = .TRUE.
59     SHELFICEloadAnomalyFile = ' '
60 mlosch 1.1 SHELFICElatentHeat = 334.0 _d 3
61     recip_SHELFICElatentHeat = 0. _d 0
62     SHELFICEexchangeVelocity = 0. _d 0
63     no_slip_shelfice = no_slip_bottom
64     SHELFICEDragLinear = bottomDragLinear
65     SHELFICEDragQuadratic = bottomDragQuadratic
66     SHELFICEwriteState = .FALSE.
67     SHELFICE_dumpFreq = dumpFreq
68     SHELFICE_taveFreq = taveFreq
69     #ifdef ALLOW_MNC
70     SHELFICE_tave_mnc = timeave_mnc
71     SHELFICE_dump_mnc = snapshot_mnc
72     #else
73     SHELFICE_tave_mnc = .FALSE.
74     SHELFICE_dump_mnc = .FALSE.
75     #endif
76     CMLC Eingabe der Konstanten
77     CMLC gat = turbul. heat exchange coeff. [m/s]
78     CMLC gas = turbul. salt exchange coeff. [m/s]
79     CMLC HeMW=Heliumgehalt des Schmelzwassers
80     CMLC OoFW=Isotopeneintrag beim Frieren
81     CMLC OoMW=Isotopeneintrag beim Schmelzen
82     CMLc aqui
83     CML a = -0.0575 !
84     CML b = 0.0901 !Freezing point constants
85     CML c = 7.61e-4 !
86     CML
87     CML pn = 13.8 !Prandtl number
88     CML sn = 2432. !Schmidt number
89     CMLc appa_t = 1.34e-07 !molecular thermal diffusivity
90     CMLc appa_s = 7.40e-10 !molecular salt diffusivity
91     CML un = 1.95e-6
92     CMLc pn = un/appa_t
93     CMLc sn = un/appa_s
94     CML pn1 = pn**(2./3.)
95     CML sn1 = sn**(2./3.)
96     CML cd = 2.50e-3
97     CML srcd = sqrt(cd)
98     CML
99     CMLc arma = 0.4 ! Karman constant
100     CMLc z0_i = 0.00005 ! roughness length
101     CMLc srcd = arma/log(1/z0_i)
102     CML
103     CML lhf = 3.33e+5
104     CML cpi = 152.5+7.122*(atk+tob) !Paterson:"The Physics of Glaciers"
105     CML
106     CML rhoi=917.
107     CML rho0=1000.
108     CML
109     CML hemw= 4.02*14.
110     CML oomw=-30.
111     CML oofw=-2.5
112     CML SHELFICEnRi = 2
113     CML SHELFICEviscMin = 0. _d 0
114     CML SHELFICEdiffMin = 0. _d 0
115     CML SHELFICEviscMax = 1. _d 0
116     CML SHELFICEnu0 = 1. _d -02
117     CML SHELFICEalpha = 5. _d 0
118     CML RiLimit = UNSET_RL
119     CML SHELFICEdumpFreq = dumpFreq
120     CML SHELFICEtaveFreq = taveFreq
121     CML SHELFICEMixingMaps = .FALSE.
122     CML SHELFICEwriteState = .FALSE.
123    
124     C Open and read the data.shelfice file
125     _BEGIN_MASTER(myThid)
126     WRITE(msgBuf,'(A)') ' SHELFICE_READPARMS: opening data.shelfice'
127     CALL PRINT_MESSAGE(msgBuf, standardMessageUnit,
128     & SQUEEZE_RIGHT , 1)
129     CALL OPEN_COPY_DATA_FILE(
130     I 'data.shelfice', 'SHELFICE_READPARMS',
131     O iUnit,
132     I myThid )
133     READ(UNIT=iUnit,NML=SHELFICE_PARM01)
134     WRITE(msgBuf,'(A)')
135     & ' SHELFICE_READPARMS: finished reading data.shelfice'
136     CALL PRINT_MESSAGE(msgBuf, standardMessageUnit,
137     & SQUEEZE_RIGHT , 1)
138    
139     C Close the open data file
140     CLOSE(iUnit)
141     _END_MASTER(myThid)
142    
143     C Everyone else must wait for the parameters to be loaded
144     _BARRIER
145    
146     C Now set-up any remaining parameters that result from the input parameters
147     IF ( SHELFICElatentHeat .NE. 0. _d 0 )
148     & recip_SHELFICElatentHeat = 1. _d 0/SHELFICElatentHeat
149    
150     C- Set Output type flags :
151     SHELFICE_tave_mdsio = .TRUE.
152     SHELFICE_dump_mdsio = .TRUE.
153     #ifdef ALLOW_MNC
154     IF (useMNC) THEN
155     IF ( .NOT.outputTypesInclusive
156     & .AND. SHELFICE_tave_mnc ) SHELFICE_tave_mdsio = .FALSE.
157     IF ( .NOT.outputTypesInclusive
158     & .AND. SHELFICE_dump_mnc ) SHELFICE_dump_mdsio = .FALSE.
159     ENDIF
160     #endif
161    
162     #ifdef ALLOW_MNC
163     C Initialize MNC variable information for SHELFICE
164     IF ( useMNC .AND. (shelfice_tave_mnc.OR.shelfice_dump_mnc)
165     & ) THEN
166     CALL SHELFICE_MNC_INIT( myThid )
167     ENDIF
168     #endif /* ALLOW_MNC */
169    
170     #endif /* ALLOW_SHELFICE */
171    
172     RETURN
173     END

  ViewVC Help
Powered by ViewVC 1.1.22