/[MITgcm]/MITgcm/pkg/streamice/streamice_readparms.F
ViewVC logotype

Diff of /MITgcm/pkg/streamice/streamice_readparms.F

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

revision 1.8 by jmc, Fri Sep 12 22:46:06 2014 UTC revision 1.13 by dgoldberg, Tue Jun 30 11:20:05 2015 UTC
# Line 19  C     !USES: Line 19  C     !USES:
19  #include "PARAMS.h"  #include "PARAMS.h"
20  #include "STREAMICE.h"  #include "STREAMICE.h"
21  #include "STREAMICE_BDRY.h"  #include "STREAMICE_BDRY.h"
22  #ifdef ALLOW_STREAMICE_FLUX_CONTROL  !#ifdef ALLOW_STREAMICE_FLUX_CONTROL
23  #include "STREAMICE_CTRL_FLUX.h"  !#include "STREAMICE_CTRL_FLUX.h"
24  #endif  !#endif
25    
26  C     !INPUT PARAMETERS:  C     !INPUT PARAMETERS:
27        INTEGER myThid        INTEGER myThid
# Line 37  C     iUnit      :: Work variable for IO Line 37  C     iUnit      :: Work variable for IO
37    
38        NAMELIST /STREAMICE_PARM01/        NAMELIST /STREAMICE_PARM01/
39       &     streamice_density, streamice_density_ocean_avg,       &     streamice_density, streamice_density_ocean_avg,
40         &     streamice_density_firn,
41       &     B_glen_isothermal, n_glen, eps_glen_min, eps_u_min,       &     B_glen_isothermal, n_glen, eps_glen_min, eps_u_min,
42       &     C_basal_fric_const, n_basal_friction,       &     C_basal_fric_const, n_basal_friction,
43       &     streamice_vel_update,streamice_cg_tol,streamice_nonlin_tol,       &     streamice_vel_update,streamice_cg_tol,streamice_nonlin_tol,
# Line 83  C     iUnit      :: Work variable for IO Line 84  C     iUnit      :: Work variable for IO
84       &     STREAMICEvNormalTimeDepFile,       &     STREAMICEvNormalTimeDepFile,
85       &     STREAMICEuShearTimeDepFile,       &     STREAMICEuShearTimeDepFile,
86       &     STREAMICEvShearTimeDepFile,       &     STREAMICEvShearTimeDepFile,
87         &     STREAMICEuFluxTimeDepFile, STREAMICEvFluxTimeDepFile,
88       &     STREAMICEGlenConstFile, STREAMICEGlenConstConfig,       &     STREAMICEGlenConstFile, STREAMICEGlenConstConfig,
89       &     STREAMICE_ppm_driving_stress,       &     STREAMICE_ppm_driving_stress,
90       &     STREAMICE_h_ctrl_const_surf,       &     STREAMICE_h_ctrl_const_surf,
# Line 91  C     iUnit      :: Work variable for IO Line 93  C     iUnit      :: Work variable for IO
93       &     streamice_addl_backstress,       &     streamice_addl_backstress,
94       &     streamice_smooth_gl_width,       &     streamice_smooth_gl_width,
95       &     streamice_adot_uniform,       &     streamice_adot_uniform,
96         &     streamice_firn_correction,
97         &     STREAMICE_apply_firn_correction,
98       &     STREAMICE_ADV_SCHEME, streamice_forcing_period,       &     STREAMICE_ADV_SCHEME, streamice_forcing_period,
99       &     STREAMICE_chkfixedptconvergence,       &     STREAMICE_chkfixedptconvergence,
100       &     STREAMICE_chkresidconvergence,       &     STREAMICE_chkresidconvergence,
# Line 105  C     iUnit      :: Work variable for IO Line 109  C     iUnit      :: Work variable for IO
109    
110  #ifdef ALLOW_PETSC  #ifdef ALLOW_PETSC
111        NAMELIST /STREAMICE_PARMPETSC/        NAMELIST /STREAMICE_PARMPETSC/
112       &     PETSC_PRECOND_TYPE, PETSC_SOLVER_TYPE       &     PETSC_PRECOND_TYPE, PETSC_SOLVER_TYPE,
113         &     streamice_use_petsc
114  #endif  #endif
115    
116  #ifdef ALLOW_STREAMICE_FLUX_CONTROL  #if (defined (ALLOW_OPENAD) && defined (ALLOW_STREAMICE_OAD_FP))
117        NAMELIST /STREAMICE_PARMFLUXCTRL/        NAMELIST /STREAMICE_PARMOAD/
118       &     n_fluxes, n_epochs,       &     streamice_nonlin_tol_adjoint
119       &     streamice_ctrl_flux_id,  #ifdef ALLOW_PETSC
120       &     streamice_ctrl_flux_scaleVel       &     ,STREAMICE_OAD_petsc_reuse,
121         &     PETSC_PRECOND_OAD
122    #endif
123  #endif  #endif
124    
125    !#ifdef ALLOW_STREAMICE_FLUX_CONTROL
126    !      NAMELIST /STREAMICE_PARMFLUXCTRL/
127    !     &     n_fluxes, n_epochs,
128    !     &     streamice_ctrl_flux_id,
129    !     &     streamice_ctrl_flux_scaleVel
130    !#endif
131    
132        NAMELIST /STREAMICE_PARM02/        NAMELIST /STREAMICE_PARM02/
133       &     shelf_max_draft,       &     shelf_max_draft,
134       &     shelf_min_draft,       &     shelf_min_draft,
# Line 171  C--   Default values for STREAMICE Line 185  C--   Default values for STREAMICE
185    
186        streamice_density = 917.        streamice_density = 917.
187        streamice_density_ocean_avg = 1024.        streamice_density_ocean_avg = 1024.
188          streamice_density_firn = streamice_density  
189        B_glen_isothermal = 9.461e-18   !  Pa (-1/3) a        B_glen_isothermal = 9.461e-18   !  Pa (-1/3) a
190        n_glen = 3.        n_glen = 3.
191        eps_glen_min = 1.0e-12        eps_glen_min = 1.0e-12
# Line 181  C--   Default values for STREAMICE Line 196  C--   Default values for STREAMICE
196        streamice_cg_tol = 1e-6        streamice_cg_tol = 1e-6
197        streamice_nonlin_tol = 1e-6        streamice_nonlin_tol = 1e-6
198        streamice_nonlin_tol_fp = 1.e-14        streamice_nonlin_tol_fp = 1.e-14
199    #if (defined (ALLOW_OPENAD) && defined (ALLOW_STREAMICE_OAD_FP))
200          streamice_nonlin_tol_adjoint = 1.e-14
201    #ifdef ALLOW_PETSC
202          PETSC_PRECOND_OAD = 'MUMPS'
203          STREAMICE_OAD_petsc_reuse =.false.
204    #endif
205    #endif
206        streamice_max_cg_iter = 2000        streamice_max_cg_iter = 2000
207        streamice_max_nl_iter = 100        streamice_max_nl_iter = 100
208        streamice_maxcgiter_cpl = 0        streamice_maxcgiter_cpl = 0
# Line 201  C--   Default values for STREAMICE Line 223  C--   Default values for STREAMICE
223        streamice_smooth_gl_width = 0.0        streamice_smooth_gl_width = 0.0
224        streamice_adot_uniform = 0.0        streamice_adot_uniform = 0.0
225        streamice_forcing_period = 0        streamice_forcing_period = 0
226          streamice_firn_correction = 0.
227          STREAMICE_apply_firn_correction = .false.
228          
229        STREAMICEthickInit = 'FILE'        STREAMICEthickInit = 'FILE'
230        STREAMICEthickFile = ' '        STREAMICEthickFile = ' '
231        STREAMICEcalveMaskFile = ' '        STREAMICEcalveMaskFile = ' '
# Line 225  C--   Default values for STREAMICE Line 249  C--   Default values for STREAMICE
249        STREAMICEvNormalTimeDepFile = ' '        STREAMICEvNormalTimeDepFile = ' '
250        STREAMICEuShearTimeDepFile = ' '        STREAMICEuShearTimeDepFile = ' '
251        STREAMICEvShearTimeDepFile = ' '        STREAMICEvShearTimeDepFile = ' '
252          STREAMICEuFluxTimeDepFile = ' '
253          STREAMICEvFluxTimeDepFile = ' '
254    
255  #ifdef ALLOW_STREAMICE_2DTRACER  #ifdef ALLOW_STREAMICE_2DTRACER
256        STREAMICETrac2DBCxFile = ''        STREAMICETrac2DBCxFile = ''
# Line 243  C--   Default values for STREAMICE Line 269  C--   Default values for STREAMICE
269  #ifdef ALLOW_PETSC  #ifdef ALLOW_PETSC
270        PETSC_PRECOND_TYPE = 'PCBJACOBI'        PETSC_PRECOND_TYPE = 'PCBJACOBI'
271        PETSC_SOLVER_TYPE = 'KSPCG'        PETSC_SOLVER_TYPE = 'KSPCG'
272          streamice_use_petsc = .true.
273  #endif  #endif
274        STREAMICE_ADV_SCHEME = ''        STREAMICE_ADV_SCHEME = ''
275    
276  #ifdef ALLOW_STREAMICE_FLUX_CONTROL  !#ifdef ALLOW_STREAMICE_FLUX_CONTROL
277        n_fluxes = 0  !      n_fluxes = 0
278        n_epochs = 0  !      n_epochs = 0
279        DO iarr=1,n_fluxes_max  !      DO iarr=1,n_fluxes_max
280         streamice_ctrl_flux_id(iarr) = 0  !       streamice_ctrl_flux_id(iarr) = 0
281         DO tarr=1,n_epochs_max  !       DO tarr=1,n_epochs_max
282          streamice_ctrl_flux_scaleVel(iarr,tarr) = 0. _d 0  !        streamice_ctrl_flux_scaleVel(iarr,tarr) = 0. _d 0
283         ENDDO  !       ENDDO
284        ENDDO  !      ENDDO
285  #endif  !#endif
286    
287        STREAMICE_tave_mdsio = .TRUE.        STREAMICE_tave_mdsio = .TRUE.
288        STREAMICE_dump_mdsio = .TRUE.        STREAMICE_dump_mdsio = .TRUE.
# Line 358  C     Read parameters from open data fil Line 385  C     Read parameters from open data fil
385       &    SQUEEZE_RIGHT , 1)       &    SQUEEZE_RIGHT , 1)
386  #endif  #endif
387    
388        READ(UNIT=iUnit,NML=STREAMICE_PARM03)  #if (defined (ALLOW_OPENAD) && defined (ALLOW_STREAMICE_OAD_FP))
389          READ(UNIT=iUnit,NML=STREAMICE_PARMOAD)
390        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
391       &    'STREAMICE_READPARMS: read third param block'       &    'STREAMICE_READPARMS: read oad parm block'
392        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
393       &    SQUEEZE_RIGHT , 1)       &    SQUEEZE_RIGHT , 1)
394        CLOSE(iUnit)  #endif
   
 #ifdef ALLOW_STREAMICE_FLUX_CONTROL  
   
       CALL OPEN_COPY_DATA_FILE(  
      I                     'data.strmctrlflux', 'STREAMICE_READPARMS',  
      O                     iUnit,  
      I                     myThid )  
395    
396        READ(UNIT=iUnit,NML=STREAMICE_PARMFLUXCTRL)        READ(UNIT=iUnit,NML=STREAMICE_PARM03)
397        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
398       &    'STREAMICE_READPARMS: read flux_ctrl param block'       &    'STREAMICE_READPARMS: read third param block'
399        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
400       &    SQUEEZE_RIGHT , 1)       &    SQUEEZE_RIGHT , 1)
401        CLOSE(iUnit)        CLOSE(iUnit)
402  #endif  
403    !#ifdef ALLOW_STREAMICE_FLUX_CONTROL
404    !
405    !      CALL OPEN_COPY_DATA_FILE(
406    !     I                     'data.strmctrlflux', 'STREAMICE_READPARMS',
407    !     O                     iUnit,
408    !     I                     myThid )
409    !
410    !      READ(UNIT=iUnit,NML=STREAMICE_PARMFLUXCTRL)
411    !      WRITE(msgBuf,'(A)')
412    !     &    'STREAMICE_READPARMS: read flux_ctrl param block'
413    !      CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
414    !     &    SQUEEZE_RIGHT , 1)
415    !      CLOSE(iUnit)
416    !#endif
417    
418        streamice_nstep_velocity = NINT (streamice_vel_update / deltaT)        streamice_nstep_velocity = NINT (streamice_vel_update / deltaT)
419    

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

  ViewVC Help
Powered by ViewVC 1.1.22