*IF DEF,OCEAN ORH1F305.464 C ******************************COPYRIGHT****************************** GTS2F400.5977 C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.5978 C GTS2F400.5979 C Use, duplication or disclosure of this code is subject to the GTS2F400.5980 C restrictions as set forth in the contract. GTS2F400.5981 C GTS2F400.5982 C Meteorological Office GTS2F400.5983 C London Road GTS2F400.5984 C BRACKNELL GTS2F400.5985 C Berkshire UK GTS2F400.5986 C RG12 2SZ GTS2F400.5987 C GTS2F400.5988 C If no contract has been raised with this copy of the code, the use, GTS2F400.5989 C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.5990 C to do so must first be obtained in writing from the Head of Numerical GTS2F400.5991 C Modelling at the above address. GTS2F400.5992 C ******************************COPYRIGHT****************************** GTS2F400.5993 C GTS2F400.5994 C*LL MIXSET2.3 CLL Subroutine MIXSET2 MIXSET2.4 CLL Can run on any compiler accepting long lower case variables. MIXSET2.5 CLL MIXSET2.6 CLL MIXSET2.7 CLL Author: N K Taylor MIXSET2.8 CLL Date 17 December 1993 MIXSET2.9 CLL Version 3.3 MIXSET2.10 CLL MIXSET2.11 CLL Programming standards use Cox naming convention for Cox variables MIXSET2.12 CLL with the addition that lower case variables are local to the MIXSET2.13 CLL routine. MIXSET2.14 CLL Otherwise follows UM doc paper 4 version 1. MIXSET2.15 CLL MIXSET2.16 CLL This forms part of UM brick P4. MIXSET2.17 CLL MIXSET2.18 CLL THIS ROUTINE DEFINES CONSTANTS USED BY OCEAN MIXED LAYER SCHEME MIXSET2.19 CLL THIS VERSION OF THE ROUTINE IS COMPATIBLE WITH THE SINGLE-WAVEBAND MIXSET2.20 CLL VERSION OF THE LIGHT MODEL ONLY. IT ASSUMES THAT THE ATTENUATION MIXSET2.21 CLL COEFFICIENT VARIES WITH DEPTH - DIFFERENT VALUES ARE USED IN THE MIXSET2.22 CLL TOP TWO LAYERS MIXSET2.23 CLL MIXSET2.24 CLL External documentation: MIXSET2.25 CLL scientific Heathershaw and Martin, ARE TM (UJO) 87129 MIXSET2.26 CLL programming: MIXSET2.27 CLL MIXSET2.28 CLL Subroutine dependencies. The following subroutine must be MIXSET2.29 CLL called before MIXSET2 to initialise the necessary variables: MIXSET2.30 CLL MIXSET2.31 CLL SOLSET2: routine to set solar penetration depth MIXSET2.32 CLL MIXSET2.33 CLLEND------------------------------------------------------------------ MIXSET2.34 C* MIXSET2.35 C*L -------------Arguments-------------------------------------------- MIXSET2.36 C MIXSET2.37SUBROUTINE MIXSET2 (DELPSF, DELPSL, DECAY, 1MIXSET2.38 + GRAV_SI, DZ, ZDZ, ZDZZ, RZ, IMT, MIXSET2.39 + KM,SOL_PEN,ETA, MIXSET2.40 + KFIX, DELTA_SI MIXSET2.41 + ) MIXSET2.42 C MIXSET2.43 IMPLICIT NONE MIXSET2.44 C MIXSET2.45 INTEGER MIXSET2.46 + KM ! IN Number of points in vertical MIXSET2.47 +, IMT ! IN Number of points in a row MIXSET2.48 C MIXSET2.49 INTEGER MIXSET2.50 + KFIX ! IN Number of levels with solar heating MIXSET2.51 C MIXSET2.52 C Physical arguments MIXSET2.53 C MIXSET2.54 REAL MIXSET2.55 + GRAV_SI ! IN Acceleration due to gravity (m/s2) MIXSET2.56 +, DZ (KM) ! IN Layer thicknesses MIXSET2.57 +, ZDZ (KM) ! IN Layer bottoms MIXSET2.58 +, ZDZZ (KM) ! IN Layer centres *NB* Dim is KMP1 in /ONEDIM/ MIXSET2.59 +, RZ (KM) ! IN Layer thickness scaled by 1/timestep ratio MIXSET2.60 C Note that if variable timestep with depth MIXSET2.61 C not included, then this is specified as MIXSET2.62 C DZ in the call. MIXSET2.63 +, SOL_PEN (IMT,0:KM) ! IN Proportion of solar energy at layer ba MIXSET2.64 +, ETA (IMT,KM) ! IN Light extinction coefficient in 1/m MIXSET2.65 +, DELTA_SI ! IN Vertical decay length for WME (m) MIXSET2.66 +, DECAY (KM) ! OUT Decay scale for WME (dimensionless) MIXSET2.67 +, DELPSF ! OUT 'Energy change' due to non-solar (cm3/s2) MIXSET2.68 +, DELPSL (IMT,0:KM) ! OUT 'Energy change' used to mix solar ener MIXSET2.69 C ! throughout layer (cm3/s2) MIXSET2.70 C* MIXSET2.71 C*L --------------- Externals ----------------------------------------- MIXSET2.72 C MIXSET2.73 INTRINSIC MIXSET2.74 + EXP ! Exponential function MIXSET2.75 C* MIXSET2.76 C MIXSET2.77 CL Define working variables MIXSET2.78 C MIXSET2.79 INTEGER MIXSET2.80 + i ! Longitudinal index MIXSET2.81 +, k ! Vertical index MIXSET2.82 C MIXSET2.83 REAL MIXSET2.84 + sclfct (IMT) ! Scaling factor MIXSET2.85 +, penup (IMT) ! Loss of potential energy caused by stabilisat MIXSET2.86 +, grav ! CGS version of GRAV_SI MIXSET2.87 +, total (IMT) ! Potential energy of layer in fully mixed MIXSET2.88 C ! state after absorption of solar energy MIXSET2.89 C MIXSET2.90 C Create cgs versions of constants MIXSET2.91 C MIXSET2.92 grav=GRAV_SI*100. MIXSET2.93 C MIXSET2.94 CL 1.0 Surface component of heating MIXSET2.95 C MIXSET2.96 DELPSF = -0.5*grav*DZ(1)*DZ(1) MIXSET2.97 C MIXSET2.98 CL 2.0 Solar component MIXSET2.99 C MIXSET2.100 CL 2.1 Initial values MIXSET2.101 C MIXSET2.102 DO 2100 i = 1,IMT MIXSET2.103 DELPSL(i,0) = 0.0 MIXSET2.104 penup(i) = 0.0 MIXSET2.105 sclfct(i) = - grav * DZ(1)/(1.0 - SOL_PEN(i,1)) MIXSET2.106 2100 CONTINUE MIXSET2.107 C MIXSET2.108 CL 2.2 Values where heating penetrates MIXSET2.109 C MIXSET2.110 DO 2210, k = 1, KFIX MIXSET2.111 DO 2220, i = 1, IMT MIXSET2.112 total(i) = ZDZ(k) * SOL_PEN(i,k) MIXSET2.113 & - (1.0-SOL_PEN(i,k)) / (ETA(i,k)*0.01) MIXSET2.114 penup(i) = penup(i) MIXSET2.115 & - (SOL_PEN(i,k)-SOL_PEN(i,k-1)) * ZDZZ(k)*(DZ(k)/RZ(k)) MIXSET2.116 DELPSL (i,k) = (penup(i) + total(i)) * sclfct(i) MIXSET2.117 2220 CONTINUE MIXSET2.118 2210 CONTINUE MIXSET2.119 C MIXSET2.120 CL 2.3 Values below heated region MIXSET2.121 C MIXSET2.122 DO 2300, k = (KFIX+1), KM MIXSET2.123 DO 2310 i = 1,IMT MIXSET2.124 DELPSL(i,k) = DELPSL(i,KFIX) MIXSET2.125 2310 CONTINUE MIXSET2.126 2300 CONTINUE MIXSET2.127 C MIXSET2.128 CL 3.0 Decay scale for wind mixing energy MIXSET2.129 C MIXSET2.130 DO 3000, k = 1, KM MIXSET2.131 DECAY (k) = EXP(-DZ(k)/(DELTA_SI*100.)) MIXSET2.132 3000 CONTINUE MIXSET2.133 C MIXSET2.134 CL RETURN from MIXSET2 MIXSET2.135 C MIXSET2.136 RETURN MIXSET2.137 END MIXSET2.138 *ENDIF MIXSET2.139