*IF DEF,SEAICE ICEFLUX.2
C ******************************COPYRIGHT****************************** GTS2F400.4339
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.4340
C GTS2F400.4341
C Use, duplication or disclosure of this code is subject to the GTS2F400.4342
C restrictions as set forth in the contract. GTS2F400.4343
C GTS2F400.4344
C Meteorological Office GTS2F400.4345
C London Road GTS2F400.4346
C BRACKNELL GTS2F400.4347
C Berkshire UK GTS2F400.4348
C RG12 2SZ GTS2F400.4349
C GTS2F400.4350
C If no contract has been raised with this copy of the code, the use, GTS2F400.4351
C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.4352
C to do so must first be obtained in writing from the Head of Numerical GTS2F400.4353
C Modelling at the above address. GTS2F400.4354
C ******************************COPYRIGHT****************************** GTS2F400.4355
C GTS2F400.4356
C*LL ICEFLUX.3
CLL SUBROUTINE ICEFLUX ICEFLUX.4
CLL ------------------ ICEFLUX.5
CLL THIS ROUTINE APPLIES THE CHANGES IN TEMPERATURE AND SALINITY ICEFLUX.6
CLL DUE TO ICE-OCEAN FLUXES, AND THE TEMPERATURE CHANGE DUE TO ICEFLUX.7
CLL SNOWFALL FROM THE ATMOSPHERE. IT IS CALLED FROM TRACER. ICEFLUX.8
CLL IT CAN BE COMPILED BY ANY FORTRAN COMPILER WHICH TOLERATES ICEFLUX.9
CLL IN-LINE COMMENTS. ICEFLUX.10
CLL AUTHOR: D L ROBERTS ICEFLUX.11
CLL DATE: 11/10/90 ICEFLUX.12
CLL REVIEWED BY: J F THOMPSON ICEFLUX.13
CLL VERSION 1.3 ICEFLUX.14
CLL REVISED: 7/2/91 BY J F THOMSON ICEFLUX.15
CLL TO ENSURE ENERGY CALCULATION TWO TIME LEVELS OF ICEFLUX.16
CLL FLUXES ARE BEING STORED AND CARYHEAT NOW CONTAINS ICEFLUX.17
CLL A HEAT (NOT A HEAT FLUX) WHICH MUST BE ADDED FROM ICEFLUX.18
CLL PREVIOUS ICE TIMESTEP BEFORE THIS TIMESTEP'S VALUE ICEFLUX.19
CLL IS CALCULATED ICEFLUX.20
CLL REVISED: 30/06/92 BY J.F.THOMSON ICEFLUX.21
CLL RETURN TO VERSION 1.1 CARYHEAT A HEAT FLUX AND ONLY ICEFLUX.22
CLL ONE TIME LEVEL OF THE OCEAN-ICE HEAT FLUXES ICEFLUX.23
CLL REVISED: O. Alves 12/12/93 add OSKIPLND option to STATE routines JA121293.335
! 3.5 16.01.95 Remove *IF dependency. R.Hill ORH1F305.306
CLL 4.0 CARYSALT is now a rate J.F.Crossley OJC0F400.10
CLL 4.0 Multiply CONTEMP by C2DTTS (corrects error). J.F.Crossley OJC1F400.1
CLL 4.0 Remove test on ICY in snowrate calculation, for energy OJC2F400.12
CLL conservation this is now done in INIT_OCEAN_ICE called OJC2F400.13
CLL from OCN_CTL. J.F.Crossley OJC2F400.14
! 4.4 15/08/97 Remove SKIPLAND code. R. Hill ORH7F404.65
CLL PROGRAMMING STANDARDS USE COX NAMING CONVENTION FOR COX VARIABLES ICEFLUX.24
CLL OTHERWISE FOLLOWS UM DOC PAPER 4 VERSION 1. ICEFLUX.25
CLL THIS FORMS PART OF SYSTEM COMPONENT P4. ICEFLUX.26
C* --------------------------------------------------------------- ICEFLUX.27
C*L ICEFLUX.28
SUBROUTINE ICEFLUX(TA,FLXTOICE,CARYHEAT,CARYSALT,SNOWRATE,ICY, 2,2ICEFLUX.29
+ DRHOICE, ICEFLUX.32
& J,JMT, ORH7F404.66
+ IMT,KM,NT,DZ,C2DTTS,CSUBP,RHOWATER,QFUSION) ICEFLUX.35
C ICEFLUX.36
IMPLICIT NONE ICEFLUX.37
*CALL CNTLOCN
ORH1F305.307
*CALL OARRYSIZ
ORH1F305.308
C ICEFLUX.38
INTEGER ICEFLUX.39
+ IMT, ! IN NUMBER OF COLUMNS. ICEFLUX.40
+ KM, ! IN NUMBER OF LAYERS. ICEFLUX.41
+ NT ! IN NUMBER OF TRACERS. ICEFLUX.42
&,JMT ! IN No of rows JA121293.341
&,J ! IN ROW NUMBER JA121293.342
C ICEFLUX.43
LOGICAL ICY(IMT) ! IN TRUE WHERE SEA-ICE EXISTS. ICEFLUX.44
C ICEFLUX.45
REAL ICEFLUX.46
+ TA(IMT,KM,NT), ! INOUT TRACER ARRAY. ICEFLUX.47
+ FLXTOICE(IMT), ! IN PRIMARY HEAT FLUX FROM OCEAN TO ICE,IN W/M**2 ICEFLUX.48
+ CARYHEAT(IMT), ! INOUT MINOR CONTRIBUTIONS TO OCEAN-ICE HEAT ICEFLUX.49
+ ! FLUX, IN W/M**2. THIS IS POSITIVE WHEN HEAT IS ICEFLUX.50
+ ! ENTERING THE OCEAN, I.E. THE SIGN CONVENTION IS ICEFLUX.51
+ ! OPPOSITE TO FLXTOICE. NOTE THAT CARYHEAT IS ICEFLUX.52
+ ! ZERO ON EXIT FROM THIS ROUTINE. ICEFLUX.53
+ CARYSALT(IMT), ! IN RATE OF SALINITY INCREASE FROM OJC0F400.11
+ ! ICE-SNOW PROCESSES OJC0F400.12
+ SNOWRATE(IMT), ! IN RATE OF SNOWFALL, IN KG M-2 S-1. ICEFLUX.55
+ DZ(KM), ! IN LAYER THICKNESSES, IN CM. ICEFLUX.56
+ C2DTTS, ! IN TWICE THE TRACER TIMESTEP AT THE SURFACE ICEFLUX.57
+ ! LEVEL, EXCEPT ON A FORWARD TIMESTEP WHEN IT IS ICEFLUX.58
+ ! EQUAL TO THE TRACER TIMESTEP. ICEFLUX.59
+ CSUBP, ! IN SPECIFIC HEAT CAPACITY, IN J/(K*KG). ICEFLUX.60
+ RHOWATER, ! IN DENSITY OF SEA WATER, IN KG/M**3. ICEFLUX.61
+ QFUSION ! IN LATENT HEAT OF FUSION OF ICE, IN J/KG. ICEFLUX.62
REAL DRHOICE(IMT_ICE_MIX) ! OUT DENSITY CHG AT THE SURFACE DUE TO ORH1F305.312
+ ! ICE-OCEAN FLUXES, FOR MIXED LAYER MODEL. ICEFLUX.67
C ICEFLUX.68
EXTERNAL STATED ICEFLUX.69
C* ICEFLUX.72
C LOCAL VARIABLES. ICEFLUX.73
C ICEFLUX.74
INTEGER I ! LOOP COUNTER FOR COLUMNS. ICEFLUX.75
REAL CONTEMP ! CONVERSION FACTOR FROM W/M2 TO TEMPERATURE. ICEFLUX.76
REAL ICEFLUX.79
+ RHO1(IMT,KM), ! SURFACE DENSITY BEFORE TRACERS ARE UPDATED. ICEFLUX.80
+ RHO2(IMT,KM), ! SURFACE DENSITY AFTER TRACERS ARE UPDATED. ICEFLUX.81
+ WORK1(IMT,KM), ! WORK ARRAY USED BY SUBROUTINE STATE. ICEFLUX.82
+ WORK2(IMT,KM) ! WORK ARRAY USED BY SUBROUTINE STATE. ICEFLUX.83
C ICEFLUX.86
CONTEMP = C2DTTS*100.0/(DZ(1)*CSUBP*RHOWATER) OJC1F400.2
C ICEFLUX.88
IF (L_OMIXLAY) THEN ORH1F305.313
C FIND SURFACE DENSITY BEFORE UPDATING TRACERS. ICEFLUX.91
C ICEFLUX.92
JA121293.354
CALL STATED
(TA(1,1,1),TA(1,1,2),RHO1,WORK1,WORK2,IMT,1,J JA121293.355
&,KM JA121293.356
&,JMT ORH7F404.67
&) JA121293.359
JA121293.360
C ICEFLUX.94
ENDIF ! L_OMIXLAY = true ORH1F305.316
DO 100 I = 1,IMT ICEFLUX.97
TA(I,1,1) = TA(I,1,1) + CONTEMP*( CARYHEAT(I) - FLXTOICE(I) ) ICEFLUX.98
TA(I,1,1) = TA(I,1,1) - CONTEMP*QFUSION*SNOWRATE(I) OJC2F400.15
TA(I,1,2) = TA(I,1,2) + C2DTTS*CARYSALT(I) OJC0F400.13
CARYHEAT(I) = 0.0 ICEFLUX.103
100 CONTINUE ICEFLUX.104
C ICEFLUX.105
IF (L_OMIXLAY) THEN ORH1F305.317
C FIND SURFACE DENSITY AFTER UPDATING TRACERS, THEN FIND THE ICEFLUX.108
C RESULTANT CHANGE IN DENSITY. ICEFLUX.109
C ICEFLUX.110
JA121293.365
JA121293.371
CALL STATED
(TA(1,1,1),TA(1,1,2),RHO2,WORK1,WORK2,IMT,1,J JA121293.372
&,KM JA121293.373
&,JMT ORH7F404.68
&) JA121293.376
JA121293.377
JA121293.382
DO 150 I = 1,IMT ICEFLUX.112
DRHOICE(I) = RHO2(I,1) - RHO1(I,1) ICEFLUX.113
150 CONTINUE ICEFLUX.114
ENDIF ! L_OMIXLAY = true ORH1F305.320
C ICEFLUX.117
RETURN ICEFLUX.118
END ICEFLUX.119
*ENDIF ICEFLUX.120