/[MITgcm]/MITgcm/pkg/thsice/thsice_readparms.F
ViewVC logotype

Diff of /MITgcm/pkg/thsice/thsice_readparms.F

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

revision 1.8 by jmc, Thu May 25 18:03:24 2006 UTC revision 1.12 by jmc, Sun Apr 8 18:54:04 2007 UTC
# Line 32  C     === Global variables === Line 32  C     === Global variables ===
32    
33  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
34  C     === Routine arguments ===  C     === Routine arguments ===
35    C     myThid    :: My Thread Id. number
36        INTEGER myThid        INTEGER myThid
37  CEOP  CEOP
38    
39  #ifdef ALLOW_THSICE  #ifdef ALLOW_THSICE
40    
41  C     === Local variables ===  C     === Local variables ===
42  C     msgBuf      - Informational/error message buffer  C     msgBuf    :: Informational/error message buffer
43  C     iUnit       - Work variable for IO unit number  C     iUnit     :: Work variable for IO unit number
44        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
45        INTEGER iUnit        INTEGER iUnit
46    
# Line 49  C--   Th-Sea-ICE parameter Line 50  C--   Th-Sea-ICE parameter
50       &  cpice, cpwater,       &  cpice, cpwater,
51       &  kice, ksnow,       &  kice, ksnow,
52       &  transcoef, Lfresh, qsnow,       &  transcoef, Lfresh, qsnow,
53       &  albColdSnow, albWarmSnow, albOldSnow,       &  albColdSnow, albWarmSnow, tempSnowAlb,
54       &  hNewSnowAge, snowAgTime,       &  albOldSnow, hNewSnowAge, snowAgTime,
55       &  albIceMax, albIceMin, hAlbIce, hAlbSnow,       &  albIceMax, albIceMin, hAlbIce, hAlbSnow,
56       &  i0, ksolar,       &  i0, ksolar,
57       &  saltice, S_winton, mu_Tf,       &  saltice, S_winton, mu_Tf,
# Line 63  C--   Th-Sea-ICE parameter Line 64  C--   Th-Sea-ICE parameter
64       &     startIceModel, stepFwd_oceMxL,       &     startIceModel, stepFwd_oceMxL,
65       &     thSIce_deltaT, ocean_deltaT, tauRelax_MxL,       &     thSIce_deltaT, ocean_deltaT, tauRelax_MxL,
66       &     hMxL_default, sMxL_default, vMxL_default,       &     hMxL_default, sMxL_default, vMxL_default,
67       &     stressReduction,       &     thSIce_diffK, thSIceAdvScheme, stressReduction,
68       &     thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq,       &     thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq,
69       &     thSIce_tave_mnc, thSIce_snapshot_mnc, thSIce_mon_mnc,       &     thSIce_tave_mnc, thSIce_snapshot_mnc, thSIce_mon_mnc,
70       &     thSIce_pickup_read_mnc, thSIce_pickup_write_mnc,       &     thSIce_pickup_read_mnc, thSIce_pickup_write_mnc,
# Line 96  C--   Default values (constants) Line 97  C--   Default values (constants)
97        qsnow    = Lfresh        qsnow    = Lfresh
98        albColdSnow= 0.85 _d 0        albColdSnow= 0.85 _d 0
99        albWarmSnow= 0.70 _d 0        albWarmSnow= 0.70 _d 0
100          tempSnowAlb= -10. _d 0
101        albOldSnow = 0.55 _d 0        albOldSnow = 0.55 _d 0
102        albIceMax  = 0.65 _d 0        albIceMax  = 0.65 _d 0
103        albIceMin  = 0.20 _d 0        albIceMin  = 0.20 _d 0
# Line 129  C--   Default values (parameters) Line 131  C--   Default values (parameters)
131        hMxL_default    = 50. _d 0        hMxL_default    = 50. _d 0
132        sMxL_default    = 35. _d 0        sMxL_default    = 35. _d 0
133        vMxL_default    = 5. _d -2        vMxL_default    = 5. _d -2
134          thSIce_diffK    = 0. _d 0
135          thSIceAdvScheme = 0
136        stressReduction = 1. _d 0        stressReduction = 1. _d 0
137          IF ( useSEAICE ) stressReduction = 0. _d 0
138        thSIce_taveFreq = taveFreq        thSIce_taveFreq = taveFreq
139        thSIce_diagFreq = dumpFreq        thSIce_diagFreq = dumpFreq
140        thSIce_monFreq  = monitorFreq        thSIce_monFreq  = monitorFreq
# Line 193  C     Set I/O parameters Line 198  C     Set I/O parameters
198  #endif  #endif
199    
200  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
201    C--   Check parameter consistency:
202          IF ( thSIceAdvScheme.EQ.0 .AND. thSIce_diffK.NE.0. ) THEN
203            WRITE(msgBuf,'(2A)')
204         &   'THSICE_READPARMS: to use thSIce_diffK, needs to select',
205         &   ' one advection scheme (thSIceAdvScheme<>0)'
206            CALL PRINT_ERROR( msgBuf , myThid )
207            STOP 'ABNORMAL END: THSICE_READPARMS'
208          ENDIF
209    #ifndef ALLOW_GENERIC_ADVDIFF
210          IF ( thSIceAdvScheme.NE.0 ) THEN
211            WRITE(msgBuf,'(2A)')
212         &   'THSICE_READPARMS: Need to compile "generic_advdiff" pkg',
213         &   ' in order to use thSIceAdvScheme'
214            CALL PRINT_ERROR( msgBuf , myThid )
215            STOP 'ABNORMAL END: THSICE_READPARMS'
216          ENDIF
217    #endif /* ndef ALLOW_GENERIC_ADVDIFF */
218    
219          IF ( useSEAICE .AND. stressReduction.NE.0. _d 0 ) THEN
220    C--     If useSEAICE=.true., the stress is computed in seaice_model,
221    C--     so that it does not need any further reduction
222            WRITE(msgBuf,'(2A)')
223         &   'THSICE_READPARMS: if useSEAICE, stress will be computed',
224         &   ' by SEAICE pkg => no reduction'
225            CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
226         &                    SQUEEZE_RIGHT , myThid)
227            WRITE(msgBuf,'(A)')
228         &   'THSICE_READPARMS: WARNING: reset stressReduction to zero'
229            CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
230         &                    SQUEEZE_RIGHT , myThid)
231            stressReduction = 0. _d 0
232          ENDIF
233    
234    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
235        iUnit = standardMessageUnit        iUnit = standardMessageUnit
236  c     CALL MDSFINDUNIT( iUnit, mythid )  c     CALL MDSFINDUNIT( iUnit, mythid )
237  c     OPEN(iUnit,file='thsice_check_params',status='unknown')  c     OPEN(iUnit,file='thsice_check_params',status='unknown')
# Line 210  c     OPEN(iUnit,file='thsice_check_para Line 249  c     OPEN(iUnit,file='thsice_check_para
249        WRITE(iUnit,*) 'ThSI: qsnow   =',qsnow        WRITE(iUnit,*) 'ThSI: qsnow   =',qsnow
250        WRITE(iUnit,*) 'ThSI: albColdSnow=',albColdSnow        WRITE(iUnit,*) 'ThSI: albColdSnow=',albColdSnow
251        WRITE(iUnit,*) 'ThSI: albWarmSnow=',albWarmSnow        WRITE(iUnit,*) 'ThSI: albWarmSnow=',albWarmSnow
252          WRITE(iUnit,*) 'ThSI: tempSnowAlb=',tempSnowAlb
253        WRITE(iUnit,*) 'ThSI: albOldSnow =',albOldSnow        WRITE(iUnit,*) 'ThSI: albOldSnow =',albOldSnow
254          WRITE(iUnit,*) 'ThSI: hNewSnowAge=',hNewSnowAge
255          WRITE(iUnit,*) 'ThSI: snowAgTime =',snowAgTime
256        WRITE(iUnit,*) 'ThSI: albIceMax =',albIceMax        WRITE(iUnit,*) 'ThSI: albIceMax =',albIceMax
257        WRITE(iUnit,*) 'ThSI: albIceMin =',albIceMin        WRITE(iUnit,*) 'ThSI: albIceMin =',albIceMin
258        WRITE(iUnit,*) 'ThSI: hAlbIce   =',hAlbIce        WRITE(iUnit,*) 'ThSI: hAlbIce   =',hAlbIce
259        WRITE(iUnit,*) 'ThSI: hAlbSnow  =',hAlbSnow        WRITE(iUnit,*) 'ThSI: hAlbSnow  =',hAlbSnow
       WRITE(iUnit,*) 'ThSI: hNewSnowAge=',hNewSnowAge  
       WRITE(iUnit,*) 'ThSI: snowAgTime =',snowAgTime  
260        WRITE(iUnit,*) 'ThSI: i0      =',i0        WRITE(iUnit,*) 'ThSI: i0      =',i0
261        WRITE(iUnit,*) 'ThSI: ksolar  =',ksolar        WRITE(iUnit,*) 'ThSI: ksolar  =',ksolar
262        WRITE(iUnit,*) 'ThSI: saltice =',saltice        WRITE(iUnit,*) 'ThSI: saltice =',saltice
# Line 235  c     OPEN(iUnit,file='thsice_check_para Line 275  c     OPEN(iUnit,file='thsice_check_para
275        WRITE(iUnit,*) 'ThSI: frac_energy',frac_energy        WRITE(iUnit,*) 'ThSI: frac_energy',frac_energy
276        WRITE(iUnit,*) 'ThSI: hihig   =',hihig        WRITE(iUnit,*) 'ThSI: hihig   =',hihig
277        WRITE(iUnit,*) 'ThSI: stressReduction =',stressReduction        WRITE(iUnit,*) 'ThSI: stressReduction =',stressReduction
278          WRITE(iUnit,*) 'ThSI: thSIceAdvScheme =',thSIceAdvScheme
279          WRITE(iUnit,*) 'ThSI: thSIce_diffK  =',thSIce_diffK
280        WRITE(iUnit,*) 'ThSI: thSIce_deltaT =',thSIce_deltaT        WRITE(iUnit,*) 'ThSI: thSIce_deltaT =',thSIce_deltaT
281        WRITE(iUnit,*) 'ThSI: ocean_deltaT  =',ocean_deltaT        WRITE(iUnit,*) 'ThSI: ocean_deltaT  =',ocean_deltaT
282        WRITE(iUnit,*) 'ThSI: stepFwd_oceMxL=',stepFwd_oceMxL        WRITE(iUnit,*) 'ThSI: stepFwd_oceMxL=',stepFwd_oceMxL
# Line 258  C--   Everyone else must wait for the pa Line 300  C--   Everyone else must wait for the pa
300    
301        RETURN        RETURN
302        END        END
303    

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.12

  ViewVC Help
Powered by ViewVC 1.1.22