Changeset 5260 for branches/2014/dev_r4650_UKMO10_Tidally_Meaned_Diagnostics/NEMOGCM/NEMO/OPA_SRC/C1D/dyndmp.F90
- Timestamp:
- 2015-05-12T12:37:15+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO10_Tidally_Meaned_Diagnostics/NEMOGCM/NEMO/OPA_SRC/C1D/dyndmp.F90
- Property svn:keywords set to Id
r4624 r5260 3 3 !! *** MODULE dyndmp *** 4 4 !! Ocean dynamics: internal restoring trend on momentum (U and V current) 5 !! This should only be used for C1D case in current form 5 6 !!====================================================================== 6 7 !! History : 3.5 ! 2013-08 (D. Calvert) Original code 8 !! 3.6 ! 2014-08 (T. Graham) Modified to use netcdf file of 9 !! restoration coefficients supplied to tradmp 7 10 !!---------------------------------------------------------------------- 8 11 … … 15 18 USE dom_oce ! ocean: domain variables 16 19 USE c1d ! 1D vertical configuration 17 USE trdmod ! ocean: trends18 USE trdmod_oce ! ocean: trends variables19 20 USE tradmp ! ocean: internal damping 20 21 USE zdf_oce ! ocean: vertical physics … … 27 28 USE wrk_nemo ! Memory allocation 28 29 USE timing ! Timing 30 USE iom ! I/O manager 29 31 30 32 IMPLICIT NONE … … 45 47 !!---------------------------------------------------------------------- 46 48 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 47 !! $Id : dyndmp.F90 3294 2012-01-28 16:44:18Z rblod$49 !! $Id$ 48 50 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 49 51 !!---------------------------------------------------------------------- … … 75 77 NAMELIST/namc1d_dyndmp/ ln_dyndmp 76 78 INTEGER :: ios 79 INTEGER :: imask 77 80 !!---------------------------------------------------------------------- 78 81 … … 93 96 WRITE(numout,*) ' add a damping term or not ln_dyndmp = ', ln_dyndmp 94 97 WRITE(numout,*) ' Namelist namtra_dmp : Set damping parameters' 95 WRITE(numout,*) ' horizontal damping option nn_hdmp = ', nn_hdmp 96 WRITE(numout,*) ' mixed layer damping option nn_zdmp = ', nn_zdmp, '(non-C1D zoom: forced to 0)' 97 WRITE(numout,*) ' surface time scale (days) rn_surf = ', rn_surf 98 WRITE(numout,*) ' bottom time scale (days) rn_bot = ', rn_bot 99 WRITE(numout,*) ' depth of transition (meters) rn_dep = ', rn_dep 100 WRITE(numout,*) ' create a damping.coeff file nn_file = ', nn_file 98 WRITE(numout,*) ' Apply relaxation or not ln_tradmp = ', ln_tradmp 99 WRITE(numout,*) ' mixed layer damping option nn_zdmp = ', nn_zdmp 100 WRITE(numout,*) ' Damping file name cn_resto = ', cn_resto 101 101 WRITE(numout,*) 102 102 ENDIF … … 106 106 IF( dyn_dmp_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'dyn_dmp_init: unable to allocate arrays' ) 107 107 ! 108 #if ! defined key_c1d109 SELECT CASE ( nn_hdmp ) !== control print of horizontal option ==!110 CASE ( -1 ) ; IF(lwp) WRITE(numout,*) ' momentum damping in the Med & Red seas only'111 CASE ( 1:90 ) ; IF(lwp) WRITE(numout,*) ' momentum damping poleward of', nn_hdmp, ' degrees'112 CASE DEFAULT113 WRITE(ctmp1,*) ' bad flag value for nn_hdmp = ', nn_hdmp114 CALL ctl_stop(ctmp1)115 END SELECT116 !117 #endif118 108 SELECT CASE ( nn_zdmp ) !== control print of vertical option ==! 119 109 CASE ( 0 ) ; IF(lwp) WRITE(numout,*) ' momentum damping throughout the water column' … … 132 122 utrdmp(:,:,:) = 0._wp ! internal damping trends 133 123 vtrdmp(:,:,:) = 0._wp 134 ! !== Damping coefficients calculation: ==! 135 ! !== use tradmp.F90 subroutines dtacof, dtacof_zoom and cofdis ==! 136 ! !!! NOTE: these need to be altered for use in this module if 137 ! !!! they are to be used outside the C1D context 138 ! !!! (use of U,V grid variables) 139 IF( lzoom .AND. .NOT. lk_c1d ) THEN ; CALL dtacof_zoom( resto_uv ) 140 ELSE ; CALL dtacof( nn_hdmp, rn_surf, rn_bot, rn_dep, nn_file, 'DYN', resto_uv ) 141 ENDIF 142 ! 124 ! 125 !Read in mask from file 126 CALL iom_open ( cn_resto, imask) 127 CALL iom_get ( imask, jpdom_autoglo, 'resto', resto) 128 CALL iom_close( imask ) 143 129 ENDIF 144 130 ! … … 164 150 !! ** Action : - (ua,va) momentum trends updated with the damping trend 165 151 !!---------------------------------------------------------------------- 166 !167 152 INTEGER, INTENT(in) :: kt ! ocean time-step index 168 153 !! … … 236 221 END SELECT 237 222 ! 238 ! ! Trend diagnostic239 IF( l_trddyn ) CALL trd_mod( utrdmp, vtrdmp, jpdyn_trd_dat, 'DYN', kt )223 !!gm ! ! Trend diagnostic 224 !!gm IF( l_trddyn ) CALL trd_mod( utrdmp, vtrdmp, jpdyn_trd_dat, 'DYN', kt ) 240 225 ! 241 226 ! ! Control print
Note: See TracChangeset
for help on using the changeset viewer.