--- MITgcm_contrib/submesoscale/code/gmredi_readparms.F 2008/05/30 22:24:25 1.3 +++ MITgcm_contrib/submesoscale/code/gmredi_readparms.F 2010/03/12 18:31:00 1.4 @@ -1,4 +1,4 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm_contrib/submesoscale/code/gmredi_readparms.F,v 1.3 2008/05/30 22:24:25 dimitri Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm_contrib/submesoscale/code/gmredi_readparms.F,v 1.4 2010/03/12 18:31:00 zhc Exp $ C $Name: $ #include "GMREDI_OPTIONS.h" @@ -45,7 +45,6 @@ C GM_slopeSqCutoff :: slope^2 cut-off value NAMELIST /GM_PARM01/ & GM_AdvForm, GM_AdvSeparate, - & GM_ExtraDiag, & GM_InMomAsStress, & GM_isopycK, & GM_background_K, @@ -53,37 +52,40 @@ & GM_maxSlope, & GM_Kmin_horiz, & GM_Small_Number, GM_slopeSqCutoff, - & GM_Visbeck_alpha, - & GM_Visbeck_length, + & GM_Visbeck_alpha, GM_Visbeck_length, & GM_Visbeck_depth, - & GM_Visbeck_maxval_K, - & GM_Scrit, - & GM_Sd, - & GM_MNC, - & GM_SM_Ce, + & GM_Visbeck_minDepth, GM_Visbeck_maxSlope, + & GM_Visbeck_minVal_K, GM_Visbeck_maxVal_K, + & GM_facTrL2dz, GM_facTrL2ML, GM_maxTransLay, + & GM_Scrit, GM_Sd, + & GM_MNC +C SM (3) + & ,GM_SM_Ce, & GM_SM_Lf, & GM_SM_tau -c & GM_dumpFreq, -c & GM_taveFreq + _BEGIN_MASTER(myThid) -C-- GMREDI_READPARMS has been called so we know that -C the package is active. - GMRediIsOn = .TRUE. +C-- GMREDI_READPARMS has been called so we know that the package is active. +C note: cannot test for GMRediIsOn outside GM-redi S/R (since is in GMREDI.h) +C + is not initialized (if useGMRedi=F) => useless => removed +c GMRediIsOn = .TRUE. C-- Default values GM/Redi GM_AdvForm = .FALSE. - GM_ExtraDiag = .FALSE. GM_AdvSeparate = .FALSE. GM_InMomAsStress = .FALSE. GM_isopycK = -999. GM_background_K = 0. _d 0 - GM_maxslope = 1. _d -2 + GM_maxSlope = 1. _d -2 GM_Kmin_horiz = 0. _d 0 GM_Small_Number = 1. _d -20 GM_slopeSqCutoff = 1. _d +48 GM_taper_scheme = ' ' + GM_facTrL2dz = 1. + GM_facTrL2ML = 5. + GM_maxTransLay = 500. GM_Scrit = 0.004 _d 0 GM_Sd = 0.001 _d 0 GM_MNC = useMNC @@ -94,11 +96,12 @@ GM_SM_Ce = 0.06 _d 0 C GM_SM_Lf is the minimum Front Width scale. Typically 1-10km GM_SM_Lf = 5.00 _d 3 -C GM_SM_Lmax is the maximum upscale. Typically 100km +C GM_SM_Lmax is the maximum upscale. Typically 100km GM_SM_Lmax = 1.00 _d 5 C GM_SM_tau is the momentum mixing timescale: 1/d to 1/week GM_SM_tau = 8.64 _d 4 C Will be converted to an inverse squared timescale later + C-- Default values GM/Redi I/O control c GM_dumpFreq = -1. @@ -108,7 +111,10 @@ GM_Visbeck_alpha = 0. _d 0 GM_Visbeck_length = 200. _d 3 GM_Visbeck_depth = 1000. _d 0 - GM_Visbeck_maxval_K = 2500. _d 0 + GM_Visbeck_minDepth = 0. _d 0 + GM_Visbeck_maxSlope = UNSET_RL + GM_Visbeck_minVal_K = 0. _d 0 + GM_Visbeck_maxVal_K = 2500. _d 0 WRITE(msgBuf,'(A)') ' GM_READPARMS: opening data.gmredi' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, @@ -129,9 +135,13 @@ C Default value for GM_isopycK is equal to GM_background_K : IF (GM_isopycK.EQ.-999.) GM_isopycK = GM_background_K +C Default value for GM_Visbeck_maxSlope is equal to GM_maxSlope : + IF ( GM_Visbeck_maxSlope .EQ. UNSET_RL ) + & GM_Visbeck_maxSlope = GM_maxSlope + C Some constants - GM_rMaxSlope=0. - if (GM_maxSlope.ne.0.) GM_rMaxSlope=1. / GM_maxSlope + GM_rMaxSlope = 0. + if (GM_maxSlope.NE.0.) GM_rMaxSlope = 1. _d 0 / GM_maxSlope IF (GM_AdvForm) THEN GM_skewflx = 0. @@ -140,8 +150,7 @@ ELSE GM_skewflx = 1. GM_advect = 0. - GM_ExtraDiag = (GM_isopycK.NE.GM_background_K) - & .or.(GM_SM_Ce.gt.0 _d 0) + GM_ExtraDiag = GM_isopycK.NE.GM_background_K ENDIF C Make sure that we locally honor the global MNC on/off flag