/[MITgcm]/MITgcm_contrib/dgoldberg/streamice/streamice_init_varia.F
ViewVC logotype

Diff of /MITgcm_contrib/dgoldberg/streamice/streamice_init_varia.F

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

revision 1.10 by dgoldberg, Wed Jan 9 21:56:18 2013 UTC revision 1.16 by dgoldberg, Wed Jun 12 20:48:08 2013 UTC
# Line 45  CEOP Line 45  CEOP
45    
46  C     ZERO OUT FLOATING POINT ARRAYS  C     ZERO OUT FLOATING POINT ARRAYS
47    
48    
49        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
50         DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
51          DO j=1-Oly,sNy+Oly          DO j=1-Oly,sNy+Oly
# Line 60  C     ZERO OUT FLOATING POINT ARRAYS Line 61  C     ZERO OUT FLOATING POINT ARRAYS
61            area_shelf_streamice(i,j,bi,bj) = 0. _d 0            area_shelf_streamice(i,j,bi,bj) = 0. _d 0
62            mass_ice_streamice(i,j,bi,bj) = 0. _d 0            mass_ice_streamice(i,j,bi,bj) = 0. _d 0
63            BDOT_streamice(i,j,bi,bj) = 0. _d 0            BDOT_streamice(i,j,bi,bj) = 0. _d 0
64            ADOT_streamice(i,j,bi,bj) = 0. _d 0            ADOT_streamice(i,j,bi,bj) = streamice_adot_uniform
65  !           C_basal_friction(i,j,bi,bj) = C_basal_fric_const            C_basal_friction(i,j,bi,bj) = C_basal_fric_const
66  !           A_glen(i,j,bi,bj) = A_glen_isothermal            B_glen(i,j,bi,bj) = B_glen_isothermal
67            H_streamice_prev(i,j,bi,bj) = 0. _d 0            H_streamice_prev(i,j,bi,bj) = 0. _d 0
68    #ifdef ALLOW_STREAMICE_2DTRACER
69    #ifdef STREAMICE_TRACER_AB
70             GAD_trac_2d (i,j,bi,bj) = 0. _d 0
71    !         GAD_trac_2dNm1 (i,j,bi,bj) = 0. _d 0
72    #endif
73    #endif
74  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
75            ru_old_si(i,j,bi,bj) = 0. _d 0            ru_old_si(i,j,bi,bj) = 0. _d 0
76            rv_old_si(i,j,bi,bj) = 0. _d 0            rv_old_si(i,j,bi,bj) = 0. _d 0
77            zu_old_si(i,j,bi,bj) = 0. _d 0            zu_old_si(i,j,bi,bj) = 0. _d 0
78            zv_old_si(i,j,bi,bj) = 0. _d 0            zv_old_si(i,j,bi,bj) = 0. _d 0
79            h_after_uflux_SI(i,j,bi,bj) = 0. _d 0  !          h_after_uflux_SI(i,j,bi,bj) = 0. _d 0
80  #endif  #endif
81  #ifdef USE_ALT_RLOW  #ifdef USE_ALT_RLOW
82            R_low_si(i,j,bi,bj) = 0. _d 0            R_low_si(i,j,bi,bj) = 0. _d 0
# Line 132  C     INIT. INTEGER ARRAYS Line 139  C     INIT. INTEGER ARRAYS
139    
140  #ifdef USE_ALT_RLOW  #ifdef USE_ALT_RLOW
141  ! init alternate array for topog  ! init alternate array for topog
142        IF ( bathyFile .NE. ' ' ) THEN        IF ( STREAMICEtopogFile .NE. ' ' ) THEN
143          _BARRIER          _BARRIER
144  C The 0 is the "iteration" argument. The ' ' is an empty suffix  C The 0 is the "iteration" argument. The ' ' is an empty suffix
145         CALL READ_FLD_XY_RS( bathyFile, '',         CALL READ_FLD_XY_RS( STREAMICEtopogFile, '',
146       &      R_low_si, 0, myThid )       &      R_low_si, 0, myThid )
147                
148        ELSE        ELSE
# Line 232  C The 0 is the "iteration" argument. The Line 239  C The 0 is the "iteration" argument. The
239                STREAMICE_hmask(i,j,bi,bj) = 0. _d 0                STREAMICE_hmask(i,j,bi,bj) = 0. _d 0
240               ENDIF               ENDIF
241               Do k=1,Nr               Do k=1,Nr
242               STREAMICE_ctrl_mask(i,j,bi,bj,k) = 1. _d 0               STREAMICE_ctrl_mask(i,j,k,bi,bj) = 1. _d 0
243               enddo               enddo
244              ENDIF              ENDIF
245             ENDDO             ENDDO
# Line 281  C The 0 is the "iteration" argument. The Line 288  C The 0 is the "iteration" argument. The
288    
289  ! finish initialize thickness  ! finish initialize thickness
290    
291  ! initialize basal traction  ! initialize glen constant
292    
293        IF ( STREAMICEbasalTracConfig.EQ.'FILE' ) THEN        IF ( STREAMICEGlenConstConfig.EQ.'FILE' ) THEN
294    
295         IF ( STREAMICEbasalTracFile .NE. ' ' ) THEN         IF ( STREAMICEGlenConstFile .NE. ' ' ) THEN
296          _BARRIER          _BARRIER
297  C The 0 is the "iteration" argument. The ' ' is an empty suffix  
298          CALL READ_FLD_XY_RL( STREAMICEbasalTracFile, ' ',          CALL READ_FLD_XY_RL( STREAMICEGlenConstFile, ' ',
299       &      C_basal_friction, 0, myThid )       &      B_glen, 0, myThid )
300    
301         ELSE         ELSE
302          WRITE(msgBuf,'(A)') 'INIT THICKNESS - FILENAME MISSING'          WRITE(msgBuf,'(A)') 'INIT GLEN - FILENAME MISSING'
303          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
304       &                    SQUEEZE_RIGHT , 1)       &                    SQUEEZE_RIGHT , 1)
305         ENDIF         ENDIF
306                
307        ELSE IF (STREAMICEbasalTracConfig.EQ.'UNIFORM' ) THEN        ELSE IF (STREAMICEGlenConstConfig.EQ.'UNIFORM' ) THEN
308    
309          DO bj = myByLo(myThid), myByHi(myThid)          DO bj = myByLo(myThid), myByHi(myThid)
310           DO bi = myBxLo(myThid), myBxHi(myThid)           DO bi = myBxLo(myThid), myBxHi(myThid)
311            DO j=1,sNy            DO j=1,sNy
312             DO i=1,sNx             DO i=1,sNx
313              A_glen(i,j,bi,bj) = A_glen_isothermal              B_glen(i,j,bi,bj) = B_glen_isothermal
314             ENDDO             ENDDO
315            ENDDO            ENDDO
316           ENDDO           ENDDO
# Line 316  C The 0 is the "iteration" argument. The Line 323  C The 0 is the "iteration" argument. The
323         STOP 'ABNORMAL END: S/R STREAMICE_INIT_VAR'         STOP 'ABNORMAL END: S/R STREAMICE_INIT_VAR'
324        ENDIF        ENDIF
325    
326  ! initialize glen constant  ! finish initialize glen constant
327    
328        IF ( STREAMICEGlenConstConfig.EQ.'FILE' ) THEN  ! initialize basal traction
329    
330         IF ( STREAMICEGlenConstFile .NE. ' ' ) THEN        IF ( STREAMICEbasalTracConfig.EQ.'FILE' ) THEN
331    
332           IF ( STREAMICEbasalTracFile .NE. ' ' ) THEN
333          _BARRIER          _BARRIER
334  C The 0 is the "iteration" argument. The ' ' is an empty suffix  
335          CALL READ_FLD_XY_RL( STREAMICEGlenConstFile, ' ',          CALL READ_FLD_XY_RL( STREAMICEbasalTracFile, ' ',
336       &      A_glen, 0, myThid )       &      C_basal_friction, 0, myThid )
337    
338         ELSE         ELSE
339          WRITE(msgBuf,'(A)') 'INIT THICKNESS - FILENAME MISSING'          WRITE(msgBuf,'(A)') 'INIT C_BASAL - FILENAME MISSING'
340          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
341       &                    SQUEEZE_RIGHT , 1)       &                    SQUEEZE_RIGHT , 1)
342         ENDIF         ENDIF
# Line 348  C The 0 is the "iteration" argument. The Line 357  C The 0 is the "iteration" argument. The
357                            
358         lenx = sNx*nSx*nPx*delX(1)         lenx = sNx*nSx*nPx*delX(1)
359         leny = sNy*nSy*nPy*delY(1)         leny = sNy*nSy*nPy*delY(1)
        print *, 'lenx', lenx  
        print *, 'leny', leny  
360         DO bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
361          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
362           DO j=1,sNy           DO j=1,sNy
# Line 368  C The 0 is the "iteration" argument. The Line 375  C The 0 is the "iteration" argument. The
375        ELSE IF (STREAMICEbasalTracConfig.EQ.'1DPERIODIC' ) THEN        ELSE IF (STREAMICEbasalTracConfig.EQ.'1DPERIODIC' ) THEN
376                            
377         lenx = sNx*nSx*nPx*delX(1)         lenx = sNx*nSx*nPx*delX(1)
        print *, 'lenx', lenx  
378         DO bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
379          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
380           DO j=1,sNy           DO j=1,sNy
# Line 390  C The 0 is the "iteration" argument. The Line 396  C The 0 is the "iteration" argument. The
396         STOP 'ABNORMAL END: S/R STREAMICE_INIT_VAR'         STOP 'ABNORMAL END: S/R STREAMICE_INIT_VAR'
397        ENDIF        ENDIF
398    
399  ! finish initialize glen  ! finish initialize basal trac
400    
401    #ifdef ALLOW_STREAMICE_2DTRACER
402    
403          IF ( STREAMICETRAC2DINITFILE .NE. ' ' ) THEN
404             _BARRIER
405    
406            CALL READ_FLD_XY_RL( STREAMICETRAC2dInitFile, ' ',
407         &      trac2d, 0, myThid )
408    
409           ELSE
410            WRITE(msgBuf,'(A)') 'TRAC2dInit - NO FILE SPECIFIED'
411            CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
412         &                    SQUEEZE_RIGHT , 1)
413            DO bj = myByLo(myThid), myByHi(myThid)
414             DO bi = myBxLo(myThid), myBxHi(myThid)
415              DO j=1,sNy
416               DO i=1,sNx
417                trac2d(i,j,bi,bj) = 0.0
418               ENDDO
419              ENDDO
420             ENDDO
421            ENDDO
422    
423           ENDIF
424    
425          _EXCH_XY_RL (trac2d, myThid)
426    
427    
428    #endif /*STREAMICE_ALLOW_2DTRACER*/
429    
430        CALL STREAMICE_UPD_FFRAC_UNCOUPLED ( myThid )        CALL STREAMICE_UPD_FFRAC_UNCOUPLED ( myThid )
431    
# Line 398  C The 0 is the "iteration" argument. The Line 433  C The 0 is the "iteration" argument. The
433        _EXCH_XY_RL(STREAMICE_hmask, myThid )        _EXCH_XY_RL(STREAMICE_hmask, myThid )
434        _EXCH_XY_RL(area_shelf_streamice, myThid )        _EXCH_XY_RL(area_shelf_streamice, myThid )
435        _EXCH_XY_RL(C_basal_friction, myThid )        _EXCH_XY_RL(C_basal_friction, myThid )
436          _EXCH_XY_RL(B_glen, myThid )
437  #ifdef USE_ALT_RLOW  #ifdef USE_ALT_RLOW
438        _EXCH_XY_RL(R_low_si, myThid )        _EXCH_XY_RL(R_low_si, myThid )
439  #endif  #endif
# Line 422  C The 0 is the "iteration" argument. The Line 458  C The 0 is the "iteration" argument. The
458                
459        CALL WRITE_FLD_XY_RL ( "C_basal_fric", "",        CALL WRITE_FLD_XY_RL ( "C_basal_fric", "",
460       & C_basal_friction, 0, myThid )       & C_basal_friction, 0, myThid )
461          CALL WRITE_FLD_XY_RL ( "B_glen_sqrt", "",
462         & B_glen, 0, myThid )
463        CALL WRITE_FLD_XY_RL ( "H_streamice", "init",        CALL WRITE_FLD_XY_RL ( "H_streamice", "init",
464       & H_streamIce, 0, myThid )       & H_streamIce, 0, myThid )
465    #ifdef ALLOW_STREAMICE_2DTRACER
466          CALL WRITE_FLD_XY_RL ( "2DTracer", "init",
467         & trac2d, 0, myThid )
468    #endif
469        CALL WRITE_FLD_XY_RL ( "area_shelf_streamice", "init",        CALL WRITE_FLD_XY_RL ( "area_shelf_streamice", "init",
470       & area_shelf_streamice, 0, myThid )       & area_shelf_streamice, 0, myThid )
471        CALL WRITE_FLD_XY_RL ( "STREAMICE_hmask", "init",        CALL WRITE_FLD_XY_RL ( "STREAMICE_hmask", "init",
# Line 450  C The 0 is the "iteration" argument. The Line 492  C The 0 is the "iteration" argument. The
492  !       CALL WRITE_FULLARRAY_RL ("H",H_streamice,1,0,0,1,0,myThid)  !       CALL WRITE_FULLARRAY_RL ("H",H_streamice,1,0,0,1,0,myThid)
493  !       CALL WRITE_FULLARRAY_RL ("hmask",STREAMICE_hmask,1,0,0,1,0,myThid)  !       CALL WRITE_FULLARRAY_RL ("hmask",STREAMICE_hmask,1,0,0,1,0,myThid)
494  !       CALL WRITE_FULLARRAY_RL ("umask",STREAMICE_umask,1,0,0,1,0,myThid)  !       CALL WRITE_FULLARRAY_RL ("umask",STREAMICE_umask,1,0,0,1,0,myThid)
495    
496    
497                
498  #endif /* ALLOW_STREAMICE */  #endif /* ALLOW_STREAMICE */
499    

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.22