/[MITgcm]/MITgcm_contrib/shelfice_remeshing/CLEAN/code/shelfice_thermodynamics.F
ViewVC logotype

Diff of /MITgcm_contrib/shelfice_remeshing/CLEAN/code/shelfice_thermodynamics.F

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

revision 1.2 by dgoldberg, Mon Dec 7 22:05:50 2015 UTC revision 1.4 by dgoldberg, Tue Jan 19 16:46:55 2016 UTC
# Line 103  C     drKp1, recip_drLoc Line 103  C     drKp1, recip_drLoc
103        _RL drKp1, drKp2, recip_drLoc        _RL drKp1, drKp2, recip_drLoc
104        _RL recip_latentHeat        _RL recip_latentHeat
105        _RL tmpFac        _RL tmpFac
106        _RL SHICEHAF        _RL massMin, mass, mass_eff, DELZ
107        _RL SHC,SHW,SHA        _RL SHA,FACTOR1,FACTOR2,FACTOR3
108          _RL GMSL,ETACOUNT
109  #ifdef SHI_ALLOW_GAMMAFRICT  #ifdef SHI_ALLOW_GAMMAFRICT
110        _RL shiPr, shiSc, shiLo, recip_shiKarman, shiTwoThirds        _RL shiPr, shiSc, shiLo, recip_shiKarman, shiTwoThirds
111        _RL gammaTmoleT, gammaTmoleS, gammaTurb, gammaTurbConst        _RL gammaTmoleT, gammaTmoleS, gammaTurb, gammaTurbConst
# Line 729  C     endif (not) useISOMIPTD Line 730  C     endif (not) useISOMIPTD
730    
731  C--  Calculate new loading anomaly (in case the ice-shelf mass was updated)  C--  Calculate new loading anomaly (in case the ice-shelf mass was updated)
732  #ifndef ALLOW_AUTODIFF  #ifndef ALLOW_AUTODIFF
733  c     IF ( SHELFICEloadAnomalyFile .EQ. ' ' ) THEN  
734    
735         DO bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
736          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
737           DO j = 1-OLy, sNy+OLy           DO j = 1-OLy, sNy+OLy
738            DO i = 1-OLx, sNx+OLx            DO i = 1-OLx, sNx+OLx
739  c           shelficeLoadAnomaly(i,j,bi,bj) = gravity             shelficeLoadAnomaly(i,j,bi,bj) = gravity
740  c     &      *( shelficeMass(i,j,bi,bj) + rhoConst*Ro_surf(i,j,bi,bj) )       &      *( shelficeMass(i,j,bi,bj) + rhoConst*Ro_surf(i,j,bi,bj) )
741  #ifdef ALLOW_STREAMICE  #ifdef ALLOW_STREAMICE
 c       IF ( R_shelfice(i,j,bi,bj) .EQ. R_grounding(i,j,bi,bj)  ) THEN  
       
           
          SHICEHAF=(H_streamice(i,j,bi,bj)+R_low(i,j,bi,bj))  
      &         *(streamice_density_ocean_avg/streamice_density)  
     
        SHC=0.1  
        SHW=5  
        SHA=SHC/SQRT(1+(shelficeLoadAnomaly(i,j,bi,bj)*  
      &        shelficeLoadAnomaly(i,j,bi,bj)))  
742    
743            shelficeLoadAnomaly(i,j,bi,bj)=((1-SHA)/2)*tanh(SHW/2+8*            delZ = drF(kLowC(i,j,bi,bj))
744       &      SHICEHAF/SHW)+((1+SHA)/2)            massMin = -1*streamice_density_ocean_avg
745         &         *(R_low(i,j,bi,bj)+hfacMin*delZ)
746              mass = shelficemass(i,j,bi,bj)
747    
748              SHA=massMin/
749         &        SQRT(.01+mass**2)
750    
751              FACTOR1 = (1-sha)/2.
752              FACTOR2 = (1+sha)/2.
753              FACTOR3 = tanh((massMin - mass)*4./delZ)
754    
755              mass_eff=
756         &       (FACTOR1*FACTOR3 + FACTOR2)*mass
757    
758             shelficeLoadAnomaly(i,j,bi,bj) = gravity
759         &      *( mass_eff + rhoConst*Ro_surf(i,j,bi,bj) )
760    
761               EFFMASS(i,j,bi,bj)=mass_eff
762    
 c            ENDIF  
763  #endif /* ALLOW_STREAMICE */  #endif /* ALLOW_STREAMICE */
764    
765            ENDDO            ENDDO
766           ENDDO           ENDDO
767          ENDDO          ENDDO
768         ENDDO         ENDDO
769  c     ENDIF  
770    
771  #endif /* ndef ALLOW_AUTODIFF */  #endif /* ndef ALLOW_AUTODIFF */
772    
773  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
# Line 789  C     Friction velocity Line 797  C     Friction velocity
797        ENDIF        ENDIF
798          CALL DIAGNOSTICS_FILL(R_shelfice,'SHI_Rshelfice',          CALL DIAGNOSTICS_FILL(R_shelfice,'SHI_Rshelfice',
799       &      0,1,0,1,1,myThid)       &      0,1,0,1,1,myThid)
800            CALL DIAGNOSTICS_FILL(EFFMASS,'SHI_MassEff',
801         &      0,1,0,1,1,myThid)
802  #endif /* ALLOW_DIAGNOSTICS */          
803    #endif
804    
805    
806  #endif /* ALLOW_SHELFICE */  #endif /* ALLOW_SHELFICE */
807        RETURN        RETURN

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22