*IF DEF,OCEAN ORH1F305.470 C ******************************COPYRIGHT****************************** GTS2F400.8191 C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.8192 C GTS2F400.8193 C Use, duplication or disclosure of this code is subject to the GTS2F400.8194 C restrictions as set forth in the contract. GTS2F400.8195 C GTS2F400.8196 C Meteorological Office GTS2F400.8197 C London Road GTS2F400.8198 C BRACKNELL GTS2F400.8199 C Berkshire UK GTS2F400.8200 C RG12 2SZ GTS2F400.8201 C GTS2F400.8202 C If no contract has been raised with this copy of the code, the use, GTS2F400.8203 C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.8204 C to do so must first be obtained in writing from the Head of Numerical GTS2F400.8205 C Modelling at the above address. GTS2F400.8206 C ******************************COPYRIGHT****************************** GTS2F400.8207 C GTS2F400.8208 C*LL REFREEZE.3 CLL SUBROUTINE REFREEZE REFREEZE.4 CLL ------------------- REFREEZE.5 CLL THIS ROUTINE REIMPOSES A MINIMUM TEMPERATURE OF FREEZING AT ALL REFREEZE.6 CLL LEVELS, AND STORES NEGATIVE HEAT FLUXES RELEASED BY THIS IN THE REFREEZE.7 CLL ARRAY CARYHEAT, FOR THE ICE MODEL. UNLIKE THE SIMILAR ROUTINE REFREEZE.8 CLL FREEZEUP, IT DOES NOT ALTER NEWICE. THE REASON FOR THIS IS THAT REFREEZE.9 CLL IT IS UNDESIRABLE TO ALLOW FILTERING TO TRIGGER ICE FORMATION. REFREEZE.10 CLL THIS ROUTINE IS CALLED FROM WITHIN TRACER, AFTER THE TRACER REFREEZE.11 CLL FIELDS HAVE BEEN UPDATED AND JUST AFTER FILTERING. REFREEZE.12 CLL IT CAN BE COMPILED BY ANY FORTRAN COMPILER WHICH TOLERATES REFREEZE.13 CLL IN-LINE COMMENTS. REFREEZE.14 CLL AUTHOR: D L ROBERTS REFREEZE.15 CLL DATE: 23/10/90 REFREEZE.16 CLL REVISED: 7/2/91 BY J F THOMSON REFREEZE.17 CLL STORES HEAT NOT HEAT FLUX FOR ICE MODEL. REFREEZE.18 CLL SATISFIES ENERGY CONSERVATION. REFREEZE.19 CLL ALSO MODIFIED TO CALCULATE DENSITY CHANGE AND ADD REFREEZE.20 CLL IT TO THAT FROM ICEFLUX FOR MIXED LAYER MODEL. REFREEZE.21 CLL REVISED:11/8/92 BY N K TAYLOR REFREEZE.22 CLL RESETS TEMPERATURES AT ALL LEVELS IF BELOW TFREEZE. REFREEZE.23 CLL THE HEAT NEEDED TO DO THIS IS TAKEN FROM THE LAYER BELOW REFREEZE.24 CLL AND NOT FROM THE ICE MODEL, SINCE THE COLD TEMPERATURES REFREEZE.25 CLL ARE CAUSED BY DEFICIENCIES IN THE FILTERING AND ARE REFREEZE.26 CLL UNPHYSICAL. CARYHEAT IS UNCHANGED BY THIS ROUTINE. REFREEZE.27 CLL REVISED: 23/9/92 BY J F THOMSON REFREEZE.28 CLL CARYHEAT REMOVED FROM CODE. REFREEZE.29 CLL Version 4.0 7.7.95 Add any heat supplied to the bottom layer to OJG0F400.87 CLL avoid freezing to HEATSINK. (J. Murphy, mod. coded by J. Gregory) OJG0F400.88 ! 3.5 16.01.95 Remove *IF dependency. R.Hill ORH1F305.4896 CLL VERSION 1.3 REFREEZE.30 CLL PROGRAMMING STANDARDS USE COX NAMING CONVENTION FOR COX VARIABLES REFREEZE.31 CLL OTHERWISE FOLLOWS UM DOC PAPER 4 VERSION 1. REFREEZE.32 CLL THIS FORMS PART OF SYSTEM COMPONENT P4. REFREEZE.33 C* --------------------------------------------------------------- REFREEZE.34 C*L REFREEZE.35SUBROUTINE REFREEZE(TA,IMT,KM,NT,FM, 2REFREEZE.36 & HEATSINK, OJG0F400.89 + DZ,C2DTTS,CSUBP,RHOWATER,TFREEZE) REFREEZE.37 C REFREEZE.38 IMPLICIT NONE REFREEZE.39 C REFREEZE.40 INTEGER REFREEZE.41 + IMT, ! IN NUMBER OF COLUMNS. REFREEZE.42 + KM, ! IN NUMBER OF LAYERS. REFREEZE.43 + NT ! IN NUMBER OF TRACERS. REFREEZE.44 C REFREEZE.45 REAL REFREEZE.46 + TA(IMT,KM,NT), ! INOUT TRACER ARRAY. REFREEZE.47 + DZ(KM), ! IN LAYER THICKNESSES, IN CM. REFREEZE.48 + ! IF VARIABLE TIMESTEP WITH DEPTH IS BEING USED, REFREEZE.51 + ! THE CALL TO REFREEZE HAS RZ INSTEAD OF DZ. REFREEZE.52 + FM(IMT,KM), ! IN MASKING ARRAY FOR TRACER POINTS: EQUALS 1.0 REFREEZE.55 + ! AT OCEAN POINTS AND 0.0 AT LAND/SEABED POINTS. REFREEZE.56 + HEATSINK(IMT), ! INOUT HEAT 'LOST' BY SETTING T TO TFREEZE AT OJG0F400.90 + ! BOTTOM MODEL LEVEL OJG0F400.91 + C2DTTS, ! IN TWICE THE TRACER TIMESTEP AT THE SURFACE REFREEZE.57 + ! LEVEL, EXCEPT ON A FORWARD TIMESTEP WHEN IT IS REFREEZE.58 + ! EQUAL TO THE TRACER TIMESTEP. REFREEZE.59 + CSUBP, ! IN SPECIFIC HEAT CAPACITY, IN J/(K*KG). REFREEZE.60 + RHOWATER, ! IN DENSITY OF SEA WATER, IN KG/M**3. REFREEZE.61 + TFREEZE ! IN FREEZING POINT OF SEA-WATER, IN CELSIUS. REFREEZE.62 C* REFREEZE.63 *IF DEF,SEAICE ORH1F305.471 C LOCAL VARIABLES. REFREEZE.64 C REFREEZE.65 INTEGER I ! LOOP COUNTER FOR COLUMNS. REFREEZE.66 INTEGER K ! LOOP COUNTER FOR LEVELS. REFREEZE.67 REAL CONFLUX ! CONVERSION FACTOR FOR TEMP TO W/(M**2.CM.K) OJG0F400.92 CONFLUX=(CSUBP*RHOWATER)/(100.0*C2DTTS) OJG0F400.93 C REFREEZE.68 DO 120 K=1,KM-1 REFREEZE.69 DO 100 I = 1,IMT REFREEZE.70 IF (TA(I,K,1) .LT. TFREEZE) THEN REFREEZE.71 TA(I,K+1,1) = TA(I,K+1,1) + REFREEZE.72 + (DZ(K)/DZ(K+1))*FM(I,K+1)*(TA(I,K,1)-TFREEZE) REFREEZE.73 C If layer K+1 is not active, the heat moved down in the previous line OJG0F400.94 C will have been lost. Add it to HEATSINK. OJG0F400.95 HEATSINK(I)=HEATSINK(I)+(1.0-FM(I,K+1))*CONFLUX*DZ(K)* OJG0F400.96 + (TA(I,K,1)-TFREEZE) OJG0F400.97 OJG0F400.98 TA(I,K,1) = TFREEZE REFREEZE.74 ENDIF REFREEZE.75 100 CONTINUE REFREEZE.76 120 CONTINUE REFREEZE.77 *ENDIF ORH1F305.472 RETURN REFREEZE.78 END REFREEZE.79 *ENDIF REFREEZE.80