/[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.6 by jmc, Fri Dec 17 04:59:48 2004 UTC revision 1.9 by jmc, Sun Jun 25 22:31:02 2006 UTC
# Line 49  C--   Th-Sea-ICE parameter Line 49  C--   Th-Sea-ICE parameter
49       &  cpice, cpwater,       &  cpice, cpwater,
50       &  kice, ksnow,       &  kice, ksnow,
51       &  transcoef, Lfresh, qsnow,       &  transcoef, Lfresh, qsnow,
52       &  albColdSnow, albWarmSnow, albOldSnow, hNewSnowAge,       &  albColdSnow, albWarmSnow, albOldSnow,
53         &  hNewSnowAge, snowAgTime,
54       &  albIceMax, albIceMin, hAlbIce, hAlbSnow,       &  albIceMax, albIceMin, hAlbIce, hAlbSnow,
55       &  i0, ksolar,       &  i0, ksolar,
56       &  saltice, S_winton, mu_Tf,       &  saltice, S_winton, mu_Tf,
# Line 57  C--   Th-Sea-ICE parameter Line 58  C--   Th-Sea-ICE parameter
58       &  himin, Terrmax, nitMaxTsf, hiMax, hsMax,       &  himin, Terrmax, nitMaxTsf, hiMax, hsMax,
59       &  iceMaskmax, iceMaskmin, himin0,       &  iceMaskmax, iceMaskmin, himin0,
60       &  frac_energy, hihig       &  frac_energy, hihig
61    
62        NAMELIST /THSICE_PARM01/        NAMELIST /THSICE_PARM01/
63       &         startIceModel, stepFwd_oceMxL,       &     startIceModel, stepFwd_oceMxL,
64       &         thSIce_deltaT, ocean_deltaT, tauRelax_MxL,       &     thSIce_deltaT, ocean_deltaT, tauRelax_MxL,
65       &         hMxL_default, sMxL_default, vMxL_default,       &     hMxL_default, sMxL_default, vMxL_default,
66       &         stressReduction,       &     stressReduction,
67       &         thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq,       &     thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq,
68  c    &         thSIce_tave_mnc, thSIce_diag_mnc, thSIce_mon_mnc,       &     thSIce_tave_mnc, thSIce_snapshot_mnc, thSIce_mon_mnc,
69       &                                           thSIce_mon_mnc,       &     thSIce_pickup_read_mnc, thSIce_pickup_write_mnc,
70       &         thSIceFract_InitFile, thSIceThick_InitFile,       &     thSIceFract_InitFile, thSIceThick_InitFile,
71       &         thSIceSnowH_InitFile, thSIceSnowA_InitFile,       &     thSIceSnowH_InitFile, thSIceSnowA_InitFile,
72       &         thSIceEnthp_InitFile, thSIceTsurf_InitFile       &     thSIceEnthp_InitFile, thSIceTsurf_InitFile
73    
74        _BEGIN_MASTER(myThid)        _BEGIN_MASTER(myThid)
75    
76        WRITE(msgBuf,'(A)') ' THSICE_READPARMS: opening data.ice'        WRITE(msgBuf,'(A)') ' THSICE_READPARMS: opening data.ice'
77        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
78       &                    SQUEEZE_RIGHT , 1)       &                    SQUEEZE_RIGHT , 1)
79        
80        CALL OPEN_COPY_DATA_FILE(        CALL OPEN_COPY_DATA_FILE(
81       I                          'data.ice', 'THSICE_READPARMS',       I                          'data.ice', 'THSICE_READPARMS',
82       O                          iUnit,       O                          iUnit,
# Line 101  C--   Default values (constants) Line 102  C--   Default values (constants)
102        hAlbIce    = 0.50 _d 0        hAlbIce    = 0.50 _d 0
103        hAlbSnow   = 0.30 _d 0        hAlbSnow   = 0.30 _d 0
104        hNewSnowAge= 2. _d -3        hNewSnowAge= 2. _d -3
105          snowAgTime = 50. _d 0 * 86400. _d 0
106        i0       = 0.3 _d 0        i0       = 0.3 _d 0
107        ksolar   = 1.5 _d 0        ksolar   = 1.5 _d 0
108        saltice  = 4. _d 0        saltice  = 4. _d 0
# Line 128  C--   Default values (parameters) Line 130  C--   Default values (parameters)
130        sMxL_default    = 35. _d 0        sMxL_default    = 35. _d 0
131        vMxL_default    = 5. _d -2        vMxL_default    = 5. _d -2
132        stressReduction = 1. _d 0        stressReduction = 1. _d 0
133        thSIce_taveFreq = taveFreq        IF ( useSEAICE ) stressReduction = 0. _d 0
134          thSIce_taveFreq = taveFreq
135        thSIce_diagFreq = dumpFreq        thSIce_diagFreq = dumpFreq
136        thSIce_monFreq  = monitorFreq        thSIce_monFreq  = monitorFreq
137  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
138        thSIce_tave_mnc = timeave_mnc        thSIce_tave_mnc     = timeave_mnc
139        thSIce_diag_mnc = snapshot_mnc        thSIce_snapshot_mnc = snapshot_mnc
140        thSIce_mon_mnc  = monitor_mnc        thSIce_mon_mnc      = monitor_mnc
141          thSIce_pickup_read_mnc  = pickup_read_mnc
142          thSIce_pickup_write_mnc = pickup_write_mnc
143  #else  #else
144        thSIce_tave_mnc = .FALSE.        thSIce_tave_mnc     = .FALSE.
145        thSIce_diag_mnc = .FALSE.        thSIce_snapshot_mnc = .FALSE.
146        thSIce_mon_mnc  = .FALSE.        thSIce_mon_mnc      = .FALSE.
147          thSIce_pickup_read_mnc  = .FALSE.
148          thSIce_pickup_write_mnc = .FALSE.
149  #endif  #endif
150        thSIceFract_InitFile = ' '        thSIceFract_InitFile = ' '
151        thSIceThick_InitFile = ' '        thSIceThick_InitFile = ' '
# Line 166  C-    Define other constants (from previ Line 173  C-    Define other constants (from previ
173        Tmlt1=-mu_Tf*S_winton        Tmlt1=-mu_Tf*S_winton
174        rhoiw = rhosw - rhoi        rhoiw = rhosw - rhoi
175    
176  C-    Set other parameters (from previous ones):  C     Set I/O parameters
177        thSIce_tave_mdsio = .TRUE.        thSIce_tave_mdsio     = .TRUE.
178        thSIce_diag_mdsio = .TRUE.        thSIce_snapshot_mdsio = .TRUE.
179        thSIce_mon_stdio  = .TRUE.        thSIce_mon_stdio      = .TRUE.
180          thSIce_pickup_write_mdsio = .TRUE.
181  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
182        IF (useMNC) THEN        IF (useMNC) THEN
 C-------  
 C-    MNC not yet available in this package => turn off MNC flags for now  
         thSIce_tave_mnc = .FALSE.  
         thSIce_diag_mnc = .FALSE.  
 C-------  
183          IF ( .NOT.outputTypesInclusive          IF ( .NOT.outputTypesInclusive
184       &       .AND. thSIce_tave_mnc ) thSIce_tave_mdsio = .FALSE.       &       .AND. thSIce_tave_mnc ) thSIce_tave_mdsio = .FALSE.
185          IF ( .NOT.outputTypesInclusive          IF ( .NOT.outputTypesInclusive
186       &       .AND. thSIce_diag_mnc ) thSIce_diag_mdsio = .FALSE.       &       .AND. thSIce_snapshot_mnc )
187         &       thSIce_snapshot_mdsio = .FALSE.
188          IF ( .NOT.outputTypesInclusive          IF ( .NOT.outputTypesInclusive
189       &       .AND. thSIce_mon_mnc  ) thSIce_mon_stdio  = .FALSE.       &       .AND. thSIce_mon_mnc  ) thSIce_mon_stdio  = .FALSE.
190            IF ( .NOT.outputTypesInclusive
191         &       .AND. thSIce_pickup_write_mnc  )
192         &       thSIce_pickup_write_mdsio = .FALSE.
193        ENDIF        ENDIF
194  #endif  #endif
195    
196    C--   Check parameter consistency:
197          IF ( useSEAICE .AND. stressReduction.NE.0. _d 0 ) THEN
198    C--     If useSEAICE=.true., the stress is computed in seaice_model,
199    C--     so that it does not need any further reduction
200            WRITE(msgBuf,'(2A)')
201         &   'THSICE_READPARMS: if useSEAICE, stress will be computed',
202         &   ' by SEAICE pkg => no reduction'
203            CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
204         &                    SQUEEZE_RIGHT , myThid)
205            WRITE(msgBuf,'(A)')
206         &   'THSICE_READPARMS: WARNING: reset stressReduction to zero'
207            CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
208         &                    SQUEEZE_RIGHT , myThid)
209            stressReduction = 0. _d 0
210          ENDIF
211    
212  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
213        iUnit = standardMessageUnit        iUnit = standardMessageUnit
214  c     CALL MDSFINDUNIT( iUnit, mythid )  c     CALL MDSFINDUNIT( iUnit, mythid )
# Line 205  c     OPEN(iUnit,file='thsice_check_para Line 228  c     OPEN(iUnit,file='thsice_check_para
228        WRITE(iUnit,*) 'ThSI: albColdSnow=',albColdSnow        WRITE(iUnit,*) 'ThSI: albColdSnow=',albColdSnow
229        WRITE(iUnit,*) 'ThSI: albWarmSnow=',albWarmSnow        WRITE(iUnit,*) 'ThSI: albWarmSnow=',albWarmSnow
230        WRITE(iUnit,*) 'ThSI: albOldSnow =',albOldSnow        WRITE(iUnit,*) 'ThSI: albOldSnow =',albOldSnow
       WRITE(iUnit,*) 'ThSI: hNewSnowAge=',hNewSnowAge  
231        WRITE(iUnit,*) 'ThSI: albIceMax =',albIceMax        WRITE(iUnit,*) 'ThSI: albIceMax =',albIceMax
232        WRITE(iUnit,*) 'ThSI: albIceMin =',albIceMin        WRITE(iUnit,*) 'ThSI: albIceMin =',albIceMin
233        WRITE(iUnit,*) 'ThSI: hAlbIce   =',hAlbIce        WRITE(iUnit,*) 'ThSI: hAlbIce   =',hAlbIce
234        WRITE(iUnit,*) 'ThSI: hAlbSnow  =',hAlbSnow        WRITE(iUnit,*) 'ThSI: hAlbSnow  =',hAlbSnow
235          WRITE(iUnit,*) 'ThSI: hNewSnowAge=',hNewSnowAge
236          WRITE(iUnit,*) 'ThSI: snowAgTime =',snowAgTime
237        WRITE(iUnit,*) 'ThSI: i0      =',i0        WRITE(iUnit,*) 'ThSI: i0      =',i0
238        WRITE(iUnit,*) 'ThSI: ksolar  =',ksolar        WRITE(iUnit,*) 'ThSI: ksolar  =',ksolar
239        WRITE(iUnit,*) 'ThSI: saltice =',saltice        WRITE(iUnit,*) 'ThSI: saltice =',saltice

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22