/[MITgcm]/MITgcm/pkg/seaice/seaice_solve4temp.F
ViewVC logotype

Diff of /MITgcm/pkg/seaice/seaice_solve4temp.F

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

revision 1.22 by jmc, Mon Jan 30 20:51:43 2012 UTC revision 1.23 by jmc, Tue Jan 31 15:57:17 2012 UTC
# Line 191  C     ICE LATENT HEAT CONSTANT Line 191  C     ICE LATENT HEAT CONSTANT
191        D1I=SEAICE_dalton*lhSublim*SEAICE_rhoAir        D1I=SEAICE_dalton*lhSublim*SEAICE_rhoAir
192    
193  C     MELTING TEMPERATURE OF ICE  C     MELTING TEMPERATURE OF ICE
 #ifdef SEAICE_SOLVE4TEMP_LEGACY  
       TMELT        = 273.16  _d +00  
       SurfMeltTemp = 273.159 _d +00  
 #else /* SEAICE_SOLVE4TEMP_LEGACY */  
194        TMELT        = celsius2K        TMELT        = celsius2K
195        SurfMeltTemp = TMELT        SurfMeltTemp = TMELT
196    #ifdef SEAICE_SOLVE4TEMP_LEGACY
197    C     old SOLVE4TEMP_LEGACY setting, consistent with former celsius2K value:
198    c     TMELT        = 273.16  _d +00
199    c     SurfMeltTemp = 273.159 _d +00
200          SurfMeltTemp = TMELT - 1. _d -3
201  #endif /* SEAICE_SOLVE4TEMP_LEGACY */  #endif /* SEAICE_SOLVE4TEMP_LEGACY */
202    
203  C     ICE CONDUCTIVITY  C     ICE CONDUCTIVITY
# Line 237  C     Reset the snow/ice surface to TMEL Line 238  C     Reset the snow/ice surface to TMEL
238          A1(I,J) = 0.0 _d 0          A1(I,J) = 0.0 _d 0
239          A2(I,J) = 0.0 _d 0          A2(I,J) = 0.0 _d 0
240          A3(I,J) = 0.0 _d 0          A3(I,J) = 0.0 _d 0
241          tsurfLoc (I,J) = MIN(273.16 _d 0 + MAX_TICE, TSURF(I,J,bi,bj))          tsurfLoc (I,J) = MIN( celsius2K+MAX_TICE, TSURF(I,J,bi,bj) )
242          atempLoc (I,J) = MAX(273.16 _d 0 + MIN_ATEMP,ATEMP(I,J,bi,bj))          atempLoc (I,J) = MAX( celsius2K+MIN_ATEMP, ATEMP(I,J,bi,bj) )
243          lwdownLoc(I,J) = MAX( MIN_LWDOWN, LWDOWN(I,J,bi,bj) )          lwdownLoc(I,J) = MAX( MIN_LWDOWN, LWDOWN(I,J,bi,bj) )
244  #else /* SEAICE_SOLVE4TEMP_LEGACY */  #else /* SEAICE_SOLVE4TEMP_LEGACY */
245          F_lwu    (I,J) = 0. _d 0          F_lwu    (I,J) = 0. _d 0
# Line 255  C     Use a variable seawater freezing p Line 256  C     Use a variable seawater freezing p
256       &       + celsius2K       &       + celsius2K
257  #else  #else
258  C     Use a constant freezing temperature (SEAICE_VARIABLE_FREEZING_POINT undef)  C     Use a constant freezing temperature (SEAICE_VARIABLE_FREEZING_POINT undef)
259  #ifdef SEAICE_SOLVE4TEMP_LEGACY  C     old SOLVE4TEMP_LEGACY setting (not consistent with seaice_growth value)
260          TB(I,J) = 271.2 _d 0  c       TB(I,J) = 271.2 _d 0
 #else /* SEAICE_SOLVE4TEMP_LEGACY */  
261          TB(I,J) = celsius2K + SEAICE_freeze          TB(I,J) = celsius2K + SEAICE_freeze
 #endif /* SEAICE_SOLVE4TEMP_LEGACY */  
262  #endif /* SEAICE_VARIABLE_FREEZING_POINT */  #endif /* SEAICE_VARIABLE_FREEZING_POINT */
263          IF(HSNOW_ACTUAL(I,J).GT.0.0) THEN          IF(HSNOW_ACTUAL(I,J).GT.0.0) THEN
264  C     Stefan-Boltzmann constant times emissivity  C     Stefan-Boltzmann constant times emissivity
# Line 472  C     Update tsurfLoc Line 471  C     Update tsurfLoc
471  C     update tsurf as solution of : Fc = A2 - A1 + A3 *delta.tsurf  C     update tsurf as solution of : Fc = A2 - A1 + A3 *delta.tsurf
472            tsurfLoc(I,J)=tsurfLoc(I,J)            tsurfLoc(I,J)=tsurfLoc(I,J)
473       &         +(A1(I,J)-A2(I,J)+F_c(I,J))/A3(I,J)       &         +(A1(I,J)-A2(I,J)+F_c(I,J))/A3(I,J)
474            tsurfLoc(I,J) = MAX( 273.16 _d 0+MIN_TICE, tsurfLoc(I,J) )            tsurfLoc(I,J) = MAX( celsius2K+MIN_TICE, tsurfLoc(I,J) )
475    
476  #else /* SEAICE_SOLVE4TEMP_LEGACY */  #else /* SEAICE_SOLVE4TEMP_LEGACY */
477            tsurfLoc(I,J) = tsurfLoc(I,J) - F_ia(I,J) / dFiDTs1            tsurfLoc(I,J) = tsurfLoc(I,J) - F_ia(I,J) / dFiDTs1

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.23

  ViewVC Help
Powered by ViewVC 1.1.22