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

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

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

revision 1.82 by gforget, Mon Oct 11 04:06:45 2010 UTC revision 1.83 by gforget, Mon Oct 11 05:37:28 2010 UTC
# Line 108  c Line 108  c
108        _RL d_HFRWfromSNW       (1:sNx,1:sNy)        _RL d_HFRWfromSNW       (1:sNx,1:sNy)
109    
110  C     actual ice thickness with upper and lower limit  C     actual ice thickness with upper and lower limit
111        _RL HICE                (1:sNx,1:sNy)        _RL heffActual          (1:sNx,1:sNy)
112  C     actual snow thickness  C     actual snow thickness
113        _RL hSnwLoc             (1:sNx,1:sNy)        _RL hsnowActual         (1:sNx,1:sNy)
114  C     wind speed  C     wind speed
115        _RL UG                  (1:sNx,1:sNy)        _RL UG                  (1:sNx,1:sNy)
116        _RL SPEED_SQ        _RL SPEED_SQ
117  C     local copy of AREA  C temporary variables used to compute/regularize "actual" thicknesses
118        _RL areaLoc        _RL areaSup,areaMin,hiceMin
119    
120  c temporary variables available for the various computations  c temporary variables available for the various computations
121        _RL tmpscal1, tmpscal2, tmpscal3, tmpscal4        _RL tmpscal1, tmpscal2, tmpscal3, tmpscal4
# Line 129  C auxillary variables used for specific Line 129  C auxillary variables used for specific
129  #endif /* ALLOW_SEAICE_FLOODING */  #endif /* ALLOW_SEAICE_FLOODING */
130                
131  #ifdef SEAICE_SALINITY  #ifdef SEAICE_SALINITY
132        _RL saltFluxAdjust(1:sNx,1:sNy)        _RL saltFluxAdjust      (1:sNx,1:sNy)
133  #endif  #endif
134    
135  #ifdef SEAICE_MULTICATEGORY  #ifdef SEAICE_MULTICATEGORY
136        INTEGER it        INTEGER it
137        INTEGER ilockey        INTEGER ilockey
138        _RL RK        _RL RK
139        _RL HICEP         (1:sNx,1:sNy)        _RL heffActualP         (1:sNx,1:sNy)
140        _RL a_QbyATMmult_cover         (1:sNx,1:sNy)        _RL a_QbyATMmult_cover  (1:sNx,1:sNy)
141        _RL a_QSWbyATMmult_cover         (1:sNx,1:sNy)        _RL a_QSWbyATMmult_cover(1:sNx,1:sNy)
142  #endif  #endif
143    
144  #ifdef SEAICE_AGE  #ifdef SEAICE_AGE
145  C     old_AREA :: hold sea-ice fraction field before any seaice-thermo update  C     old_AREA :: hold sea-ice fraction field before any seaice-thermo update
146        _RL old_AREA     (1:sNx,1:sNy)        _RL old_AREA            (1:sNx,1:sNy)
147  # ifdef SEAICE_AGE_VOL  # ifdef SEAICE_AGE_VOL
148  C     old_HEFF :: hold sea-ice effective thickness field before any seaice-thermo update  C     old_HEFF :: hold sea-ice effective thickness field before any seaice-thermo update
149        _RL old_HEFF     (1:sNx,1:sNy)        _RL old_HEFF            (1:sNx,1:sNy)
150        _RL age_actual        _RL age_actual
151  # endif /* SEAICE_AGE_VOL */  # endif /* SEAICE_AGE_VOL */
152  #endif /* SEAICE_AGE */  #endif /* SEAICE_AGE */
# Line 163  C     old_HEFF :: hold sea-ice effective Line 163  C     old_HEFF :: hold sea-ice effective
163         kSurface        = 1         kSurface        = 1
164        ENDIF        ENDIF
165    
166    C     MINIMUM AREA USED TO REGULARIZE SEAICE_SOLVE4TEMP COMPUTATION
167          areaMin=A22
168    C     The default of A22 = 0.15 is a common threshold for defining
169    C     the ice edge. This ice concentration usually does not occur
170    C     due to thermodynamics but due to advection.
171    C     MINIMUM THICKNESS USED TO REGULARIZE SEAICE_SOLVE4TEMP COMPUTATION
172          hiceMin=0.05 _d +00
173    
174  C     FREEZING TEMP. OF SEA WATER (deg C)  C     FREEZING TEMP. OF SEA WATER (deg C)
175        TBC          = SEAICE_freeze        TBC          = SEAICE_freeze
176    
# Line 285  CADJ &                        key = iice Line 293  CADJ &                        key = iice
293  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
294          DO J=1,sNy          DO J=1,sNy
295           DO I=1,sNx           DO I=1,sNx
296  C     COMPUTE ACTUAL ICE THICKNESS AND PUT MINIMUM/MAXIMUM  C     COMPUTE ACTUAL ICE/SNOW THICKNESS AND PUT MINIMA
297  C     ON ICE THICKNESS FOR BUDGET COMPUTATION  C     TO REGULARIZE SEAICE_SOLVE4TEMP COMPUTATION
298  C     The default of A22 = 0.15 is a common threshold for defining            areaSup          = MAX(areaMin,AREANm1(I,J,bi,bj))
299  C     the ice edge. This ice concentration usually does not occur            hsnowActual(I,J) = HSNOW(I,J,bi,bj)/areaSup
300  C     due to thermodynamics but due to advection.            heffActual(I,J)  = HEFFNm1(I,J,bi,bj)/areaSup
301            areaLoc      = MAX(A22,AREANm1(I,J,bi,bj))            heffActual(I,J)  = MAX(heffActual(I,J),hiceMin)
           HICE(I,J)    = HEFFNm1(I,J,bi,bj)/areaLoc  
 C     Do we know what this is for?  
           HICE(I,J)    = MAX(HICE(I,J),0.05 _d +00)  
302  C     Capping the actual ice thickness effectively enforces a  C     Capping the actual ice thickness effectively enforces a
303  C     minimum of heat flux through the ice and helps getting rid of  C     minimum of heat flux through the ice and helps getting rid of
304  C     very thick ice.  C     very thick ice.
305  cdm actually, this does exactly the opposite, i.e., ice is thicker  cdm actually, this does exactly the opposite, i.e., ice is thicker
306  cdm when HICE is capped, so I am commenting out  cdm when heffActual is capped, so I am commenting out
307  cdm          HICE(I,J)    = MIN(HICE(I,J),9.0 _d +00)  cdm          heffActual(I,J)    = MIN(heffActual(I,J),9.0 _d +00)
           hSnwLoc(I,J) = HSNOW(I,J,bi,bj)/areaLoc  
308           ENDDO           ENDDO
309          ENDDO          ENDDO
310    
# Line 311  C ====================================== Line 315  C ======================================
315  C ocean surface/mixed layer temperature  C ocean surface/mixed layer temperature
316          DO J=1,sNy          DO J=1,sNy
317           DO I=1,sNx           DO I=1,sNx
318            TMIX(I,J,bi,bj)=theta(I,J,kSurface,bi,bj)+273.16 _d +00            TMIX(I,J,bi,bj)=theta(I,J,kSurface,bi,bj)+celsius2K
 #ifdef SEAICE_DEBUG  
           TMIX(I,J,bi,bj)=MAX(TMIX(I,J,bi,bj),271.2 _d +00)  
 #endif  
319           ENDDO           ENDDO
320          ENDDO          ENDDO
321    
# Line 375  CADJ &                           key = i Line 376  CADJ &                           key = i
376           RK=REAL(IT)           RK=REAL(IT)
377           DO J=1,sNy           DO J=1,sNy
378            DO I=1,sNx            DO I=1,sNx
379             HICEP(I,J)=(HICE(I,J)/MULTDIM)*((2.0 _d 0*RK)-1.0 _d 0)             heffActualP(I,J)=
380         &        (heffActual(I,J)/MULTDIM)*((2.0 _d 0*RK)-1.0 _d 0)
381             TICE(I,J,bi,bj)=TICES(I,J,IT,bi,bj)             TICE(I,J,bi,bj)=TICES(I,J,IT,bi,bj)
382            ENDDO            ENDDO
383           ENDDO           ENDDO
384           CALL SEAICE_SOLVE4TEMP(           CALL SEAICE_SOLVE4TEMP(
385       I        UG, HICEP, hSnwLoc,       I        UG, heffActualP, hsnowActual,
386       U        TICE,       U        TICE,
387       O        a_QbyATMmult_cover, a_QSWbyATMmult_cover,       O        a_QbyATMmult_cover, a_QSWbyATMmult_cover,
388       I        bi, bj, myTime, myIter, myThid )       I        bi, bj, myTime, myIter, myThid )
# Line 398  C     average over categories Line 400  C     average over categories
400  C--  End loop over multi-categories  C--  End loop over multi-categories
401  #else  /* SEAICE_MULTICATEGORY */  #else  /* SEAICE_MULTICATEGORY */
402          CALL SEAICE_SOLVE4TEMP(          CALL SEAICE_SOLVE4TEMP(
403       I       UG, HICE, hSnwLoc,       I       UG, heffActual, hsnowActual,
404       U       TICE,       U       TICE,
405       O       a_QbyATM_cover, a_QSWbyATM_cover,       O       a_QbyATM_cover, a_QSWbyATM_cover,
406       I       bi, bj, myTime, myIter, myThid )       I       bi, bj, myTime, myIter, myThid )
# Line 419  C--  End loop over multi-categories Line 421  C--  End loop over multi-categories
421          ENDIF          ENDIF
422  #endif  #endif
423    
424    c switch heat fluxes from W/m2 to 'effective' ice meters
425            DO J=1,sNy
426             DO I=1,sNx
427               a_QbyATM_cover(I,J) = a_QbyATM_cover(I,J)  
428         &         * convertQ2HI * areaNm1(I,J,bi,bj)
429               a_QSWbyATM_cover(I,J) = a_QSWbyATM_cover(I,J)
430         &         * convertQ2HI * areaNm1(I,J,bi,bj)
431               a_QbyATM_open(I,J) = a_QbyATM_open(I,J)
432         &         * convertQ2HI * ( ONE - areaNm1(I,J,bi,bj) )
433               a_QSWbyATM_open(I,J) = a_QSWbyATM_open(I,J)
434         &         * convertQ2HI * ( ONE - areaNm1(I,J,bi,bj) )
435             ENDDO
436            ENDDO
437    
438  C determine whether the atmostpheric conditions are prone  C determine whether the atmostpheric conditions are prone
439  C to generate SNOW (FRWfromSNW=1) or fresh water (FRWfromSNW=2)  C to generate SNOW (FRWfromSNW=1) or fresh water (FRWfromSNW=2)
# Line 426  C ====================================== Line 441  C ======================================
441    
442          DO J=1,sNy          DO J=1,sNy
443           DO I=1,sNx           DO I=1,sNx
444            IF (a_QbyATM_cover(I,J).LT.ZERO.AND.            IF (a_QbyATM_cover(I,J).GT.ZERO.AND.
445       &        AREANm1(I,J,bi,bj).GT.ZERO) THEN       &        AREANm1(I,J,bi,bj).GT.ZERO) THEN
446              FRWfromSNW(I,J)=2              FRWfromSNW(I,J)=2
447            ELSE            ELSE
# Line 459  CADJ &                          key = ii Line 474  CADJ &                          key = ii
474                a_QbyICE(i,j) = SEAICE_availHeatFrac                a_QbyICE(i,j) = SEAICE_availHeatFrac
475       &             * (theta(I,J,kSurface,bi,bj)-TBC) * dRf(kSurface)       &             * (theta(I,J,kSurface,bi,bj)-TBC) * dRf(kSurface)
476       &             * hFacC(i,j,kSurface,bi,bj) *       &             * hFacC(i,j,kSurface,bi,bj) *
477       &             (- HeatCapacity_Cp*rhoConst/SEAICE_deltaTtherm)       &             (HeatCapacity_Cp*rhoConst/QI)
478             ELSE             ELSE
479                a_QbyICE(i,j) = SEAICE_availHeatFracFrz                a_QbyICE(i,j) = SEAICE_availHeatFracFrz
480       &             * (theta(I,J,kSurface,bi,bj)-TBC) * dRf(kSurface)       &             * (theta(I,J,kSurface,bi,bj)-TBC) * dRf(kSurface)
481       &             * hFacC(i,j,kSurface,bi,bj) *       &             * hFacC(i,j,kSurface,bi,bj) *
482       &             (- HeatCapacity_Cp*rhoConst/SEAICE_deltaTtherm)       &             (HeatCapacity_Cp*rhoConst/QI)
483             ENDIF             ENDIF
484            ELSE            ELSE
485             a_QbyICE(i,j) = 0.             a_QbyICE(i,j) = 0.
# Line 479  C ====================================== Line 494  C ======================================
494    
495          DO J=1,sNy          DO J=1,sNy
496           DO I=1,sNx           DO I=1,sNx
          tmpscal1=a_QbyICE(i,j)*convertQ2HI  
497            d_HEFFbyICEonOCN(I,J) =            d_HEFFbyICEonOCN(I,J) =
498       &     MAX(ZERO, HEFF(I,J,bi,bj)-tmpscal1)- HEFF(I,J,bi,bj)       &     MAX(ZERO, HEFF(I,J,bi,bj)-a_QbyICE(i,j))- HEFF(I,J,bi,bj)
499            d_QbyICE(I,J)=d_HEFFbyICEonOCN(I,J)*convertHI2Q            d_QbyICE(I,J)=d_HEFFbyICEonOCN(I,J)
500  c apply tendency  c apply tendency
501            r_QbyICE(I,J)=a_QbyICE(I,J)+d_QbyICE(I,J)            r_QbyICE(I,J)=a_QbyICE(I,J)+d_QbyICE(I,J)
502            HEFF(I,J,bi,bj)=HEFF(I,J,bi,bj) + d_HEFFbyICEonOCN(I,J)            HEFF(I,J,bi,bj)=HEFF(I,J,bi,bj) + d_HEFFbyICEonOCN(I,J)
# Line 517  CADJ &                         key = iic Line 531  CADJ &                         key = iic
531          DO J=1,sNy          DO J=1,sNy
532           DO I=1,sNx           DO I=1,sNx
533  c convert a_QbyATM_cover to m of snow          c convert a_QbyATM_cover to m of snow        
534            tmpscal1=a_QbyATM_cover(I,J)*            tmpscal1=a_QbyATM_cover(I,J)*(QI/QS)
      &                convertQ2HI*(QI/QS)*AREANm1(I,J,bi,bj)  
535            IF ( FRWfromSNW(I,J).EQ.2 ) THEN            IF ( FRWfromSNW(I,J).EQ.2 ) THEN
536             IF(tmpscal1.LE.HSNOW(I,J,bi,bj)) THEN             IF(tmpscal1.LE.HSNOW(I,J,bi,bj)) THEN
537  C not enough heat to melt all snow; use up all of a_QbyATM_cover  C not enough heat to melt all snow; use up all of a_QbyATM_cover
# Line 528  C convert m of snow to m of ice Line 541  C convert m of snow to m of ice
541              d_QbyATMonSNW(I,J)= -a_QbyATM_cover(I,J)              d_QbyATMonSNW(I,J)= -a_QbyATM_cover(I,J)
542             ELSE             ELSE
543  C enough heat to melt snow completely; use part of a_QbyATM_cover  C enough heat to melt snow completely; use part of a_QbyATM_cover
544              d_QbyATMonSNW(I,J)= (tmpscal1-HSNOW(I,J,bi,bj))*              d_QbyATMonSNW(I,J)=
545       &        (QS/QI)*convertHI2Q/AREANm1(I,J,bi,bj)-a_QbyATM_cover(I,J)       &        (tmpscal1-HSNOW(I,J,bi,bj))*(QS/QI) - a_QbyATM_cover(I,J)
546  C convert all snow to melt water (fresh water flux)  C convert all snow to melt water (fresh water flux)
547              d_HFRWfromSNW(I,J)=-HSNOW(I,J,bi,bj)/ICE2SNOW              d_HFRWfromSNW(I,J)=-HSNOW(I,J,bi,bj)/ICE2SNOW
548              d_HSNWfromFRW(I,J)=-HSNOW(I,J,bi,bj)              d_HSNWfromFRW(I,J)=-HSNOW(I,J,bi,bj)
# Line 561  CADJ &                         key = iic Line 574  CADJ &                         key = iic
574    
575          DO J=1,sNy          DO J=1,sNy
576           DO I=1,sNx           DO I=1,sNx
577            a_QbyATM(I,J)= a_QbyATM_cover(I,J) * AREANm1(I,J,bi,bj)            a_QbyATM(I,J)= a_QbyATM_cover(I,J) + a_QbyATM_open(I,J)
      &              + a_QbyATM_open(I,J) * (ONE-AREANm1(I,J,bi,bj))  
578           ENDDO           ENDDO
579          ENDDO          ENDDO
580    
# Line 587  CADJ &                         key = iic Line 599  CADJ &                         key = iic
599    
600          DO J=1,sNy          DO J=1,sNy
601           DO I=1,sNx           DO I=1,sNx
           tmpscal1  = a_QbyATM(I,J)*convertQ2HI  
602  c (cannot melt more than all the ice)  c (cannot melt more than all the ice)
603            tmpscal2 = -ONE*MIN(HEFF(I,J,bi,bj),tmpscal1)            tmpscal2 = -ONE*MIN(HEFF(I,J,bi,bj),a_QbyATM(I,J))
604            tmpscal3 = MIN(ZERO,tmpscal2)            tmpscal3 = MIN(ZERO,tmpscal2)
605  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
606            DIAGarray(I,J) = tmpscal2            DIAGarray(I,J) = tmpscal2
607  #endif  #endif
608  C gain of new ice over open water (>0 by definition)  C gain of new ice over open water (>0 by definition)
609            tmpscal4 = MAX(ZERO,-a_QbyATM_open(I,J)            tmpscal4 = MAX(ZERO,-a_QbyATM_open(I,J))
      &          *convertQ2HI*(ONE-AREANm1(I,J,bi,bj)))  
610  c compute cover fraction tendency  c compute cover fraction tendency
611            IF ( YC(I,J,bi,bj) .LT. ZERO ) THEN            IF ( YC(I,J,bi,bj) .LT. ZERO ) THEN
612             d_AREAbyATM(I,J)=             d_AREAbyATM(I,J)=tmpscal4/HO_south
      &          tmpscal4/HO_south  
613       &          +HALF*tmpscal3*AREANm1(I,J,bi,bj)       &          +HALF*tmpscal3*AREANm1(I,J,bi,bj)
614       &          /(HEFF(I,J,bi,bj)+.00001 _d 0)       &          /(HEFF(I,J,bi,bj)+.00001 _d 0)
615            ELSE            ELSE
616             d_AREAbyATM(I,J)=             d_AREAbyATM(I,J)=tmpscal4/HO
      &          tmpscal4/HO  
617       &          +HALF*tmpscal3*AREANm1(I,J,bi,bj)       &          +HALF*tmpscal3*AREANm1(I,J,bi,bj)
618       &          /(HEFF(I,J,bi,bj)+.00001 _d 0)       &          /(HEFF(I,J,bi,bj)+.00001 _d 0)
619            ENDIF            ENDIF
# Line 640  cgf warming conditions, the lab_sea resu Line 648  cgf warming conditions, the lab_sea resu
648    
649          DO J=1,sNy          DO J=1,sNy
650           DO I=1,sNx           DO I=1,sNx
           tmpscal1 = -a_QbyATM_cover(I,J)*convertQ2HI*AREANm1(I,J,bi,bj)  
           if (AREANm1(I,J,bi,bj).GT.0.) then  
651  C (cannot melt more than all the ice)  C (cannot melt more than all the ice)
652              tmpscal2 = MAX(-HEFF(I,J,bi,bj),tmpscal1)            tmpscal2 = MIN(HEFF(I,J,bi,bj),a_QbyATM_cover(I,J))
653              d_HEFFbyATMonOCN(I,J)=tmpscal2            d_HEFFbyATMonOCN(I,J)= -tmpscal2
654  C compute the r_QbyATM_cover residual as the difference between  C compute the r_QbyATM_cover residual as the difference between
655  C the available heat tmpscal1 and the used tmpscal2;  C the available heat tmpscal1 and the used tmpscal2;
656              d_QbyATMonOCN(I,J)=1. _d 0 /AREANm1(I,J,bi,bj)*            d_QbyATMonOCN(I,J)=
657       &        (tmpscal1 - tmpscal2)*convertHI2Q - a_QbyATM_cover(I,J)       &      (tmpscal2-a_QbyATM_cover(I,J)) - a_QbyATM_cover(I,J)
           else  
             tmpscal2=0. _d 0  
             d_HEFFbyATMonOCN(I,J)=0. _d 0  
             d_QbyATMonOCN(I,J)=0. _d 0  
           endif  
658  c apply tendency  c apply tendency
659            r_QbyATM_cover(I,J) = a_QbyATM_cover(I,J)+d_QbyATMonOCN(I,J)            r_QbyATM_cover(I,J) = a_QbyATM_cover(I,J)+d_QbyATMonOCN(I,J)
660            HEFF(I,J,bi,bj) = HEFF(I,J,bi,bj) + d_HEFFbyATMonOCN(I,J)            HEFF(I,J,bi,bj) = HEFF(I,J,bi,bj) + d_HEFFbyATMonOCN(I,J)
661            saltWtrIce(I,J,bi,bj) = saltWtrIce(I,J,bi,bj) + tmpscal2            saltWtrIce(I,J,bi,bj) = saltWtrIce(I,J,bi,bj) - tmpscal2
662  cgf heat and water conservation: ok  cgf heat and water conservation: ok
663           ENDDO           ENDDO
664          ENDDO          ENDDO
# Line 699  cph( very sensitive bit here by JZ Line 700  cph( very sensitive bit here by JZ
700          DO J=1,sNy          DO J=1,sNy
701           DO I=1,sNx           DO I=1,sNx
702  c convert r_QbyICE to ice meters  c convert r_QbyICE to ice meters
703            tmpscal1=r_QbyICE(i,j)*convertQ2HI            IF( r_QbyICE(i,j) .GT. ZERO .AND.
           IF( tmpscal1 .GT. ZERO .AND.  
704       &       HSNOW(I,J,bi,bj) .GT. ZERO ) THEN       &       HSNOW(I,J,bi,bj) .GT. ZERO ) THEN
705             tmpscal2=- MIN( HSNOW(I,J,bi,bj)/ICE2SNOW , tmpscal1 )             tmpscal2=- MIN( HSNOW(I,J,bi,bj)/ICE2SNOW , r_QbyICE(i,j) )
706            ELSE            ELSE
707             tmpscal2= 0. _d 0             tmpscal2= 0. _d 0
708            ENDIF            ENDIF
709            d_HSNWbyOCNonSNW(I,J) = tmpscal2*ICE2SNOW            d_HSNWbyOCNonSNW(I,J) = tmpscal2*ICE2SNOW
710            d_QbySNW(I,J)= tmpscal2*convertHI2Q            d_QbySNW(I,J)= tmpscal2
711  c apply tendency  c apply tendency
712            r_QbyICE(I,J)=a_QbyICE(I,J)+d_QbySNW(I,J)            r_QbyICE(I,J)=a_QbyICE(I,J)+d_QbySNW(I,J)
713            HSNOW(I,J,bi,bj) = HSNOW(I,J,bi,bj)+d_HSNWbyOCNonSNW(I,J)            HSNOW(I,J,bi,bj) = HSNOW(I,J,bi,bj)+d_HSNWbyOCNonSNW(I,J)
# Line 860  C ====================================== Line 860  C ======================================
860    
861          DO J=1,sNy          DO J=1,sNy
862           DO I=1,sNx           DO I=1,sNx
863            QNET(I,J,bi,bj) = r_QbyATM_cover(I,J) * AREANm1(I,J,bi,bj)            QNET(I,J,bi,bj) = r_QbyATM_cover(I,J) + a_QbyATM_open(I,J)
864       &        +a_QbyATM_open(I,J) * (ONE-AREANm1(I,J,bi,bj))            QSW(I,J,bi,bj)  = a_QSWbyATM_cover(I,J) + a_QSWbyATM_open(I,J)
           QSW(I,J,bi,bj)  = a_QSWbyATM_cover(I,J) * AREANm1(I,J,bi,bj)  
      &        +a_QSWbyATM_open(I,J)  * (ONE-AREANm1(I,J,bi,bj))  
865           ENDDO           ENDDO
866          ENDDO          ENDDO
867    
# Line 902  cgf heat and water conservation: ok -- s Line 900  cgf heat and water conservation: ok -- s
900           ENDDO           ENDDO
901          ENDDO          ENDDO
902    
 #ifdef SEAICE_DEBUG  
        CALL PLOT_FIELD_XYRL( QSW,'Current QSW ', myIter, myThid )  
        CALL PLOT_FIELD_XYRL( QNET,'Current QNET ', myIter, myThid )  
        CALL PLOT_FIELD_XYRL( EmPmR,'Current EmPmR ', myIter, myThid )  
 #endif /* SEAICE_DEBUG */  
   
903    
904  C treat values of ice cover fraction oustide  C treat values of ice cover fraction oustide
905  C the [0 1] range, and other such issues.  C the [0 1] range, and other such issues.
# Line 1084  C--   re-scale to effective age: Line 1076  C--   re-scale to effective age:
1076  # endif /* SEAICE_AGE_VOL */  # endif /* SEAICE_AGE_VOL */
1077  #endif /* SEAICE_AGE */  #endif /* SEAICE_AGE */
1078    
1079    c switch heat fluxes from 'effective' ice meters to W/m2
1080    
1081            DO J=1,sNy
1082             DO I=1,sNx
1083              QNET(I,J,bi,bj) = QNET(I,J,bi,bj)*convertHI2Q
1084              QSW(I,J,bi,bj)  = QSW(I,J,bi,bj)*convertHI2Q
1085             ENDDO
1086            ENDDO
1087            
1088    #ifdef SEAICE_DEBUG
1089           CALL PLOT_FIELD_XYRL( QSW,'Current QSW ', myIter, myThid )
1090           CALL PLOT_FIELD_XYRL( QNET,'Current QNET ', myIter, myThid )
1091           CALL PLOT_FIELD_XYRL( EmPmR,'Current EmPmR ', myIter, myThid )
1092    #endif /* SEAICE_DEBUG */
1093    
1094    
1095         ENDDO         ENDDO
1096        ENDDO        ENDDO
1097    

Legend:
Removed from v.1.82  
changed lines
  Added in v.1.83

  ViewVC Help
Powered by ViewVC 1.1.22